.opening.opening-cinematic { height: 100svh; background: #0c0e0f; }
html[data-motion="full"] .opening.opening-cinematic { height: 430svh; }
.opening-cinematic .opening-stage { min-height: 0; height: 100svh; background: radial-gradient(ellipse at 63% 38%, #292a28 0%, #111516 45%, #0c0e0f 85%); }
.opening-canvas,.opening-fallback,.opening-eye-frame,.opening-edge-light { position:absolute; inset:0; width:100%; height:100%; }
.opening-canvas { display:block; opacity:0;  pointer-events:none; }
.opening-cinematic[data-ready="true"] .opening-canvas { opacity:1; }
.opening-fallback { display:flex; justify-content:center; align-items:flex-end; overflow:hidden;  }
.opening-fallback img { width:auto; height:95%; max-width:none; object-fit:contain; mask-image:linear-gradient(#000 80%,transparent); }
.opening-cinematic[data-ready="true"] .opening-fallback { opacity:0; }
.opening-eye-frame { overflow:hidden; opacity:0; pointer-events:none; z-index:2; transition:opacity .12s ease-in-out; }
.opening-eye-frame img { position:absolute; width:auto; max-width:none; height:auto; transform-origin:0 0; }
.opening-edge-light { display:none; }
.opening-caption { position:absolute; z-index:4; left:var(--gutter); top:17%; display:flex; flex-direction:column; gap:14px; pointer-events:none; }
.opening-caption .display { font-size:clamp(40px,4.7vw,78px); line-height:.98; letter-spacing:-.025em; }
.opening-kicker { font-size:11px; letter-spacing:.16em; color:#c2c5c4; font-weight:600; }
.opening-scroll { position:absolute; right:var(--gutter); bottom:8%; z-index:4; display:flex; align-items:center; gap:28px; font-size:10px; letter-spacing:.14em; color:#d2d5d3; text-decoration:none; }
.opening-scroll span:last-child { font-size:22px; }
.opening-review { box-sizing:border-box; width:min(680px,calc(100% - 24px)); position:fixed; z-index:101; bottom:18px; left:50%; transform:translateX(-50%); padding:12px 18px; border:1px solid #ffffff26; background:#101516e8; backdrop-filter:blur(12px); display:flex; gap:16px; align-items:center; color:#fff; border-radius:4px; font-size:12px; }
.opening-review input { flex:1; width:auto; min-width:0; max-width:400px; accent-color:#ef5b30; }
.opening-review button { padding:5px 9px; background:none; border:1px solid #ffffff40; color:#fff; cursor:pointer; }
html:not([data-motion="full"]) .opening-cinematic .opening-stage { position:relative; }
html:not([data-motion="full"]) .opening-cinematic .opening-canvas,html:not([data-motion="full"]) .opening-eye-frame { display:none; }
html:not([data-motion="full"]) .opening-cinematic .opening-fallback { opacity:1; }
@media(max-width:700px) {
  html[data-motion="full"] .opening.opening-cinematic { height:400svh; }
  .opening-caption { top:14%; gap:10px; }
  .opening-caption .display { font-size:clamp(34px,8.5vw,58px); }
  .opening-kicker { font-size:9px; }
  .opening-review { gap:8px; padding:12px 10px; }
  .opening-scroll { right:6%; bottom:9%; }
  .opening-scroll span:first-child { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-motion="full"] .opening.opening-cinematic { height:100svh; }
  .opening-cinematic .opening-stage { position:relative; }
  .opening-canvas,.opening-eye-frame { display:none; }
  .opening-cinematic .opening-fallback { opacity:1; }
}

html[data-motion="full"] .opening.opening-cinematic[data-ready="failed"] { height:100svh; }
.opening-cinematic[data-ready="failed"] .opening-stage { position:relative; }
