/* The native photograph is reserved for an explicit static fallback. */
.forensic-feature { padding:0; overflow:clip; }
/* Match the final layout before modules arrive; keep the heading readable while
   the complete WebGL frame is prepared instead of swapping an unrelated photo. */
#about .forensic-feature-copy h2.reveal { opacity:1; transform:none; transition:none; }
.cinematic-motion #about:not(.forensic-disk-fallback) .forensic-still { opacity:0; visibility:hidden; transition:none; }
.cinematic-motion #about:not(.forensic-disk-fallback) .evidence-scan { display:none; }
.forensic-sticky { position:relative; min-height:850px; padding:30px var(--gutter) 0; overflow:hidden; isolation:isolate; }
#forensic-disk-root { position:absolute; inset:45px -5% 60px 33%; opacity:0; visibility:hidden; transition:opacity .6s; }
#forensic-disk-root canvas { display:block; width:100%; height:100%; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) { height:600svh; min-height:3400px; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { position:sticky; top:0; height:100svh; min-height:710px; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-art { inset:0; background:radial-gradient(ellipse at 73% 46%,#14304770,transparent 52%),#050b14; }
.forensic-disk-ready #forensic-disk-root { opacity:1; visibility:visible; }
.forensic-disk-fallback #forensic-disk-root { opacity:0; visibility:hidden; transition:none; }
.forensic-disk-ready .forensic-still { opacity:0; visibility:hidden; transition:none; }
.forensic-disk-ready .evidence-scan { display:none; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-art::after { background:linear-gradient(90deg,#050b14e6,#050b1460 31%,transparent 51%),linear-gradient(0deg,#050b14,transparent 13%,transparent 89%,#050b14); }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy { padding-top:clamp(60px,12svh,125px); }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .section-label { top:68px; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .evidence-caption { bottom:174px; right:var(--gutter); z-index:2; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-principles { bottom:28px; z-index:2; }
.disk-part-label { position:absolute; left:0; top:0; width:174px; max-width:174px; color:#9ec8df; font:7px var(--mono); letter-spacing:.11em; white-space:nowrap; padding:5px 8px; border-left:1px solid #70c5e485; background:#06101bbb; opacity:0; transform:translate(0,-50%); pointer-events:none; overflow:hidden; }
.disk-part-label span,.disk-part-label small { display:block; overflow:hidden; text-overflow:ellipsis; }
.disk-part-label small { color:#658da4; font:6px var(--mono); letter-spacing:.06em; margin-top:4px; }
.storage-chapter-copy { margin-top:22px; max-width:375px; }
.storage-chapter-copy .eyebrow { font-size:8px; color:#83cced; margin-bottom:9px; }
.storage-chapter-copy h3 { font-size:20px; line-height:1.25; letter-spacing:-.03em; color:#deebf4; }
.storage-chapter-copy>p:not(.eyebrow) { font-size:11px; color:#9fb7c9; line-height:1.7; margin-top:9px; }
.storage-toolbar { position:absolute; display:flex; justify-content:flex-end; align-items:center; bottom:102px; left:var(--gutter); right:var(--gutter); z-index:3; gap:22px; }
:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-toolbar { position:absolute; display:flex; justify-content:space-between; align-items:center; bottom:102px; left:var(--gutter); right:var(--gutter); z-index:3; gap:22px; }
.storage-controls { display:none; gap:15px; }
.forensic-disk-ready .storage-controls { display:flex; }
.storage-controls button { padding:9px 0 12px; font:9px var(--mono); letter-spacing:.07em; color:#7290a8; border-bottom:1px solid #6caacc30; }
.storage-controls button>span { font-size:7px; margin-right:8px; color:#4e718e; }
.storage-controls button.active { color:#b2e8ff; border-bottom-color:#76d7ff; }
.storage-controls button:hover { color:#d4f1ff; }
.storage-toolbar .motion-toggle { font-size:8px; }
@media(min-width:801px) and (max-width:1100px) {
  #forensic-disk-root { inset:40px -10% 70px 35%; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy { max-width:365px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy h2 { font-size:65px; }
}
@media(min-width:801px) and (max-height:850px) {
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy { padding-top:50px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy h2 { font-size:clamp(57px,5.2vw,72px); }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p:not(.eyebrow) { margin-top:17px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .evidence-caption { bottom:159px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy { margin-top:17px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy h3 { font-size:17px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>.eyebrow { opacity:0; }
}
@media(max-width:800px), (max-width:1100px) and (orientation:portrait) {
  .forensic-sticky { min-height:1100px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) { height:620svh; min-height:3500px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { min-height:0; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-art { inset:0; }
  #forensic-disk-root { inset:408px -7% 192px -7%; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy { padding-top:26px; max-width:580px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .section-label { top:45px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>.eyebrow { margin-bottom:13px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>.eyebrow { opacity:0; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy h2 { font-size:49px; line-height:1.02; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p:not(.eyebrow) { margin-top:16px; font-size:11px; line-height:1.6; max-width:365px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-intro { display:none; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p+p:not(.eyebrow) { margin-top:10px; font-size:10px; max-width:365px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy .button { margin-top:15px; font-size:9px; padding:11px 14px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-art::after { background:linear-gradient(180deg,#050b14,transparent 42%,transparent 80%,#050b14); }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .evidence-caption { left:var(--gutter); right:auto; bottom:175px; font-size:6px; gap:6px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .evidence-caption span:last-child { font-size:5px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-principles { bottom:20px; padding-top:17px; font-size:8px; row-gap:11px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-principles b { font-size:7px; margin-right:7px; }
  .disk-part-label { display:none; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy { max-width:365px; margin-top:16px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy .eyebrow { font-size:7px; margin-bottom:7px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy h3 { font-size:17px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-chapter-copy>p:not(.eyebrow) { font-size:10px; line-height:1.6; margin-top:7px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .storage-toolbar { bottom:80px; flex-wrap:wrap; gap:2px; }
  .storage-controls { width:100%; justify-content:space-between; gap:9px; }
  .storage-controls button { font-size:8px; padding-bottom:9px; }
  .storage-controls button>span { font-size:6px; margin-right:5px; }
  .storage-toolbar .motion-toggle { margin-left:auto; padding:5px 0; font-size:7px; }
}
@media(max-width:480px) {
  .forensic-sticky { min-height:1080px; padding-top:25px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { min-height:0; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .section-label { font-size:6px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy h2 { font-size:44px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p:not(.eyebrow) { max-width:315px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p+p:not(.eyebrow) { max-width:300px; }
  #forensic-disk-root { inset:414px -11% 192px -11%; }
}
@media(max-width:360px) {
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy h2 { font-size:40px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-feature-copy>p+p:not(.eyebrow) { max-width:270px; }
  #forensic-disk-root { inset:414px -12% 193px -12%; }
}
@media(max-height:700px) {
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) { height:auto; min-height:850px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { position:relative; height:850px; min-height:850px; }
}
@media(max-width:800px) and (max-height:700px) {
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)),:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { min-height:1000px; height:1000px; }
  #forensic-disk-root { inset:420px -8% 190px -8%; }
}
@media(max-width:800px) and (min-height:701px) and (max-height:780px) {
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)),:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { min-height:1050px; height:1050px; }
  :is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { position:relative; }
  #forensic-disk-root { inset:420px -8% 190px -8%; }
}
@media print {
  .forensic-feature,:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) { height:auto; min-height:0; }
  .forensic-sticky,:is(.forensic-disk-active,.cinematic-motion #about:not(.forensic-disk-fallback)) .forensic-sticky { position:static; height:auto; min-height:0; padding:35px 0; }
  #forensic-disk-root,.disk-part-label { display:none; }
}
