:root{color-scheme:dark;--ink:#e7efef;--muted:#869599;--line:rgba(202,223,229,.2)}*{box-sizing:border-box}html{background:#03080d}body{margin:0;color:var(--ink);font-family:var(--font-body);font-weight:400}#stage,.shade{position:fixed;inset:0;pointer-events:none}#stage canvas{display:block;width:100%;height:100%}.shade{background:linear-gradient(180deg,rgba(3,8,13,.25),transparent 25%,transparent 72%,rgba(3,8,13,.75));z-index:1}header{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:32px 48px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:22px;letter-spacing:-1px;font-weight:500}.brand svg{width:31px;height:31px;stroke:currentColor;stroke-width:1}.wallet{font-weight:300;color:#b3c2c5;margin-left:4px}.chapter{display:flex;align-items:center;gap:17px;font-size:12px;letter-spacing:2px}.chapter-number{border:1px solid var(--line);padding:7px 8px;letter-spacing:0;color:#94aaa9}#journey{height:918vh;position:relative}.copy{position:fixed;z-index:2;left:0;right:0;top:36%;text-align:center;pointer-events:none;padding:0 24px;opacity:0}.eyebrow{font-size:12px;letter-spacing:3.4px;margin:0 0 28px;color:#b3cfce}h1{font-family:var(--font-display);font-size:clamp(30px,4.6vw,68px);font-weight:400;line-height:1.22;letter-spacing:-2.7px;margin:0;text-shadow:0 2px 6px #000,0 0 30px #020b13}h1 span{display:block}.second{color:#bac9cd;font-weight:300}.coordinates{position:fixed;z-index:2;left:48px;top:49%;display:flex;flex-direction:column;gap:10px;font-size:11px;letter-spacing:2px;color:#8c9fa5;writing-mode:vertical-rl;transform:rotate(180deg)}.coordinates span:last-child{font-size:10px;color:#566a73}footer{position:fixed;z-index:5;bottom:31px;left:48px;right:48px;display:flex;align-items:end;justify-content:space-between}.altitude{display:flex;flex-direction:column;gap:9px;min-width:140px;font-size:18px;letter-spacing:1px}.small-label{font-size:10px;letter-spacing:2px;color:var(--muted)}b{font-weight:400;font-variant-numeric:tabular-nums}.unit{font-size:11px;color:var(--muted)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}#scroll{display:flex;flex-direction:column;align-items:center;gap:17px;font-size:10px;letter-spacing:2.3px;padding:12px 20px 0}.scroll-line{width:1px;height:34px;background:linear-gradient(#b8d6d3,transparent)}.progress{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:1px;width:140px;text-align:right}.muted{color:#64797f}.track{height:1px;background:#29363b;margin-top:17px;width:140px}.track i{display:block;height:1px;background:#bbe5d8;width:0}button:hover{color:#aff9d7}a:focus-visible,button:focus-visible{outline:1px solid #b5e4da;outline-offset:6px}#error,.no-script{position:fixed;z-index:10;left:20%;right:20%;top:60%;padding:20px;text-align:center;background:#081721}body.ready .copy{opacity:1}@media(max-width:700px){header{padding:24px}.brand{font-size:19px}.brand svg{width:25px}.chapter{font-size:10px;gap:9px;letter-spacing:1px}.chapter-number{padding:5px}.copy{top:38%;padding:0 18px}h1{font-size:clamp(27px,6vw,42px);letter-spacing:-1.2px;line-height:1.35}.eyebrow{font-size:9px;letter-spacing:2.5px;margin-bottom:20px}.coordinates{left:22px;top:61%;font-size:9px}.coordinates span:last-child{display:none}footer{left:24px;right:24px;bottom:25px}.altitude{min-width:84px;font-size:15px}.progress,.track{width:65px}#scroll{font-size:8px;letter-spacing:1.5px;padding-left:6px;padding-right:6px}.small-label{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.credits{position:fixed;bottom:7px;left:48px;z-index:5;color:#83989d;font-size:10px;text-decoration:none}.credits:hover{color:#e7efef}@media(max-width:700px){.credits{left:24px;bottom:5px;font-size:8px}}

.descent-copy{position:fixed;z-index:3;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 8vw 120px;pointer-events:none;visibility:hidden;background:linear-gradient(90deg,rgba(2,9,15,.75),rgba(2,9,15,.25) 56%,transparent 85%)}
.descent-copy h2{font-family:var(--font-display);font-size:clamp(27px,3.35vw,50px);font-weight:400;line-height:1.2;letter-spacing:-1.6px;margin:0;max-width:850px;text-shadow:0 2px 15px #02080e}
.descent-line{display:block;will-change:transform,opacity}.descent-copy h2 span+span{color:#c4d1d4;margin-top:7px}.descent-body{font-size:clamp(16px,1.5vw,21px);font-weight:300;line-height:1.55;max-width:510px;margin:30px 0 0;color:#c0cdd3}.descent-end{font-size:clamp(21px,2.3vw,32px);font-weight:400;letter-spacing:-.6px;margin:32px 0 0;color:#d7e9df}
@media(max-width:700px){.descent-copy{padding:100px 26px 120px;background:linear-gradient(90deg,rgba(2,9,15,.72),rgba(2,9,15,.25))}.descent-copy h2{font-size:clamp(25px,6.4vw,38px);letter-spacing:-.8px;max-width:100%}.descent-body{margin-top:24px;font-size:16px;max-width:320px}.descent-end{margin-top:24px}.descent-copy .eyebrow{font-size:11px}.coordinates{transition:opacity .3s}body.descending .coordinates{opacity:0}}

.cloud-copy{position:fixed;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:30px;pointer-events:none;visibility:hidden;opacity:0}.cloud-copy p{font-family:var(--font-display);font-size:clamp(24px,3.05vw,47px);font-weight:400;line-height:1.4;letter-spacing:-1.2px;text-align:center;text-shadow:0 3px 28px #000;max-width:1150px}#sound{margin-left:auto;margin-right:35px;font-size:10px;letter-spacing:1.8px;color:#94a6ad;padding:10px}#sound:hover{color:#fff}@media(max-width:700px){#sound{position:fixed;right:16px;top:68px;margin:0;font-size:9px}.cloud-copy{padding:28px}.cloud-copy p{font-size:29px;letter-spacing:-.7px}}

.terrain-credit{position:fixed;z-index:6;bottom:7px;right:48px;font-size:9px;color:#a5b0b5;text-decoration:none}@media(max-width:700px){.terrain-credit{right:24px;bottom:19px;font-size:7px;max-width:240px;text-align:right}}

/* Let the pale atmospheric horizon and cloud highlights stay luminous. */
body.in-atmosphere .shade{background:linear-gradient(180deg,rgba(0,3,12,.12),transparent 22%,transparent 80%,rgba(3,8,13,.35))}

/* Final mountain scene: a restrained simulated airborne survey. */
.survey{position:fixed;inset:0;z-index:4;pointer-events:none;color:#edf7f5}
.survey[hidden]{display:none}.survey-heading{position:absolute;top:120px;left:48px;text-shadow:0 2px 24px #07131c}
.survey-kicker{font-size:10px;letter-spacing:2.5px;color:#afe7d9;margin:0 0 14px}.survey-heading h2{font-family:var(--font-display);font-size:clamp(30px,3.1vw,46px);font-weight:400;letter-spacing:-1.5px;margin:0 0 10px}.survey-subtitle{font-size:12px;letter-spacing:.3px;color:#bbcdd3;margin:0}
.survey-status{position:absolute;right:48px;top:124px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.6px}.survey-status i{width:5px;height:5px;background:#9ee9cf;border-radius:50%;box-shadow:0 0 9px #9ee9cf}.survey-status b{font-size:9px;color:#a7bcc5;border-left:1px solid #6b879580;margin-left:8px;padding-left:16px}
.mineral-label{position:absolute;top:0;left:0;will-change:transform}.mineral-pin{position:absolute;width:9px;height:9px;border:1px solid var(--mineral);border-radius:50%;left:-4px;top:-4px;background:#10252a;box-shadow:0 0 0 5px #0b202844,0 0 12px var(--mineral)}
.mineral-tag{position:absolute;bottom:22px;left:-12px;display:flex;gap:11px;min-width:148px;padding:11px 14px 12px;background:rgba(5,19,28,.84);border-top:1px solid var(--mineral);border-left:1px solid #aecbd51f;box-shadow:0 8px 25px #0002}
.mineral-tag:after{content:"";height:22px;width:1px;background:var(--mineral);position:absolute;left:16px;top:100%;opacity:.75}.mineral-symbol{font-size:16px;color:var(--mineral);padding-top:2px}.mineral-name{display:block;font-size:10px;color:#d0dcde;letter-spacing:.5px}.mineral-tag strong{display:block;font-weight:400;font-size:21px;letter-spacing:-.6px;margin-top:3px;white-space:nowrap}.mineral-tag small{font-size:11px;color:#9fb5bc}.mineral-estimate{display:block;font-size:7px;letter-spacing:1px;color:#99aeb6;margin-top:5px}
.survey-disclosure{position:absolute;left:48px;bottom:120px;margin:0;font-size:8px;letter-spacing:1.4px;color:#c4ded8;line-height:1.6;max-width:560px;text-shadow:0 1px 7px #000}.survey-disclosure span{display:block;font-size:10px;letter-spacing:.1px;color:#adbec2;margin-top:3px}
@media(max-width:700px){.survey-heading{top:104px;left:24px}.survey-heading h2{font-size:30px}.survey-kicker{font-size:8px}.survey-subtitle{font-size:10px}.survey-status{top:203px;left:24px;right:auto;font-size:8px}.survey-disclosure{left:24px;right:24px;bottom:110px;font-size:7px;max-width:330px}.survey-disclosure span{font-size:8px}.mineral-tag{min-width:106px;padding:7px 8px;gap:7px}.mineral-symbol{font-size:12px}.mineral-name{font-size:8px}.mineral-tag strong{font-size:16px}.mineral-estimate{font-size:5px;letter-spacing:.5px}}

@media(max-width:700px){
 .survey-labels{position:absolute;left:24px;right:24px;bottom:175px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .mineral-label{position:relative;transform:none!important;visibility:visible!important;will-change:auto}
 .mineral-tag{position:relative;left:auto;bottom:auto;min-width:0;padding:10px}
 .mineral-pin,.mineral-tag:after{display:none}.mineral-estimate{font-size:6px}
}

.survey-heading h2{max-width:680px;font-size:clamp(28px,3.1vw,46px);line-height:1.15}.survey-subtitle{max-width:560px;line-height:1.5}
@media(max-width:700px){.survey-heading{right:24px}.survey-heading h2{font-size:27px;max-width:330px}.survey-subtitle{max-width:310px}.survey-status{top:250px}}

.survey-heading h2{text-wrap:balance}

/* Editorial continuation, over the same mountain canvas. */
.after-journey{position:relative;z-index:7;background:linear-gradient(180deg,rgba(3,14,22,.94),rgba(5,20,29,.90) 45%,rgba(3,13,20,.97));color:#e7efef}
.stockpile-section,.materials-section{max-width:1440px;margin:auto;padding:130px 7vw 100px;min-height:100vh}
.section-index{font-size:10px;letter-spacing:2.8px;color:#a9d9d0;margin:0 0 28px}
.after-journey h2{font:400 clamp(38px,4.8vw,68px)/1.12 var(--font-display);letter-spacing:-2.5px;margin:0;text-wrap:balance}
.section-intro>p:last-child{color:#9eb4bd;max-width:490px;line-height:1.7;font-size:16px;margin:25px 0 50px}
.stockpile-chart{margin:0;border-top:1px solid #b5dcd52b;padding-top:24px}
.stockpile-chart figcaption{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin-bottom:30px}.stockpile-chart figcaption>span:last-child{font-size:9px;letter-spacing:1.8px;color:#8aabae}
.mineral-row{display:grid;grid-template-columns:155px 1fr 110px;gap:24px;align-items:center;min-height:66px;border-bottom:1px solid #c1dae00c}
.chart-name{font-size:13px;display:flex;align-items:center;gap:14px}.chart-name span{color:var(--mineral);font-size:19px;width:30px}.bar-track{height:22px;background:repeating-linear-gradient(90deg,#b4d4d917 0 1px,transparent 1px 16.666%);position:relative}.bar-fill{display:block;width:var(--bar);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--mineral) 30%,transparent),var(--mineral));border-radius:0 3px 3px 0;box-shadow:0 0 22px color-mix(in srgb,var(--mineral) 10%,transparent)}
.mineral-row strong{text-align:right;font-size:20px;font-weight:400;font-variant-numeric:tabular-nums}.mineral-row small{font-size:11px;color:#8fa9b4}
.chart-axis{margin:15px 134px 0 179px;display:flex;justify-content:space-between;font-size:10px;color:#718d99}.chart-note{color:#78929e;font-size:11px;line-height:1.6;margin-top:27px}
.materials-section{border-top:1px solid #b5dcd519}.materials-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.materials-intro>p{color:#9eb4bd;font-size:15px;line-height:1.8;max-width:350px}
.mineral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.glass-mineral{position:relative;overflow:hidden;padding:34px;border-radius:24px;border:1px solid #defcff30;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--mineral) 13%,transparent),transparent 65%),linear-gradient(125deg,#ffffff13,#ffffff03 60%,#ffffff09);box-shadow:inset 0 1px 0 #ffffff35,inset 0 -1px 0 #ffffff09,0 16px 40px #0002;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);transition:transform .3s,border-color .3s}
.glass-mineral:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--mineral) 55%,transparent)}.glass-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.glass-top>span:first-child{font:400 46px/1 var(--font-display);color:var(--mineral);letter-spacing:-2px}.glass-top>span:last-child{font-size:9px;letter-spacing:1.8px;color:#aec3ca}
.glass-mineral h3{font:400 clamp(22px,2.1vw,30px)/1.25 var(--font-display);letter-spacing:-.8px;margin:40px 0 14px}.glass-mineral p{color:#9eb4bd;font-size:14px;line-height:1.7;max-width:340px;min-height:72px}.glass-amount{border-top:1px solid #ddf2ed20;margin-top:30px;padding-top:24px;display:flex;align-items:end;justify-content:space-between;gap:15px}.glass-amount strong{font-size:30px;font-weight:300;letter-spacing:-1px}.glass-amount small{font-size:14px;color:#9eb4bd}.glass-amount>span{font-size:7px;letter-spacing:1.3px;color:#88a2af;padding-bottom:6px}
.section-end{display:flex;justify-content:space-between;gap:25px;margin-top:85px;font-size:9px;letter-spacing:1.7px;color:#6b8894}.section-end a{color:#bbd9d1;text-decoration:none}
body.reading-stockpile header{z-index:9;background:#03101cee;backdrop-filter:blur(12px)}body.reading-stockpile .survey,body.reading-stockpile footer,body.reading-stockpile .credits,body.reading-stockpile .terrain-credit{visibility:hidden!important}
@media(max-width:700px){.stockpile-section,.materials-section{padding:120px 24px 70px}.after-journey h2{font-size:40px;letter-spacing:-1.6px}.section-intro>p:last-child{font-size:14px}.stockpile-chart figcaption{flex-direction:column;gap:8px}.mineral-row{grid-template-columns:90px 1fr 70px;gap:10px}.chart-name{font-size:10px;gap:7px}.chart-name span{font-size:15px;width:20px}.mineral-row strong{font-size:15px}.chart-axis{margin-left:100px;margin-right:80px;font-size:8px}.materials-intro{display:block}.materials-intro>p{margin-top:24px}.mineral-grid{grid-template-columns:1fr;gap:16px}.glass-mineral{padding:26px}.glass-mineral p{min-height:0}.glass-mineral h3{margin-top:30px}.section-end{flex-direction:column;line-height:1.7}.chart-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.glass-mineral{transition:none}.glass-mineral:hover{transform:none}}

body.reading-stockpile .survey{display:none!important}

/* Camera-led descent: no panel edge crosses the mountain scene. */
#ground-descent{height:230vh;position:relative;pointer-events:none}
.after-journey{background:linear-gradient(180deg,transparent,rgba(7,23,8,.18) 30%,rgba(5,20,10,.48));text-shadow:0 2px 24px #06140690}
.stockpile-section{padding-top:170px}.section-intro{min-height:65vh;display:flex;flex-direction:column;justify-content:center;max-width:880px}.section-intro h2{font-size:clamp(42px,5.7vw,80px)}.section-intro>p:last-child{color:#edf2dc;max-width:600px;font-size:18px}.section-index{color:#e0efce}
.stockpile-chart{padding:34px;border:1px solid #e1efce45;border-radius:24px;background:#09200dcc;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.materials-intro>p{color:#e3eddb}.glass-mineral{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--mineral) 18%,transparent),transparent 70%),linear-gradient(120deg,#efffdb25,#061909b0);border-color:#e4f4d34a}.glass-mineral p{color:#d7e3cf}.glass-top>span:last-child{color:#d7e3cf}.section-end{color:#c4d4bb}
body.reading-stockpile header{background:linear-gradient(180deg,#041006a0,transparent);backdrop-filter:none}
@media(max-width:700px){.stockpile-section{padding-top:100px}.section-intro{min-height:65vh}.section-intro>p:last-child{font-size:16px}.stockpile-chart{padding:20px 14px}.mineral-row{grid-template-columns:78px 1fr 65px;gap:8px}.chart-axis{margin-left:86px;margin-right:73px}}

#earth-layers{position:relative;z-index:8;height:390vh;background:#1e1b12}
.strata-view{position:sticky;top:0;height:100vh;overflow:hidden}
.strata-view>img{display:block;width:100%;height:auto;min-height:200vh;object-fit:cover;will-change:transform}
.strata-view:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#050b0a55,transparent 20%,transparent 85%,#080b0880)}
.strata-top{position:absolute;z-index:2;top:42px;right:48px;font-size:11px;letter-spacing:2px;text-shadow:0 1px 10px #000}
.strata-caption,.strata-return{position:absolute;z-index:2;bottom:26px;color:#e2e7dc;font-size:9px;letter-spacing:1.5px;text-shadow:0 1px 8px #000}.strata-caption{left:48px;margin:0}.strata-return{right:48px;text-decoration:none}
body.in-strata header .chapter,body.in-strata #sound{visibility:hidden}body.in-strata header{background:transparent}
@media(max-width:700px){.strata-top{top:86px;right:24px;font-size:9px}.strata-caption{left:24px;bottom:58px;font-size:7px}.strata-return{right:24px}.strata-view>img{width:100%;height:220vh;object-fit:cover}}

/* The next scene is rendered through the opening in the existing WebGL canvas. */
#earth-layers{height:500vh;background:transparent;pointer-events:none}
.strata-view>img{display:none}.strata-view:after{display:none}
.strata-return{pointer-events:auto}.strata-top,.strata-caption,.strata-return{opacity:0;transition:opacity .6s}body.in-strata .strata-top,body.in-strata .strata-caption,body.in-strata .strata-return{opacity:1}

.after-journey{background:transparent}

#earth-layers{height:800vh}

/* Snow surface: dark editorial copy and cool translucent mineral panels. */
body.on-snow:not(.in-strata) header{color:#163346}body.on-snow:not(.in-strata) .brand,body.on-snow:not(.in-strata) .wallet,body.on-snow:not(.in-strata) .chapter,body.on-snow:not(.in-strata) #sound{color:#163346}
.after-journey{color:#173446;text-shadow:none}.after-journey .section-index,.section-intro>p:last-child,.materials-intro>p{color:#36576a}.section-end,.section-end a{color:#36576a}
.stockpile-chart{background:#102838e8;color:#e7efef;border-color:#cfe5f4aa}
.glass-mineral{color:#e7efef;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--mineral) 18%,transparent),transparent 70%),linear-gradient(120deg,#315063dd,#0c253ce8);border-color:#d8edf8aa}.glass-mineral p,.glass-top>span:last-child{color:#cbdde6}

/* Quote panel replacing the four allocation cards. */
.materials-section.quote-section{max-width:none;min-height:0;padding:40px max(7vw,24px) 64px;border:0;background:transparent;color:#173446;text-shadow:none}
.outlook-quote{max-width:1260px;margin:0 auto;padding:40px 38px 30px;text-align:center;border:1px solid #ffffffa6;border-radius:20px;background:linear-gradient(125deg,#ffffff38,#ffffff0a 48%,#ffffff24);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:inset 0 1px 1px #ffffffd9,inset 0 -1px 1px #ffffff55,0 10px 28px #1734460d}
.outlook-quote blockquote{margin:0}.outlook-quote blockquote p{margin:0;font:400 clamp(16px,1.65vw,24px)/1.45 var(--font-display);letter-spacing:-.55px;color:#173446}
.outlook-quote figcaption{margin-top:30px;color:#486475;font-size:8px;line-height:1.7;letter-spacing:1.4px;text-transform:uppercase}
@media(max-width:700px){.materials-section.quote-section{padding:24px 24px 40px}.outlook-quote{padding:28px 22px 24px;border-radius:9px}.quote-break{display:none}.outlook-quote blockquote p{letter-spacing:-.3px}.outlook-quote figcaption{font-size:7px;letter-spacing:1px;margin-top:24px}}

/* Give the complete surface scan 150vh of additional reading time. */
#journey{height:1068vh}
