/* ═══════════════════════════════════════════════════════════════
   HELM landing — CINEMATIC UNVEIL v2
   Curtain iris-out · word-mask headline · pinned scenes ·
   section-intro scribe lines · scroll progress rail
═══════════════════════════════════════════════════════════════ */

html { scroll-behavior: smooth; }

:root {
  --ease-cine: cubic-bezier(.16,.84,.3,1);
  --ease-expo: cubic-bezier(.19,1,.22,1);
  --ease-soft: cubic-bezier(.2,.65,.2,1);
  --ox: var(--oxblood, #6b1a1a);
  --oxd: var(--oxblood-deep, #4a0f0f);
}

/* ═══════════════════════════════════════════════════════════
   1. COLD OPEN — Full-viewport curtain with iris-out
═══════════════════════════════════════════════════════════ */

#curtain {
  position: fixed; inset: 0;
  z-index: 9999;
  background: #1a0b08;
  display: grid; place-items: center;
  pointer-events: none;
  will-change: opacity;
  animation: curtainFade 1.0s ease 2.0s forwards;
}
.curtain-glyph {
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  opacity: 0;
  transform: scale(.85);
  animation:
    curtainGlyphIn .9s var(--ease-cine) .15s forwards,
    curtainGlyphOut .6s var(--ease-cine) 1.85s forwards;
}
.curtain-glyph svg { overflow: visible; }
.curtain-glyph svg polygon {
  fill: #c8983a;
  opacity: 0;
  animation: glyphFill 1.1s var(--ease-cine) forwards;
}
.curtain-glyph svg polygon:nth-child(1) { animation-delay: .20s; }
.curtain-glyph svg polygon:nth-child(2) { animation-delay: .32s; }
.curtain-glyph svg polygon:nth-child(3) { animation-delay: .44s; }
.curtain-glyph .glyph-fat { fill: #e8b96d; }
.curtain-label {
  font-family: var(--f-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: .42em;
  color: rgba(232,185,109,.55);
  text-transform: uppercase;
  opacity: 0;
  animation: labelIn .9s ease .65s forwards;
}
.curtain-sweep {
  position: absolute; inset: 0;
  background: linear-gradient(100deg, transparent 38%, rgba(255,240,210,.18) 50%, transparent 62%);
  transform: translateX(-100%);
  animation: sweep 1.8s var(--ease-expo) 1.3s forwards;
}
@keyframes curtainFade {
  to { opacity: 0; }
}
@keyframes curtainGlyphIn  { to { opacity: 1; transform: scale(1); } }
@keyframes curtainGlyphOut { to { opacity: 0; transform: scale(1.6); filter: blur(14px); } }
@keyframes glyphFill       { to { opacity: 1; } }
@keyframes labelIn         { to { opacity: 1; } }
@keyframes sweep           { to { transform: translateX(120%); } }

/* Prevent scroll during the cold-open */
html.curtain-active, html.curtain-active body { overflow: hidden; }

/* ═══════════════════════════════════════════════════════════
   2. HERO — headline word-mask reveal + visual launch
═══════════════════════════════════════════════════════════ */

/* Hide real lead-atom until stage-atom hands off */

/* Lead-atom: position, orbits, core, and its own little animations */
.hero .lead .lead-rule .lead-atom {
  position: absolute;
  top: -26px;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translateX(-50%);
  overflow: visible;
  filter: drop-shadow(0 0 10px rgba(107,26,26,.22));
}
.hero .lead .lead-atom .la-orbits {
  transform-origin: 22px 22px;
  animation: leadAtomSpin 14s linear infinite;
}
.hero .lead .lead-atom .la-orbits ellipse {
  fill: none;
  stroke: var(--ox, #6b1a1a);
  stroke-width: 1.1;
  opacity: .9;
}
.hero .lead .lead-atom .la-core {
  fill: var(--ox, #6b1a1a);
  transform-origin: 22px 22px;
  animation: leadAtomPulse 3.2s ease-in-out infinite;
}
@keyframes leadAtomSpin { to { transform: rotate(360deg); } }
@keyframes leadAtomPulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.35); }
}

.hero { position: relative; overflow: hidden; }

/* Light sweep across hero after curtain lifts */
.hero::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 40%, rgba(255,240,210,.55) 50%, transparent 60%);
  transform: translateX(-100%);
  opacity: 0;
  z-index: 1;
  mix-blend-mode: screen;
}
.hero.rv-hero-sweep::before { animation: heroSweep 2.2s var(--ease-expo) .15s forwards; }
@keyframes heroSweep {
  0%   { transform: translateX(-100%); opacity: 0; }
  30%  { opacity: .9; }
  100% { transform: translateX(120%); opacity: 0; }
}

