*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:64px}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;color:inherit;background:0 0;border:none}:root{--bg:#f6f3ec;--paper:#fbf9f4;--ink:#16211f;--mute:#6b716f;--accent:#1d6b63;--soft:#dcebe8;--line:#d9d4c7;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}.sec{padding-block:clamp(64px,10vw,128px)}.eyebrow{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:block}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-weight:500;line-height:1.06}h1{font-size:clamp(36px,5.6vw,68px)}h2{margin-bottom:36px;font-size:clamp(30px,4.4vw,52px)}em{color:var(--accent);font-style:italic}.org{color:var(--mute);font-size:13px}.tag{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--soft);color:var(--accent);border-radius:99px;margin:8px 6px 0 0;padding:4px 10px;display:inline-block}.btn{font:500 14px var(--sans);background:var(--ink);color:var(--bg);border-radius:99px;padding:12px 22px;transition:background .25s,transform .25s;display:inline-block}.btn.light{background:var(--bg);color:var(--ink)}.btn.ghost{color:var(--bg);background:0 0;box-shadow:inset 0 0 0 1px #f6f3ec59}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,32px);display:flex;position:fixed;inset:0 0 auto}.brand{font:600 16px var(--serif)}.nav nav{color:var(--mute);align-items:center;gap:clamp(14px,3vw,28px);font-size:13px;display:flex}.nav nav a:hover{color:var(--ink)}.nav .navCta{color:var(--bg);background:var(--ink);border-radius:99px;padding:7px 14px}.nav .navCta:hover{background:var(--accent);color:var(--bg)}.langs{border:1px solid var(--line);border-radius:99px;padding:2px;display:flex}.langs button{font:500 11px var(--mono);letter-spacing:.06em;cursor:pointer;color:var(--mute);border-radius:99px;padding:5px 10px}.langs button.on{background:var(--ink);color:var(--bg)}.hero{height:200svh}.stage{isolation:isolate;place-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.stage>*{grid-area:1/1}.stage video{object-fit:cover;object-position:70% 100%;z-index:-1;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.stage:after{content:"";z-index:-1;opacity:0;background:linear-gradient(#f6f3ecbf,#f6f3ec73 60%,#0000);transition:opacity .8s;position:absolute;inset:0}.welcome{text-align:center;font:italic 400 clamp(32px, 6vw, 72px)/1.1 var(--serif);padding:0 24px;transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1);animation:1.4s backwards rise}.cue{align-self:end;margin-bottom:32px;font-size:22px;transition:opacity .4s;animation:1s 1.6s backwards rise}.intro{opacity:0;visibility:hidden;flex-direction:column;align-items:flex-start;gap:22px;width:100%;transition:opacity .8s .2s,transform .9s cubic-bezier(.16,1,.3,1) .2s,visibility 0s 1s;display:flex;transform:translateY(24px)}.intro p{max-width:560px;line-height:1.6;font:400 clamp(19px, 2.2vw, 24px)/1.5 var(--serif)}.hero.step .welcome{opacity:0;transform:translateY(-24px)}.hero.step .cue{opacity:0}.hero.step .stage:after{opacity:1}.hero.step .intro{opacity:1;visibility:visible;transition-delay:.2s,.2s,0s;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.expGrid{grid-template-columns:300px 1fr;align-items:start;gap:16px clamp(24px,4vw,56px);display:grid}.expGrid .stops{grid-row:1/3}.stops{flex-direction:column;display:flex}.stops li{opacity:0;border-top:1px solid var(--line);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1);transform:translate(-14px)}.stops li.on{opacity:1;transform:none}.row{text-align:left;cursor:pointer;border-radius:8px;align-items:baseline;gap:16px;width:100%;padding:16px 12px;transition:background .25s;display:flex}.row.now{background:var(--soft)}.row .n{font:500 11px var(--mono);color:var(--accent)}.row b{font:500 15px var(--sans);display:block}.row small{font:400 11px var(--mono);color:var(--mute);letter-spacing:.04em}.map{background:var(--paper);border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block}.contour{fill:none;stroke:var(--line);stroke-width:1px}.routeGhost{fill:none;stroke:var(--line);stroke-width:2px;stroke-dasharray:3 8;stroke-linecap:round}.route{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1)}.pin{cursor:pointer;outline:none;transition:opacity .5s}.pin .dot{fill:var(--bg);stroke:var(--ink);stroke-width:2px;transition:all .3s}.pin .halo{fill:var(--accent);opacity:0;transition:all .3s}.pin text{font:500 12px var(--sans);fill:var(--ink);transition:opacity .5s}.pin text.yr{font:400 10px var(--mono);fill:var(--mute)}.map.tall .pin text{font:500 19px var(--sans)}.map.tall .contour{stroke-width:1.5px}.map.tall .routeGhost{stroke-width:3px;stroke-dasharray:4 12}.map.tall .route{stroke-width:4px}.pin.past .dot,.pin.now .dot{fill:var(--accent);stroke:var(--accent)}.pin.now .halo{opacity:.16}.pin.future{opacity:.3}.pin.future text{opacity:0}.pin:hover,.pin:focus-visible{opacity:1}.walker{transition:transform 1s cubic-bezier(.65,0,.35,1),opacity .6s}.walker circle{fill:var(--ink)}.exp.playing .route,.exp.playing .walker{transition:opacity .6s}.walker .ping{fill:none;stroke:var(--ink);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite ping}@keyframes ping{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}.expCard{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-height:210px;padding:20px 22px;transition:opacity .6s;animation:.5s cubic-bezier(.16,1,.3,1) cardIn}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}}.cardTop{font:400 11px var(--mono);letter-spacing:.1em;color:var(--accent);justify-content:space-between;margin-bottom:8px;display:flex}.cardTop .count{color:var(--mute)}.expCard h3{margin-bottom:4px;font-size:24px}.expCard p{margin-top:10px;font-size:14px;line-height:1.6}.cards{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;transition:border-color .3s,transform .3s}.card h3{margin-bottom:6px;font-size:26px}.card p{margin-top:14px;font-size:15px;line-height:1.65}.more{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.more a{border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-size:13px;transition:all .25s;display:inline-block}.more a:hover{border-color:var(--accent);color:var(--accent)}.more span{color:var(--mute)}.gear{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:0 48px;display:grid}.gear div{border-top:1px solid var(--line);padding:20px 0}.gear dt{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.gear dd{font-size:15px;line-height:1.6}.langNote{font:400 13px var(--mono);color:var(--mute);margin-top:32px}.camp{background:var(--ink);color:var(--bg);padding-block:clamp(72px,12vw,140px)}.camp .eyebrow{color:#8fc9c1}.camp h2{max-width:700px;margin-bottom:32px}.actions{flex-wrap:wrap;gap:12px;display:flex}.foot a{text-underline-offset:3px;text-decoration:underline}.foot{font:400 12px var(--mono);color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:28px;display:flex}@supports (animation-timeline:view()){.rv{animation:linear both rv;animation-timeline:view();animation-range:entry entry 55%}@keyframes rv{0%{opacity:0;transform:translateY(28px)}}}@media (width<=900px){.expGrid{grid-template-columns:1fr}.expGrid .stops{order:3;grid-row:auto}.map{order:1}.expCard{order:2}}@media (width<=700px){.nav nav a:not(.navCta){display:none}.nav nav{gap:10px}.langs button{padding:7px 12px}.card{padding:22px}.actions .btn{text-align:center;width:100%}.foot{flex-direction:column}}@media (hover:hover){.card:hover{border-color:var(--accent);transform:translateY(-4px)}.btn:hover{background:var(--accent);transform:translateY(-2px)}.btn.light:hover{background:var(--soft)}.btn.ghost:hover{background:#f6f3ec1f}.row:hover{background:var(--soft)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
