/* Self-hosted Google Fonts (SIL Open Font License), latin subset */
@font-face{font-family:'Zilla Fallback';src:local("Georgia");size-adjust:91.8%;ascent-override:102.8%;descent-override:27.9%;line-gap-override:0%}
@font-face{font-family:'Rye Fallback';src:local("Georgia");size-adjust:111.7%;ascent-override:88.3%;descent-override:23.6%;line-gap-override:0%}
@font-face{font-family:'Alfa Fallback';src:local("Georgia");size-adjust:113.9%;ascent-override:91%;descent-override:29.2%;line-gap-override:0%}
@font-face{font-family:'Rye';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rye-v17-latin.woff2) format('woff2')}
@font-face{font-family:'Alfa Slab One';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/alfa-slab-one-v21-latin.woff2) format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zilla-slab-400-v12-latin.woff2) format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/zilla-slab-400i-v12-latin.woff2) format('woff2')}
@font-face{font-family:'Zilla Slab';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/zilla-slab-600-v12-latin.woff2) format('woff2')}
:root{--paper:#f2e6cc;--paper2:#e8d6b0;--ink:#24180e;--muted:#5e4a36;--wood:#3a2616;--wood2:#24170d;--rust:#8f3f1c;--rust2:#b35a2c;--gold:#e7b25e;--pine:#33463a;--line:#c7ae84;--smoke:#9aa6a4}
*{box-sizing:border-box}
html{font-size:18px;scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;color:var(--ink);font-family:'Zilla Slab','Zilla Fallback',Georgia,serif;line-height:1.62;background:var(--paper)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
 background:radial-gradient(ellipse at 20% 10%,rgba(255,250,232,.7),transparent 60%),radial-gradient(ellipse at 90% 90%,rgba(150,110,60,.18),transparent 60%),
 repeating-linear-gradient(0deg,rgba(90,60,30,.025) 0 2px,transparent 2px 5px)}
.wrap{max-width:900px;margin:0 auto;padding:0 1.2rem}
a{color:var(--rust)}a:hover{color:var(--wood2)}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}

