/* Hero sequencing and visual depth. This layer loads after all legacy styles. */
@media (min-width: 761px) {
  .hero { display:block; min-height:0; padding:104px 0 54px; }
  .hero-copy { max-width:1200px; margin-bottom:42px; }
  .hero h1 { max-width:1000px; font-size:clamp(52px,5.4vw,76px); }
  .hero-capture { width:100%; max-width:none; position:relative; isolation:isolate; }
}
.hero { position:relative; isolation:isolate; }
.hero-capture::before { content:""; position:absolute; z-index:-1; pointer-events:none; left:50%; bottom:-54px; width:100vw; height:calc(72% + 54px); background:radial-gradient(ellipse 92% 88% at 50% 100%,rgba(109,157,255,.54) 0%,rgba(109,157,255,.27) 42%,rgba(109,157,255,0) 84%); opacity:0; transform:translateX(-50%) translateY(12px) scale(.96); transition:opacity 720ms ease,transform 720ms ease; }
.motion-enabled .hero-capture.reveal.is-visible::before { opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
.hero-ctas.blur-reveal-ready { animation-delay:var(--hero-actions-delay,0ms); }
@media (prefers-reduced-motion:reduce) { .hero-capture::before { opacity:.65; transform:translateX(-50%); transition:none; } }
.faq-item summary { position:relative; padding-right:42px; }
.faq-item summary::after { content:"+"; position:absolute; right:0; top:50%; display:grid; width:24px; height:24px; place-items:center; color:var(--accent); font:20px/1 var(--font-mono); transform:translateY(-50%) rotate(0deg); transition:transform 180ms ease,color 180ms ease; }
.faq-item[open] summary::after { content:"+"; transform:translateY(-50%) rotate(45deg); }
@media (prefers-reduced-motion:reduce) { .faq-item summary::after { transition:none; } }
.hero-capture { padding:0; background:transparent; border:0; box-shadow:none; }
.hero-capture img { border:0; border-radius:18px; box-shadow:0 32px 76px -36px rgba(0,0,0,.82); }
.how .product-capture, .resolution .product-capture { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; max-width:none; }
.how .product-capture img { border:0; border-radius:18px; box-shadow:0 32px 76px -36px rgba(0,0,0,.82); }
/* Resolution breaks the rhythm with an editorial split and a focused product crop. */
.resolution .split { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(40px,6vw,88px); align-items:center; }
.resolution .split > div { order:-1; max-width:460px; }
.resolution .resolution-capture { width:100%; }
.resolution-capture .capture-viewport { overflow:hidden; aspect-ratio:3/2; border-radius:18px; box-shadow:0 32px 76px -36px rgba(0,0,0,.82); }
.resolution-capture img { width:100%; height:100%; object-fit:cover; object-position:left center; border:0; border-radius:0; box-shadow:none; }
@media (max-width:760px) { .resolution .split { grid-template-columns:1fr; gap:32px; } .resolution .split > div { order:0; max-width:none; } }
