/* Scroll-directed photographic evidence, spatial cloud layers and blue data paths. */
.homepage .site-header { position:fixed; }
.cinematic-hero { --hero-copy:1; --hero-shot:0; --hero-analysis:0; --hero-shift:0px; background:#040a12; height:auto; min-height:0; max-height:none; padding:0; overflow:visible; }
.cinematic-hero .hero-stage { position:relative; isolation:isolate; min-height:780px; height:100svh; padding:clamp(155px,20svh,220px) var(--gutter) 120px; overflow:hidden; }
.cinematic-hero.hero-cinematic-ready,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) { height:330svh; }
.hero-cinematic-ready .hero-stage,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) .hero-stage { position:sticky; top:0; }
.cinematic-hero .cinematic-visual { inset:0; }
.hero-opening-cloud-window { position:absolute; inset:0; overflow:hidden; transition:opacity .8s ease; }
/* Show only source x=.25..58, strictly before the rack begins at x>.60.
   Cover can increase the image scale on narrow screens, reducing that range. */
.hero-opening-cloud-art { position:absolute; left:-75.7576%; top:0; width:303.0303%; height:100%; max-width:none; object-fit:cover; object-position:left center; }
.cinematic-hero .hero-still { position:absolute; display:block; left:61%; top:26%; width:30%; height:46%; max-width:none; object-fit:contain; object-position:center; transform:none; will-change:auto; transition:opacity .8s ease; }
.cinematic-visual::after { z-index:4; background:linear-gradient(90deg,#040a12e0 0%,#040a12ab 23%,#040a1260 40%,transparent 62%),linear-gradient(0deg,#040a12 0%,#040a1200 20%,#040a1200 82%,#040a1255 100%); }
#hero-cinematic-root { position:absolute; inset:0; z-index:2; opacity:0; transition:opacity .8s ease; pointer-events:none; }
#hero-cinematic-root canvas { display:block; width:100%; height:100%; }
.hero-cinematic-ready #hero-cinematic-root { opacity:1; }
.hero-cinematic-ready .hero-still,.hero-cinematic-ready .hero-opening-cloud-window { opacity:0; }
/* Normal startup waits for the complete live frame. Stills are only fallbacks. */
.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) .hero-still,
.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) .hero-opening-cloud-window { visibility:hidden; opacity:0; transition:none; }
.hero-cloud-glow { position:absolute; inset:0; z-index:1; background:radial-gradient(ellipse at 71% 26%,#426b9222,transparent 42%),radial-gradient(ellipse at 78% 66%,#68ccff13,transparent 40%); }
.hero-grain { position:absolute; inset:0; z-index:3; opacity:.025; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }
.cinematic-hero .hero-content { width:58%; max-width:800px; opacity:var(--hero-copy); transform:translateY(var(--hero-shift)); will-change:opacity,transform; }
.cinematic-hero .hero-content:focus-within { opacity:1; transform:none; }
.cinematic-hero h1 { font-size:clamp(72px,7.25vw,112px); }
.cinematic-hero .hero-topics { max-width:590px; margin-top:30px; }
.hero-shot-copy { position:absolute; top:40%; left:var(--gutter); z-index:3; max-width:365px; opacity:var(--hero-shot); transform:translateY(calc(16px * (1 - var(--hero-shot)))); pointer-events:none; }
.hero-shot-copy .eyebrow { color:#7ecfff; font-size:9px; margin-bottom:22px; }
.hero-shot-copy h2 { font-size:clamp(34px,3.6vw,58px); line-height:1.1; letter-spacing:-.055em; }
.hero-shot-copy>p:last-child { font-size:13px; line-height:1.85; color:#9db4ca; margin-top:23px; }
.hero-analysis-panel { position:absolute; z-index:3; right:var(--gutter); top:24%; width:46%; max-width:610px; padding:24px; background:linear-gradient(145deg,#0e2030f0,#06121bf0); border:1px solid #75bddd40; box-shadow:0 25px 80px #0008; opacity:var(--hero-analysis); transform:translateY(calc(30px * (1 - var(--hero-analysis)))); pointer-events:none; }
.analysis-panel-top { display:flex; justify-content:space-between; gap:15px; padding-bottom:22px; color:#8bcbe8; font:8px var(--mono); letter-spacing:.12em; }
.analysis-panel-top>span:last-child { color:#526f81; font-size:6px; }
.hero-analysis-panel article { padding:22px 0; border-top:1px solid #8bc7e026; }
.hero-analysis-panel article:last-child { padding-bottom:3px; }
.hero-analysis-panel article>span { display:block; font:8px var(--mono); letter-spacing:.12em; color:#6293b0; margin-bottom:12px; }
.hero-analysis-panel h3 { font-size:24px; letter-spacing:-.04em; color:#d6eaf7; }
.hero-analysis-panel article>p { font-size:11px; color:#829fb4; margin-top:10px; }
.analysis-integrity { display:flex; align-items:center; gap:5px; margin-top:17px; }
.analysis-integrity i { width:13px; height:3px; background:#86d8f4; }
.analysis-integrity b { font:7px var(--mono); font-weight:400; color:#6c93a9; margin-left:8px; }
.analysis-timeline { height:25px; margin-top:17px; border-bottom:1px solid #3b7d9e; display:flex; align-items:end; justify-content:space-around; }
.analysis-timeline i { width:4px; height:15px; background:#8bd9ff; box-shadow:0 0 14px #62bbef40; }
.analysis-timeline i:nth-child(2),.analysis-timeline i:nth-child(4) { height:8px; }
.analysis-correlation { display:flex; align-items:center; gap:12px; margin-top:19px; font:7px var(--mono); color:#a2c6df; }
.analysis-correlation i { flex:1; height:1px; background:linear-gradient(90deg,#3d83a6,#8bd9ff); }
.cinematic-hero .hero-blueprint { right:var(--gutter); bottom:145px; color:#c1d9ef; font-size:8px; z-index:3; }
.cinematic-hero .hero-blueprint i { background:linear-gradient(90deg,#79c9ff,#b9edff); width:134px; }
.hero-chapters { position:absolute; left:var(--gutter); right:var(--gutter); bottom:109px; display:flex; gap:28px; font:8px/1 var(--mono); letter-spacing:.11em; color:#52718c; z-index:3; }
.hero-chapters span { display:flex; align-items:center; gap:9px; }
.hero-chapters i { height:2px; width:26px; background:#24445d; }
.hero-chapters .active { color:#b9ddf9; }
.hero-chapters .active i { background:#71cfff; box-shadow:0 0 14px #59baff70; }
.hero-chapters [data-hero-step="2"].active i { background:#a3e4ff; box-shadow:0 0 14px #67cfff70; }
.cinematic-hero .hero-footer { z-index:4; }
@media(max-width:1100px) and (min-width:801px) {
  .cinematic-hero .hero-content { width:65%; }
  .cinematic-hero h1 { font-size:clamp(66px,7.2vw,86px); }
  .cinematic-hero .hero-description { max-width:430px; }
  .cinematic-hero .hero-topics { max-width:430px; font-size:7px; gap:8px; }
  .hero-shot-copy { max-width:290px; }
  .hero-analysis-panel { top:20%; padding:16px; }
  .analysis-panel-top { padding-bottom:14px; }
  .hero-analysis-panel article { padding:12px 0; }
  .hero-analysis-panel article>span { margin-bottom:8px; }
  .hero-analysis-panel h3 { font-size:21px; }
  .hero-analysis-panel article>p { font-size:10px; margin-top:8px; }
  .analysis-integrity,.analysis-timeline { margin-top:10px; }
  .analysis-timeline { height:18px; }
  .analysis-correlation { margin-top:12px; }
}
@media(max-width:800px), (max-width:1100px) and (orientation:portrait) {
  .cinematic-hero .hero-stage { min-height:740px; padding:112px var(--gutter) 98px; }
  .cinematic-hero.hero-cinematic-ready,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) { height:320svh; }
  .cinematic-hero .hero-content { width:100%; }
  .cinematic-hero .hero-content>.eyebrow { font-size:8px; margin-bottom:18px; }
  .cinematic-hero h1 { font-size:clamp(60px,10vw,82px); }
  .cinematic-hero .hero-lead { font-size:16px; margin-top:17px; }
  .cinematic-hero .hero-description,.cinematic-hero .hero-topics { display:none; }
  .cinematic-hero .hero-actions { margin-top:19px; gap:23px; }
  .cinematic-hero .hero-actions .button { min-height:44px; padding:11px 14px; font-size:10px; gap:16px; }
  .cinematic-visual::after { background:linear-gradient(180deg,#040a12b3 0%,#040a1280 18%,transparent 42%,transparent 76%,#040a12 97%); }
  .cinematic-hero .hero-blueprint { bottom:130px; font-size:7px; }
  .cinematic-hero .hero-blueprint b { font-size:6px; }
  .hero-chapters { bottom:98px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px 15px; font-size:6px; letter-spacing:.05em; }
  .hero-chapters span { gap:6px; }.hero-chapters i { width:17px; }
  .hero-shot-copy { top:112px; max-width:80%; }
  .hero-shot-copy .eyebrow { font-size:8px; margin-bottom:13px; }
  .hero-shot-copy h2 { font-size:35px; }
  .hero-shot-copy>p:last-child { font-size:11px; margin-top:12px; }
  .hero-analysis-panel { top:285px; left:var(--gutter); right:var(--gutter); width:auto; padding:15px 19px; }
  .analysis-panel-top { font-size:6px; padding-bottom:14px; }
  .analysis-panel-top>span:last-child { font-size:5px; }
  .hero-analysis-panel article { padding:13px 0; }
  .hero-analysis-panel article>span { font-size:6px; margin-bottom:8px; }
  .hero-analysis-panel h3 { font-size:19px; }
  .hero-analysis-panel article>p { font-size:9px; margin-top:6px; }
  .analysis-integrity { margin-top:12px; }
  .analysis-integrity b,.analysis-correlation { font-size:6px; }
  .analysis-timeline { height:20px; margin-top:11px; }
  .analysis-correlation { margin-top:13px; }
  .cinematic-hero .hero-footer { bottom:22px; padding-top:18px; }
  .cinematic-hero .hero-still { left:24%; top:50%; width:52%; height:31%; }
}
@media(min-width:801px) and (max-width:1100px) and (orientation:portrait) {
  .homepage .site-header { height:78px; }
  .homepage .desktop-nav { display:none; }
  .homepage .header-actions { margin-left:auto; }
  .homepage .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; }
  .homepage .menu-toggle span { display:block; width:21px; height:1px; background:#dde3ed; }
  .homepage .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .homepage .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .homepage .mobile-menu:not([hidden]) { position:fixed; inset:76px 0 0; z-index:99; background:#0a0e15ed; backdrop-filter:blur(22px); display:flex; flex-direction:column; padding:35px var(--gutter); overflow:auto; }
  .homepage .mobile-menu a { font-size:28px; padding:14px 0; border-bottom:1px solid var(--line); letter-spacing:-.04em; }
  .homepage .mobile-menu a:nth-last-child(-n+2) { font-size:17px; color:var(--accent); }
}
@media(max-width:360px) {
  .cinematic-hero h1 { font-size:55px; }
  .cinematic-hero .hero-content>.eyebrow { font-size:7px; }
  .cinematic-hero .hero-actions { gap:15px; }
  .hero-chapters { gap:11px; font-size:5.5px; }
  .hero-shot-copy h2 { font-size:30px; }
  .hero-analysis-panel { top:270px; padding:12px; }
  .analysis-panel-top { padding-bottom:11px; }
  .hero-analysis-panel article { padding:9px 0; }
  .hero-analysis-panel article>span { margin-bottom:6px; }
  .hero-analysis-panel h3 { font-size:17px; }
  .hero-analysis-panel article>p { font-size:8.5px; margin-top:5px; }
  .analysis-integrity,.analysis-timeline { margin-top:9px; }
  .analysis-timeline { height:15px; }
  .analysis-correlation { margin-top:10px; }
}
@media(max-height:649px) {
  .cinematic-hero.hero-cinematic-ready,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) { height:auto; }
  .hero-cinematic-ready .hero-stage,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) .hero-stage { position:relative; }
  .cinematic-hero .hero-stage { height:780px; min-height:780px; }
}
@media(prefers-reduced-motion:reduce) { .hero-still,#hero-cinematic-root { transition:none!important; } }
@media print { .cinematic-hero,.cinematic-hero.hero-cinematic-ready,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) { height:auto; }.cinematic-hero .hero-stage,.cinematic-motion .cinematic-hero:not(.hero-cinematic-fallback) .hero-stage { min-height:0; height:auto; position:relative; padding:40px; }.cinematic-visual,.cinematic-hero .hero-blueprint,.hero-chapters,.hero-shot-copy,.hero-analysis-panel { display:none; }.cinematic-hero .hero-content { opacity:1; transform:none; } }
