:root{--ink:#16213d;--ink-soft:#42506b;--paper:#fbf8f2;--paper-2:#f1ebdd;--card:#fff;--teal:#2f6f63;--teal-soft:#dceae5;--coral:#a6432f;--gold:#b28a42;--line:rgba(22,33,61,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Inter,system-ui,sans-serif}a{color:inherit}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:10px 16px;border-radius:9px;background:var(--ink);color:#fff}.skip-link:focus{top:12px}.planner-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:rgba(251,248,242,.94);backdrop-filter:blur(12px)}.planner-brand{font:700 25px/1 Fraunces,serif;text-decoration:none}.planner-brand>span{color:var(--gold)}.planner-brand small{margin-left:8px;color:#706b60;font:600 11px/1 Inter,sans-serif}.planner-header nav,.planner-actions,footer nav{display:flex;align-items:center;gap:16px}.planner-header nav a,footer nav a{color:var(--ink-soft);font-size:13px;font-weight:700;text-decoration:none}.planner-header nav a:hover,.planner-header nav a:focus-visible,footer nav a:hover,footer nav a:focus-visible{color:var(--teal);text-decoration:underline}.planner-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:36px;align-items:end;padding:clamp(54px,9vw,110px) max(24px,calc((100vw - 1160px)/2));background:linear-gradient(140deg,#10243a,#174951 64%,#2f6f63);color:#fff}.eyebrow,.step-label{margin:0 0 9px;color:#96d6c7;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.planner-hero h1{max-width:800px;margin:0;font:700 clamp(44px,7vw,82px)/.98 Fraunces,serif;letter-spacing:-.045em}.planner-hero>div>p:not(.eyebrow){max-width:720px;margin:22px 0;color:rgba(255,255,255,.82);font-size:clamp(16px,2vw,20px)}.planner-hero ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.planner-hero li{padding:7px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700}.planner-hero aside{padding:22px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:rgba(255,255,255,.08)}.planner-hero aside strong{font:700 21px Fraunces,serif}.planner-hero aside p{margin:8px 0 0;color:rgba(255,255,255,.76);font-size:13px}.planner-shell{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:28px;max-width:1160px;margin:0 auto;padding:52px 24px}.planner-form,.planner-results{min-width:0;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:0 16px 42px rgba(22,33,61,.07)}.planner-form__head h2,.planner-results__head h2,.planner-method h2{margin:0;font:700 clamp(27px,3vw,38px)/1.12 Fraunces,serif}.planner-form>.planner-form__head{margin-bottom:22px}.planner-form>label{display:block;margin-top:17px}.planner-form>label>span,.planner-form legend{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.planner-form select{width:100%;min-height:49px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:600 14px Inter,sans-serif}.planner-form label>small{display:block;margin-top:5px;color:#777164;font-size:11px}.planner-form fieldset{margin:19px 0 0;padding:0;border:0}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-grid--pace{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid label{position:relative;display:block}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:block;height:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.choice-grid span small{display:block;margin-top:3px;color:#777164;font-size:10px;font-weight:500;line-height:1.35}.choice-grid input:checked+span{border-color:var(--teal);background:var(--teal-soft);box-shadow:0 0 0 1px var(--teal)}.choice-grid input:focus-visible+span{outline:3px solid #d5a64d;outline-offset:2px}.planner-submit{width:100%;min-height:52px;margin-top:22px;border:0;border-radius:999px;background:var(--teal);color:#fff;font:800 14px Inter,sans-serif;cursor:pointer}.planner-submit:hover,.planner-submit:focus-visible,.planner-actions button:hover,.planner-actions button:focus-visible{background:#23584f;outline:3px solid #e7c47e;outline-offset:2px}.planner-status{min-height:22px;margin:8px 0 0;color:var(--coral);font-size:12px}.planner-results[hidden]{display:none}.planner-results{align-self:start}.planner-results__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.planner-results__head>div>p:last-child{margin:8px 0 0;color:#6f6a5d;font-size:13px}.planner-actions{flex-wrap:wrap;justify-content:flex-end}.planner-actions button{min-height:42px;padding:8px 13px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;cursor:pointer}.route-list{display:grid;gap:10px;margin:24px 0;padding:0;list-style:none;counter-reset:route}.route-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.route-card__time{color:var(--teal);font:800 12px Inter,sans-serif}.route-card__body{min-width:0}.route-card__meta{display:flex;flex-wrap:wrap;gap:7px;color:#706b60;font-size:10px;font-weight:800;text-transform:uppercase}.route-card h3{margin:5px 0 5px;font:700 20px/1.2 Fraunces,serif}.route-card p{margin:0;color:var(--ink-soft);font-size:12px}.route-card__rating{color:#8a6425}.route-card__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.route-card__links a{color:var(--teal);font-size:12px;font-weight:800}.route-check{padding:18px;border-radius:15px;background:var(--paper-2)}.route-check strong{font:700 19px Fraunces,serif}.route-check ul{margin:8px 0 0;padding-left:19px;color:var(--ink-soft);font-size:12px}.planner-method{max-width:1160px;margin:0 auto;padding:28px 24px 72px}.planner-method>.eyebrow{color:var(--teal)}.planner-method>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.planner-method article{padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.planner-method article>strong{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal)}.planner-method h3{margin:13px 0 5px;font:700 19px Fraunces,serif}.planner-method article p{margin:0;color:var(--ink-soft);font-size:12px}footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:34px max(24px,calc((100vw - 1160px)/2));border-top:1px solid var(--line)}footer p{margin:0;color:#706b60;font-size:12px}
@media(max-width:850px){.planner-hero,.planner-shell{grid-template-columns:1fr}.planner-hero aside{max-width:560px}.planner-results__head{display:block}.planner-actions{justify-content:flex-start;margin-top:14px}.planner-method>div{grid-template-columns:1fr}}
@media(max-width:620px){.planner-header{padding:13px 16px}.planner-brand small,.planner-header nav a:not(:last-child){display:none}.planner-hero{padding:48px 18px}.planner-shell{padding:28px 16px}.planner-form,.planner-results{padding:20px}.choice-grid,.choice-grid--pace{grid-template-columns:1fr}.route-card{grid-template-columns:1fr;gap:4px}footer{display:block;padding:28px 18px}footer p{margin:9px 0}footer nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
