/* Cinematic opening: stable foreground, complete media objects, then a physical grid handoff. */
.journey-stage{background:radial-gradient(ellipse at 74% 27%,#2b6fe342,transparent 49%),radial-gradient(ellipse at 89% 79%,#e68a0024,transparent 40%),#0B1022}
.journey-stage:before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(90deg,#0b1022 0%,#0b1022f5 24%,#0b102290 39%,transparent 63%);opacity:0;transition:opacity .8s}
.journey-stage[data-scene=hero]:before{opacity:1}
.scene-copy{top:10%;left:5%;width:48%;z-index:7}
.scene-copy h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(60px,6.8vw,110px);font-weight:400;line-height:.92;letter-spacing:.005em}
.scene-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:450px;color:#bfcae0}
.scene-copy .eyebrow{font-size:12px;letter-spacing:.15em}
.anchor-portrait{right:0;width:58%;height:100%;bottom:-5%;object-position:center bottom;filter:drop-shadow(0 18px 35px #03081799)}
.field-dock{inset:-4% -4% 4% 29%;overflow:visible}
.field-dock .atom{border:1px solid #bcd0ff55;box-shadow:0 18px 35px #02061755}
.field-dock .atom-main{transform:none;transition:none}
.field-dock .atom-main>img{object-fit:cover}
.field-dock .atom[data-platform=YouTube] .atom-main>img,.field-dock .atom[data-platform=Twitch] .atom-main>img{object-fit:contain}
.field-dock .atom-label{font-size:12px!important;min-height:30px;background:#10192a;padding:7px!important}
.field-dock .atom-type{font:10px/1.3 "JetBrains Mono",monospace;padding:3px 5px}
.three-field{position:absolute;inset:0;overflow:visible!important;pointer-events:none}
.field-dock .atom.three-atom{position:absolute!important;left:0!important;top:0!important;scale:1!important;rotate:none!important;translate:none!important;animation:none!important;will-change:transform;pointer-events:auto}
.three-field .atom-main{height:100%;width:100%}
.scene-controls{top:25%;left:5%;right:5%}
.scene-controls .category-rail{gap:7px;padding-bottom:14px;scrollbar-width:none;overscroll-behavior-x:contain}
.scene-controls .category-rail button{min-height:44px;font-size:14px;padding:9px 16px;touch-action:pan-x pan-y}
.journey-stage:not([data-scene=hero]) .scene-copy{top:5%;width:90%}
.journey-stage:not([data-scene=hero]) .scene-copy h1{font-size:clamp(36px,4.6vw,65px);max-width:850px}
.journey-stage[data-scene=explore] .anchor-portrait{width:36%;height:52%;right:-4%;bottom:13%;transform:none;opacity:.96}
.culture-dock,.culture-dock.filtered,.culture-dock:not(.filtered){inset:41% 32% 13% 5%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;align-content:stretch;overflow:visible;pointer-events:none}
.culture-dock .atom,.culture-dock.filtered .atom,.culture-dock:not(.filtered) .atom{height:100%;min-height:0}
.culture-dock .atom-main>img{object-fit:contain}
.culture-dock .atom-label{font-size:13px;line-height:1.2;min-height:32px}
.culture-dock .atom-type{font-size:10px}
.culture-dock:not(.filtered){grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
.journey-stage[data-scene=field] .field-dock{inset:27% -3% 11%;transform:none}
.journey-stage[data-scene=field] .anchor-portrait{opacity:0;transform:translateY(10%) scale(.72)}
.journey-stage[data-scene=selection] .scene-copy h1 span{color:var(--paper)}
.journey-stage[data-scene=selection] .scene-controls,.journey-stage[data-scene=intel] .scene-controls,.journey-stage[data-scene=field] .scene-controls{top:26%}
.settle-dock,.evidence-dock{inset:36% 12% 14%;gap:15px}
.settle-dock{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--rows-desktop,3),minmax(0,1fr))}
.evidence-dock{left:5%;right:43%;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--rows-desktop,3),minmax(0,1fr))}
.settle-dock .atom-label,.evidence-dock .atom-label{font-size:12px;min-height:30px}
.settle-dock .atom-main>img,.evidence-dock .atom-main>img{height:calc(100% - 30px)}
.scene-evidence{top:35%;bottom:14%;padding:18px 22px;border-radius:10px;background:#142039}
.scene-evidence .eyebrow{letter-spacing:.06em;font-size:11px}.scene-evidence h3{font-size:32px}
.scene-bottom{bottom:23px;min-height:56px;padding-top:12px}
.scene-bottom p{color:inherit;font-size:13px}.scene-bottom>a{font-size:12px}
#openingActions .button{font-size:14px;padding:15px 24px}
#openingActions .text-button{font-size:12px;letter-spacing:.035em}
.scene-skip,.motion-toggle{font-size:12px;min-height:42px}
.journey-offscreen .scene-skip,.journey-offscreen .motion-toggle{display:none}
@media(max-width:1000px) and (min-width:701px){.scene-copy h1{font-size:7.6vw}.scene-copy{width:52%}.anchor-portrait{right:-8%;width:65%}.scene-copy>p:not(.eyebrow){font-size:15px;max-width:350px}}
@media(max-width:700px){
 .journey-stage{height:calc(100svh - 70px);min-height:670px}
 .journey-stage:before{background:linear-gradient(180deg,#0b1022 0%,#0b102200 30%,#0b102200 68%,#0b1022 80%)}
 .scene-copy{left:6%;top:24px;width:88%}
 .scene-copy .eyebrow{font-size:10px;line-height:1.5;margin:0 0 12px;letter-spacing:.12em}
 .scene-copy h1{font-size:clamp(38px,12vw,57px);line-height:.93;margin:0}
 .scene-copy h1 span{max-width:100%}
 .journey-stage[data-scene=hero] .scene-copy>p:not(.eyebrow){position:fixed;position:absolute;top:calc(100svh - 307px);left:0;font-size:14px;line-height:1.55;max-width:none;padding:0;background:none;margin:0;color:#c1cce1}
 #openingActions{position:absolute;top:calc(100svh - 214px);left:0;right:0;display:flex;flex-direction:row;align-items:center;gap:14px}
 #openingActions .button{min-height:46px;padding:12px 14px;font-size:12px}
 #openingActions .text-button{font-size:11px;line-height:1.45}
 .journey-stage[data-scene=hero] .anchor-portrait{top:170px;bottom:220px;height:calc(100% - 390px);width:96%;right:-5%;object-position:center bottom}
 .field-dock,.journey-stage[data-scene=hero] .field-dock{inset:170px -6% 220px -6%;height:auto;overflow:visible}
 .field-dock .atom,.journey-stage[data-scene=hero] .field-dock .atom{width:85px;height:120px}
 .field-dock .atom[data-platform=YouTube],.field-dock .atom[data-platform=Twitch]{width:125px;height:84px}
 .field-dock .atom-label{font-size:11px!important}
 .journey-stage:not([data-scene=hero]) .scene-copy{top:25px;width:88%;left:6%}
 .journey-stage:not([data-scene=hero]) .scene-copy h1{font-size:clamp(28px,8.3vw,36px);line-height:.98;max-width:95%}
 .scene-controls{top:23%;left:6%;right:6%}
 .journey-stage[data-scene=explore] .scene-copy h1{max-width:76%;font-size:28px}
 .scene-controls .category-rail{margin:0 -6vw;padding:0 6vw 13px}
 .scene-controls .category-rail button{font-size:14px;padding:10px 15px}
 .scene-toolbar{font-size:11px;gap:10px}.scene-toolbar>span{max-width:155px}
 .mode-switch button{font-size:12px;min-height:44px;padding:8px 14px}
 .journey-stage[data-scene=explore] .anchor-portrait{top:0;bottom:auto;height:23%;width:34%;right:-8%;opacity:.6;transform:none}
 .culture-dock,.culture-dock.filtered,.culture-dock:not(.filtered){inset:41% 6% 16%;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));overflow:visible}
 .culture-dock:not(.filtered){grid-template-rows:repeat(4,minmax(0,1fr))}
 .culture-dock .atom,.culture-dock.filtered .atom,.culture-dock:not(.filtered) .atom{height:100%}
 .culture-dock .atom-label{font-size:12px;min-height:34px;line-height:1.2;padding:5px}
 .culture-dock .atom-type{display:none!important}
 .journey-stage[data-scene=field] .field-dock{inset:35% -3% 16%}
 .journey-stage[data-scene=field] .scene-controls,.journey-stage[data-scene=selection] .scene-controls,.journey-stage[data-scene=intel] .scene-controls{top:25%}
 .settle-dock,.evidence-dock{inset:37% 6% 27%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--rows-mobile,4),minmax(0,1fr));gap:8px}
 .settle-dock .atom-label,.evidence-dock .atom-label{font-size:11px;min-height:30px;padding:4px}
 .scene-bottom{left:6%;right:6%;bottom:63px;padding-top:8px;min-height:60px;gap:8px;align-content:flex-start}
 .scene-bottom p{font-size:11px;line-height:1.4;max-width:100%}.scene-bottom>a{font-size:11px;min-height:32px}
 #selectionActions{font-size:12px;gap:10px;flex-wrap:wrap}#selectionActions button{font-size:11px;min-height:36px}
 .scene-skip,.motion-toggle{font-size:11px;min-height:42px}.scene-skip{max-width:155px}
}
@media(max-width:370px){.scene-copy h1{font-size:11.8vw}.journey-stage[data-scene=hero] .anchor-portrait{top:165px}.journey-stage[data-scene=hero] .field-dock{top:160px}.scene-toolbar>span{max-width:120px}#openingActions{gap:10px}#openingActions .button{padding:12px 10px;font-size:11px}#openingActions .text-button{font-size:10px}.scene-controls{top:23%}.scene-bottom{bottom:60px}}
@media(prefers-reduced-motion:reduce){.journey-stage:before{transition:none}.field-dock .atom{animation:none}}
