.personal-plans { scroll-margin-top:0; }
.has-js .plans-without-js { display:none; }
.plans-intro { display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end;margin-bottom:36px; }
.plans-intro h2 { max-width:15ch;font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:1.1; }
.plans-intro p { max-width:65ch;margin:0;color:var(--ink-soft); }
#plan-preferences { padding-block:28px 12px;border-top:1px solid var(--line); }
.plan-fields { display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:20px; }
.plan-fields label { display:grid;gap:10px;min-width:0;font-size:.85rem;font-weight:600; }
.plan-fields select { width:100%;min-width:0;min-height:52px;padding:12px 34px 12px 12px;border:1px solid var(--line);border-radius:0;background:var(--white);font:400 .9rem/1.5 var(--sans);color:var(--ink); }
.plan-note { max-width:75ch;margin:12px 0 0;color:var(--ink-soft);font-size:.85rem;line-height:1.65; }
.plan-interests { margin:28px 0;padding:0;border:0;min-width:0; }
.plan-interests legend { padding:0;font-weight:600; }
.plan-interests .plan-note { margin:8px 0 14px; }
.plan-interests > div { display:flex;flex-wrap:wrap;gap:10px; }
.plan-interests label { display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--line);cursor:pointer;background:var(--white);font-size:.85rem; }
.plan-interests label:has(:checked) { border-color:var(--gold-dark);background:var(--paper-deep); }
.plan-interests input { width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--gold-dark); }
.plan-form-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px; }
.plan-reset,.plan-edit { padding:12px 0;min-height:48px;background:transparent;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px; }
.plan-reset:hover,.plan-edit:hover { color:var(--gold-dark); }
.plan-form-actions .button { white-space:normal; }
.plan-privacy { margin-top:20px; }
.plan-status { margin:8px 0 0;max-width:75ch;color:var(--gold-dark);font-size:.85rem; }
.plan-status:empty { display:none; }
.plan-results-heading { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:42px 0 8px; }
.plan-results-heading h3 { margin:0;font-size:clamp(2rem,3vw,2.8rem);scroll-margin-top:0; }
#plan-count { max-width:75ch;margin:0 0 28px;color:var(--ink-soft); }
.personal-plan { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;padding:32px 0;border-top:1px solid var(--line); }
.personal-plan h4 { margin:0 0 12px;font:450 clamp(1.9rem,2.8vw,2.5rem)/1.15 var(--serif);letter-spacing:-.025em;text-wrap:balance; }
.personal-plan-area { margin:0 0 8px;color:var(--gold-dark);font-weight:600; }
.personal-plan-duration { font-variant-numeric:tabular-nums;margin:0 0 20px; }
.plan-reason { max-width:45ch;margin:0;font-size:.85rem;color:var(--ink-soft); }
.plan-reason strong { display:block;color:var(--ink);margin-bottom:6px; }
.personal-plan-route ol { margin:0;padding-left:24px; }
.personal-plan-route li { padding-left:8px;margin-bottom:24px; }
.personal-plan-route li::marker { font-weight:600;color:var(--gold-dark); }
.plan-stop-title { display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline; }
.plan-stop-title a { font:500 1.6rem/1.25 var(--serif);text-underline-offset:4px; }
.plan-stop-title span { font-size:.8rem;color:var(--ink-soft);font-variant-numeric:tabular-nums; }
.personal-plan-route li > p { margin:12px 0;color:var(--ink-soft);font-size:.9rem;max-width:65ch; }
.plan-stop-actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px; }
.plan-stop-actions a { display:inline-flex;align-items:center;min-height:46px;font-size:.85rem;text-underline-offset:4px; }
.plan-stop-check { margin-top:8px;font-size:.85rem;color:var(--ink-soft); }
.plan-stop-check summary { width:fit-content;min-height:44px;padding-block:10px;cursor:pointer; }
.plan-stop-check p { max-width:65ch;margin:10px 0; }
.plan-stop-check a { display:inline-block;padding-block:10px;text-underline-offset:4px; }
.personal-plans ::selection { background:var(--paper-deep);color:var(--ink); }
.personal-plans a:hover { color:var(--gold-dark); }
@media(max-width:760px) {
 .plans-intro { grid-template-columns:1fr;gap:20px;margin-bottom:28px; }
 .plans-intro h2 { max-width:18ch; }
 .plan-fields { grid-template-columns:1fr;gap:18px; }
 .personal-plan { grid-template-columns:1fr;gap:24px; }
 .plan-reason { max-width:65ch; }
 .personal-plan h4 { font-size:2rem; }
 .plan-form-actions .button { width:100%; }
 .plan-form-actions { gap:8px; }
}
@media print {
 #plan-preferences,.plan-edit,.plan-stop-actions button,.plan-stop-check { display:none!important; }
 .personal-plan { break-inside:avoid;grid-template-columns:1fr 2fr;gap:24px; }
}
