/* Story Engine Runtime v2 foundation */
.se-runtime-v2 {
  --se-v2-bg:#0d151d;
  --se-v2-ink:#f4f8fb;
  --se-v2-soft:#c3d0d8;
  --se-v2-muted:#8aa2b0;
  --se-v2-teal:#99d9d9;
  --se-v2-blue:#66aee8;
  background:
    radial-gradient(circle at 50% 18%, rgba(153,217,217,.14), transparent 42%),
    linear-gradient(180deg,#14202b 0%,#0d151d 68%,#0a1016 100%);
  color:var(--se-v2-ink);
  overflow:hidden;
}
.se-v2-scene {
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:clamp(72px,10vh,120px) clamp(20px,5vw,64px);
  position:relative;
  isolation:isolate;
}
.se-v2-scene:before {
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at center,#000 0%,#000 54%,transparent 88%);
  pointer-events:none;
  z-index:-1;
}
.se-v2-shell {
  width:min(1120px,100%);
  margin:0 auto;
}
.se-v2-kicker {
  color:var(--se-v2-teal);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:850;
  margin:0 0 16px;
}
.se-v2-hero h1,
.se-v2-rich-text h2 {
  margin:0;
  color:var(--se-v2-ink);
  line-height:.9;
  letter-spacing:-.07em;
}
.se-v2-hero h1 { font-size:clamp(54px,9vw,132px); }
.se-v2-rich-text h2 { font-size:clamp(40px,6vw,84px); max-width:960px; }
.se-v2-subtitle {
  max-width:780px;
  margin:18px 0 0;
  color:var(--se-v2-soft);
  font-size:clamp(18px,2.2vw,26px);
  line-height:1.35;
}
.se-v2-meta {
  color:var(--se-v2-muted);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:750;
  margin-top:28px;
}
.se-v2-lesson-pill,
.se-v2-copy-block {
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.026));
  box-shadow:0 26px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
.se-v2-lesson-pill {
  display:inline-block;
  margin-top:36px;
  padding:16px 20px;
  border-radius:999px;
  color:var(--se-v2-teal);
  font-weight:800;
}
.se-v2-copy-block {
  padding:clamp(28px,5vw,52px);
  border-radius:34px;
}
.se-v2-body,
.se-v2-transition {
  max-width:760px;
  color:var(--se-v2-soft);
  font-size:clamp(18px,2vw,22px);
  line-height:1.55;
}
.se-v2-body p,
.se-v2-transition p { color:inherit; }
.se-v2-transition {
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
  color:var(--se-v2-teal);
}
@media (prefers-reduced-motion:reduce) {
  .se-v2-scene { min-height:auto; }
  * { scroll-behavior:auto!important; }
}


/* alpha.25.2 — Growth Story first-panel/nav spacing
   Scope: individual Growth Story pages only.
   Fixes the visual collision between the canonical nav and the first full-width story panel.
*/
body.single-growth_story.se-canonical-header-active main.ds-growth-story-page,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page {
  padding-top: clamp(22px, 3.2svh, 42px);
}

/* If the first rendered story block is a bordered panel, give it breathing room from the nav. */
body.single-growth_story.se-canonical-header-active .ds-growth-story-page > .se-production:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page > article:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page > section:first-child {
  margin-top: clamp(14px, 2svh, 26px);
}

/* Frederick's / NOVO-style panels: remove the top edge only when a panel is the first major block.
   This keeps the side/bottom frame but prevents the card perimeter from visually merging with the nav.
*/
body.single-growth_story.se-canonical-header-active .ds-growth-story-page .se-production > section:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page .se-production > .se-v2-scene:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page .se-production > .story-panel:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page .se-production > .result-panel:first-child,
body.single-growth_story.se-canonical-header-active .ds-growth-story-page .se-production > [class*="panel"]:first-child {
  border-top-color: transparent;
}

/* Slightly compact spacing between story rows/panels without changing card internals. */
body.single-growth_story .ds-growth-story-page .se-production {
  row-gap: clamp(22px, 4svh, 46px);
}

body.single-growth_story .ds-growth-story-page .se-production > section + section,
body.single-growth_story .ds-growth-story-page .se-production > .story-panel + .story-panel,
body.single-growth_story .ds-growth-story-page .se-production > .se-v2-scene + .se-v2-scene {
  margin-top: clamp(18px, 3.5svh, 38px);
}

