/* The cinematic opening is scoped; the established site's reading styles remain intact. */
body.cinema-home { --cinema-ink:#eef2f2; --cinema-muted:#b7c3cb; --cinema-gutter:5.6vw; }
body.cinema-home #main { overflow:visible; }
body.cinema-home.cinema-on-hero .site-header,
body.cinema-home.cinema-on-hero .site-header.is-scrolled { background:transparent; background-image:none; border-color:transparent; color:#eef2f2; backdrop-filter:none; -webkit-backdrop-filter:none; }
body.cinema-home .site-header { transition:background .35s,border-color .35s,color .35s; }
body.cinema-home.cinema-on-hero .site-header .brand img { filter:brightness(0) invert(1); opacity:.93; }
body.cinema-home.cinema-on-hero .site-header .brand :is(strong,small),
body.cinema-home.cinema-on-hero .site-header :is(.desktop-nav>a,.menu-toggle) { color:#edf2f3; }
body.cinema-home.cinema-on-hero .site-header .desktop-nav>a { opacity:.82; }
body.cinema-home.cinema-on-hero .site-header .desktop-nav>a:hover { opacity:1; }
body.cinema-home.cinema-on-hero .site-header .menu-toggle i,
body.cinema-home.cinema-on-hero .site-header .menu-toggle i::before,
body.cinema-home.cinema-on-hero .site-header .menu-toggle i::after { border-color:#edf2f3; }
body.cinema-home.cinema-on-hero .site-header :is(a,button):focus-visible { outline-color:#d4e5ed; }

body.cinema-home #cinema-journey { position:relative; height:620vh; height:620svh; padding:0; margin:0; background:#03070c; --cinema-ink:color-mix(in srgb,#f0e9dc calc((1 - var(--immersion,0)) * 100%),#deedf2); --cinema-muted:color-mix(in srgb,#c8c6bb calc((1 - var(--immersion,0)) * 100%),#afc6d1); --cinema-accent:color-mix(in srgb,#d9c7a3 calc((1 - var(--immersion,0)) * 100%),#a9d5de); color:var(--cinema-ink); }
body.cinema-home #cinema-journey::after { content:""; position:absolute; z-index:8; left:0; right:0; bottom:-1px; height:180px; background:linear-gradient(180deg,#ffffff00 0%,#ffffff12 24%,#ffffff66 56%,#fff 100%); opacity:var(--cinema-exit-opacity,0); pointer-events:none; }
body.cinema-home .cinema-sticky { position:sticky; top:0; height:100vh; height:100svh; width:100%; overflow:hidden; isolation:isolate; }
body.cinema-home #cinema-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y; }
body.cinema-home .cinema-shade { position:absolute; inset:0; z-index:1; pointer-events:none; }
/* Adapt the reading shade with depth, without a brightness jump at a chapter boundary. */
body.cinema-home .cinema-shade::before,body.cinema-home .cinema-shade::after { content:""; position:absolute; inset:0; }
body.cinema-home .cinema-shade::before { opacity:calc(1 - var(--immersion,0)); background:linear-gradient(90deg,#02050b9c 0%,#02050b2e 37%,transparent 70%),linear-gradient(0deg,#02050bd1,transparent 22%,transparent 82%,#02050b38),linear-gradient(270deg,#06121c55,transparent 24%); }
body.cinema-home .cinema-shade::after { opacity:var(--immersion,0); background:linear-gradient(180deg,rgba(2,5,11,.24),transparent 47%,transparent 69%,rgba(2,5,11,.33)),linear-gradient(90deg,rgba(2,5,11,.17),transparent 62%),linear-gradient(270deg,rgba(6,18,28,.15),transparent 24%); }
body.cinema-home .cinema-copy { position:absolute; z-index:3; left:var(--cinema-gutter); top:30%; max-width:52vw; opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(0,13px,0); transition:opacity .65s ease,transform .85s cubic-bezier(.2,.6,.2,1),visibility .65s; }
body.cinema-home .cinema-copy.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
body.cinema-home #cinema-journey .cinema-kicker { margin:0 0 23px; font-size:12px; line-height:1.65; letter-spacing:.06em; font-weight:400; color:var(--cinema-accent); }
body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { margin:0; color:var(--cinema-ink); font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; font-size:clamp(42px,4.15vw,64px); font-weight:300; line-height:1.28; letter-spacing:-.035em; text-wrap:nowrap; }
body.cinema-home #cinema-journey .cinema-copy .cinema-value { display:block; margin-top:20px; font-size:clamp(23px,2.06vw,31px); color:var(--cinema-ink); line-height:1.6; letter-spacing:-.01em; }
body.cinema-home #cinema-journey .cinema-description { max-width:410px; margin:27px 0 0; font-size:15px; line-height:1.95; font-weight:300; color:var(--cinema-muted); letter-spacing:.015em; }
body.cinema-home .cinema-actions { display:flex; align-items:center; flex-wrap:wrap; gap:27px; margin-top:31px; }
body.cinema-home .cinema-actions>:is(a,button) { display:inline-flex; align-items:center; gap:18px; min-height:44px; border:0; border-bottom:1px solid #c7dce980; border-radius:0; background:none; padding:8px 0; color:#edf3f5; font-size:13px; line-height:1.6; text-decoration:none; cursor:pointer; }
body.cinema-home .cinema-actions>:is(a,button):hover { color:#fff; border-bottom-color:#fff; }
body.cinema-home .cinema-actions>:is(a,button):last-child { border-bottom-color:transparent; color:var(--cinema-muted); }
body.cinema-home .cinema-actions svg { display:block; width:18px; height:18px; }
body.cinema-home #cinema-journey :is(a,button):focus-visible { outline:1px solid #bfd8e5; outline-offset:6px; }
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"],
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] { top:22%; width:min(27vw,310px); max-width:310px; }
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"] h2,
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] h2 { font-size:clamp(31px,2.55vw,40px); line-height:1.3; }
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"] .cinema-description,
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-description { margin-top:17px; max-width:310px; font-size:13px; line-height:1.85; }
body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) .cinema-kicker { font-size:10px; margin-bottom:17px; letter-spacing:.035em; }
body.cinema-home #cinema-journey .cinema-section-note { margin:17px 0 0; color:#a6b5bd; font-size:10px; line-height:1.75; }
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-actions { margin-top:19px; }
body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-actions>a { font-size:12px; }


body.cinema-home .cinema-controls { position:absolute; z-index:5; left:var(--cinema-gutter); right:var(--cinema-gutter); bottom:max(25px,env(safe-area-inset-bottom)); display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:0; opacity:var(--cinema-controls-opacity,1); }
body.cinema-home #cinema-journey .cinema-scroll-hint { display:flex; align-items:center; gap:11px; margin:0; color:#a6b7c3; font-size:11px; line-height:1.5; letter-spacing:.02em; }
body.cinema-home .cinema-scroll-hint svg { display:block; width:12px; height:20px; }
body.cinema-home .cinema-control-actions { display:flex; align-items:center; gap:25px; }
body.cinema-home #cinema-journey .cinema-control-actions :is(button,a) { display:flex; align-items:center; justify-content:center; gap:9px; padding:9px 0; min-height:42px; border:0; border-radius:0; background:none; color:#d2dde3; font-size:11px; font-weight:400; line-height:1.5; cursor:pointer; }
body.cinema-home #cinema-journey .cinema-control-actions a { color:#9eafba; }
body.cinema-home #cinema-journey .cinema-control-actions :is(button,a):hover { color:#fff; }
body.cinema-home .cinema-play-icon { width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:6px solid currentColor; }
body.cinema-home #cinema-tour[aria-pressed="true"] .cinema-play-icon { width:7px; height:9px; border:0; border-left:2px solid currentColor; border-right:2px solid currentColor; }
body.cinema-home #cinema-tour:disabled { opacity:.4; cursor:default; }
body.cinema-home #cinema-loading { position:absolute; z-index:4; bottom:120px; left:var(--cinema-gutter); display:flex; align-items:center; gap:16px; color:#b4c4cf; font-size:11px; line-height:1.5; transition:opacity .6s,visibility .6s; }
body.cinema-home #cinema-loading.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
body.cinema-home #cinema-journey .cinema-imagery-credit { position:absolute; z-index:2; right:var(--cinema-gutter); bottom:109px; margin:0; opacity:0; visibility:hidden; color:#c5d0d5; font-size:9px; line-height:1.6; letter-spacing:0; pointer-events:none; transition:opacity .5s,visibility .5s; }
body.cinema-home[data-cinema-phase="1"] .cinema-imagery-credit,
body.cinema-home[data-cinema-phase="2"] .cinema-imagery-credit,
body.cinema-home[data-cinema-phase="3"] .cinema-imagery-credit,
body.cinema-home[data-cinema-phase="4"] .cinema-imagery-credit { opacity:.75; visibility:visible; }

body.cinema-home #cinema-labels { position:absolute; z-index:2; inset:0; pointer-events:none; overflow:hidden; }
body.cinema-home .cinema-feature-label { position:absolute; left:0; top:0; display:flex; align-items:center; gap:7px; transform:translate(-50%,-100%); padding:5px 8px; border-radius:2px; background:#08121a80; color:#edf1ed; text-shadow:0 1px 7px #000,0 0 18px #000; font-size:11px; line-height:1.6; white-space:nowrap; opacity:0; visibility:hidden; transition:opacity .35s,visibility .35s; }
body.cinema-home .cinema-feature-label::before { content:""; display:block; width:4px; height:4px; border-radius:50%; background:#d8e1d8; box-shadow:0 0 8px #e7f5fd55; }
body.cinema-home .cinema-feature-label::after { content:""; position:absolute; left:var(--leader-left,50%); top:var(--leader-top,100%); width:var(--leader-length,0px); height:1px; background:currentColor; opacity:.45; transform:rotate(var(--leader-angle,0rad)); transform-origin:0 0; }
body.cinema-home .cinema-feature-label[data-feature-label="orebody"] { color:#ddbb7c; }
body.cinema-home .cinema-feature-label[data-feature-label="aquifer"] { color:#a2d3da; }
body.cinema-home .cinema-feature-label.is-visible { opacity:1; visibility:visible; will-change:transform; }
body.cinema-home .cinema-geology-legend { position:absolute; z-index:3; top:auto; bottom:153px; left:var(--cinema-gutter); right:auto; max-width:310px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s,visibility .65s; }
body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-geology-legend { opacity:1; visibility:visible; }
body.cinema-home #cinema-journey .cinema-legend-title { margin:0 0 10px; color:#c5c8be; font-size:10px; font-weight:400; line-height:1.5; letter-spacing:.02em; }
body.cinema-home #cinema-journey .cinema-geology-legend ul { display:flex; flex-wrap:wrap; gap:8px 17px; padding:0; margin:0; list-style:none; }
body.cinema-home #cinema-journey .cinema-geology-legend li { display:flex; align-items:center; gap:9px; font-size:10px; line-height:1.5; letter-spacing:0; color:#aeb9be; }
body.cinema-home .cinema-geology-legend li::before { content:""; display:block; width:12px; height:3px; background:var(--rock-color); }


body.cinema-home .cinema-journey-rail { position:absolute; z-index:4; right:var(--cinema-gutter); top:47%; transform:translateY(-50%); width:112px; opacity:var(--cinema-controls-opacity,1); color:var(--cinema-muted); }
body.cinema-home .cinema-rail-stages { position:relative; display:flex; flex-direction:column; gap:0; align-items:flex-end; }
body.cinema-home .cinema-rail-stages::before { content:""; position:absolute; top:22px; bottom:22px; right:5px; width:1px; background:#c5d2db33; pointer-events:none; }
body.cinema-home #cinema-journey .cinema-rail-stages button { position:relative; display:flex; align-items:center; justify-content:flex-end; gap:16px; min-width:86px; min-height:44px; padding:0; border:0; border-radius:0; background:none; font-family:inherit; font-size:10px; line-height:1; letter-spacing:.12em; color:var(--cinema-muted); cursor:pointer; }
body.cinema-home .cinema-rail-stages button span { opacity:.56; transition:opacity .25s; }
body.cinema-home .cinema-rail-stages button i { width:11px; height:11px; display:block; border:1px solid transparent; border-radius:50%; position:relative; background:transparent; transition:border-color .25s; }
body.cinema-home .cinema-rail-stages button i::before { content:""; position:absolute; inset:3px; border-radius:50%; background:#78929f; transition:background .25s; }
body.cinema-home #cinema-journey .cinema-rail-stages button[aria-current="step"] { color:var(--cinema-ink); }
body.cinema-home .cinema-rail-stages button[aria-current="step"] i { border-color:var(--cinema-accent); }
body.cinema-home .cinema-rail-stages button[aria-current="step"] i::before { background:var(--cinema-accent); }
body.cinema-home .cinema-rail-stages button:is([aria-current="step"],:hover,:focus-visible) span { opacity:1; }
body.cinema-home .cinema-depth { display:flex; flex-direction:column; align-items:flex-end; margin-top:25px; gap:8px; white-space:nowrap; }
body.cinema-home #cinema-depth-caption { font-size:9px; letter-spacing:.12em; color:var(--cinema-muted); }
body.cinema-home #cinema-depth-value { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-variant-numeric:tabular-nums; font-size:15px; font-weight:400; line-height:1.5; letter-spacing:.01em; color:var(--cinema-ink); }
body.cinema-home .cinema-depth-note { font-size:8px; color:var(--cinema-muted); opacity:0; transition:opacity .4s; }
body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-depth-note { opacity:.68; }
body.cinema-home.cinema-unavailable .cinema-journey-rail { display:none; }

body.cinema-home .cinema-future { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-top:96px; padding-bottom:110px; border-top:1px solid var(--site-line,#dedee2); }
body.cinema-home .cinema-future>div:first-child>p { margin:0 0 24px; color:#637282; font-size:13px; line-height:1.6; }
body.cinema-home .cinema-future h2 { margin:0; }
body.cinema-home .cinema-future>div:last-child { align-self:end; }
body.cinema-home .cinema-future>div:last-child>p { margin:0 0 24px; }
body.cinema-home .cinema-future .j-link { display:inline-flex; align-items:center; min-height:44px; color:#0066cc; }
body.cinema-home .cinema-sources { padding-top:22px; padding-bottom:24px; border-top:1px solid #dedee2; color:#70777e; }
body.cinema-home .cinema-sources details { max-width:1000px; }
body.cinema-home .cinema-sources summary { width:fit-content; font-size:12px; cursor:pointer; list-style:none; }
body.cinema-home .cinema-sources summary::-webkit-details-marker { display:none; }
body.cinema-home .cinema-sources summary>span { display:inline-block; margin-left:12px; transition:transform .2s; }
body.cinema-home .cinema-sources details[open] summary>span { transform:rotate(45deg); }
body.cinema-home .cinema-sources p { margin:12px 0 0; font-size:12px; line-height:1.8; }
body.cinema-home .cinema-sources a { text-decoration:underline; text-decoration-color:#aeb8c1; text-underline-offset:3px; }
body.cinema-home.cinema-unavailable #cinema-journey { height:100svh; min-height:600px; }
body.cinema-home.cinema-unavailable #cinema-loading { max-width:80vw; }

@media (max-width:1100px) {
  body.cinema-home { --cinema-gutter:6vw; }
  body.cinema-home .cinema-copy { max-width:61vw; }
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:45px; }
  body.cinema-home #cinema-journey .cinema-copy .cinema-value { font-size:25px; }
  body.cinema-home #cinema-journey .cinema-description { font-size:13px; }
}
@media (min-width:701px) and (max-aspect-ratio:95/100) {
  body.cinema-home .cinema-copy { top:20%; max-width:86vw; }
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:48px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"],
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] { top:16%; width:34vw; max-width:310px; }
  body.cinema-home .cinema-geology-legend { top:auto; bottom:147px; right:6vw; }
}
@media (max-width:700px) {
  body.cinema-home { --cinema-gutter:6vw; }
  body.cinema-home #cinema-journey::after { height:150px; }
  body.cinema-home .cinema-copy { top:19%; max-width:88vw; }
  body.cinema-home #cinema-journey .cinema-kicker { margin-bottom:16px; font-size:10px; letter-spacing:.03em; }
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:37px; line-height:1.32; letter-spacing:-.045em; }
  body.cinema-home #cinema-journey .cinema-copy .cinema-value { font-size:21px; margin-top:14px; line-height:1.55; }
  body.cinema-home #cinema-journey .cinema-description { max-width:280px; margin-top:18px; font-size:12px; line-height:1.85; }
  body.cinema-home .cinema-actions { gap:22px; margin-top:19px; }
  body.cinema-home .cinema-actions>:is(a,button) { font-size:11px; gap:12px; }
  body.cinema-home .cinema-shade::before { background:linear-gradient(180deg,#02050b94,#02050b35 46%,transparent 65%,#02050bd9); }
  body.cinema-home .cinema-controls { padding-top:10px; bottom:max(17px,env(safe-area-inset-bottom)); gap:13px; }
  body.cinema-home #cinema-journey .cinema-scroll-hint { font-size:9px; gap:8px; }
  body.cinema-home .cinema-scroll-hint svg { height:16px; }
  body.cinema-home .cinema-control-actions { gap:15px; }
  body.cinema-home #cinema-journey .cinema-control-actions :is(button,a) { font-size:10px; min-height:44px; }
  body.cinema-home #cinema-journey .cinema-control-actions a { display:none; }
  body.cinema-home #cinema-journey .cinema-imagery-credit { bottom:87px; left:var(--cinema-gutter); right:auto; max-width:88vw; font-size:7px; }
  body.cinema-home #cinema-loading { bottom:113px; font-size:10px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"],
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] { top:max(106px,13%); width:88vw; max-width:88vw; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"] h2,
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] h2 { font-size:28px; line-height:1.35; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"] .cinema-description,
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-description { max-width:88vw; margin-top:11px; font-size:11px; line-height:1.75; }
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) :is(h2,.cinema-description) br { display:none; }
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) .cinema-kicker { margin-bottom:12px; font-size:9px; }
  body.cinema-home #cinema-journey .cinema-section-note { margin-top:10px; font-size:9px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-actions>a { min-height:36px; padding:5px 0; font-size:10px; }
  body.cinema-home .cinema-geology-legend { top:auto; bottom:122px; left:var(--cinema-gutter); right:var(--cinema-gutter); max-width:none; }
  body.cinema-home #cinema-journey .cinema-legend-title { font-size:8px; margin-bottom:8px; }
  body.cinema-home #cinema-journey .cinema-geology-legend ul { display:flex; flex-wrap:wrap; gap:8px 14px; }
  body.cinema-home #cinema-journey .cinema-geology-legend li { font-size:8px; gap:6px; }
  body.cinema-home .cinema-geology-legend li::before { width:9px; }
  body.cinema-home .cinema-feature-label { font-size:9px; padding:4px 6px; gap:5px; }
  body.cinema-home .cinema-future { display:block; padding-top:63px; padding-bottom:69px; }
  body.cinema-home .cinema-future>div:first-child>p { font-size:11px; margin-bottom:19px; }
  body.cinema-home .cinema-future>div:last-child { margin-top:28px; }
  body.cinema-home .cinema-sources summary,body.cinema-home .cinema-sources p { font-size:10px; }
}
@media (max-width:360px) {
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:32px; }
  body.cinema-home #cinema-journey .cinema-copy .cinema-value { font-size:19px; }
  body.cinema-home #cinema-journey .cinema-description { font-size:11px; }
}
@media (max-height:650px) and (min-width:701px) {
  body.cinema-home .cinema-copy { top:26%; }
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:44px; }
  body.cinema-home #cinema-journey .cinema-kicker { margin-bottom:14px; font-size:10px; }
  body.cinema-home #cinema-journey .cinema-copy .cinema-value { margin-top:12px; font-size:23px; }
  body.cinema-home #cinema-journey .cinema-description { margin-top:18px; font-size:12px; }
  body.cinema-home .cinema-actions { margin-top:18px; }
}
@media (orientation:landscape) and (max-height:500px) {
  body.cinema-home .cinema-copy { top:25%; }
  body.cinema-home #cinema-journey .cinema-kicker { display:none; }
  body.cinema-home #cinema-journey .cinema-copy :is(h1,h2) { font-size:31px; }
  body.cinema-home #cinema-journey .cinema-copy .cinema-value { margin-top:10px; font-size:19px; }
  body.cinema-home #cinema-journey .cinema-description { margin-top:12px; font-size:10px; }
  body.cinema-home .cinema-actions { margin-top:9px; }
  body.cinema-home .cinema-actions>:is(a,button) { font-size:10px; min-height:32px; }
  body.cinema-home .cinema-controls { bottom:8px; padding-top:2px; }
  body.cinema-home #cinema-journey .cinema-control-actions :is(button,a) { min-height:33px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"],body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] { top:22%; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="3"] h2,body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] h2 { font-size:29px; }
  body.cinema-home .cinema-geology-legend { top:25%; bottom:auto; right:6vw; left:auto; }
  body.cinema-home #cinema-journey .cinema-geology-legend ul { display:grid; }
  body.cinema-home #cinema-journey .cinema-imagery-credit { bottom:59px; right:6vw; left:auto; }
  body.cinema-home #cinema-loading { bottom:69px; }
}
@media (prefers-reduced-motion:reduce) {
  body.cinema-home #cinema-journey *,body.cinema-home .site-header { animation:none!important; transition:none!important; }
  body.cinema-home .cinema-copy { transform:none; }
}

@media (max-width:700px) {
  body.cinema-home .cinema-journey-rail { right:5vw; top:58%; width:87px; }
  body.cinema-home #cinema-journey .cinema-rail-stages button { gap:10px; min-width:64px; font-size:9px; min-height:42px; }
  body.cinema-home .cinema-depth { margin-top:15px; gap:5px; }
  body.cinema-home #cinema-depth-caption { font-size:8px; }
  body.cinema-home #cinema-depth-value { font-size:12px; }
  body.cinema-home .cinema-depth-note { font-size:7px; }
  body.cinema-home .cinema-geology-legend { right:6vw; bottom:123px; }
  body.cinema-home #cinema-journey .cinema-geology-legend ul { gap:7px 12px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-actions { margin-top:15px; }
}
@media (min-width:701px) and (max-height:700px) {
  body.cinema-home .cinema-journey-rail { top:49%; }
  body.cinema-home .cinema-depth { margin-top:12px; }
  body.cinema-home .cinema-geology-legend { bottom:112px; }
}
@media (orientation:landscape) and (max-height:500px) {
  body.cinema-home .cinema-journey-rail { top:53%; right:6vw; width:100px; }
  body.cinema-home #cinema-journey .cinema-rail-stages button { min-height:30px; font-size:8px; }
  body.cinema-home .cinema-rail-stages::before { top:15px; bottom:15px; }
  body.cinema-home .cinema-depth { margin-top:9px; }
  body.cinema-home #cinema-depth-caption { font-size:8px; }
  body.cinema-home #cinema-depth-value { font-size:11px; }
  body.cinema-home .cinema-depth-note { font-size:7px; }
  body.cinema-home .cinema-geology-legend { display:none; }
}

/* Keep navigation legible against sunlit sky and pale rock. */
body.cinema-home .cinema-journey-rail { text-shadow:0 1px 9px #020810,0 1px 3px #020810; }
body.cinema-home .cinema-rail-stages button span { opacity:.78; }
body.cinema-home.cinema-on-hero .site-header { text-shadow:0 1px 8px #020810aa; }


/* In the section view the mobile controls sit below the model, freeing its sides. */
@media (max-width:700px) and (min-height:501px) {
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-journey-rail { top:auto; bottom:94px; left:var(--cinema-gutter); right:var(--cinema-gutter); width:auto; transform:none; display:flex; justify-content:space-between; align-items:flex-end; gap:10px; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-rail-stages { flex-direction:row; gap:3px; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-rail-stages::before { display:none; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) #cinema-journey .cinema-rail-stages button { min-width:42px; min-height:44px; justify-content:center; flex-direction:column-reverse; gap:8px; font-size:8px; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-depth { margin:0; gap:4px; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) .cinema-geology-legend { bottom:171px; max-width:none; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) #cinema-journey .cinema-imagery-credit { bottom:69px; }
}
@media (max-width:360px) {
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) h2 { font-size:25px; }
  body.cinema-home:is([data-cinema-phase="3"],[data-cinema-phase="4"]) #cinema-journey .cinema-rail-stages button { min-width:36px; }
}
@media (orientation:landscape) and (max-height:500px) {
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) { top:24%; width:34vw; max-width:34vw; }
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) h2 { font-size:24px; }
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) h2 br { display:initial; }
  body.cinema-home #cinema-journey .cinema-section-note { font-size:8px; margin-top:9px; }
}

/* Close descent through the opaque geological exposure. */
body.cinema-home .cinema-geology-legend { max-width:270px; bottom:147px; }
body.cinema-home .cinema-shade::after { background:linear-gradient(90deg,rgba(2,5,11,.49),rgba(2,5,11,.12) 33%,transparent 58%),linear-gradient(0deg,rgba(2,5,11,.36),transparent 28%,transparent 80%,rgba(2,5,11,.22)); }
body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) h2 { font-size:32px; }
@media(max-width:700px){
  body.cinema-home .cinema-geology-legend { left:6vw; right:6vw; max-width:none; bottom:171px; }
  body.cinema-home #cinema-journey .cinema-copy:is([data-cinema-copy="3"],[data-cinema-copy="4"]) h2 { font-size:25px; }
  body.cinema-home #cinema-journey .cinema-copy[data-cinema-copy="4"] .cinema-actions { display:none; }
}


/* Underground reading stays small: the structure remains the primary view. */
body.cinema-home #cinema-journey .cinema-underground-copy { display:none; }
body.cinema-home .cinema-geology-reading { position:absolute; z-index:4; left:var(--cinema-gutter); bottom:133px; width:min(340px,32vw); color:#e4e9e5; opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(0,8px,0); transition:opacity .65s,visibility .65s,transform .65s; text-shadow:0 1px 9px #020810; }
body.cinema-home .cinema-geology-reading.is-visible { opacity:var(--cinema-controls-opacity,1); visibility:visible; pointer-events:auto; transform:none; }
body.cinema-home .cinema-geology-reading::before { content:""; position:absolute; z-index:-1; inset:-28px -34px -24px -30px; background:radial-gradient(ellipse at 15% 60%,#071018a6,transparent 74%); pointer-events:none; }
body.cinema-home .cinema-view-switch { display:flex; gap:22px; border-bottom:1px solid #d6e1e52b; width:fit-content; margin-bottom:19px; }
body.cinema-home #cinema-journey .cinema-view-switch button { position:relative; padding:0 0 10px; min-height:38px; border:0; border-radius:0; background:none; color:#a6b6bd; font:inherit; font-size:11px; letter-spacing:.025em; cursor:pointer; }
body.cinema-home .cinema-view-switch button::after { position:absolute; content:""; height:1px; left:0; right:0; bottom:-1px; background:transparent; transition:background .25s; }
body.cinema-home #cinema-journey .cinema-view-switch button[aria-pressed="true"] { color:#f0ece2; }
body.cinema-home .cinema-view-switch button[aria-pressed="true"]::after { background:#d7c6a2; }
body.cinema-home .cinema-geology-reading[data-mode="interpretation"] .cinema-view-switch button[aria-pressed="true"]::after { background:#a4cfd2; }
body.cinema-home .cinema-geology-topics { display:flex; align-items:center; gap:24px; margin-bottom:11px; }
body.cinema-home #cinema-journey .cinema-geology-topics button { display:flex; align-items:center; gap:7px; padding:4px 0; min-height:34px; border:0; border-radius:0; background:none; color:#a6b4b9; font:inherit; font-size:12px; cursor:pointer; }
body.cinema-home .cinema-geology-topics button span { color:#7e929c; font-family:"SFMono-Regular",Consolas,monospace; font-size:9px; font-variant-numeric:tabular-nums; }
body.cinema-home #cinema-journey .cinema-geology-topics button[aria-current="step"] { color:#f0ece2; }
body.cinema-home .cinema-geology-topics button[aria-current="step"] span { color:#d7c6a2; }
body.cinema-home #cinema-journey :is(.cinema-view-switch,.cinema-geology-topics) button:hover { color:#fff; }
body.cinema-home #cinema-journey .cinema-geology-observation h2 { margin:0 0 11px; color:#f0eee6; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; font-size:22px; line-height:1.45; font-weight:300; letter-spacing:.01em; }
body.cinema-home #cinema-journey #cinema-geology-description { margin:0; color:#c4ced0; font-size:12px; font-weight:300; line-height:1.9; }
body.cinema-home #cinema-journey .cinema-geology-relation { margin:13px 0 0; color:#cfbd9d; font-size:10px; line-height:1.7; letter-spacing:.025em; }
body.cinema-home #cinema-journey .cinema-geology-reading[data-mode="interpretation"] .cinema-geology-relation { color:#a4cfd2; }
body.cinema-home #cinema-journey .cinema-geology-note { margin:17px 0 0; color:#93a4ac; font-size:9px; line-height:1.6; }
@media (min-width:701px) and (max-height:700px) {
  body.cinema-home .cinema-geology-reading { bottom:104px; width:310px; }
  body.cinema-home .cinema-view-switch { margin-bottom:10px; }
  body.cinema-home .cinema-geology-topics { margin-bottom:5px; }
  body.cinema-home #cinema-journey .cinema-geology-observation h2 { font-size:20px; margin-bottom:8px; }
  body.cinema-home #cinema-journey .cinema-geology-note { margin-top:10px; }
}
@media (max-width:700px) {
  body.cinema-home .cinema-geology-reading { top:max(109px,13svh); bottom:auto; width:88vw; }
  body.cinema-home .cinema-geology-reading::before { inset:-20px -20px; background:linear-gradient(110deg,#07101888,transparent 95%); }
  body.cinema-home .cinema-view-switch { gap:22px; margin-bottom:5px; }
  body.cinema-home #cinema-journey .cinema-view-switch button { font-size:10px; min-height:32px; padding-bottom:8px; }
  body.cinema-home .cinema-geology-topics { gap:25px; margin-bottom:4px; }
  body.cinema-home #cinema-journey .cinema-geology-topics button { font-size:11px; min-height:32px; }
  body.cinema-home .cinema-geology-topics button span { font-size:8px; }
  body.cinema-home #cinema-journey .cinema-geology-observation h2 { font-size:19px; margin-bottom:7px; }
  body.cinema-home #cinema-journey #cinema-geology-description { max-width:370px; font-size:11px; line-height:1.75; }
  body.cinema-home #cinema-journey .cinema-geology-relation { display:none; }
  body.cinema-home #cinema-journey .cinema-geology-note { margin-top:9px; font-size:8px; }
}
@media (orientation:landscape) and (max-height:500px) {
  body.cinema-home .cinema-geology-reading { top:auto; bottom:71px; width:33vw; min-width:250px; }
  body.cinema-home .cinema-view-switch { margin-bottom:2px; }
  body.cinema-home #cinema-journey .cinema-view-switch button { min-height:28px; padding-bottom:6px; font-size:9px; }
  body.cinema-home .cinema-geology-topics { margin-bottom:3px; gap:19px; }
  body.cinema-home #cinema-journey .cinema-geology-topics button { min-height:25px; font-size:10px; }
  body.cinema-home #cinema-journey .cinema-geology-observation h2 { font-size:17px; margin-bottom:5px; }
  body.cinema-home #cinema-journey #cinema-geology-description { font-size:10px; line-height:1.65; }
  body.cinema-home #cinema-journey .cinema-geology-relation { display:none; }
  body.cinema-home #cinema-journey .cinema-geology-note { font-size:7px; margin-top:7px; }
}

body.cinema-home .cinema-feature-label.is-feature-focus { color:#f0e3c4; background:#0c171dcc; }
body.cinema-home .cinema-feature-label.is-feature-focus::before { background:#e6cc92; box-shadow:0 0 9px #e6cc9240; }

/* Keep changing underground annotations from moving the scroll-driven camera. */
body.cinema-home #cinema-journey { overflow-anchor:none; }

/* Stage resources load when approached; keep the current scene and navigation visible. */
body.cinema-home #cinema-stage-loading { position:absolute; z-index:9; left:var(--cinema-gutter); bottom:94px; max-width:min(460px,76vw); display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:9px 12px; color:#d0d9dc; background:rgba(5,13,18,.76); border:1px solid rgba(170,199,211,.18); border-radius:3px; font-size:11px; line-height:1.6; transition:opacity .2s,visibility .2s; }
body.cinema-home #cinema-stage-loading.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
body.cinema-home #cinema-stage-retry { color:#f1e7cb; background:transparent; border:0; border-bottom:1px solid currentColor; padding:4px 0; cursor:pointer; font:inherit; }
body.cinema-home #cinema-stage-retry[hidden] { display:none; }
body.cinema-home #cinema-stage-retry:focus-visible { outline:2px solid #e6d4a4; outline-offset:4px; }
@media(max-width:700px){body.cinema-home #cinema-stage-loading{bottom:76px;max-width:calc(100vw - 48px);font-size:10px;}}
@media(prefers-reduced-motion:reduce){body.cinema-home #cinema-stage-loading{transition:none;}}