/* Word-mask headline: each word slides up out of a clipped row */
.hero h1 { opacity: 0; }
.hero h1.rv-ready { opacity: 1; }
.hero h1 .word-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  line-height: .95;
  padding-bottom: .05em;
}
.hero h1 .word {
  display: inline-block;
  transform: translate3d(0, 110%, 0) scale(1.08);
  filter: blur(14px);
  opacity: 0;
  will-change: opacity, transform, filter;
  transition:
    transform 1.4s var(--ease-expo),
    opacity 1.2s var(--ease-cine),
    filter 1.2s var(--ease-cine);
}
.hero h1 .word.em { color: var(--ox); font-style: italic; }
.hero h1.rv-hero .word { opacity: 1; transform: none; filter: none; }
.hero h1.rv-hero .word:nth-child(1)  { transition-delay: .10s; }
.hero h1.rv-hero .word:nth-child(2)  { transition-delay: .22s; }
.hero h1.rv-hero .word:nth-child(3)  { transition-delay: .34s; }
.hero h1.rv-hero .word:nth-child(4)  { transition-delay: .46s; }
.hero h1.rv-hero .word:nth-child(5)  { transition-delay: .58s; }
.hero h1.rv-hero .word:nth-child(6)  { transition-delay: .70s; }
.hero h1.rv-hero .word:nth-child(7)  { transition-delay: .82s; }
.hero h1.rv-hero .word:nth-child(8)  { transition-delay: .94s; }

/* Kicker inscribes like a line of code */
.hero .kicker {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  filter: blur(4px);
  position: relative;
}
.hero .kicker.rv-hero-a {
  animation: kickerIn .9s var(--ease-cine) 0s forwards;
}
@keyframes kickerIn { to { opacity: 1; transform: none; filter: none; } }

.hero .lead, .hero .hero-ctas, .hero .hero-meta {
  opacity: 0;
  transform: translate3d(0, 32px, 0) scale(.98);
  filter: blur(10px);
}
.hero .lead.rv-hero-a      { animation: heroRise 1.5s var(--ease-cine) 1.15s forwards; }
.hero .hero-ctas.rv-hero-a { animation: heroRise 1.5s var(--ease-cine) 1.40s forwards; }
.hero .hero-meta.rv-hero-a { animation: heroRise 1.5s var(--ease-cine) 1.60s forwards; }
@keyframes heroRise {
  from { opacity: 0; transform: translate3d(0, 32px, 0) scale(.98); filter: blur(10px); }
  to   { opacity: 1; transform: none; filter: none; }
}