/* Top bar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(36,23,13,.94);border-bottom:2px solid #4c331d;transition:background .3s}
.home .topbar{position:fixed;left:0;right:0;background:linear-gradient(rgba(20,12,6,.55),transparent);border-color:transparent}
.home .topbar.solid{background:rgba(36,23,13,.96);border-color:#4c331d}
.topbar-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.2rem}
.logo{text-decoration:none;color:#f6e7c8;line-height:1;display:flex;flex-direction:column}
.logo-a{font-family:'Rye','Rye Fallback',Georgia,serif;font-size:1.35rem;letter-spacing:.03em}
.logo-b{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:.62rem;letter-spacing:.55em;color:var(--gold);text-transform:uppercase;margin-top:.15rem}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.1rem .25rem;margin:0;padding:0}
nav a{display:block;color:#f2e2c2;text-decoration:none;font-weight:600;font-size:.88rem;padding:.4rem .55rem;border-radius:3px}
nav a:hover{background:rgba(231,178,94,.15);color:#fff}
nav a[aria-current]{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.menu-btn{display:none;font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;background:transparent;color:#f6e7c8;border:2px solid var(--gold);border-radius:3px;padding:.35rem .8rem;font-size:.85rem;cursor:pointer}

/* Hero */
.hero{position:relative;height:100vh;min-height:560px;max-height:980px;overflow:hidden;color:#fff6e4;isolation:isolate}
.sky{position:absolute;inset:0;background:linear-gradient(180deg,#3b2a3a 0%,#8a4f3a 32%,#d98e52 55%,#f0c487 72%,#f3dcae 100%);z-index:-2}
.layer{position:absolute;left:0;bottom:0;width:100%;height:100%;will-change:transform}
.l-town{bottom:-2px}
.mist{position:absolute;left:0;right:0;bottom:16%;height:22%;background:linear-gradient(180deg,transparent,rgba(243,225,190,.35),transparent);pointer-events:none}
.hero-copy{position:absolute;left:0;right:0;top:20%;text-align:center;padding:0 1.2rem;z-index:2}
.kicker{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--gold);margin:0 0 .8rem}
.marquee{position:relative;display:inline-block;margin:0;padding:1.1rem 2.2rem 1.2rem;background:linear-gradient(#2a1a10,#1d120a);border:4px solid #b88a4a;border-radius:10px;
 box-shadow:0 0 0 4px #24170d,0 18px 40px rgba(0,0,0,.45),inset 0 0 30px rgba(0,0,0,.6);line-height:1}
.bulbs{position:absolute;inset:5px;border:5px dotted #ffe0a0;border-radius:6px;pointer-events:none;filter:drop-shadow(0 0 3px rgba(255,210,120,.9));animation:chase 2.4s ease-in-out infinite}
@keyframes chase{50%{border-color:#c98e3e;filter:none}}
.m1{display:block;font-family:'Rye','Rye Fallback',Georgia,serif;font-size:clamp(2.4rem,8vw,5.2rem);color:#fbe9c4;text-shadow:0 0 18px rgba(255,200,110,.55),3px 3px 0 #7a3415}
.m2{display:block;font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:clamp(.95rem,2.8vw,1.6rem);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-top:.5rem;padding-left:.42em}
.hero-lede{max-width:34rem;margin:1.4rem auto 0;font-size:1.15rem;color:#fff3dc;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.hero-cta{margin-top:1.4rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;text-decoration:none;background:var(--rust);color:#fff4e2;padding:.75rem 1.3rem;border-radius:4px;border:2px solid #d78a52;box-shadow:0 4px 0 #4e200c;transition:transform .15s,box-shadow .15s}
.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 0 #4e200c}
.btn-ghost{background:rgba(20,12,6,.45);border-color:var(--gold)}
.scroll-cue{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);width:28px;height:46px;border:2px solid rgba(255,240,210,.8);border-radius:16px;z-index:3}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:9px;margin-left:-2px;background:#fff0d2;border-radius:2px;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* Inner page head */
.page-head{position:relative;background:linear-gradient(180deg,#3b2a3a,#7e4734 55%,#b8703f);color:#fff3dc;padding:3.2rem 1.2rem 4.4rem;text-align:center;overflow:hidden}
.page-head h1{font-family:'Rye','Rye Fallback',Georgia,serif;font-weight:400;font-size:clamp(2rem,6vw,3.3rem);margin:0;color:#fbe9c4;text-shadow:3px 3px 0 #5a250e}
.page-head-in{position:relative;z-index:1}
.ridge{position:absolute;left:0;bottom:-1px;width:100%;height:70px;fill:var(--paper)}
footer .ridge{position:static;display:block;fill:var(--wood2);transform:none;margin-bottom:-1px}

main{padding:2rem 0 3rem}
h1,h2,h3{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-weight:400;color:var(--wood2);line-height:1.2}
h2{font-size:1.4rem;margin:2rem 0 .5rem}
.poster-h{font-family:'Rye','Rye Fallback',Georgia,serif;font-size:clamp(1.6rem,4.5vw,2.3rem);text-align:center;margin:1rem 0 .8rem;color:var(--wood)}
.poster-h::before,.poster-h::after{content:"\2605";font-size:.5em;color:var(--rust);vertical-align:middle;margin:0 .7em}
.lede{font-size:1.14rem;color:#33241a}
.banner{background:#fbf2dc;border:2px dashed var(--wood);padding:.75rem 1rem;border-radius:4px;margin:.5rem 0 1.5rem}
.intro{max-width:44rem;margin:0 auto}
.cite{font-size:.72em;vertical-align:super;text-decoration:none;margin-left:.1em;font-weight:600}

/* Chairlift ride */
.ride{position:relative;margin:2.5rem -1.2rem}
.js .ride.live{height:260vh}
.ride-stick{padding:1rem 1.2rem}
.js .ride.live .ride-stick{position:sticky;top:3.6rem;height:calc(100vh - 3.6rem);display:flex;flex-direction:column;justify-content:center}
.sign-t{font-family:"Rye",Georgia,serif;font-size:.95px;fill:#fbe9c4}.sign-s{font-family:"Alfa Slab One",Georgia,serif;font-size:.62px;fill:#f2c26b}
.no-js .ride-art{display:none}
#r-me-in,#r-valley,#r-summit{will-change:transform}
.ride-art{display:block;width:100%;aspect-ratio:8/5;height:auto;max-height:66vh;border:6px solid var(--wood);border-radius:6px;box-shadow:0 10px 30px rgba(50,30,15,.3);background:#f4e6c8}
.ride-notes{list-style:none;padding:0;margin:1rem auto 0;width:100%;max-width:40rem;min-height:5.5em;position:relative}
.ride-notes li{background:#fbf2dc;border-left:5px solid var(--rust);padding:.6rem .9rem;margin:.4rem 0;border-radius:3px}
.js .ride.live .ride-notes li{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}
.js .ride.live .ride-notes li.on{opacity:1;transform:none}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin:2.5rem 0}
.card{position:relative;display:block;text-decoration:none;color:var(--ink);background:linear-gradient(#fbf3df,#f2e3c2);border:1px solid var(--line);padding:1rem 1.1rem 1.1rem;border-radius:4px;
 box-shadow:0 2px 0 #d9c39a,0 8px 18px rgba(60,35,15,.12);transition:transform .2s,box-shadow .2s}
.card::before{content:"";position:absolute;top:8px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#6b4a2c;box-shadow:inset -2px -2px 0 #3a2616}
.card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 2px 0 #d9c39a,0 14px 26px rgba(60,35,15,.2)}
.card-k{display:block;font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--rust);margin-top:.6rem}
.card h2{margin:.3rem 0 .3rem;font-family:'Rye','Rye Fallback',Georgia,serif;font-size:1.35rem}.card p{margin:0}

/* Reveal */
.js .reveal,.js .reveal-group>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in,.js .reveal-group>.in{opacity:1;transform:none}

/* Timeline */
.dec-nav{position:sticky;top:3.4rem;z-index:20;background:rgba(242,230,204,.95);border-bottom:2px solid var(--line);margin:1rem -1.2rem 1.5rem;padding:.4rem 1.2rem;backdrop-filter:blur(4px)}
.dec-nav ul{list-style:none;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:0;padding:0}
.dec-nav a{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:.85rem;text-decoration:none;color:var(--wood);padding:.25rem .7rem;border:2px solid var(--line);border-radius:999px;display:block}
.dec-nav a[aria-current]{background:var(--rust);border-color:var(--rust);color:#fff4e2}
.tl-wrap{position:relative}
.tl-progress{position:absolute;left:21px;top:0;bottom:0;width:6px;background:#dcc8a2;border-radius:3px}
.tl-progress span{display:block;height:100%;background:linear-gradient(var(--rust2),var(--rust));transform-origin:top;transform:scaleY(0);border-radius:3px}
.no-js .tl-progress span{transform:scaleY(1)}
.timeline{list-style:none;padding:0;margin:0;position:relative}
.decade{position:relative;padding:1.2rem 0 .6rem 0;scroll-margin-top:7rem}
.decade span{display:inline-block;font-family:'Rye','Rye Fallback',Georgia,serif;font-size:1.6rem;color:#fbe9c4;background:var(--wood);padding:.25rem 1rem .3rem;border-radius:4px;box-shadow:3px 3px 0 var(--rust);position:relative;z-index:1}
.ev{position:relative;padding:0 0 1.3rem 3.6rem}
.ev::before{content:"";position:absolute;left:13px;top:.5rem;width:22px;height:22px;border-radius:50%;background:var(--paper);border:5px solid var(--rust);box-sizing:border-box}
.year{margin:0;font-size:1.2rem;color:var(--rust)}
.ev-body{background:#fbf3df;border:1px solid var(--line);border-radius:4px;padding:.6rem .9rem;margin-top:.3rem;box-shadow:0 3px 10px rgba(60,35,15,.08)}

/* Attractions, people, news */
.item{border-top:1px solid var(--line);padding-top:.3rem}
.item h2{font-family:'Rye','Rye Fallback',Georgia,serif}
.placeholder{margin:1.2rem 0}
.ph-box{aspect-ratio:3/2;max-width:400px;border:8px solid #fff8ea;outline:1px solid var(--line);box-shadow:0 6px 14px rgba(60,35,15,.18);background:repeating-linear-gradient(45deg,#ecdcb8 0 12px,#e4d1a9 12px 24px);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:'Rye','Rye Fallback',Georgia,serif;transform:rotate(-1deg)}
figcaption{font-style:italic;color:var(--muted);font-size:.92rem;padding:.45rem .2rem}
.photo{margin:1.5rem 0;background:#fffaf0;padding:.6rem .6rem .3rem;border:1px solid var(--line);box-shadow:0 4px 12px rgba(60,40,20,.25)}
.photo img{width:100%;height:auto;display:block}

/* Map */
.map-wrap{position:relative;margin:1.5rem -1.2rem .8rem}
.map-box{position:relative;width:100%;aspect-ratio:1425/869;overflow:hidden;border-radius:6px;box-shadow:0 10px 30px rgba(50,30,15,.3);background:#e9dcbc;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.map-box.zoomed{touch-action:none;cursor:grab}
.park-map{display:block;width:100%;height:100%}
.map-tools{position:absolute;z-index:4;bottom:14px;right:52px;display:flex;gap:6px}
.mz{min-width:38px;height:38px;border:2px solid var(--wood);border-radius:6px;background:#fbf3df;color:var(--wood);font:700 1.25rem/1 Georgia,serif;cursor:pointer;box-shadow:0 2px 6px rgba(30,18,8,.25)}
.mz-r{font:600 .8rem/1 'Zilla Slab','Zilla Fallback',Georgia,serif;padding:0 .45rem}.mz:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pm-frame{fill:#6b4a2c}.pm-bolt{fill:#3a2717;stroke:#9a7a5a;stroke-width:1.5}
.pm-sky{fill:#c9d2cf}.pm-cloud{fill:#eef0e8;opacity:.9}.pm-lawn{fill:#b4bf88}
.pm-walk{fill:#d9cfb8;stroke:#a8987a;stroke-width:1.5;stroke-linejoin:round}
.pm-trail{fill:none;stroke:#d9cfb8;stroke-width:10;stroke-linecap:round;stroke-dasharray:2 10}
.pm-ties{fill:none;stroke:#6b4a2c;stroke-width:9;stroke-dasharray:2.5 5}.pm-rails{fill:none;stroke:#3a2717;stroke-width:4}.pm-rails2{fill:none;stroke:#3a2717;stroke-width:1.6}
.pm-fence{fill:none;stroke:#7a5a38;stroke-width:3;stroke-dasharray:10 3}
.pm-coast-c{fill:none;stroke:#7a5a20;stroke-width:9;stroke-linecap:round}.pm-coast{fill:none;stroke:#e0b84a;stroke-width:5;stroke-linecap:round;stroke-dasharray:6 2}
.pm-post{stroke:#b89a4a;stroke-width:3}.pm-post2{stroke:#6b5a4a;stroke-width:2}.pm-car{fill:#9a2a24;stroke:#3a1a12;stroke-width:1.5}
.pm-gantry{fill:none;stroke:#8e2a24;stroke-width:6;stroke-linecap:square}.pm-cable{fill:none;stroke:#3a2717;stroke-width:1.5}
.pm-chair{fill:#d8c040;stroke:#3a2717;stroke-width:1.2}
.pm-wall,.pm-side{stroke:#2a1d12;stroke-width:1.2;stroke-linejoin:round}.pm-side{filter:brightness(.72)}
.pm-roof,.pm-roof2{stroke:#2a1d12;stroke-width:1.2;stroke-linejoin:round}.pm-roof2{filter:brightness(.8)}
.pm-trim{fill:#e8dcc0;stroke:#2a1d12;stroke-width:.8}.pm-win{fill:#f3e3a8;stroke:#2a1d12;stroke-width:.6}.pm-door{fill:#3a2717}.pm-sign{fill:#f1ead8;stroke:#2a1d12;stroke-width:.8}
.pm-engine rect{fill:#3a3a3a;stroke:#1a1a1a}.pm-engine circle{fill:#1a1a1a;stroke:#8e2a24;stroke-width:2}
.pm-ride{fill:none;stroke:#4a3a30;stroke-width:3;stroke-linecap:round}.pm-ride2{fill:none;stroke:#5a5a5a;stroke-width:5}.pm-seat{fill:#5a8ab0;stroke:#2a1d12}
.pm-arm{fill:none;stroke:#d07a2a;stroke-width:6;stroke-linejoin:round}.pm-base{fill:#a89a80;stroke:#5a4a3a}.pm-stripe{stroke:#f1ead8;stroke-width:4}
.pm-drum{fill:#c03a2a;stroke:#2a1d12;stroke-width:1.2}.pm-stripe2{stroke:#f1ead8;stroke-width:4}.pm-canopy{fill:#e0b84a;stroke:#2a1d12}
.pm-fort{fill:#7a6250;stroke:#2a1d12}.pm-fort2{fill:#7a6250;stroke:#2a1d12}.pm-tower{fill:#3e4f8a;stroke:#1a2340}
.pm-rock{fill:#a89a80;stroke:#5a4a3a}.pm-water{fill:#6aa0c8}
.pm-bus rect{fill:#3e4f9a;stroke:#1a2340;stroke-width:2}.pm-tram rect{fill:#e0c040;stroke:#5a4a20;stroke-width:2}
.pm-stop{fill:#b02a24;stroke:#fff;stroke-width:1.5}
.pm-board{fill:#7a5236}.pm-board-e{fill:none;stroke:#3a2717;stroke-width:4}.pm-postw{stroke:#5a3b22;stroke-width:8}
.pm-t1{font:30px 'Rye','Rye Fallback',Georgia,serif;fill:#f3e3b8}.pm-t2{font:14px 'Alfa Slab One','Alfa Fallback',Georgia,serif;letter-spacing:.3em;fill:#e0b84a}
.pm-frame .pm-plank{fill:#b98a52;stroke:#5a3b1e;stroke-width:1.2}.pm-frame .pm-plank2{fill:#c99a5e;stroke:#5a3b1e;stroke-width:1.2}.pm-frame-e{stroke:#4a2f16;stroke-width:3}
.pm-frame .pm-bolt{fill:#4a4a48;stroke:#c8c4b8;stroke-width:1}
.pm-sky{fill:#5f7fa8}.pm-cloud{fill:#dfe6ee;opacity:.85}.pm-lawn{fill:#7cb35a}
.pm-walk{fill:#c9c6bc;stroke:#8e8a7e;stroke-width:1;stroke-linejoin:round}
.pm-trail{stroke:#c9c6bc;stroke-width:6;stroke-dasharray:2 6}
.pm-tie{fill:none;stroke:#6b4a2c;stroke-width:1.6}.pm-rail{fill:none;stroke:#3a3a3a;stroke-width:.9}.pm-rail2{fill:none;stroke:#4a4a4a;stroke-width:.8}
.pm-fence{stroke:#7a5a38;stroke-width:1.6;stroke-dasharray:6 2}
.pm-cpost{fill:none;stroke:#c8a020;stroke-width:1.6}.pm-cpost-s{fill:none;stroke:rgba(0,0,0,.25);stroke-width:2}.pm-cbrace{fill:none;stroke:#a88418;stroke-width:.7}
.pm-cshadow{fill:none;stroke:rgba(20,40,10,.28);stroke-width:5;stroke-linecap:round}
.pm-cbed{fill:none;stroke:#5a4a20;stroke-width:5.6;stroke-linecap:round}
.pm-ctie{fill:none;stroke:#8a6a2a;stroke-width:1}.pm-crail{fill:none;stroke:#f2cc32;stroke-width:1.3}
.pm-car{fill:#c0281e;stroke:#3a0e0a;stroke-width:.8}.pm-car-s{fill:#f2cc32}
.pm-gantry{fill:none;stroke:#b02a20;stroke-width:4;stroke-linejoin:round}.pm-gantry-s{fill:none;stroke:#7a1a14;stroke-width:4}.pm-gantry-b{stroke:#7a1a14;stroke-width:3}
.pm-cable{stroke-width:.8}.pm-chair{stroke-width:.8}
.pm-wall,.pm-side,.pm-roof,.pm-roof2{stroke-width:.8}.pm-win{stroke-width:.4}.pm-trim,.pm-sign{stroke-width:.5}
.pm-ride{stroke-width:2}.pm-ride2{stroke-width:3}.pm-arm{stroke-width:3}.pm-arm2{fill:none;stroke:#3e4f8a;stroke-width:3}.pm-stripe,.pm-stripe2{stroke-width:2.5}
.pm-bus rect{stroke-width:1.2}.pm-tram rect{stroke-width:1.2}.pm-stop{stroke-width:1}
.pm-logo-t{fill:none;stroke:#1f2a3a;stroke-width:6}
.pm-logo .pm-t1{font:25px 'Rye','Rye Fallback',Georgia,serif;fill:#b0281e;stroke:#f2cc32;stroke-width:1.2;paint-order:stroke}.pm-logo .pm-t2{font:9px 'Alfa Slab One','Alfa Fallback',Georgia,serif;letter-spacing:.2em;fill:#f4f1e6}
.pm-leg-box{fill:#eef3f6;stroke:#2a1d12;stroke-width:1.5}
.pm-leg{cursor:pointer}.pm-leg-hit{fill:transparent}.pm-leg:hover .pm-leg-hit,.pm-leg.on .pm-leg-hit{fill:#f0c040;opacity:.45}
.pm-leg-n,.pm-leg-t,.pm-key-t{font:7px Georgia,serif;fill:#1f2a3a}.pm-leg-n{font-weight:700}.pm-key-t{font-size:8.4px}
.pm-ico rect{fill:#2f4f8a;stroke:#fff;stroke-width:.8}.pm-ico path,.pm-ico circle{fill:#fff}.pm-ico .pm-ico-l{fill:none;stroke:#fff;stroke-width:1}.pm-ico-t{font:bold 10px Georgia,serif;fill:#fff}
.pm-ico-aid rect{fill:#c0281e}.pm-ico-atm rect{fill:#2f7a3a}
.park-map.scan .spot-dot{fill:transparent;stroke:none}.spot-ring{fill:none;stroke:transparent;stroke-width:3}
.park-map.scan .spot:hover .spot-ring,.park-map.scan .spot.active .spot-ring{stroke:#f0c040;filter:drop-shadow(0 0 3px #fff6c8)}.park-map.scan .spot:focus-visible .spot-ring{stroke:#fff;stroke-width:3.5}
.park-map.scan .spot:hover .spot-dot,.park-map.scan .spot.active .spot-dot{fill:rgba(240,192,64,.18)}
.map-credit{margin:.5rem 0 0;font-size:.9rem;color:#5a4636}
.pm-b{transition:filter .15s}.pm-b.hl{filter:drop-shadow(0 0 3px #fff6c8) drop-shadow(0 0 7px #f0c040)}
.spot{cursor:pointer}.spot-hit{fill:transparent}
.spot-dot{fill:#9a2a24;stroke:#fff4e2;stroke-width:2.5;transition:fill .15s}
.spot-n{font:12px 'Alfa Slab One','Alfa Fallback',Georgia,serif;fill:#fff4e2;pointer-events:none}
.spot:hover .spot-dot,.spot.active .spot-dot{fill:#3a2717;stroke:#f0c040}
.spot:focus{outline:none}.spot:focus-visible .spot-dot{stroke:var(--gold);stroke-width:4}
.popover{position:absolute;z-index:5;width:min(300px,86vw);background:#fbf3df;border:3px solid var(--wood);border-radius:6px;padding:.8rem 1rem;box-shadow:0 12px 28px rgba(30,18,8,.35)}
.popover h3{margin:0 1.6rem .3rem 0;font-family:'Rye','Rye Fallback',Georgia,serif;font-size:1.1rem}.popover p{margin:0}
.pop-x{position:absolute;top:.3rem;right:.4rem;background:none;border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--wood);padding:.2rem .4rem}
.map-h{margin-top:1.6rem}
.stop-btn{display:inline-flex;align-items:center;gap:.45rem;background:none;border:0;padding:.1rem 0;font:600 1rem 'Zilla Slab','Zilla Fallback',Georgia,serif;color:var(--ink,#2a1d12);cursor:pointer;text-align:left}
.stop-btn:hover,.stop-btn.on{color:var(--rust)}.stop-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.stop-n{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:50%;background:#9a2a24;color:#fff4e2;font:.8rem 'Alfa Slab One','Alfa Fallback',Georgia,serif}
.stop-btn.on .stop-n{background:#3a2717}
.spot-list .sf{display:block;margin:.1rem 0 0 2.05rem;font-size:.95rem}
@media (max-width:640px){.map-credit{margin-top:2.4rem}.map-wrap{margin:1.2rem -1.2rem .6rem}.map-box{border-radius:0}.map-tools{right:8px;bottom:8px}.mz{min-width:34px;height:34px}}
.spot-list{columns:2 300px;column-gap:2rem;padding-left:0;list-style:none}.spot-list li{break-inside:avoid;margin-bottom:.5rem}

/* Form */
.form{display:grid;gap:.4rem;max-width:620px;background:#fbf3df;border:1px solid var(--line);padding:1.2rem 1.3rem;border-radius:6px;box-shadow:0 6px 16px rgba(60,35,15,.1)}
.form label{font-weight:600;margin-top:.5rem}.opt{font-weight:400;color:var(--muted)}
.form input,.form textarea{font:inherit;padding:.6rem .7rem;border:1px solid #9c8360;border-radius:3px;background:#fffdf7;color:var(--ink);width:100%}
.form .check{font-weight:400;display:flex;gap:.5rem;align-items:center}.form .check input{width:auto}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.small{font-size:.88rem;color:var(--muted)}
button[type=submit]{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:1rem;background:var(--rust);color:#fff6e6;border:2px solid #d78a52;padding:.7rem 1.3rem;border-radius:4px;cursor:pointer;justify-self:start;margin-top:.6rem;box-shadow:0 4px 0 #4e200c}
.ok{background:#e1ecd9;border:1px solid var(--pine);padding:.6rem 1rem}.err{background:#f6dccd;border:1px solid var(--rust);padding:.6rem 1rem}
.sources{margin-top:3rem;font-size:.9rem;border-top:3px double var(--wood)}.sources li{margin:.25rem 0;word-break:break-word}

footer{background:var(--wood2);color:#e9d7b2;font-size:.92rem;margin-top:2rem}
footer .wrap{padding-top:.4rem;padding-bottom:1.6rem}footer a{color:var(--gold)}.notice{font-weight:600;color:#fbe9c4}

@media (max-width:820px){
 .menu-btn{display:block}
 nav{position:absolute;left:0;right:0;top:100%;background:rgba(36,23,13,.98);display:none;border-bottom:2px solid #4c331d}
 nav.open{display:block}
 nav ul{flex-direction:column;padding:.5rem 1.2rem 1rem}nav a{font-size:1rem;padding:.6rem .4rem}
}
@media (max-width:560px){html{font-size:17px}.kicker{letter-spacing:.14em}.hero-copy{top:15%}.marquee{padding:.9rem 1.2rem 1rem}.ev{padding-left:3rem}.tl-progress{left:17px}.ev::before{left:9px}}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
 .layer{transform:none!important}.js .reveal,.js .reveal-group>*{opacity:1;transform:none}
 .js .ride.live{height:auto}.js .ride.live .ride-stick{position:static;height:auto}.js .ride.live .ride-notes li{position:static;opacity:1;transform:none}
}

.arr-t{font:600 20px "Zilla Slab","Zilla Fallback",serif;fill:#f6dfb4;letter-spacing:.04em}



.g3d-home{position:relative}
.g3d-home.live{height:617vh}
.g3d-home .g3d-stick{position:sticky;top:0}
#g3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;z-index:1}
.g3d-home.live #g3d-canvas{display:block}
.g3d-home.live .layer,.g3d-home.live .mist{visibility:hidden}
.g3d-label{position:absolute;left:0;top:0;z-index:2;margin:-34px 0 0 -60px;padding:4px 10px;background:#2a1a10e6;border:1px solid #f2b866;border-radius:4px;font:600 14px "Zilla Slab","Zilla Fallback",serif;color:#f6e7c8;white-space:nowrap;transition:opacity .3s;pointer-events:none;opacity:0;display:none}
.g3d-home.live .g3d-label{display:block}
.g3d-cap{display:none;position:absolute;left:1.2rem;right:1.2rem;bottom:3.2rem;z-index:2;max-width:34rem;margin:0 auto;padding:.7rem 1rem;background:#2a1a10d9;border-left:3px solid #f2b866;border-radius:4px;font-size:1.05rem;color:#f6e7c8}
.g3d-home.live .g3d-cap:not(:empty){display:block}
.g3d-credit{display:none;position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:6px 1.2rem;font-size:.78rem;color:#f6e7c8;background:linear-gradient(transparent,#2a1a10d9)}
.g3d-home.live .g3d-credit{display:block}
.g3d-home.live .hero-copy{background:radial-gradient(ellipse at center,rgba(30,18,10,.55),rgba(30,18,10,0) 70%);transition:opacity .3s}
.g3d-home.live .hero-lede{text-shadow:0 1px 8px #000,0 0 2px #000}
.g3d-home.live .scroll-cue{display:none}
.g3d-note{position:absolute;left:50%;bottom:4.2rem;transform:translateX(-50%);z-index:4;margin:0;padding:.45rem .8rem;background:#2a1a10e6;border:1px solid #f2b866;border-radius:4px;font-size:.85rem;color:#f6e7c8;max-width:92vw}
.g3d-note button{margin-left:.4rem;font:inherit;font-weight:600;color:#2a1a10;background:#f2b866;border:0;border-radius:3px;padding:.2rem .55rem;cursor:pointer}
.g3d-debug{position:absolute;right:8px;top:64px;z-index:5;max-width:60vw;margin:0;padding:6px 8px;background:#000c;color:#9f9;font:11px/1.35 monospace;white-space:pre-wrap;pointer-events:none}
.ft-credit{font-size:.78rem;opacity:.7;margin-top:.5rem}
/* 3D home: a still rendered from the 3D opening view shows until the live canvas has drawn, then the canvas cross-fades in. The old illustrated SVG layers are no longer shown; the still is also the no-WebGL fallback. */
.g3d-home .g3d-stick{background:#24170f}
.g3d-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:0}
.g3d-home .layer,.g3d-home .mist{display:none}
#g3d-canvas{opacity:0;transition:opacity .7s ease}
.g3d-home.ready #g3d-canvas{opacity:1}
@media (max-width:600px){.g3d-cap{left:.8rem;right:.8rem;bottom:1.2rem;padding:.5rem .75rem;font-size:.95rem;line-height:1.4}}
/* t40 history page */
.byline{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:var(--rust);margin:0 0 1rem}
.hist-grid{display:block;margin-top:1.4rem}
.toc{position:sticky;top:3.4rem;z-index:20;background:rgba(242,230,204,.97);border:2px solid var(--line);border-radius:4px;margin:0 0 1.5rem;padding:.45rem .9rem}
.toc summary{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:.9rem;color:var(--wood);cursor:pointer}
.toc ol{list-style:none;margin:.5rem 0 .3rem;padding:0;max-height:60vh;overflow:auto}
.toc li{margin:.15rem 0}.toc a{display:block;text-decoration:none;color:var(--wood);font-size:.95rem;line-height:1.35;padding:.2rem .5rem;border-left:3px solid transparent}
.toc a:hover{color:var(--rust)}.toc a[aria-current]{border-left-color:var(--rust);color:var(--rust);font-weight:600}
.essay{font-size:1.08rem}.essay p{margin:0 0 1rem}
.h-part{scroll-margin-top:4.5rem;margin:0 0 2.4rem;padding-top:.4rem;border-top:2px solid var(--line)}.h-part:first-child{border-top:0}
.h-part h2{font-size:1.6rem;line-height:1.25;margin:.8rem 0 .9rem}.essay h3{font-size:1.2rem;margin:1.5rem 0 .5rem;color:var(--wood);scroll-margin-top:4.5rem}
.essay a.src{color:var(--rust);text-decoration-thickness:1px;text-underline-offset:2px}
.h-tl,.tl-more{margin:.6rem 0 0}.h-tl a,.tl-more a{font-family:'Alfa Slab One','Alfa Fallback',Georgia,serif;font-size:.8rem;letter-spacing:.06em;text-decoration:none;border:2px solid var(--line);border-radius:999px;padding:.25rem .8rem;display:inline-block;color:var(--wood)}
.h-tl a:hover,.tl-more a:hover{background:var(--rust);border-color:var(--rust);color:#fff4e2}
.h-tl a::after,.tl-more a::after{content:" \2192"}
.ev{scroll-margin-top:5.5rem}.ev:target .ev-body,.h-part:target>h2{box-shadow:0 0 0 3px var(--gold)}
@media (min-width:1100px){.hist-grid{display:grid;grid-template-columns:250px minmax(0,780px);gap:2.4rem;width:min(1070px,calc(100vw - 2.4rem));margin-left:calc(50% - min(535px,50vw - 1.2rem))}
.toc{top:4.6rem;align-self:start;border:0;border-right:2px solid var(--line);border-radius:0;background:transparent;padding:0 1rem 0 0;margin:0}.toc summary{pointer-events:none;list-style:none;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--rust)}.toc summary::-webkit-details-marker{display:none}.toc ol{max-height:calc(100vh - 7rem)}}

/* t50 */
nav .nav-cta a{border:2px solid var(--gold);color:var(--gold);border-radius:999px;padding:.3rem .85rem;margin-left:.3rem}
nav .nav-cta a:hover{background:var(--gold);color:#2a1a10}nav .nav-cta a[aria-current]{box-shadow:none;background:rgba(231,178,94,.18)}
@media (max-width:820px){nav .nav-cta a{display:inline-block;margin:.4rem 0 0}}
.ft-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;margin:.8rem 0 1rem;padding:0 0 .8rem;border-bottom:1px solid rgba(233,215,178,.25)}
.ft-nav a{font-weight:600;text-decoration:none}.ft-nav a:hover{text-decoration:underline}
@media (max-width:560px){.k-place{display:none}}
.tl-wrap{max-width:720px;margin-left:auto;margin-right:auto}.ev-body{font-size:1.06rem;line-height:1.6}
.decade h2{display:inline-block;margin:0;font-family:'Rye','Rye Fallback',Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.3;color:#fbe9c4;background:var(--wood);padding:.25rem 1rem .3rem;border-radius:4px;box-shadow:3px 3px 0 var(--rust);position:relative;z-index:1}
.map-tools{position:static;justify-content:flex-end;margin:0 0 6px}
@media (max-width:640px){.map-tools{position:static;margin:0 8px 6px}}
body.nf{min-height:100vh;display:flex;flex-direction:column}body.nf main{flex:1 0 auto}
.nf-links{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1rem 0 2rem}.nf-links a{display:inline-block;padding:.45rem 1rem;border:2px solid var(--rust);border-radius:999px;text-decoration:none;font-weight:600}
@media (min-width:1100px){.toc{max-height:calc(100vh - 6rem);overflow:auto;overscroll-behavior:contain}.toc ol{max-height:none;overflow:visible}}
