:root{--violet:#7e55be;--deep:#5b3c9a;--cyan:#33ccff;--coral:#ef6a65;--orange:#f69833;--yellow:#f9c42e;--green:#75c73e;--ink:#1a1a1a;--cream:#fffcf2;--water:#9bdeef;--park:#c5e89b;--paper:#fff;--line:#ded4ef;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--humanist:ui-rounded,"SF Pro Rounded","Nunito","Quicksand",Avenir,"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--humanist);font-size:17px;line-height:1.58;overflow-wrap:anywhere}a{color:var(--deep);font-weight:700;text-underline-offset:.18em}a:hover{color:var(--violet)}button{font:inherit}.skip-link{position:fixed;left:16px;top:-80px;z-index:20;background:var(--ink);color:#fff;padding:12px 18px;border-radius:24px}.skip-link:focus{top:12px}.top-card{position:sticky;top:12px;z-index:10;width:min(1120px,calc(100% - 32px));min-height:68px;margin:12px auto -80px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:2px solid var(--ink);border-radius:16px;box-shadow:0 9px 0 rgba(26,26,26,.15)}.site-mark{min-height:44px;min-width:44px;justify-content:center;display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.mark-dot{width:24px;height:24px;border-radius:50%;background:var(--violet);border:5px solid #e8dcfb;box-shadow:0 0 0 2px var(--deep)}.top-actions{display:flex;align-items:center;gap:8px}.top-actions a,.plain-toggle{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border-radius:24px}.top-actions a{text-decoration:none}.plain-toggle{border:2px solid var(--violet);background:var(--violet);color:#fff;font-weight:700;cursor:pointer}.plain-toggle:active{background:var(--deep)}main{min-height:80vh}.map-hero{min-height:640px;padding:132px max(16px,calc((100vw - 1120px)/2)) 92px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:42px;position:relative;isolation:isolate;background-color:var(--water);border-bottom:4px solid var(--ink);overflow:hidden}.map-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 15% 78%,var(--park) 0 12%,transparent 12.3%),radial-gradient(circle at 84% 20%,#fff1b6 0 10%,transparent 10.3%),linear-gradient(25deg,transparent 47%,rgba(126,85,190,.16) 47.3% 49.2%,transparent 49.5%)}.map-copy{max-width:690px}.kicker,.section-label{margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em;font-size:13px;line-height:1.3;font-weight:900}.kicker{display:inline-block;padding:7px 12px;background:var(--yellow);border:2px solid var(--ink);border-radius:8px;box-shadow:4px 4px 0 var(--ink)}h1{max-width:15ch;margin:20px 0 18px;font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.03em;font-weight:900}h2{margin:0 0 12px;font-size:clamp(25px,3vw,34px);line-height:1.1;letter-spacing:-.02em}.intro{max-width:62ch;margin:0;font-size:clamp(19px,2.4vw,24px);line-height:1.45;font-weight:700}.route-status{width:max-content;max-width:100%;margin-top:24px;padding:9px 14px;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--ink);border-radius:24px;font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}.pulse-dot{width:14px;height:14px;border:3px solid var(--deep);border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(126,85,190,.55);animation:pulse 2s infinite}.hero-art{margin:0;position:relative}.hero-art:before{content:"";position:absolute;inset:10% -8% -8% 8%;z-index:0;background:var(--violet);border-radius:28px;box-shadow:14px 16px 0 rgba(91,60,154,.27);transform:rotate(3deg)}.hero-art img{position:relative;z-index:1;width:100%;height:auto;display:block;aspect-ratio:5/3;object-fit:cover;border:4px solid var(--ink);border-radius:28px;background:var(--cream)}.route-flow{position:relative;width:min(820px,calc(100% - 32px));margin:-58px auto 84px;display:grid;gap:28px}.route-flow:before{content:"";position:absolute;left:31px;top:34px;bottom:72px;width:10px;background:repeating-linear-gradient(to bottom,var(--violet) 0 28px,#bca5df 28px 40px);border:2px solid var(--deep);border-radius:8px;z-index:0}.route-card{position:relative;z-index:1;margin-left:84px;padding:26px 28px;background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:9px 11px 0 rgba(26,26,26,.19)}.route-card:before{content:"";position:absolute;left:-16px;top:30px;width:26px;height:26px;background:#fff;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}.route-badge{position:absolute;left:-86px;top:18px;width:64px;height:64px;display:grid;place-items:center;background:var(--violet);color:#fff;border:3px solid var(--ink);border-radius:50%;box-shadow:5px 6px 0 rgba(91,60,154,.3);font-family:var(--mono);font-size:16px;font-weight:800}.route-card.cyan{background:#dff7ff}.route-card.coral{background:#fff0ee}.route-card.orange{background:#fff1df}.route-card p{max-width:68ch;margin:0 0 14px}.claim-text{font-size:19px;font-weight:700}.detail-text{padding:14px 16px;background:#f6f1fc;border-left:6px solid var(--violet);border-radius:8px}.source-pair{min-height:48px;margin-top:18px!important;padding-top:16px;border-top:2px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px}.source-pair span{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.source-pair a{min-height:44px;display:inline-flex;align-items:center;text-align:right}.card-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.card-links a{min-height:56px;display:inline-flex;align-items:center;gap:12px;padding:10px 18px;color:#fff;background:var(--violet);border:2px solid var(--deep);border-radius:28px;text-decoration:none;box-shadow:0 6px 0 rgba(91,60,154,.28)}.card-links a:hover{color:#fff;background:var(--deep)}.finish-card{position:relative;z-index:1;margin-left:84px;padding:18px 22px;display:flex;align-items:center;gap:14px;background:var(--green);border:3px solid var(--ink);border-radius:16px;box-shadow:7px 8px 0 rgba(26,26,26,.17)}.finish-card span{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;background:#fff;border:2px solid var(--ink);border-radius:50%;font-weight:900}.finish-card p{margin:0;font-weight:700}body.plain-on [data-extra]{display:none}footer{background:var(--deep);color:#fff;border-top:4px solid var(--ink)}.footer-inner{width:min(1120px,calc(100% - 32px));margin:auto;padding:46px 0 32px}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 14px}.footer-nav a{min-height:48px;padding:10px 13px;display:flex;align-items:center;color:#fff;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.32);border-radius:12px;text-decoration:none}.footer-nav a:hover{background:#fff;color:var(--deep)}.footer-note{max-width:68ch;margin:28px 0 0;padding-top:22px;border-top:2px solid rgba(255,255,255,.3);font-size:16px}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(126,85,190,.5)}50%{box-shadow:0 0 0 12px rgba(126,85,190,0)}}@media(max-width:760px){.top-card{top:8px;margin-top:8px;padding-left:12px}.site-mark span:last-child{display:none}.top-actions a,.plain-toggle{padding:7px 12px}.map-hero{min-height:0;padding-top:114px;padding-bottom:94px;grid-template-columns:1fr;gap:34px}h1{font-size:43px}.hero-art{width:94%;margin:auto}.route-flow{margin-top:-52px}.route-card{margin-left:52px;padding:22px 20px}.route-card:before{left:-12px;width:20px;height:20px}.route-flow:before{left:22px}.route-badge{left:-57px;top:20px;width:48px;height:48px;font-size:13px}.finish-card{margin-left:52px}.source-pair{align-items:flex-start;flex-direction:column;gap:4px}.source-pair a{text-align:left}.footer-nav{grid-template-columns:1fr 1fr}}@media(max-width:430px){.footer-nav{grid-template-columns:1fr}.top-actions a{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pulse-dot{animation:none}}
