/* V8 — one shared optical world, native scroll, content available without WebGL. */
html:has(body[data-page="home"]) { scroll-behavior:auto; scroll-padding-top:80px; }
body[data-page="home"] { --journey-bg:#080b10; --journey-ink:#f1eee7; --journey-muted:#b4bac0; --journey-line:#64717b; --journey-warm:#e4c796; background:var(--journey-bg); color:var(--journey-ink); }
body[data-page="home"] .site-header { background:#080b10e8; color:var(--journey-ink); border-color:#ffffff1b; backdrop-filter:blur(12px); }
body[data-page="home"] .brand img { filter:invert(1); mix-blend-mode:screen; }
body[data-page="home"] .menu-toggle span { background:var(--journey-ink); }
body[data-page="home"] .main-nav.is-open { background:var(--journey-bg); color:var(--journey-ink); }
body[data-page="home"] :focus-visible { outline:2px solid var(--journey-warm); outline-offset:6px; }
.pl-brand-home { --edge:clamp(24px,6.1vw,106px); position:relative; isolation:isolate; overflow:clip; overflow-anchor:none; }
#voyage-canvas,#voyage-light { display:none; position:fixed; inset:0; width:100%; height:100dvh; pointer-events:none; z-index:0; }
.is-voyage #voyage-canvas,.is-voyage #voyage-light { display:block; }
#voyage-light { z-index:1; }
#voyage-labels { position:fixed; inset:0; pointer-events:none; z-index:2; display:none; }
.is-voyage #voyage-labels { display:block; }
.voyage-label { position:absolute; font-size:10px; letter-spacing:.055em; color:#c2d0d5; white-space:nowrap; padding:6px 0; border-top:1px solid #89959b80; text-shadow:0 1px 8px #000; }
.pl-chapter-nav { position:relative; z-index:4; display:flex; justify-content:flex-end; align-items:center; gap:28px; padding:0 var(--edge); min-height:48px; font-size:11px; color:var(--journey-muted); }
.pl-chapter-nav a { min-height:44px; display:flex; align-items:center; }
.pl-scene { position:relative; z-index:3; min-height:106svh; padding:clamp(110px,18vh,190px) var(--edge) 100px; background:transparent; scroll-margin-top:0; }
.pl-scene:nth-of-type(5n + 2) { min-height:100svh; }
.pl-copy { width:min(43%,580px); position:relative; z-index:2; }
.pl-kicker { font-size:10px; letter-spacing:.11em; line-height:1.8; color:var(--journey-warm); margin-bottom:28px; }
.pl-scene h1,.pl-scene h2 { font-size:clamp(40px,4.4vw,74px); font-weight:450; line-height:1.27; letter-spacing:-.045em; text-wrap:balance; overflow-wrap:break-word; }
.pl-scene h1 { font-size:clamp(52px,5.4vw,92px); line-height:1.17; }
.pl-description { color:var(--journey-muted); font-size:clamp(14px,1.08vw,17px); line-height:1.95; max-width:480px; margin-top:28px; text-wrap:pretty; }
.pl-hero { padding-top:10vh; min-height:calc(100svh - 114px); }
.pl-scene-note { position:absolute; left:var(--edge); bottom:90px; max-width:40%; color:#a1aab4; font-size:10px; line-height:1.7; }
.pl-link { display:inline-flex; align-items:center; min-height:44px; gap:22px; border-bottom:1px solid var(--journey-line); color:var(--journey-ink); font-size:13px; line-height:1.6; text-align:left; padding-block:8px; }
.pl-copy > .pl-link { margin-top:26px; }
.pl-links { display:flex; gap:30px; flex-wrap:wrap; margin-top:32px; }
.pl-link:hover,.study-link:hover { color:var(--journey-warm); border-color:var(--journey-warm); }
.study-link { display:block; width:fit-content; min-height:44px; margin-top:22px; padding-block:12px; color:#c1c6c9; font-size:11px; border-bottom:1px solid #ffffff24; }
.journey-options { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:28px; }
.journey-options button,.lab-presets button { min-height:44px; border-bottom:1px solid var(--journey-line); color:#b5bdc5; padding:8px 0; font-size:12px; text-align:left; }
.journey-options button[aria-pressed="true"] { color:var(--journey-warm); border-color:var(--journey-warm); }
.pl-field-controls { margin-top:28px; }
.pl-field-controls .lab-controls { display:grid; grid-template-columns:1fr auto; gap:10px; }
.pl-field-controls .lab-controls label { grid-column:1/-1; font-size:12px; color:var(--journey-muted); }
.pl-field-controls input { min-width:0; width:100%; accent-color:var(--journey-warm); height:44px; }
.pl-field-controls output { align-self:center; font-size:12px; color:var(--journey-warm); }
.lab-presets { display:flex; justify-content:flex-start; gap:30px; }
#lab-state { font-size:12px; margin-top:16px; color:var(--journey-warm); }
#lab-description { font-size:12px; color:var(--journey-muted); line-height:1.8; margin-top:8px; }
.model-switch { background:#29313a; color:var(--journey-ink); margin-top:30px; }
.model-switch button[aria-pressed="true"] { background:var(--journey-ink); color:var(--journey-bg); }
.pl-selected-product { display:none; }
.selection-note { color:var(--journey-muted); font-size:11px; line-height:1.8; margin-top:16px; }
.pl-scene.face-light { max-width:none; display:block; margin:0; background:transparent; }
.hold-button { display:flex; margin-top:28px; border-color:var(--journey-line); color:var(--journey-ink); }
.hold-progress { background:#e1c89e22; }
.pl-note { font-size:10px; line-height:1.8; color:var(--journey-muted); margin-top:15px; }
.evidence-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:28px; }
.closing-signature { margin-top:46px; letter-spacing:.11em; font-size:11px; color:var(--journey-warm); }
.pl-closing h2 { font-size:clamp(48px,5.5vw,86px); }
.journey-still { width:48%; margin:40px 0 0 auto; }
.journey-still img { width:100%; display:block; border-radius:0; }
.journey-still figcaption { color:var(--journey-muted); font-size:11px; padding-top:12px; }
.is-voyage .journey-still { display:none; }
.pl-brand-home:not(.is-voyage) .pl-scene { min-height:auto; padding-block:90px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.pl-brand-home:not(.is-voyage) .pl-copy,.pl-brand-home:not(.is-voyage) .journey-still { width:100%; margin:0; }
.pl-brand-home:not(.is-voyage) .pl-scene-note { position:static; max-width:none; grid-column:1/-1; }
.voyage-tools { display:none; position:fixed; z-index:20; bottom:14px; left:var(--edge); right:var(--edge); align-items:center; gap:24px; pointer-events:none; font-size:10px; color:#c9c8c2; }
.voyage-ready .voyage-tools { display:flex; }
.voyage-cue { margin-right:auto; }
#voyage-motion { pointer-events:auto; min-height:44px; padding:8px 14px; background:#080b10e8; border:1px solid var(--journey-line); }
#voyage-count { min-width:45px; font-variant-numeric:tabular-nums; }
#figure-dialog { width:min(1150px,94vw); max-height:90svh; background:#f5f3ef; color:#171817; border:0; padding:30px; overflow:auto; }
#figure-dialog::backdrop { background:#04070be8; }
.figure-dialog-top { display:flex; justify-content:space-between; gap:25px; margin-bottom:25px; }
.figure-dialog-top h2 { font-size:27px; }
.figure-dialog-top p,#figure-dialog > p { color:#656159; font-size:12px; margin-top:15px; }
#figure-close { min-width:44px; min-height:44px; font-size:30px; }
#figure-full { width:100%; height:auto; }
@media (min-width:701px) and (max-width:1100px) {
 .pl-copy { width:44%; }
 .pl-scene h2 { font-size:42px; }
 .pl-scene h1 { font-size:56px; }
 .pl-description { font-size:14px; }
 .pl-scene { padding-top:140px; }
}
@media (max-width:700px) {
 .pl-brand-home { --edge:24px; }
 .pl-chapter-nav { justify-content:space-between; gap:10px; font-size:9px; padding-inline:20px; }
 .pl-scene,.pl-scene:nth-of-type(5n + 2) { min-height:108svh; padding:70px var(--edge) 440px; }
 .pl-copy { width:100%; max-width:510px; }
 .is-voyage .pl-copy::before { content:""; position:absolute; z-index:-1; inset:-26px -24px -25px; background:linear-gradient(to bottom,#080b10 0%,#080b10 89%,#080b1000); pointer-events:none; }
 .pl-scene h1 { font-size:47px; }
 .pl-scene h2 { font-size:37px; line-height:1.24; }
 .pl-kicker { font-size:9px; margin-bottom:22px; }
 .pl-description { font-size:13px; margin-top:22px; line-height:1.9; max-width:96%; }
 .pl-hero { padding-top:44px; }
 .pl-scene-note { left:var(--edge); bottom:68px; max-width:88%; font-size:9px; }
 .pl-links { gap:22px; margin-top:24px; }
 .pl-link { font-size:12px; gap:12px; }
 .journey-options { gap:7px 19px; margin-top:22px; }
 .journey-options button { font-size:11px; }
 .voyage-tools { left:16px; right:16px; gap:12px; font-size:9px; bottom:8px; }
 .voyage-label { font-size:8px; }
 .pl-closing h2 { font-size:48px; }
 .pl-brand-home:not(.is-voyage) .pl-scene { display:block; padding-block:65px; }
 .pl-brand-home:not(.is-voyage) .journey-still { margin-top:32px; }
 .pl-brand-home:not(.is-voyage) .pl-scene-note { margin-top:25px; }
 .closing-signature { font-size:10px; margin-top:30px; }
 #figure-dialog { padding:18px; }
 .figure-dialog-top h2 { font-size:22px; }
}
@media (max-width:360px) { .pl-scene h2 { font-size:33px; }.pl-scene h1 { font-size:42px; }.pl-chapter-nav { font-size:8px; gap:7px; }.pl-description { font-size:12px; } }
@media (prefers-reduced-motion:reduce) { .pl-copy { transform:none!important; } }

/* Campaign context is available on request, alongside the English scene copy. */
.journey-context { max-width:440px; margin-top:24px; color:var(--journey-muted); font-size:12px; line-height:1.8; }
.journey-context summary { width:fit-content; min-height:44px; display:flex; align-items:center; gap:24px; cursor:pointer; border-bottom:1px solid var(--journey-line); color:var(--journey-ink); }
.journey-context summary::after { content:'+'; }
.journey-context[open] summary::after { content:'−'; }
.journey-context p { margin-top:16px; }
