:root{--paper:#f4f1e9;--paper-muted:#8da2a4;--paper-dim:#516a70;--paper-deep:#ebe6da;--green-wash:#e7eee4;--ink:#15242a;--ink-soft:#46575b;--line:#aeb8b2;--green:#376543;--red:#c52b2d;--focus:#ffb000;--night:#07131a;--cyan:#66d4d1;--amber:#f0ae56;--green-light:#83bd8b;--font-sans:Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:Georgia, "Times New Roman", serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{color:var(--paper);background:var(--night);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;line-height:1.5}a{color:inherit}a:focus-visible{outline:2px solid var(--amber);outline-offset:5px}.skip-link{z-index:100;color:var(--night);background:var(--amber);padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid #66d4d12e;justify-content:space-between;align-items:center;width:min(100% - 2.5rem,92rem);margin:0 auto;padding:1.5rem 0;display:flex}.site-header__inner{justify-content:space-between;align-items:center;width:100%;display:flex}.brand{color:var(--paper);letter-spacing:-.04em;font-size:1.05rem;font-weight:780;text-decoration:none}.site-header p,.eyebrow,.map-help,.map-origin span,.map-destination__info small,.map-destination__info em{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.site-header p{color:var(--paper-dim);margin:0;font-size:.62rem}.portal-intro{grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr);align-items:end;gap:2rem;width:min(100% - 2.5rem,92rem);margin:0 auto;padding:clamp(3.5rem,7vw,7rem) 0 clamp(2rem,4vw,4rem);display:grid}.eyebrow{color:var(--cyan);grid-column:1/-1;margin:0 0 -.5rem;font-size:.65rem}.portal-intro h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,7vw,7rem);font-weight:500;line-height:.88}.portal-intro__text{max-width:31rem;color:var(--paper-muted);margin:0;font-size:clamp(1rem,1.5vw,1.2rem)}.map-section{width:min(100%,110rem);margin:0 auto;padding:0 clamp(.75rem,2.5vw,2.5rem) clamp(3rem,7vw,7rem)}.map-stage{aspect-ratio:1672/941;isolation:isolate;width:100%;position:relative}.map-stage__art,.map-stage__art img{width:100%;height:100%;display:block;position:absolute;inset:0}.map-stage__art img{object-fit:fill}.map-stage:after{z-index:1;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 6rem #07131a8c}.map-origin{z-index:3;min-width:9rem;color:var(--amber);text-align:center;pointer-events:none;justify-items:center;display:grid;position:absolute;top:21.4%;left:50%;transform:translate(-50%,-50%)}.map-origin span{color:#d9a85f;white-space:nowrap;font-size:clamp(.52rem,.7vw,.68rem);position:absolute;bottom:calc(100% + clamp(2.8rem,5vw,5.5rem))}.map-origin strong{font-family:var(--font-display);white-space:nowrap;font-size:clamp(1rem,1.6vw,1.65rem);font-weight:500;position:absolute;top:calc(100% + clamp(2.8rem,5vw,5.5rem))}.map-destination{z-index:4;aspect-ratio:1;width:9%;color:var(--paper);border-radius:50%;text-decoration:none;position:absolute;transform:translate(-50%,-50%)}.map-destination--rail{--route-color:var(--red);top:78%;left:13.2%}.map-destination--trail{--route-color:var(--green-light);top:78%;left:87.4%}.map-destination__hit{border-radius:50%;transition:transform .2s,box-shadow .2s;position:absolute;inset:0}.map-destination:hover .map-destination__hit,.map-destination:focus-visible .map-destination__hit,.map-destination.is-active .map-destination__hit{box-shadow:0 0 2.5rem var(--route-color);transform:scale(1.08)}.map-destination__info{width:clamp(15rem,22vw,22rem);color:var(--paper);border-top:2px solid var(--route-color);opacity:0;pointer-events:none;background:#07131aeb;gap:.35rem;padding:clamp(.9rem,1.4vw,1.35rem);transition:opacity .18s,transform .18s;display:grid;position:absolute;top:50%;transform:translateY(-45%);box-shadow:0 1.2rem 3rem #00000059}.map-destination--rail .map-destination__info{left:calc(100% + 1rem)}.map-destination--trail .map-destination__info{right:calc(100% + 1rem)}.map-destination:hover .map-destination__info,.map-destination:focus-visible .map-destination__info,.map-destination.is-active .map-destination__info{opacity:1;transform:translateY(-50%)}.map-destination__info small{color:var(--route-color);font-size:.58rem}.map-destination__info strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.55rem,2.5vw,2.5rem);font-weight:500;line-height:1}.map-destination__info>span{color:var(--paper-muted);margin-top:.3rem;font-size:.86rem}.map-destination__info em{color:var(--route-color);margin-top:.4rem;font-size:.56rem;font-style:normal}.route-vehicle{z-index:3;opacity:0;filter:drop-shadow(0 0 .8rem);pointer-events:none;height:auto;display:block;position:absolute}.route-vehicle--train{width:clamp(1rem,2.25vw,2.35rem);color:var(--red)}.route-vehicle--hikers{width:clamp(2rem,4.2vw,4.4rem);color:var(--green-light)}:is(.map-stage:has(.map-destination--rail:hover) .route-vehicle--train,.map-stage:has(.map-destination--rail:focus-visible) .route-vehicle--train,.map-stage:has(.map-destination--rail.is-active) .route-vehicle--train){opacity:1;animation:4.6s linear infinite train-desktop}:is(.map-stage:has(.map-destination--trail:hover) .route-vehicle--hikers,.map-stage:has(.map-destination--trail:focus-visible) .route-vehicle--hikers,.map-stage:has(.map-destination--trail.is-active) .route-vehicle--hikers){opacity:1;animation:5.8s linear infinite hikers-desktop}@keyframes train-desktop{0%{top:25.4%;left:47.3%;transform:translate(-50%,-50%)rotate(34deg)}20%{top:33%;left:43%;transform:translate(-50%,-50%)rotate(40deg)}42%{top:42%;left:36.2%;transform:translate(-50%,-50%)rotate(31deg)}62%{top:52%;left:31%;transform:translate(-50%,-50%)rotate(44deg)}82%{top:63%;left:22%;transform:translate(-50%,-50%)rotate(37deg)}to{top:72.6%;left:15.7%;transform:translate(-50%,-50%)rotate(28deg)}}@keyframes hikers-desktop{0%{top:25.4%;left:52.5%;transform:translate(-50%,-50%)rotate(-42deg)}20%{top:32%;left:59%;transform:translate(-50%,-50%)rotate(-50deg)}42%{top:41%;left:68%;transform:translate(-50%,-50%)rotate(-30deg)}62%{top:51.5%;left:70.2%;transform:translate(-50%,-50%)rotate(-50deg)}82%{top:61%;left:79%;transform:translate(-50%,-50%)rotate(-38deg)}to{top:72.5%;left:84.5%;transform:translate(-50%,-50%)rotate(-20deg)}}.map-help{color:var(--paper-dim);text-align:center;margin:1rem 0 0;font-size:.58rem}.site-footer{border-top:1px solid #66d4d12e;grid-template-columns:1fr auto;align-items:end;gap:.4rem 2rem;width:min(100% - 2.5rem,92rem);margin:0 auto;padding:2.5rem 0 3.5rem;display:grid}.site-footer p{color:var(--paper-dim);margin:0;font-size:.8rem}.footer-nav{color:var(--paper-muted);flex-wrap:wrap;grid-area:1/2/span 2;gap:1.4rem;font-size:.84rem;display:flex}.footer-nav a{text-underline-offset:.25em}.legal-header{color:var(--ink);border-bottom:1px solid var(--line);position:static}.legal-header .brand{color:var(--ink)}.legal-header .header-note{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.62rem}.legal{width:min(100% - 2.5rem,52rem);min-height:65vh;color:var(--ink);margin:auto;padding:7rem 0}.legal h1{font-family:var(--font-display);margin-bottom:3rem;font-size:clamp(2.9rem,6vw,5.7rem);line-height:.95}.legal h2{font-family:var(--font-display);margin:2.8rem 0 .8rem;font-size:1.8rem}.legal p,.legal address{color:var(--ink-soft);font-style:normal}.legal__back{margin-top:3rem;font-weight:700;display:inline-flex}.site-footer__inner{justify-content:space-between;align-items:center;width:100%;display:flex}.site-footer__inner .footer-nav{grid-area:auto}@media (width<=700px){.site-header{width:min(100% - 2rem,92rem)}.site-header p{display:none}.portal-intro{grid-template-columns:1fr;width:min(100% - 2rem,92rem);padding:3.5rem 0 2.5rem}.eyebrow{margin-bottom:-.6rem}.portal-intro h1{font-size:clamp(3rem,14vw,4.8rem)}.portal-intro__text{max-width:27rem}.map-section{padding-inline:.5rem}.map-stage{aspect-ratio:2/3}.map-origin{top:18.8%;left:50%}.map-origin span{bottom:calc(100% + 2.8rem)}.map-origin strong{font-size:1rem;top:calc(100% + 2.8rem)}.map-destination{width:18%}.map-destination--rail{top:75%;left:17%}.map-destination--trail{top:75%;left:83%}.map-destination__info{width:min(15rem,68vw);top:50%}.map-destination--rail .map-destination__info{left:78%}.map-destination--trail .map-destination__info{right:78%}.map-destination__info strong{font-size:1.65rem}.route-vehicle--train{width:3.8%}.route-vehicle--hikers{width:9%}:is(.map-stage:has(.map-destination--rail:hover) .route-vehicle--train,.map-stage:has(.map-destination--rail:focus-visible) .route-vehicle--train,.map-stage:has(.map-destination--rail.is-active) .route-vehicle--train){animation-name:train-mobile}:is(.map-stage:has(.map-destination--trail:hover) .route-vehicle--hikers,.map-stage:has(.map-destination--trail:focus-visible) .route-vehicle--hikers,.map-stage:has(.map-destination--trail.is-active) .route-vehicle--hikers){animation-name:hikers-mobile}.site-footer{grid-template-columns:1fr;width:min(100% - 2rem,92rem)}.footer-nav{grid-area:auto/1;margin-top:1rem}.site-footer__inner{flex-direction:column;align-items:flex-start;gap:1rem}}@keyframes train-mobile{0%{top:23.2%;left:47%;transform:translate(-50%,-50%)rotate(22deg)}22%{top:35%;left:41%;transform:translate(-50%,-50%)rotate(25deg)}48%{top:49%;left:33%;transform:translate(-50%,-50%)rotate(21deg)}74%{top:62%;left:25%;transform:translate(-50%,-50%)rotate(18deg)}to{top:70.5%;left:19%;transform:translate(-50%,-50%)rotate(12deg)}}@keyframes hikers-mobile{0%{top:23.2%;left:53%;transform:translate(-50%,-50%)rotate(-20deg)}22%{top:35%;left:59%;transform:translate(-50%,-50%)rotate(-25deg)}48%{top:49%;left:65%;transform:translate(-50%,-50%)rotate(-18deg)}74%{top:62%;left:74%;transform:translate(-50%,-50%)rotate(-25deg)}to{top:70.5%;left:81%;transform:translate(-50%,-50%)rotate(-12deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
