@font-face{font-family:Alpine;src:local('Arial Black');font-weight:900;font-display:swap}
:root{--paper:#efece3;--muted:#9a9fa1;--orange:#ff6337;--line:rgba(238,236,225,.2);font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:#0b0e10;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;overflow:hidden;width:100%;height:100svh;min-height:500px}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit;cursor:pointer}button{border:0;background:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}button:hover{color:var(--orange)}button:active{transform:translateY(1px)}a{color:inherit}button[hidden],[hidden]{display:none!important}#world{position:fixed;inset:0;touch-action:none;cursor:grab}#world:active{cursor:grabbing}#world canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,10,12,.95) 0%,rgba(7,10,12,.72) 24%,transparent 62%),linear-gradient(0deg,rgba(7,10,12,.75),transparent 25%,transparent 80%,rgba(7,10,12,.55))}.grain{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{position:fixed;z-index:5;top:0;left:0;width:100%;height:100px;padding:0 4.1%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:900;letter-spacing:-1.2px;padding:0;display:flex;align-items:center;gap:15px}.brand-cross{font-size:32px;color:var(--orange);line-height:1}.edition,.small-button,.eyebrow,.personal,.coordinates,.data-readout,.surface-caption,.interaction,.journey-control,.chapters,.footer-note,.loading,.credits,.motion-note{font-family:'Courier New',monospace}.edition{font-size:11px;letter-spacing:1.1px;color:#b1b3b1}.slash{padding:0 16px;color:var(--orange)}.header-actions{display:flex;align-items:center;gap:25px}.small-button{font-size:11px;letter-spacing:1px;padding:12px 0;display:flex;align-items:center;gap:8px}.sound-icon{font-size:24px}.icon-button{font-family:Georgia,serif;font-style:italic;border:1px solid #8c9293;width:27px;height:27px;border-radius:50%;font-size:16px}main{position:fixed;inset:100px 0 90px;pointer-events:none}.scene-heading{position:absolute;top:12%;left:4.1%;max-width:54%;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:1.6px;display:flex;align-items:center;gap:10px;margin:0 0 24px;color:#c6c7c1}.live-dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;box-shadow:0 0 14px #ff633750}h1{font-family:Alpine,'Arial Black',Arial,sans-serif;font-weight:900;font-size:clamp(70px,9.7vw,164px);letter-spacing:-.085em;line-height:.86;margin:0 0 28px;white-space:pre-line}.title-dot{color:var(--orange)}.subtitle{font-size:clamp(18px,1.7vw,25px);line-height:1.4;letter-spacing:-.5px;margin:0 0 28px}.intro-rule{width:44px;height:1px;background:var(--orange);margin-bottom:20px}.scene-description{font-size:14px;line-height:1.7;color:#a7aeae;margin:0 0 27px;max-width:340px}.primary-actions{display:flex;align-items:center;gap:22px;pointer-events:auto}.primary{display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--orange);color:#101316;min-height:52px;padding:16px 20px;font-size:13px;font-weight:700;letter-spacing:.1px;text-align:left}.primary:hover{background:#f3efe5;color:#111}.primary span:last-child{font-size:20px}.primary #primary-label{font-size:13px}.tour{font-size:12px;color:#b4b8b7;padding:14px 0;display:flex;gap:12px}.personal{font-size:9px;letter-spacing:.8px;color:#8c9292;margin-top:24px}.personal span{padding:0 8px;color:var(--orange)}.coordinates{position:absolute;top:34px;right:4.1%;font-size:12px;line-height:1.6;letter-spacing:1px;color:#c2c5c2;text-align:right}.coordinates span{display:block;font-size:9px;letter-spacing:1.2px;color:#818a8c;margin-top:13px}.peak-label{position:fixed;display:flex;align-items:center;gap:10px;font-family:'Courier New',monospace;font-size:10px;letter-spacing:1px;white-space:nowrap;transform:translate(10px,-28px)}.peak-label small{display:block;color:#a5acac;font-size:8px;margin-top:5px}.marker{width:7px;height:7px;border:1px solid var(--orange);border-radius:50%;box-shadow:0 0 0 5px #ff633722}.data-readout{position:absolute;right:4.1%;bottom:100px;display:flex;flex-direction:column;text-align:right;gap:8px}.data-readout>span{font-size:9px;letter-spacing:1.1px;color:#acb1b0}.data-readout strong{font-weight:400;font-size:39px;letter-spacing:-2px}.data-readout strong span{font-size:14px;letter-spacing:0;color:#9ba4a3}.data-readout>span:last-child{font-size:8px;color:#7d8788}.surface-control{position:absolute;right:4.1%;bottom:43px;display:flex;align-items:center;gap:14px;pointer-events:auto}.surface-caption{font-size:9px;letter-spacing:1px;color:#758084;margin-right:5px}.surface-control button{font-size:11px;padding:8px 0;color:#929c9e;border-bottom:1px solid transparent}.surface-control button.active{color:var(--paper);border-color:var(--orange)}.interaction{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.3px;color:#a3aaaa;white-space:nowrap}.interaction-icon{font-size:20px;color:var(--orange)}.motion-note{position:absolute;left:4.1%;bottom:20px;font-size:10px;color:#b2b8b5}.journey-control{position:absolute;right:4.1%;bottom:42px;width:260px;pointer-events:auto}.journey-control label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:#bbc0be;margin-bottom:10px}input[type=range]{width:100%;accent-color:var(--orange);height:16px;cursor:ew-resize}.hold-row{display:flex;align-items:center;gap:15px;margin-top:15px}.hold{border:1px solid #899391;padding:14px 16px;font:12px Arial,sans-serif;display:flex;gap:25px;white-space:nowrap;touch-action:none;user-select:none;-webkit-user-select:none}.hold.held{background:var(--orange);border-color:var(--orange);color:#0b0e10}.hold-row>span{font-size:9px;line-height:1.5;color:#929c9b}footer{position:fixed;z-index:4;bottom:0;left:0;width:100%;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 4.1%;border-top:1px solid var(--line);background:rgba(7,10,12,.2);backdrop-filter:blur(12px)}.chapters{display:flex;align-items:center;height:100%;gap:40px}.chapters button{height:100%;font-size:10px;letter-spacing:1px;position:relative;padding:0;color:#8b9596}.chapters button span{font-size:9px;color:#626f71;margin-right:12px}.chapters button.active{color:var(--paper)}.chapters button.active:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--orange)}.chapters button.active span{color:var(--orange)}.footer-note{font-size:10px;letter-spacing:1px}.footer-note span{display:block;color:#687579;font-size:8px;margin-top:7px;text-align:right}.loading{position:fixed;right:4.1%;bottom:112px;z-index:8;font-size:10px;letter-spacing:1px;display:flex;align-items:center;gap:10px}.loading span{width:8px;height:8px;border:1px solid var(--orange);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(180deg)}}.error{position:fixed;z-index:20;inset:20%;padding:40px;background:#12191c;border:1px solid #677474}.error h2{font-size:30px}.error p{line-height:1.6}.error button{background:var(--orange);color:#111;padding:15px 25px}dialog{background:#151a1b;color:var(--paper);border:1px solid #3e4747;padding:50px;width:min(620px,90vw);max-height:85svh;overflow:auto}dialog::backdrop{background:#030708cc;backdrop-filter:blur(15px)}.dialog-close{position:absolute;right:17px;top:13px;font-size:30px;color:#9ba5a4}dialog h2{font-size:52px;letter-spacing:-2px;line-height:.95;margin:20px 0 30px}dialog p{color:#afb8b5;font-size:14px;line-height:1.7}dialog .eyebrow{font-size:10px;color:var(--orange)}.about-controls{border-top:1px solid #3e4747;border-bottom:1px solid #3e4747;padding:20px 0;margin:22px 0}.about-controls p{margin-bottom:0}.credits{font-size:10px!important;line-height:1.8!important;color:#929f9b!important}.credits a{display:inline-block;margin-top:10px}#poster-dialog{width:min(1000px,92vw);display:none;gap:45px;align-items:center}#poster-dialog[open]{display:flex}#poster{width:48%;height:auto;box-shadow:0 15px 50px #0006}.poster-copy{flex:1}.poster-styles{display:flex;gap:18px;margin:30px 0}.poster-styles button{font-size:12px;padding:8px 0;border-bottom:1px solid transparent}.poster-styles .active{color:var(--orange);border-color:var(--orange)}body:not([data-scene=overview]) h1{font-size:clamp(64px,7vw,115px);max-width:500px;letter-spacing:-.07em}body:not([data-scene=overview]) .scene-description{max-width:265px}body:not([data-scene=overview]) .scene-heading{top:13%}body[data-scene=ascent] .vignette{background:linear-gradient(90deg,#070a0cbb,transparent 70%),linear-gradient(0deg,#070a0c77,transparent 30%)}body[data-scene=descent] .vignette{background:linear-gradient(90deg,#070a0cba,transparent 65%),linear-gradient(0deg,#070a0c99,transparent 35%)}body[data-scene=summit] .vignette{background:linear-gradient(90deg,#171718e6,transparent 80%),linear-gradient(0deg,#181719cc,transparent 40%)}body[data-scene=ascent] .data-readout,body[data-scene=descent] .data-readout{bottom:205px}.tour.playing{color:var(--orange)}
@media(min-width:1500px){.scene-heading{top:17%}.subtitle{margin-top:36px}.scene-description{font-size:16px}}
@media(max-height:760px) and (min-width:801px){header{height:75px}main{inset:75px 0 75px}footer{height:75px}.scene-heading,body:not([data-scene=overview]) .scene-heading{top:9%}h1{font-size:9vw;margin-bottom:20px}.eyebrow{margin-bottom:18px}.subtitle{font-size:19px;margin-bottom:18px}.scene-description{font-size:12px;margin-bottom:18px}.intro-rule{margin-bottom:15px}.personal{margin-top:18px}.data-readout{bottom:95px}}
@media(max-width:800px){header{height:76px;padding:0 6%}.wordmark{font-size:20px}.brand-cross{font-size:27px}.edition{display:none}.header-actions{gap:18px}.small-button{font-size:9px}.sound-icon{font-size:20px}main{inset:76px 0 76px}.scene-heading,body:not([data-scene=overview]) .scene-heading{top:7%;left:6%;max-width:88%}h1{font-size:22vw;letter-spacing:-.09em;margin-bottom:18px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:19px}.subtitle{font-size:17px;line-height:1.35;margin-bottom:20px}.scene-description,.intro-rule,.personal{display:none}.primary-actions{gap:18px}.primary{min-height:46px;padding:12px 17px;gap:22px}.primary #primary-label{font-size:12px}.tour{font-size:11px}.coordinates{top:24px;right:6%;font-size:10px;display:none}.data-readout{right:6%;bottom:100px}.data-readout strong{font-size:30px}.data-readout>span{font-size:8px}.data-readout>span:last-child{display:none}.surface-control{bottom:43px;right:6%;gap:15px}.surface-caption{display:none}.surface-control button{font-size:11px}.interaction{left:6%;transform:none;bottom:44px;font-size:9px;max-width:43%;white-space:normal}.interaction-icon{display:none}.vignette{background:linear-gradient(0deg,#070a0cdd 0%,transparent 40%,#070a0c33 60%,#070a0c99 100%)}footer{height:76px;padding:0 6%}.chapters{gap:0;justify-content:space-between;width:100%}.chapters button{font-size:8px;letter-spacing:.3px;text-align:left}.chapters button span{display:block;margin:0 0 7px;font-size:9px}.footer-note{display:none}.peak-label{font-size:8px}.peak-label small{font-size:7px}body:not([data-scene=overview]) h1{font-size:16vw;max-width:80%;line-height:.92;margin-bottom:18px}body:not([data-scene=overview]) .subtitle{font-size:15px;max-width:240px}body:not([data-scene=overview]) .vignette{background:linear-gradient(180deg,#070a0c99,transparent 63%,#070a0ccc)}.journey-control{bottom:38px;width:58%;right:6%}.hold-row>span{font-size:8px}.hold{font-size:11px;padding:12px;gap:15px}.hold-row{gap:9px}body[data-scene=ascent] .data-readout,body[data-scene=descent] .data-readout{bottom:188px}.motion-note{font-size:8px;left:6%;bottom:13px}.loading{font-size:8px;bottom:90px}.error{inset:12%;padding:25px}dialog{padding:32px 25px}dialog h2{font-size:42px}dialog p{font-size:13px}#poster-dialog[open]{display:flex;flex-direction:column-reverse;gap:25px;align-items:stretch}#poster{width:100%;max-width:320px;align-self:center}.poster-copy h2{font-size:38px}.poster-copy .credits{display:none}.poster-styles{margin:15px 0}.poster-copy h2 br{display:none}.poster-copy h2{margin:12px 0}.poster-copy .eyebrow{margin:0}}
@media(max-width:800px) and (max-height:720px){.scene-heading,body:not([data-scene=overview]) .scene-heading{top:5%}h1{font-size:19vw}.subtitle{font-size:15px}.eyebrow{font-size:8px;margin-bottom:14px}.data-readout{bottom:90px}.primary{min-height:40px;padding:9px 12px}body:not([data-scene=overview]) h1{font-size:14vw}body:not([data-scene=overview]) .subtitle{display:none}.peak-label{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
.studio-link{font:10px 'Courier New',monospace;letter-spacing:.8px;text-decoration:none;color:#ff845d;white-space:nowrap}.studio-link:hover{color:#efece3}@media(max-width:800px){.studio-link{font-size:8px;letter-spacing:0}.header-actions{gap:12px}.small-button .sound-icon{display:none}.wordmark{font-size:18px;gap:7px}}

/* Quiet canvas: secondary controls live in the settings dialog. */
header{border-bottom:0}
main{inset:100px 0 0}
.scene-heading,body:not([data-scene=overview]) .scene-heading{top:14%}
.subtitle{margin-bottom:32px}
.settings-trigger{width:46px;height:46px;border:1px solid #d7ded533;border-radius:50%;display:grid;place-items:center;color:#ced1ca;background:#11191b55;backdrop-filter:blur(8px)}
.settings-trigger:hover{border-color:#d7ded577;color:var(--paper);background:#202a2c}
.settings-trigger svg{transform:translateX(1px)}
.interaction{bottom:32px;font:13px Arial,Helvetica,sans-serif;letter-spacing:0;color:#abb4b2}
.interaction-icon{font-size:20px;color:#abb4b2}
body[data-scene=ascent] .interaction,body[data-scene=descent] .interaction{display:none}
.journey-control{bottom:36px;width:290px}
.journey-control label{font-size:12px;letter-spacing:.3px}
.hold{font-size:14px;min-height:46px}
.hold-row>span{font:12px/1.5 Arial,Helvetica,sans-serif}
#settings{width:min(420px,calc(100vw - 32px));padding:30px;border:1px solid #414a47;border-radius:16px;background:#171e20;box-shadow:0 24px 100px #0007}
#settings::backdrop{background:#03070888;backdrop-filter:blur(6px)}
#settings h2{font:600 26px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.7px;margin:0 0 28px}
#settings .dialog-close{top:16px;right:16px;width:40px;height:40px;font-size:27px;line-height:1;border-radius:50%}
#settings .dialog-close:hover{background:#ffffff0d;color:var(--paper)}
.settings-section{margin:0 0 24px}
#settings .settings-label{font:14px/1.4 Arial,Helvetica,sans-serif;color:#cad0c9;margin:0 0 12px}
.settings-segments,.settings-chapters{display:flex;gap:4px;padding:4px;border-radius:9px;background:#0c1213;border:1px solid #303b3c}
.settings-segments button,.settings-chapters button{flex:1;min-height:40px;padding:8px 5px;font-size:14px;border-radius:5px;color:#a8b1ad;white-space:nowrap}
.settings-segments button:hover,.settings-chapters button:hover{color:var(--paper);background:#ffffff0a}
.settings-segments button.active,.settings-chapters button.active{background:#d8ded1;color:#182122;box-shadow:0 1px 4px #0003}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px;font-size:14px;color:#cad0c9}
.sound-toggle{display:flex;align-items:center;gap:10px;min-height:40px;color:#a8b1ad;font-size:13px;padding:0}
.toggle-track{width:36px;height:22px;background:#46514d;border:1px solid #627069;border-radius:20px;position:relative}
.toggle-track:before{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#e7ebdf;transition:transform .15s}
.sound-toggle[aria-pressed=true] .toggle-track{background:#bdcbb4;border-color:#bdcbb4}
.sound-toggle[aria-pressed=true] .toggle-track:before{transform:translateX(14px);background:#223028}
#settings .tour{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:12px 14px;margin:0 0 24px;border:1px solid #69736d;border-radius:8px;font-size:14px;color:var(--paper)}
#settings .tour:hover{background:#ffffff0a}
#settings .tour.playing{color:var(--orange)}
.settings-links{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #36413f;padding-top:16px}
.settings-links a,.settings-links button{font:13px/1.5 Arial,Helvetica,sans-serif;text-decoration:none;color:#aeb9b1;padding:6px 0}
.settings-links a:hover,.settings-links button:hover{color:var(--paper)}
#settings .motion-note{position:static;margin:0 0 20px;color:#b2b8b5;font:12px/1.5 Arial,Helvetica,sans-serif}
.loading{bottom:32px}
@media(max-height:760px) and (min-width:801px){main{inset:75px 0 0}.scene-heading,body:not([data-scene=overview]) .scene-heading{top:12%}}
@media(max-width:800px){main{inset:76px 0 0}.scene-heading,body:not([data-scene=overview]) .scene-heading{top:9%}.subtitle{margin-bottom:26px}.interaction{left:50%;bottom:28px;transform:translateX(-50%);max-width:88%;font-size:13px;white-space:nowrap}.interaction-icon{display:block}.journey-control{right:6%;bottom:28px;width:min(290px,88%)}.hold{font-size:14px;padding:12px 14px}.hold-row{gap:16px}.hold-row>span{font-size:12px}.loading{bottom:28px}.settings-trigger{width:44px;height:44px}#settings{padding:26px}.settings-chapters button{font-size:13px}.settings-links a,.settings-links button{font-size:13px}}
@media(max-height:580px){.scene-heading,body:not([data-scene=overview]) .scene-heading{top:5%}.subtitle{font-size:16px;margin-bottom:18px}.interaction{bottom:20px}#settings{max-height:calc(100svh - 24px)}}

/* Full ascent: leave the first-person view open and keep the location readable. */
:root{background:#000}
body[data-scene=overview] .grain{display:none}
body[data-scene=overview] .vignette{background:linear-gradient(90deg,#000b,transparent 62%),linear-gradient(0deg,#0008,transparent 25%)}
body[data-scene=ascent] .scene-heading,body[data-scene=summit] .scene-heading{top:6%;max-width:460px}
body[data-scene=ascent] h1,body[data-scene=summit] h1{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-1.5px;margin-bottom:12px}
body[data-scene=ascent] .subtitle,body[data-scene=summit] .subtitle{font-size:15px;line-height:1.5;letter-spacing:0;max-width:320px;margin-bottom:22px;text-shadow:0 1px 10px #0009}
body[data-scene=ascent] .primary,body[data-scene=summit] .primary{min-height:42px;padding:11px 15px;gap:22px;background:#101a20aa;color:#efece3;border:1px solid #c3d0cd66;backdrop-filter:blur(8px)}
body[data-scene=ascent] .primary:hover,body[data-scene=summit] .primary:hover{background:#e8e8de;color:#111}
body[data-scene=ascent] .vignette,body[data-scene=summit] .vignette{background:linear-gradient(180deg,#03090d66,transparent 45%),linear-gradient(0deg,#03090d55,transparent 25%)}
.look-back{padding:12px 5px;font-size:14px;text-shadow:0 1px 8px #000;min-height:44px}
.look-back[aria-pressed=true]{color:#ffbc90}
.journey-control{width:310px;background:#0c171b88;backdrop-filter:blur(10px);padding:17px;border:1px solid #c2cfcd33;border-radius:12px}
.journey-control label{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:0;color:#d5dcd8}
.hold{font-size:13px;gap:15px;padding:11px 12px;border-radius:5px;min-height:42px}
.hold-row{gap:12px;margin-top:10px}.hold-row>span{font-size:11px;white-space:nowrap}
@media(max-width:800px){body[data-scene=ascent] .scene-heading,body[data-scene=summit] .scene-heading{top:5%;max-width:88%}body[data-scene=ascent] h1,body[data-scene=summit] h1{font-size:30px;max-width:100%;letter-spacing:-1px}body[data-scene=ascent] .subtitle,body[data-scene=summit] .subtitle{font-size:14px;max-width:290px;display:block}.journey-control{width:88%;max-width:340px;bottom:22px;padding:14px}.look-back{font-size:14px}.primary-actions{gap:15px}}
@media(max-height:580px){body[data-scene=ascent] .scene-heading,body[data-scene=summit] .scene-heading{top:3%}body[data-scene=ascent] .subtitle,body[data-scene=summit] .subtitle{display:none}.journey-control{bottom:16px}}
body[data-scene=summit] .vignette{background:linear-gradient(180deg,#05172d32,transparent 30%),linear-gradient(0deg,#05172d25,transparent 18%)}
body[data-scene=summit] .grain{opacity:.015}
body[data-scene=summit] .scene-heading{text-shadow:0 2px 18px #14294477}
body[data-scene=summit] header{border-color:#ffffff22;background:linear-gradient(180deg,#0b254d33,transparent)}

/* A quiet terrain profile replaces the timeline scrubber. */
body[data-scene=overview] .vignette{display:none}
.journey-control{width:360px;padding:18px 20px 16px;border:0;border-radius:10px;background:linear-gradient(145deg,#080e12b8,#080e1266);backdrop-filter:blur(8px)}
.profile-readout{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font:16px/1.3 Arial,Helvetica,sans-serif;color:var(--paper)}
#profile-elevation{color:#d3d9d6;white-space:nowrap;font-variant-numeric:tabular-nums}
#elevation-profile{position:relative;margin:10px 0 0;border-radius:4px}
.profile-progress{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#elevation-profile svg{display:block;width:100%;height:auto;overflow:visible}
.profile-line,.profile-complete{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.profile-line{stroke:#d6ddd4;stroke-opacity:.33;stroke-width:1.1}
.profile-complete{stroke:#efece3;stroke-width:1.8}
.profile-landmarks{fill:var(--orange);stroke:#0c1519;stroke-width:2}
.profile-dot{fill:#efece3;stroke:#101a20;stroke-width:2}
.profile-stops{position:absolute;inset:0;pointer-events:none}
.profile-stops button{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);padding:0;pointer-events:auto;touch-action:manipulation}
.profile-stops button:active{transform:translate(-50%,-50%)}
.profile-stops button:focus-visible{outline:none}
.profile-stops button:before{content:'';position:absolute;inset:6px;border:2px solid var(--orange);border-radius:50%;opacity:0}
.profile-stops button:hover:before,.profile-stops button:focus-visible:before{opacity:1}
.profile-stop-label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:5px 8px;white-space:nowrap;background:#0c171bf2;border-radius:4px;color:var(--paper);font:12px/1.4 var(--font-mono);visibility:hidden;pointer-events:none}
.profile-stops button:hover,.profile-stops button:focus-visible{z-index:1}
.profile-stops button:hover .profile-stop-label,.profile-stops button:focus-visible .profile-stop-label{visibility:visible}
.profile-stops button:first-child .profile-stop-label{left:0;transform:none}
.profile-stops button:last-child .profile-stop-label{left:auto;right:0;top:100%;bottom:auto;transform:none}
.journey-control .hold-row{margin-top:4px}
.journey-control .hold{border-color:#bac7c34d;font-size:14px;min-height:44px}
#hold-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body[data-scene=summit] .journey-control{pointer-events:auto}
@media(max-width:800px){.journey-control{width:88%;max-width:360px;right:6%;bottom:max(22px,env(safe-area-inset-bottom));padding:16px}.profile-readout{font-size:16px}}
@media(max-height:580px) and (min-width:601px){.journey-control{width:290px;padding:12px 16px;bottom:14px}.profile-readout{font-size:14px}#elevation-profile{margin-top:3px}.journey-control .hold{min-height:40px;padding:9px 12px}}

/* Look Serious type system. Local faces activate when installed; webfont files
   can replace these sources when supplied. Never substitute an unrelated GT face. */
@font-face{font-family:'GT Mono';src:url('/design-system/assets/fonts/GT-America-Mono-Regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'GT America Extended';src:url('/design-system/assets/fonts/GT-America-Extended-Black-Trial.otf') format('opentype');font-style:normal;font-weight:900;font-display:swap}
:root{--font-mono:'GT Mono','Courier New',monospace;--font-display:'GT America Extended','Arial Black',Arial,sans-serif;--orange:#ff570a;font-family:var(--font-mono)}
h1,.wordmark,dialog h2{font-family:var(--font-display);font-weight:900}
h1{letter-spacing:-.065em}
.wordmark{font-size:20px;letter-spacing:-1px}
.subtitle{font-family:var(--font-mono);font-size:clamp(15px,1.25vw,20px);line-height:1.55;letter-spacing:-.5px}
.eyebrow,.interaction,.journey-control,.loading,.credits,.motion-note,.hold,.profile-readout,.settings-links a,.settings-links button,#settings .settings-label,#settings .motion-note,.hold-row>span{font-family:var(--font-mono)}
body[data-scene=ascent] h1,body[data-scene=summit] h1{font-family:var(--font-display);font-weight:900;font-size:clamp(25px,2.5vw,38px);letter-spacing:-1px}
body[data-scene=ascent] .subtitle,body[data-scene=summit] .subtitle{font-size:13px}
.profile-readout{font-size:14px}
.overview-controls{display:flex;align-items:center;gap:22px}
.overview-controls button,.about-trigger{font:12px var(--font-mono);padding:12px 0;min-height:44px;color:#969995}
.overview-controls button{position:relative}
.overview-controls button.active{color:var(--paper)}
.overview-controls button.active:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--orange)}
.overview-controls button:hover,.about-trigger:hover{color:var(--paper)}
.header-actions{gap:34px}
#about{width:min(480px,calc(100vw - 32px));padding:36px;border-radius:4px;background:#111414;border-color:#4a4f49}
#about::backdrop{background:#0008;backdrop-filter:blur(7px)}
#about h2{font-size:27px;line-height:1.1;letter-spacing:-1px;margin:15px 0 24px}
#about p{font-size:13px;line-height:1.7}
#about .eyebrow{font-size:9px;letter-spacing:1px;margin-right:20px}
.about-process{display:flex;align-items:center;justify-content:space-between;font-size:12px;text-decoration:none;padding:15px 0;border-bottom:1px solid #ffffff28;margin:20px 0}
.about-details summary{cursor:pointer;font:11px var(--font-mono);color:#a9b0aa}
.about-details .credits{margin-bottom:0}
.summit-film{position:fixed;inset:0;z-index:3;background:#000;animation:film-in 1.1s ease both}
.summit-film video{position:absolute;width:100%;height:100%;object-fit:cover;background:#000}
#film-summit:not([hidden]){animation:film-in .7s ease both}
.film-controls{position:absolute;left:4.1%;top:140px;z-index:1;text-shadow:0 2px 15px #00152acc}
#film-title{font:900 clamp(26px,3vw,40px)/1.1 var(--font-display);letter-spacing:-1px;margin:0 0 18px}
.film-controls>div{display:flex;gap:12px}
.film-controls button{font:12px var(--font-mono);min-height:44px;padding:12px 16px;border:1px solid #e5f0f17a;background:#0a1826a8;backdrop-filter:blur(8px);text-shadow:none}
.film-controls button:hover{background:var(--paper);color:#111}
.film-status{font-size:11px;min-height:1.3em}
body[data-film=true] .scene-heading,body[data-film=true] .interaction,body[data-film=true] #settings-open,body[data-film=true] #hold-row{display:none}
body[data-film=true] main{z-index:4}
body[data-film=true] .journey-control{pointer-events:none}
body[data-film=true] header{background:linear-gradient(180deg,#06121d77,transparent)}
@keyframes film-in{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.header-actions{gap:22px}.overview-controls{gap:15px}.overview-controls button,.about-trigger{font-size:11px}.wordmark{font-size:16px}.subtitle{font-size:14px}.film-controls{left:6%;top:115px}#film-title{font-size:26px}.film-controls button{font-size:11px;padding:11px 13px}#about{padding:30px 25px}}
@media(max-width:480px){header{padding:0 5%}.header-actions{gap:16px}.overview-controls{gap:12px}.wordmark{font-size:14px;gap:5px}.brand-cross{font-size:24px}.overview-controls button,.about-trigger{font-size:10px}}
@media(orientation:portrait){.summit-film video{object-fit:contain}}
@media(max-height:580px){.film-controls{top:90px}#film-title{font-size:25px}.film-controls button{min-height:40px}}

/* Embedded canvas: the surrounding page provides the shared site navigation. */
@font-face{font-family:'GT America Extended';src:url('/design-system/assets/fonts/GT-America-Extended-Regular.otf') format('opentype');font-weight:400;font-display:swap}
body[data-scene=overview] #home{visibility:hidden;pointer-events:none}
#home{font:14px var(--font-mono);letter-spacing:0}
header{height:72px}
main{inset:72px 0 0}
.overview-controls button,.about-trigger{font-size:16px}
.subtitle{font-family:'GT America Extended',Arial,sans-serif;font-size:clamp(16px,1.35vw,22px)}
.primary #primary-label,.profile-readout,.hold,.look-back,.settings-links a,.settings-links button,.film-controls button{font-size:16px}
#about p{font-family:'GT America Extended',Arial,sans-serif;font-size:16px}
#about .eyebrow{font-family:var(--font-mono);font-size:13px}
#about .credits{font-size:14px!important}
#about .about-process{font-size:16px;border-bottom-width:3px}
#settings .settings-links{border-top-width:3px}
.film-controls{top:110px}
@media(max-width:800px){h1{font-size:19vw;letter-spacing:-.055em}.overview-controls button,.about-trigger{font-size:16px}.header-actions{gap:22px}.subtitle{font-size:16px}.primary #primary-label,.profile-readout,.hold,.look-back,.film-controls button{font-size:14px}.film-controls{top:90px}}
@media(max-width:420px){header{padding:0 5%}.header-actions{gap:16px}.overview-controls{gap:16px}.overview-controls button,.about-trigger{font-size:14px}}

/* The project opens on the mountain, with the story one click away. */
body[data-scene=overview] .scene-heading{top:12%;max-width:50%}
body[data-scene=overview] h1{font-size:clamp(64px,8.5vw,144px);margin-bottom:24px}
body[data-scene=overview] .primary{background:none;color:var(--orange);padding:8px 0;min-width:86px;min-height:56px;justify-content:flex-start}
body[data-scene=overview] .primary:hover{color:var(--orange)}
body[data-scene=overview] #primary-label{font:18px var(--font-mono);letter-spacing:0}
body[data-scene=overview] .primary{gap:18px}
.ascent-eye{display:none;width:68px;height:36px;fill:currentColor;flex:none}
body[data-scene=overview] .ascent-eye{display:block}
.ascent-eye-open{animation:ascent-eye-open 5.2s step-end infinite}
.ascent-eye-closed{opacity:0;animation:ascent-eye-closed 5.2s step-end infinite}
@keyframes ascent-eye-open{0%,44%,49%,100%{opacity:1}45%,48%{opacity:0}}
@keyframes ascent-eye-closed{0%,44%,49%,100%{opacity:0}45%,48%{opacity:1}}
.project-meta{display:grid;gap:20px;max-width:330px;margin:25px 0 0;font:14px/1.5 var(--font-mono)}
.project-meta dt{color:#969995;margin-bottom:4px}
.project-meta dd{margin:0;color:var(--paper);text-wrap:pretty}
.overview-controls button.active:after{height:3px}
#about{width:min(680px,calc(100vw - 40px));padding:40px;border:0;border-radius:0;background:#111414;max-height:calc(100svh - 48px)}
#about .dialog-close{width:44px;height:44px;top:12px;right:12px}
.about-tabs{display:flex;gap:28px;margin:0 48px 32px 0}
.about-tabs button{position:relative;min-height:44px;padding:8px 0;font:16px var(--font-mono);color:#969995}
.about-tabs button[aria-selected=true]{color:var(--paper)}
.about-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange)}
.about-tabs button:hover{color:var(--orange)}
#about h2{font-size:clamp(25px,2.6vw,34px);line-height:1.16;margin:0 0 24px;letter-spacing:-.04em}
#about p{font:16px/1.7 var(--font-mono);margin:0 0 22px}
#about p:last-child{margin-bottom:0}
#about .eyebrow{font:12px/1.6 var(--font-mono);margin-bottom:18px}
#about .about-process{border:0;padding:12px 0;margin:20px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
#about .about-details summary{font:14px/1.5 var(--font-mono);min-height:44px;padding:12px 0}
#about .credits{font:14px/1.7 var(--font-mono)!important;margin-top:16px}
@media(min-width:801px) and (max-height:700px){
 body[data-scene=overview] .scene-heading{top:4%}
 body[data-scene=overview] h1{font-size:clamp(64px,8vw,118px);margin-bottom:14px}
 .project-meta{gap:14px;margin-top:16px;font-size:13px}
}
@media(max-width:800px){
 body[data-scene=overview] .scene-heading{top:4%;left:6%;max-width:88%;width:88%}
 body[data-scene=overview] h1{font-size:16.5vw;margin-bottom:18px}
 .project-meta{max-width:245px;font-size:12px;line-height:1.5;gap:15px;margin-top:18px}
 .ascent-eye{width:51px;height:27px}
 body[data-scene=overview] .primary{min-width:68px;min-height:44px}
 #about{padding:28px 24px;max-height:calc(100svh - 32px)}
 #about p{font-size:14px}
 .about-tabs{margin-bottom:24px}
}
@media(max-width:800px) and (max-height:620px){
 body[data-scene=overview] .scene-heading{top:1%}
 body[data-scene=overview] h1{font-size:14vw;margin-bottom:8px}
 .project-meta{font-size:11px;gap:10px;margin-top:10px}
 body[data-scene=overview] .interaction{bottom:16px;font-size:11px}
}

/* Site navigation floats over the canvas. Full screen restores the local chrome. */
body[data-scene=overview] .vignette{display:block;background:linear-gradient(90deg,#000e 0%,#000c 24%,#0007 37%,transparent 62%)}
.site-embedded{--site-header-height:92px}
.site-embedded header{top:var(--site-controls-top,var(--site-header-height))}
.site-embedded main{top:calc(var(--site-header-height) + 72px)}
.site-embedded .film-controls{top:calc(var(--site-header-height) + 110px)}
header,body[data-film=true] header{background:transparent}
body:not([data-scene=overview]) header{mix-blend-mode:difference;color:#fff}
#home{min-height:44px;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
#home:hover{color:inherit;text-decoration-color:var(--orange)}
@media(max-width:760px){
 body[data-scene=overview] .vignette{background:radial-gradient(ellipse at 0 40%,#000e 0%,#000b 22%,transparent 60%)}
 .site-embedded{--site-header-height:78px}
 .site-embedded .film-controls{top:calc(var(--site-header-height) + 90px)}
 body[data-scene=overview] #primary-label{font-size:16px}
}

/* Mobile climb controls stay compact; desktop retains its full readout. */
.climb-icon{display:none}
@media(max-width:760px){
 #about{position:fixed;inset:calc(var(--site-header-height,0px) + 16px) 16px max(16px,env(safe-area-inset-bottom));margin:0;width:auto;max-width:none;height:auto;max-height:none;padding:24px;overflow:hidden}
 #about[open]{display:flex;flex-direction:column}
 #about .dialog-close{top:10px;right:10px;width:48px;height:48px;flex:none}
 #about .about-tabs{flex:none;margin:0 48px 24px 0;gap:24px}
 #about>[role=tabpanel]{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
 body:not([data-scene=overview]) .subtitle{display:none}
 .journey-control .profile-readout,#elevation-profile{display:none!important}
 .journey-control{width:auto;max-width:none;right:6%;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none}
 .journey-control .hold-row{margin:0}
 body[data-scene=ascent] .primary-actions{gap:12px;margin-top:20px}
 body[data-scene=ascent] #primary,body[data-scene=ascent] #look-back{display:grid;place-items:center;position:relative;width:48px;height:48px;min-height:48px;padding:10px;border:0;border-radius:50%;background:#0c171bb3;color:var(--paper);backdrop-filter:blur(8px);text-shadow:none}
 body[data-scene=ascent] #primary:hover,body[data-scene=ascent] #look-back:hover{background:#243238}
 body[data-scene=ascent] #look-back[aria-pressed=true]{color:var(--orange)}
 body[data-scene=ascent] #look-back[aria-pressed=true] .look-back-icon{transform:scaleX(-1)}
 body[data-scene=ascent] #primary-label,body[data-scene=ascent] #look-back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body[data-scene=ascent] .climb-icon{display:block;width:26px;height:26px}
 body[data-scene=ascent] #primary[data-playback=playing] .play-icon,body[data-scene=ascent] #primary[data-playback=paused] .pause-icon{display:none}
}

/* Compact summit orientation controls and projected north-facing action. */
.summit-tools{position:fixed;top:calc(var(--site-header-height,0px) + 82px);left:4.1%;display:flex;gap:24px;pointer-events:auto;z-index:5}
.summit-tools button{min-height:44px;padding:8px 0;font:14px var(--font-mono);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-shadow:0 2px 12px #071322}
body[data-scene=summit] .scene-heading{display:none}
body[data-scene=summit] header{background:transparent}
body[data-scene=summit] .interaction{color:#243748;text-shadow:0 1px 6px #fff}
body[data-summit-north=true] .interaction{color:var(--paper);text-shadow:0 1px 8px #000}
body[data-scene=summit] .vignette{background:linear-gradient(180deg,#07121f30,transparent 25%)}
body[data-summit-north=true] .journey-control{visibility:hidden;pointer-events:none}
body[data-film=true] .summit-tools{display:none}
.summit-hire{position:fixed;z-index:4;transform:translate(-50%,-50%);display:grid;place-items:center;min-height:48px;padding:8px 12px;font:20px var(--font-mono);color:var(--orange);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;white-space:nowrap}
.summit-hire:hover{color:var(--paper)}
@media(max-width:760px){.summit-tools{top:auto;bottom:76px;left:6%;right:6%;gap:18px;justify-content:space-between}.summit-tools button{font-size:12px;color:#1b2e3c;text-shadow:0 1px 5px #fffd}.summit-tools button:hover{color:var(--orange)}.summit-hire{font-size:16px}body[data-scene=summit] .interaction{font-size:11px}}

/* A summit annotation tracks the terrain without blocking mountain dragging. */
.summit-callout{position:fixed;inset:0;z-index:2;pointer-events:none;color:var(--orange)}
.summit-callout svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#summit-leader{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:.1 6;stroke-linecap:round;opacity:.65}
#summit-dot{fill:currentColor}
#summit-link{position:absolute;left:0;top:0;width:72px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:auto;font:13px/18px var(--font-mono);letter-spacing:.6px;text-decoration:none;touch-action:manipulation}
#summit-link span{padding-bottom:4px;border-bottom:2px solid currentColor}
#summit-link:hover{color:var(--paper)}
@media(max-width:760px){#summit-link{width:64px;font-size:12px;letter-spacing:.3px}}

/* The summit image retains the film's lighting; only navigation sits over it. */
body[data-scene=summit] .vignette,body[data-scene=summit] .grain{display:none}
body[data-scene=summit] .journey-control{display:none}
body[data-scene=summit] .summit-tools{top:auto;bottom:30px;left:4.1%;gap:26px;z-index:5}
body[data-scene=summit] .summit-tools button{color:var(--paper);font-size:13px;text-shadow:0 1px 9px #000,0 1px 3px #000;text-decoration-color:#efece377}
body[data-scene=summit] .summit-tools button[aria-pressed=true]{text-decoration-color:var(--orange)}
body[data-scene=summit] .summit-tools button:hover{color:var(--orange)}
body[data-scene=summit] .interaction{left:auto;right:4.1%;bottom:42px;transform:none;font-size:12px;color:var(--paper);text-shadow:0 1px 6px #000;max-width:none}
body[data-scene=summit] .interaction-icon{display:none}
body[data-scene=summit] .summit-hire{font-size:18px;min-width:140px;min-height:48px}
@media(max-width:760px){
 body[data-scene=summit] .summit-tools{left:6%;right:6%;bottom:max(20px,env(safe-area-inset-bottom));gap:18px;justify-content:space-between}
 body[data-scene=summit] .summit-tools button{font-size:12px}
 body[data-scene=summit] .interaction{left:50%;right:auto;bottom:82px;transform:translateX(-50%);font-size:11px;white-space:nowrap}
 body[data-scene=summit] .summit-hire{font-size:16px}
}

/* Keep view settings secondary to the orange climb action. */
body[data-scene=overview] .overview-controls button,body[data-scene=overview] .about-trigger{font-size:14px;color:#777b73}
body[data-scene=overview] .overview-controls button.active{color:#969a90}
body[data-scene=overview] .overview-controls button.active:after{background:#62675d}
body[data-scene=overview] .overview-controls button:hover,body[data-scene=overview] .about-trigger:hover{color:#b8bcb2}
@media(max-width:760px){body[data-scene=overview] .overview-controls button,body[data-scene=overview] .about-trigger{font-size:13px}}