/* Hero LEAD — pull-quote treatment */
.hero .lead {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 22px;
  align-items: stretch;
  max-width: 54ch;
}
.hero .lead .lead-rule {
  width: 2px;
  background: linear-gradient(180deg, var(--ox, #6b1a1a) 0%, rgba(107,26,26,.35) 70%, transparent 100%);
  position: relative;
  margin-top: 6px;
  margin-bottom: 6px;
}
.hero .lead .lead-rule::before {
  content: "";
  position: absolute;
  top: -2px; left: -4px;
  width: 10px; height: 10px;
  background: var(--ox, #6b1a1a);
  transform: rotate(45deg);
}
.hero .lead .lead-body { min-width: 0; }
.hero .lead .lead-head {
  font-family: var(--f-display, "DM Serif Display", Georgia, serif);
  font-weight: 400;
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.18;
  letter-spacing: -.01em;
  color: var(--ink, #2a1010);
  margin: 0;
  text-wrap: balance;
}
.hero .lead .lead-head em {
  font-style: italic;
  color: var(--ox, #6b1a1a);
}
.hero .lead .lead-sub {
  margin: 16px 0 0;
  font-family: var(--f-body, "Host Grotesk", system-ui, sans-serif);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-soft, rgba(42,16,16,.72));
  max-width: 46ch;
  text-wrap: pretty;
}
.hero .lead .lead-sub em {
  font-style: italic;
  color: var(--ink, #2a1010);
  font-weight: 500;
  background-image: linear-gradient(180deg, transparent 68%, rgba(200,152,58,.38) 68%, rgba(200,152,58,.38) 92%, transparent 92%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 0 2px;
}
@media (max-width: 780px) {
  .hero .lead { column-gap: 16px; }
  .hero .lead .lead-head { font-size: 24px; }
  .hero .lead .lead-sub { font-size: 16px; }
}

/* Hero visual: dramatic unveil */
.hero-visual {
  opacity: 0;
  transform: translate3d(0, 60px, 0) scale(1.35);
  filter: blur(28px) brightness(1.1);
}
.hero-visual.rv-hero-v {
  animation: heroVisualUnveil 2.6s var(--ease-cine) .45s forwards;
}
@keyframes heroVisualUnveil {
  from { opacity: 0; transform: translate3d(0, 60px, 0) scale(1.35); filter: blur(28px) brightness(1.1); }
  to   { opacity: 1; transform: none; filter: none; }
}

/* Orbit rings draw themselves on intro */
.hero-orbit svg circle, .hero-orbit svg ellipse, .hero-orbit svg line {
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: drawStroke 2.4s var(--ease-expo) .5s forwards;
}
.hero-orbit svg circle:nth-of-type(2) { animation-delay: .75s; }
.hero-orbit svg circle:nth-of-type(3) { animation-delay: 1.00s; }
.hero-orbit svg ellipse:nth-of-type(2) { animation-delay: 1.20s; }
.hero-orbit svg ellipse:nth-of-type(3) { animation-delay: 1.35s; }
.hero-orbit svg line { animation-delay: 1.55s; animation-duration: 1.8s; }
@keyframes drawStroke { to { stroke-dashoffset: 0; } }

/* Scroll-scrub: grand parallax */
.hero-orbit {
  transform: translate3d(0, var(--ph, 0px), 0) rotate(var(--pr, 0deg)) scale(var(--ps, 1));
  transition: transform .05s linear;
  will-change: transform;
}
.hero-card-wrap {
  transform: translate3d(0, var(--cph, 0px), 0) scale(var(--cps, 1));
  transition: transform .05s linear;
  will-change: transform;
}
.hero-orbit > svg { animation: orbitSpin 80s linear infinite, orbitPulse 6s ease-in-out infinite; transform-origin: 50% 50%; }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes orbitPulse { 0%,100% { filter: drop-shadow(0 0 0 rgba(107,26,26,0)); } 50% { filter: drop-shadow(0 0 28px rgba(107,26,26,.22)); } }
.hero-card-wrap .helmcard { animation: chipFloat 8s ease-in-out infinite; animation-delay: 2.2s; }
@keyframes chipFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* ═══════════════════════════════════════════════════════════
   3. SECTION INTROS — scribe line + blur-rise
═══════════════════════════════════════════════════════════ */

/* A precision line drawn above each section head on first entry */
.sec-head { position: relative; }
.sec-head::before {
  content: "";
  position: absolute;
  top: -18px; left: 0;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--ox) 0%, rgba(107,26,26,.15) 100%);
  transform-origin: left center;
  transition: width 1.6s var(--ease-expo);
}
.sec-head.rv-in::before { width: 38%; }

.sec-head .lft, .sec-head .rgt {
  opacity: 0;
  transform: translate3d(0, 48px, 0) scale(.985);
  filter: blur(14px);
  transition:
    opacity 1.5s var(--ease-cine) .15s,
    transform 1.7s var(--ease-expo) .15s,
    filter 1.4s var(--ease-cine) .15s;
}
.sec-head.rv-in .lft { opacity: 1; transform: none; filter: none; }
.sec-head.rv-in .rgt { opacity: 1; transform: none; filter: none; transition-delay: .38s; }

/* h2 glow sweep on reveal */
.sec-head .lft h2 { position: relative; overflow: hidden; }
.sec-head.rv-in .lft h2::after {
  content: "";
  position: absolute; inset: -4px -10px;
  background: linear-gradient(100deg, transparent 30%, rgba(200,152,58,.28) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: headGlow 1.8s var(--ease-expo) .55s forwards;
  pointer-events: none;
  mix-blend-mode: multiply;
}
@keyframes headGlow { to { transform: translateX(120%); opacity: 0; } }

/* Kickers inside section heads inscribe from left */
.sec-head .lft .kicker {
  position: relative;
  display: inline-block;
  padding-left: 0;
}

/* ═══════════════════════════════════════════════════════════
   4. CARD GRIDS — heavy staggered reveal
═══════════════════════════════════════════════════════════ */
.demo-grid > *, .arch-grid .arch, .dl-block > *, .usecase-grid .uc-cell {
  opacity: 0;
  transform: translate3d(0, 64px, 0) scale(.94);
  filter: blur(16px);
  transition:
    opacity 1.3s var(--ease-cine),
    transform 1.6s var(--ease-expo),
    filter 1.3s var(--ease-cine);
}
.demo-grid.rv-in > *, .arch-grid.rv-in .arch, .dl-block.rv-in > *, .usecase-grid.rv-in .uc-cell {
  opacity: 1; transform: none; filter: none;
}
.demo-grid.rv-in > *:nth-child(2), .arch-grid.rv-in .arch:nth-child(2), .dl-block.rv-in > *:nth-child(2), .usecase-grid.rv-in .uc-cell:nth-child(2) { transition-delay: .22s; }
.demo-grid.rv-in > *:nth-child(3), .arch-grid.rv-in .arch:nth-child(3), .dl-block.rv-in > *:nth-child(3), .usecase-grid.rv-in .uc-cell:nth-child(3) { transition-delay: .44s; }
.arch-grid.rv-in .arch:nth-child(4), .usecase-grid.rv-in .uc-cell:nth-child(4) { transition-delay: .66s; }
.usecase-grid.rv-in .uc-cell:nth-child(5) { transition-delay: .88s; }

/* Download CTA "materialize pop" */
.dl-block .btn-primary {
  box-shadow: 0 0 0 rgba(107,26,26,0);
  transition: box-shadow .8s var(--ease-cine), transform .6s var(--ease-expo);
}
.dl-block.rv-in .btn-primary {
  animation: ctaPop 1.1s var(--ease-expo) .4s both;
}
@keyframes ctaPop {
  0%   { transform: scale(.7);  box-shadow: 0 0 0 0 rgba(107,26,26,0); }
  60%  { transform: scale(1.04); box-shadow: 0 20px 40px -10px rgba(107,26,26,.45); }
  100% { transform: scale(1);    box-shadow: 0 12px 28px -8px rgba(107,26,26,.32); }
}

/* ═══════════════════════════════════════════════════════════
   5. DIVIDER MARK — theatrical draw
═══════════════════════════════════════════════════════════ */
.divider-mark .line {
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 2s var(--ease-expo);
}
.divider-mark.rv-in .line { transform: scaleX(1); }
.divider-mark .sym {
  opacity: 0;
  transform: scale(.3) rotate(-90deg);
  transition: opacity 1s ease .7s, transform 1.3s var(--ease-expo) .65s;
}
.divider-mark.rv-in .sym { opacity: 1; transform: none; }

/* ═══════════════════════════════════════════════════════════
   6. HEADER on scroll
═══════════════════════════════════════════════════════════ */
.hdr { transition: border-color .4s, box-shadow .5s, background .5s; }
.hdr.scrolled {
  background: rgba(247,240,224,.94);
  box-shadow: 0 1px 0 rgba(255,255,255,.45) inset, 0 14px 36px rgba(74,38,22,.14);
}

/* Atomic small marks */
.atomic-small { transform-origin: center; transform: rotate(var(--ar, 0deg)); transition: transform .1s linear; }

/* ═══════════════════════════════════════════════════════════
   7. SCROLL-LINKED PINNED SCENES (ethos + retro)
═══════════════════════════════════════════════════════════ */

.scroll-scene {
  position: relative;
  min-height: calc(var(--scene-count, 3) * 115vh + 40vh);
  --p: 0;
}
.scroll-scene .scene-stage {
  position: sticky;
  top: 8vh;
  height: 84vh;
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: flex-start;
}
.scroll-scene .scene-head {
  transform: translate3d(0, calc(var(--p) * -36px), 0);
  opacity: calc(1 - var(--p) * 0.2);
}

.scene-deck { position: relative; flex: 1; min-height: 0; }

/* Radial light pulse behind focused card */
.scene-deck::before {
  content: "";
  position: absolute;
  inset: -10%;
  background: radial-gradient(circle at 50% 55%, rgba(200,152,58,.22) 0%, transparent 55%);
  opacity: calc(.3 + var(--p) * 0.7);
  pointer-events: none;
  z-index: 0;
  filter: blur(8px);
  transition: opacity .6s ease;
}

.scene-progress {
  position: absolute;
  top: -4px; left: 0; right: 0;
  display: flex;
  gap: 18px;
  justify-content: center;
  z-index: 3;
}
.sp-dot {
  width: 64px; height: 2px;
  background: rgba(107,26,26,.18);
  transition: background .8s var(--ease-cine), transform .8s var(--ease-cine);
}
.sp-dot.on { background: rgba(107,26,26,.92); transform: scaleY(2.4); }

.scene-cards {
  position: absolute;
  inset: 44px 0 0 0;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0;
  place-items: center;
  z-index: 2;
}
.scene-cards .scene-card {
  grid-area: 1 / 1;
  width: min(860px, 92%);
  opacity: var(--op, 0);
  transform: translate3d(0, var(--ty, 100px), 0) scale(var(--sc, .78)) rotate(var(--rt, 0deg));
  filter: blur(var(--bl, 28px));
  transition: none;
  will-change: opacity, transform, filter;
  pointer-events: none;
}
.scene-cards .scene-card.focus { pointer-events: auto; }

/* GIANT numerals behind retro cards */
.retro-numeral-stack {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 0;
  pointer-events: none;
}
.retro-numeral-stack .rn {
  grid-area: 1 / 1;
  font-family: var(--serif, 'Cormorant Garamond', 'EB Garamond', serif);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(320px, 52vw, 780px);
  line-height: .76;
  color: rgba(107,26,26,.12);
  letter-spacing: -.05em;
  opacity: var(--op, 0);
  transform: scale(var(--sc, .68)) translate3d(0, var(--ty, 80px), 0);
  filter: blur(var(--bl, 12px));
  transition: none;
  will-change: opacity, transform, filter;
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.scene-retro .scene-cards .scene-card {
  position: relative;
  z-index: 1;
  background: rgba(247,240,224,.82);
  backdrop-filter: blur(4px);
  box-shadow: 0 40px 100px -40px rgba(107,26,26,.32);
}

/* GIANT numerals behind ethos cards too (01, 02, 03) */
.scene-ethos .scene-deck::after {
  content: attr(data-current);
  position: absolute;
  inset: 20% 0 0 0;
  text-align: center;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(260px, 40vw, 580px);
  line-height: .8;
  color: rgba(107,26,26,.08);
  letter-spacing: -.05em;
  pointer-events: none;
  z-index: 0;
  transition: opacity .5s ease;
}

@media (max-width: 780px) {
  .scroll-scene { min-height: calc(var(--scene-count, 3) * 98vh + 28vh); }
  .scroll-scene .scene-stage { height: 90vh; }
  .scene-cards .scene-card { width: 94%; }
  .retro-numeral-stack .rn { font-size: clamp(200px, 62vw, 380px); }
  .scene-ethos .scene-deck::after { font-size: clamp(180px, 52vw, 340px); }
}

/* ═══════════════════════════════════════════════════════════
   8. SCROLL PROGRESS RAIL (right edge)
═══════════════════════════════════════════════════════════ */
#scroll-rail {
  position: fixed;
  top: 0;
  right: 28px;
  height: 100vh;
  width: 2px;
  z-index: 900;
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
}
#scroll-rail.on { opacity: .9; }
.rail-line {
  position: absolute;
  left: 0; right: 0;
  top: 20vh; bottom: 20vh;
  background: rgba(107,26,26,.12);
}
.rail-fill {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: var(--rf, 0%);
  background: linear-gradient(180deg, var(--ox), var(--oxd));
  transition: height .12s linear;
}

@media (max-width: 780px) { #scroll-rail { display: none; } }

/* ═══════════════════════════════════════════════════════════
   9. "Try a question" + chips
═══════════════════════════════════════════════════════════ */
.try-grand {
  font-family: var(--serif, 'Cormorant Garamond', 'EB Garamond', Georgia, serif);
  font-weight: 400;
  font-size: clamp(48px, 5.2vw, 80px);
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--ink, #2a1810);
  margin: 0 0 28px;
}
.try-grand em { font-style: italic; color: var(--ox); }

.demo-side .note {
  display: block;
  font-family: var(--f-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-soft, rgba(74,38,22,.62));
  margin: 22px 0 14px;
}
.chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }
.chip {
  appearance: none;
  border: 1px solid rgba(107,26,26,.35);
  background: var(--paper, #f7f0e0);
  color: var(--ink, #2a1810);
  font-family: var(--f-display, 'Cormorant Garamond', Georgia, serif);
  font-size: 19px;
  font-weight: 500;
  padding: 12px 22px 13px;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex; align-items: center;
  box-shadow: 0 1px 0 rgba(255,255,255,.55) inset, 0 2px 0 rgba(107,26,26,.08), 0 6px 14px -6px rgba(107,26,26,.18);
  transition: transform .3s var(--ease-soft), box-shadow .35s var(--ease-soft), background .35s ease, color .25s ease, border-color .25s ease;
}
.chip:hover { transform: translateY(-1.5px); border-color: rgba(107,26,26,.6); box-shadow: 0 1px 0 rgba(255,255,255,.55) inset, 0 2px 0 rgba(107,26,26,.1), 0 10px 22px -8px rgba(107,26,26,.28); }
.chip:active { transform: translateY(0); }
.chip:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(107,26,26,.18), 0 1px 0 rgba(255,255,255,.55) inset, 0 10px 22px -8px rgba(107,26,26,.28); }
.chip.on {
  background: linear-gradient(180deg, var(--ox) 0%, var(--oxd) 100%);
  color: #f4e3c4;
  border-color: var(--oxd);
  box-shadow: 0 1px 0 rgba(255,255,255,.12) inset, 0 2px 0 rgba(0,0,0,.08), 0 12px 24px -8px rgba(107,26,26,.45), 0 0 0 1px rgba(107,26,26,.25);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   Reduced motion — disable the theater
═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  #curtain { display: none !important; }
  html.curtain-active, html.curtain-active body { overflow: auto !important; }

  .hero h1, .hero h1 .word, .hero .kicker, .hero .lead, .hero .hero-ctas, .hero .hero-meta, .hero-visual,
  .sec-head .lft, .sec-head .rgt,
  .demo-grid > *, .arch-grid .arch, .dl-block > *, .usecase-grid .uc-cell,
  .divider-mark .line, .divider-mark .sym {
    opacity: 1 !important; transform: none !important; filter: none !important; animation: none !important;
  }
  .hero::before, .sec-head::before { display: none !important; }
  .hero-orbit svg circle, .hero-orbit svg ellipse, .hero-orbit svg line { stroke-dasharray: 0 !important; stroke-dashoffset: 0 !important; animation: none !important; }
  .hero-orbit > svg, .hero-card-wrap .helmcard { animation: none !important; }
  .sec-head.rv-in .lft h2::after { display: none !important; }
  .dl-block.rv-in .btn-primary { animation: none !important; }

  .scroll-scene { min-height: 0 !important; }
  .scroll-scene .scene-stage { position: static !important; height: auto !important; }
  .scene-cards { position: static !important; inset: auto !important; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap: 22px !important; }
  .scene-cards .scene-card { position: static !important; width: auto !important; opacity: 1 !important; transform: none !important; filter: none !important; }
  .retro-numeral-stack, .scene-progress, .scene-deck::before, .scene-ethos .scene-deck::after { display: none !important; }

  #scroll-rail { display: none !important; }
  html { scroll-behavior: auto; }
  .chip { transition: none !important; }
}
