/* palette from reference photos: sky #7bb0e2, sky-light #c8def6, meadow #6f9a3e, pine #23462c, snow #f6f9fc, glacial teal #2f9c9a, gold #f0b84a, rock #7d8a8f */
:root{--sky:#7bb0e2;--sky2:#c8def6;--meadow:#6f9a3e;--pine:#23462c;--snow:#f6f9fc;--teal:#2f9c9a;--gold:#f0b84a;--rock:#7d8a8f;--ink:#15281d}
body{background:linear-gradient(180deg,#eaf4fb 0,#f3f8ee 45%,#eaf4fb 100%)}
.hero{background:linear-gradient(180deg,#7bb0e2 0%,#c8def6 55%,#eaf4fb 100%)!important}
.hero-text,.hero-text h1,.hero-text p{color:#fff;text-shadow:0 2px 6px #0f2a1ccc,0 4px 30px #0f2a1c99}
.hero-text .kicker{color:#fff6dc}
.map-note,#pin-card{color:#fff}#pin-card{background:#15281dd9!important}#pin-card h3{color:#f0b84a!important}#pin-card .btn,#pin-card .btn.sm{color:#14100a!important}
.nav{background:linear-gradient(#eaf4fbe6,#eaf4fb00)}
.strip .stat b,.stat b{color:#8a5a12}
.film-frame{position:relative;background:linear-gradient(180deg,#7bb0e2,#c8def6 60%,#e5f1e0);box-shadow:0 30px 80px -30px #23462c80,inset 0 0 0 1px #ffffff80;will-change:transform}
.film-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 55%,#23462c40 100%);z-index:2}
#film3d{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.film-frame.has3d .film-video{opacity:0}
.film-video{transition:opacity .6s}
/* tiles */
.card,.tgrid>div,.incl>div,.tm-card,.stat{border:1px solid #23462c1f!important;box-shadow:0 18px 40px -22px #23462c66,0 2px 0 #ffffffb0 inset}
.pin3d{position:relative}
.pin3d::before{content:"";position:absolute;top:12px;right:14px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #f0b84a40,0 0 16px 4px #f0b84a99;z-index:3}
.tilt{transition:transform .25s ease-out;transform-style:preserve-3d;will-change:transform}
.board3d{transform-origin:50% 100%;will-change:transform}
#grid,.timeline{position:relative}
.trail3d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.trail3d path{fill:none;stroke:#d99a2b;stroke-width:2;stroke-dasharray:7 7;opacity:.7}
#grid>.card,.timeline>.day{position:relative;z-index:1}
.ig-tile{box-shadow:0 18px 40px -22px #23462c88;transform-style:preserve-3d}
.tag{background:var(--pine)!important;color:#fff!important}
.lead,.card .meta,.stat span{opacity:.85}
/* gallery curved wall */
.gal.gal3d{display:block;height:400px;perspective:1100px;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.gal3d .ring{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;transform-style:preserve-3d}
.gal3d .ring img{position:absolute;inset:0;width:300px;height:300px;object-fit:cover;border-radius:16px;border:3px solid #fff;box-shadow:0 20px 40px -18px #23462c99;backface-visibility:hidden}
@media(max-width:760px){.gal.gal3d{height:300px;perspective:800px}.gal3d .ring{width:200px;height:220px;margin:-110px 0 0 -100px}.gal3d .ring img{width:200px;height:220px}.pin3d::before{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.tilt,.board3d{transition:none;transform:none!important}}
.hero-text .btn{text-shadow:none}
.hero{justify-content:center}
.hero-text{text-align:center;max-width:900px;margin:0 auto}
.hero-text .sub{margin-left:auto;margin-right:auto;max-width:640px}
.hero-text .ctas,.hero-text .hstats{justify-content:center}
.hero-text .hstats li{align-items:center}
#trek-panel{color:#f6f9fc}
#trek-panel .tier,#trek-panel .date,#trek-panel .stepper button,#trek-panel .stepper b,#trek-panel .stepper span,#trek-panel .calc,#trek-panel .calc span,#trek-panel .soon,#trek-panel .note,#trek-panel details,#trek-panel summary,#trek-panel p,#trek-panel .upi,#trek-panel .upi small{color:#f6f9fc}
#trek-panel .tier,#trek-panel .date,#trek-panel .stepper button{background:#ffffff14;border-color:#ffffff33}
#trek-panel .tier small,#trek-panel .tier em{color:#f6d999}
#trek-panel .tier.on,#trek-panel .date.on{background:#f0b84a;border-color:#f0b84a;color:#14100a}
#trek-panel .tier.on small,#trek-panel .tier.on em,#trek-panel .tier.on b{color:#14100a}
#trek-panel .soon{border-color:#f0b84a66}
#trek-panel a:not(.btn){color:#f6d999}
#trek-panel .upi code{color:#f6d999;background:#ffffff14}
.foot,.foot h2{color:#fff}
.foot p,.foot small{color:#e8e8e8}
.foot p a,.foot a:not(.btn){color:#f6d999}
/* base explore */
.base-hit{position:absolute;left:0;top:0;width:72px;height:72px;border:0;background:transparent;border-radius:50%;cursor:pointer;z-index:3;padding:0}
.base-hit:focus-visible{outline:2px solid #d99a2b;outline-offset:2px}
.bh-ring{position:absolute;inset:10px;border-radius:50%;border:2px solid #f0b84a;box-shadow:0 0 14px #f0b84a99;animation:bhp 1.8s ease-out infinite}
@keyframes bhp{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.5);opacity:0}}
.bh-lbl{position:absolute;left:50%;top:76px;transform:translateX(-50%);white-space:nowrap;background:#15281dd9;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 11px;border-radius:14px;box-shadow:0 4px 12px #0003}
.exploring .bh-lbl,.exploring .bh-ring{display:none}
#base-card{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:20px;background:#15281de6!important;color:#fff;z-index:7}
#base-card.hidden{display:none}.bc-t{font-size:12px;font-weight:700;letter-spacing:.04em;color:#f6d999}
.bc-close{background:#ffffff1f;color:#fff;border:1px solid #ffffff40;border-radius:16px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.tpop{position:absolute;left:0;top:0;z-index:5;pointer-events:none;display:none}
.exploring .tpop{display:block}
.tpop>*{pointer-events:auto}
.tp-box{transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}.tpop.open .tp-box{transform:translate(-50%,-28px)}
.tp-name{display:block;white-space:nowrap;background:#15281de6;color:#fff;border:1px solid #f0b84a;border-radius:16px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 0 14px #f0b84a66;opacity:0;animation:popin .4s ease-out forwards;animation-delay:var(--d)}
.tp-name:hover,.tp-name:focus-visible,.tpop.open .tp-name{background:#f0b84a;color:#14100a;outline:none}
@keyframes popin{from{opacity:0;margin-top:10px}to{opacity:1;margin-top:0}}
.tp-more{display:none;width:250px;margin-top:6px;background:#15281df0;color:#fff;border-radius:14px;padding:12px;box-shadow:0 10px 30px #0005;text-align:left}
.tpop.open .tp-more{display:block;animation:popin .3s ease-out}
.tp-r{font-size:12.5px;line-height:1.45;margin-bottom:4px}.tp-r small{display:inline-block;width:74px;color:#f6d999;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.tp-r em{font-style:normal;opacity:.7;font-size:11px}.tp-r .tp-soon{opacity:.75;font-style:italic}
.tp-pdf,.tp-book2{display:block;width:100%;margin-top:8px;border-radius:20px;padding:8px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.tp-pdf{background:#f0b84a;color:#14100a;border:0}.tp-book2{background:transparent;color:#f6d999;border:1px solid #f6d99966}
@media(max-width:760px){.tp-more{width:220px}.tp-name{font-size:11.5px;padding:5px 10px}}
@media(prefers-reduced-motion:reduce){.bh-ring{animation:none}.tp-name,.tpop.open .tp-more{animation:none;opacity:1}}
.tp-page{display:block;text-align:center;margin-top:8px;font-size:12.5px;color:#f6d999}
.hero+.strip{margin-top:28px}
@media(max-width:760px){
 #base-card{left:8px;right:8px;top:8px;padding:6px 8px}.bc-t{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-close{white-space:nowrap;padding:5px 10px;font-size:12px}
 .tpop.open{transform:none!important;left:8px;right:8px;top:auto;bottom:8px;z-index:8!important}
 .tpop.open .tp-box{transform:none;align-items:stretch}.tpop.open .tp-more{width:auto}
}
/* real-terrain map */
.base-chip{left:50%!important;top:auto!important;bottom:16px;width:auto;height:auto;transform:translateX(-50%)!important;display:flex;align-items:center;gap:9px;padding:9px 16px 9px 12px;border-radius:22px;background:#15281de6;color:#fff;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;box-shadow:0 0 18px #f0b84a66;border:1px solid #f0b84a}
.base-chip:hover{background:#f0b84a;color:#14100a}
.bh-dot{width:10px;height:10px;border-radius:50%;background:#f0b84a;box-shadow:0 0 0 0 #f0b84a99;animation:bhd 1.8s ease-out infinite}
@keyframes bhd{0%{box-shadow:0 0 0 0 #f0b84aaa}100%{box-shadow:0 0 0 12px #f0b84a00}}
.exploring .base-chip{display:none}
.tp-tag{font-style:normal;font-weight:600;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-left:7px;padding:2px 6px;border-radius:8px;background:#ffffff22;color:#f6d999}
.tp-name:hover .tp-tag,.tpop.open .tp-tag{background:#14100a22;color:#14100a}
.map-credit{position:absolute;right:12px;bottom:14px;font-size:10px;opacity:.8;background:#0007;color:#fff;padding:4px 9px;border-radius:12px}
.map-failed::after{content:"Map could not load. Please refresh.";position:absolute;inset:0;display:grid;place-items:center;color:#23462c;font-weight:700}
@media(max-width:760px){.base-chip{bottom:12px;font-size:12px;padding:8px 13px 8px 10px}.map-credit{bottom:auto;top:10px;right:10px}.map-note{display:none}}
@media(prefers-reduced-motion:reduce){.bh-dot{animation:none}}
/* map orbit + zoom buttons */
.map-ctl{position:absolute;right:12px;bottom:46px;z-index:6;display:flex;flex-direction:column;gap:6px}
.map-ctl button{width:38px;height:38px;border-radius:12px;border:1px solid #f0b84a99;background:#15281de6;color:#fff;font:700 20px/1 system-ui;cursor:pointer;box-shadow:0 4px 12px #0003}
.map-ctl button:hover,.map-ctl button:focus-visible{background:#f0b84a;color:#14100a;outline:none}
.exploring .map-ctl{bottom:46px}
@media(max-width:760px){.map-ctl{right:8px;bottom:60px}.map-ctl button{width:36px;height:36px}}
/* map out of the box: full page width, taller, no card frame */
.map{padding-left:0!important;padding-right:0!important}.map>h2,.map>.lead{padding:0 5vw}
.map .map-wrap{height:86vh;min-height:520px;border-radius:0;border-left:0;border-right:0;box-shadow:none;background:linear-gradient(#cfe6f5,#eaf4fb);position:relative}
.map-wrap:fullscreen{height:100vh;width:100vw}
@media(max-width:760px){.map .map-wrap{height:78vh;min-height:440px}}
/* info button on map */
.info-btn{position:absolute;left:12px;bottom:46px;z-index:6;width:38px;height:38px;border-radius:12px;border:1px solid #f0b84a99;background:#15281de6;color:#f6d999;font:700 24px/1 system-ui;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .2s}
.info-btn:hover,.info-btn:focus-visible{background:#f0b84a;color:#14100a;outline:none}
.info-btn.open{background:#f0b84a;color:#14100a}
/* info drawer */
.info-scrim{position:fixed;inset:0;background:#0004;opacity:0;pointer-events:none;transition:opacity .3s;z-index:9}
.info-scrim.open{opacity:1;pointer-events:auto}
.info-drawer{position:fixed;left:-400px;top:0;width:100%;max-width:400px;height:100vh;overflow-y:auto;background:#fff;z-index:10;display:flex;flex-direction:column;transition:left .3s ease-out;box-shadow:0 20px 60px #0009;border-right:1px solid #23462c1f}
.info-drawer.open{left:0}
.info-close{position:sticky;top:0;right:0;align-self:flex-end;width:40px;height:40px;border-radius:8px;border:0;background:transparent;color:#15281d;font:700 24px/1 system-ui;cursor:pointer;padding:8px;transition:background .2s}
.info-close:hover{background:#23462c11}
.info-content{padding:20px;flex:1;color:#23462c}
.info-section{margin-bottom:30px}
.info-section h3{font-size:20px;font-weight:700;color:#15281d;margin-bottom:12px}
.info-section p{line-height:1.6;margin-bottom:12px;opacity:.9}
.info-section p strong{color:#f0b84a;font-weight:600;display:block;margin-top:8px}
.info-grid{display:grid;grid-template-columns:1fr;gap:12px}
.info-card{padding:12px;border-radius:8px;border:1px solid #23462c1f;background:#f3f8ee}
.info-card strong{color:#f0b84a;display:block;margin-bottom:6px}
.info-card p{font-size:13px;margin:0;opacity:.85}
@media(max-width:760px){
 .info-drawer{max-width:100%;left:-100%}
 .info-drawer.open{left:0}
 .info-btn{left:8px;bottom:60px}
 .info-content{padding:16px}
 .info-section{margin-bottom:20px}
 .info-section h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.info-scrim,.info-drawer{transition:none}}

.burger{display:none;background:none;border:0;color:#15281d;font-size:26px;line-height:1;cursor:pointer;padding:6px 10px}
@media(max-width:760px){.nav .burger{display:block;margin-left:auto}
body.open .nav nav{position:absolute;top:100%;left:0;right:0;margin-top:8px;display:flex;flex-direction:column;align-items:stretch;gap:2px;background:#eaf4fbf5;border-radius:18px;padding:14px;box-shadow:0 10px 30px #0003}
body.open .nav nav a:not(.btn){display:block;margin:0;padding:10px 6px;font-size:16px}
body.open .nav nav .btn{margin:8px 0 0;text-align:center}}
