/* NBC Case System 2.0 — v6.653 layout-contract + film-contrast owner
   Single production stylesheet for case detail, case-specific visualizations,
   case index, responsive behavior and reduced-motion states. */


  :root {
    --case2-page-max: 1560px;
    --case2-copy-max: 720px;
    --case2-reading-max: 780px;
    --case2-stage-max: 1360px;
    --case2-gutter: clamp(24px, 4vw, 64px);
    --case2-section-y: clamp(76px, 7.2vw, 116px);
    --case2-section-y-tight: clamp(54px, 5vw, 84px);
    --case2-gap-xl: clamp(40px, 5vw, 76px);
    --case2-gap-lg: clamp(28px, 3.5vw, 52px);
    --case2-gap-md: clamp(18px, 2vw, 30px);
    --case2-h1: var(--nbc-type-hero-primary, clamp(60px,4.75vw,68px));
    --case2-h2: var(--nbc-type-section, clamp(46px,3.7vw,54px));
    --case2-h3: var(--nbc-type-card, clamp(22px,1.8vw,28px));
    --case2-kpi: clamp(48px, 6vw, 96px);
    --case2-body: clamp(16px, 1.25vw, 19px);
    --case2-small: 13px;
    --case2-label: 10px;
    --case2-paper: var(--paper, #f7f5f2);
    --case2-ink: var(--ink, #222021);
    --case2-green: var(--green, #86c895);
    --case2-amber: var(--amber, #edc078);
    --case2-line: rgba(247, 245, 242, .13);
    --case2-line-strong: rgba(247, 245, 242, .23);
    --case2-muted: rgba(247, 245, 242, .64);
    --case2-dim: rgba(247, 245, 242, .46);
    --case2-surface: rgba(247, 245, 242, .035);
    --case2-surface-strong: rgba(247, 245, 242, .065);
    --case2-deep: #090d0b;
    --case2-radius: 16px;
    --case2-ease: cubic-bezier(.22, .61, .36, 1);
  }

  /* ------------------------------------------------------------
     SYSTEM ROOT + LAYOUT
     ------------------------------------------------------------ */
  body[data-case-system="v2"] {
    --case2-current-accent: var(--case2-green);
  }

  body[data-case-system="v2"] .case2-shell {
    position: relative;
    isolation: isolate;
    overflow: clip;
  }

  body[data-case-system="v2"] .case2-wrap {
    width: min(calc(100% - (2 * var(--case2-gutter))), var(--case2-page-max));
    margin-inline: auto;
  }

  body[data-case-system="v2"] .case2-wrap--stage {
    width: min(calc(100% - (2 * var(--case2-gutter))), var(--case2-stage-max));
    margin-inline: auto;
  }

  body[data-case-system="v2"] .case2-wrap--reading {
    width: min(calc(100% - (2 * var(--case2-gutter))), var(--case2-reading-max));
    margin-inline: auto;
  }

  body[data-case-system="v2"] .case2-section {
    position: relative;
    padding-block: var(--case2-section-y);
    border-top: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-section--tight {
    padding-block: var(--case2-section-y-tight);
  }

  body[data-case-system="v2"] .case2-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: var(--case2-gap-xl);
    align-items: start;
  }

  body[data-case-system="v2"] .case2-grid--equal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-case-system="v2"] .case2-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* ------------------------------------------------------------
     TYPOGRAPHY CONTRACT
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: var(--case2-green);
    font: 500 var(--case2-label)/1.3 var(--mono, monospace);
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  body[data-case-system="v2"] .case2-eyebrow::before {
    content: "";
    width: 24px;
    height: 1px;
    background: currentColor;
    opacity: .72;
  }

  body[data-case-system="v2"] :is(.case2-title, .case2-section-title, .case2-kpi) {
    margin: 0;
    color: var(--case2-paper);
    text-wrap: balance;
    letter-spacing: -.045em;
  }

  body[data-case-system="v2"] .case2-title {
    max-width: 12ch;
    font-size: var(--case2-h1);
    line-height: .94;
  }

  body[data-case-system="v2"] .case2-section-title {
    width: 100%;
    max-width: none;
    font-size: var(--case2-h2);
    line-height: .98;
  }

  body[data-case-system="v2"] .case2-intro {
    max-width: var(--case2-copy-max);
    margin: 22px 0 0;
    color: var(--case2-muted);
    font-size: var(--case2-body);
    line-height: 1.62;
  }

  body[data-case-system="v2"] .case2-kpi {
    display: block;
    font-size: var(--case2-kpi);
    line-height: .88;
    font-variant-numeric: tabular-nums lining-nums;
  }

  body[data-case-system="v2"] .case2-kpi-label {
    display: block;
    margin-top: 12px;
    color: var(--case2-muted);
    font-size: 14px;
    line-height: 1.4;
  }

  /* ------------------------------------------------------------
     OUTCOME HERO
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-hero {
    min-height: min(900px, 92svh);
    display: flex;
    align-items: flex-end;
    padding: clamp(150px, 14vw, 218px) 0 clamp(72px, 8vw, 124px);
    position: relative;
  }

  body[data-case-system="v2"] .case2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .6fr);
    gap: var(--case2-gap-xl);
    align-items: end;
  }

  body[data-case-system="v2"] .case2-hero-lead {
    max-width: 680px;
    margin: 28px 0 0;
    color: var(--case2-muted);
    font-size: clamp(17px, 1.45vw, 22px);
    line-height: 1.55;
  }

  body[data-case-system="v2"] .case2-proof-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(36px, 4vw, 58px);
    border-top: 1px solid var(--case2-line-strong);
    border-bottom: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-proof {
    min-width: 0;
    padding: 21px 22px 22px 0;
  }

  body[data-case-system="v2"] .case2-proof + .case2-proof {
    padding-left: 22px;
    border-left: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-proof strong {
    display: block;
    color: var(--case2-paper);
    font-size: clamp(21px, 2.1vw, 34px);
    line-height: 1;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums lining-nums;
  }

  body[data-case-system="v2"] .case2-proof span {
    display: block;
    margin-top: 8px;
    color: var(--case2-dim);
    font: 500 var(--case2-label)/1.35 var(--mono, monospace);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  /* ------------------------------------------------------------
     FILM 2.0 — THREE ACT RUNTIME CONTRACT
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-film {
    --case2-film-progress: 0%;
    --case2-film-accent: var(--case2-green);
    position: relative;
  }

  body[data-case-system="v2"] .case2-film-stage {
    position: relative;
    min-height: clamp(500px, 64vw, 760px);
    overflow: clip;
    border-block: 1px solid var(--case2-line);
    background:
      radial-gradient(circle at 50% 44%, rgba(134, 200, 149, .08), transparent 40%),
      linear-gradient(180deg, rgba(247, 245, 242, .02), rgba(247, 245, 242, .005));
  }

  body[data-case-system="v2"] .case2-film-progress {
    position: absolute;
    z-index: 6;
    top: 0;
    left: 0;
    width: var(--case2-film-progress);
    height: 2px;
    background: var(--case2-film-accent);
    transition: width .7s var(--case2-ease);
  }

  body[data-case-system="v2"] .case2-film-act {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: clamp(28px, 5vw, 70px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .75s var(--case2-ease), transform .75s var(--case2-ease), visibility 0s linear .75s;
  }

  body[data-case-system="v2"] .case2-film-act[aria-hidden="false"],
  body[data-case-system="v2"] .case2-film[data-case-film-state="before"] [data-case-act="before"],
  body[data-case-system="v2"] .case2-film[data-case-film-state="decision"] [data-case-act="decision"],
  body[data-case-system="v2"] .case2-film[data-case-film-state="after"] [data-case-act="after"] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }

  body[data-case-system="v2"] .case2-film-act-inner {
    width: min(100%, 1160px);
    margin-inline: auto;
  }

  body[data-case-system="v2"] .case2-film-phase {
    position: absolute;
    left: clamp(20px, 3vw, 44px);
    top: clamp(20px, 3vw, 40px);
    color: var(--case2-dim);
    font: 500 var(--case2-label)/1.3 var(--mono, monospace);
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  body[data-case-system="v2"] .case2-film-caption {
    position: absolute;
    z-index: 5;
    left: clamp(20px, 3vw, 44px);
    right: clamp(20px, 3vw, 44px);
    bottom: clamp(20px, 3vw, 40px);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-end;
    pointer-events: none;
  }

  body[data-case-system="v2"] .case2-film-caption strong {
    max-width: 760px;
    color: var(--case2-paper);
    font-size: clamp(21px, 2.5vw, 38px);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  body[data-case-system="v2"] .case2-film-caption span {
    max-width: 340px;
    color: var(--case2-dim);
    font-size: 13px;
    line-height: 1.5;
  }

  body[data-case-system="v2"] .case2-film-replay {
    position: absolute;
    z-index: 8;
    right: clamp(18px, 2.5vw, 34px);
    top: clamp(18px, 2.5vw, 34px);
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--case2-line-strong);
    border-radius: 999px;
    background: rgba(8, 12, 10, .66);
    color: var(--case2-muted);
    font: 500 10px/1 var(--mono, monospace);
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, border-color .3s ease, color .3s ease;
  }

  body[data-case-system="v2"] .case2-film[data-case-film-complete="true"] .case2-film-replay {
    opacity: 1;
    pointer-events: auto;
  }

  body[data-case-system="v2"] .case2-film-replay:hover,
  body[data-case-system="v2"] .case2-film-replay:focus-visible {
    color: var(--case2-paper);
    border-color: var(--case2-green);
  }

  /* ------------------------------------------------------------
     INTERVENTION — THREE MOVES
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-interventions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--case2-gap-lg);
    border-top: 1px solid var(--case2-line-strong);
  }

  body[data-case-system="v2"] .case2-intervention {
    min-width: 0;
    padding: 30px 30px 10px 0;
  }

  body[data-case-system="v2"] .case2-intervention + .case2-intervention {
    padding-left: 30px;
    border-left: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-intervention-index {
    color: var(--case2-green);
    font: 500 var(--case2-label)/1 var(--mono, monospace);
    letter-spacing: .1em;
  }

  body[data-case-system="v2"] .case2-intervention h3 {
    margin: 18px 0 12px;
    color: var(--case2-paper);
    font-size: var(--case2-h3);
    line-height: 1.05;
    letter-spacing: -.03em;
  }

  body[data-case-system="v2"] .case2-intervention p {
    margin: 0;
    color: var(--case2-muted);
    font-size: 15px;
    line-height: 1.62;
  }

  /* ------------------------------------------------------------
     TRANSFER BLOCK — NBC SIGNATURE
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-transfer {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
    gap: var(--case2-gap-xl);
    align-items: start;
    padding: clamp(38px, 5vw, 72px) 0;
    border-block: 1px solid var(--case2-line-strong);
  }

  body[data-case-system="v2"] .case2-transfer::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: min(160px, 20vw);
    height: 2px;
    background: var(--case2-green);
  }

  body[data-case-system="v2"] .case2-transfer-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body[data-case-system="v2"] .case2-transfer-list li {
    position: relative;
    padding: 20px 0 20px 36px;
    border-top: 1px solid var(--case2-line);
    color: var(--case2-paper);
    font-size: clamp(17px, 1.5vw, 21px);
    line-height: 1.42;
  }

  body[data-case-system="v2"] .case2-transfer-list li:last-child {
    border-bottom: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-transfer-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    top: 20px;
    color: var(--case2-green);
    font-family: var(--mono, monospace);
  }

  body[data-case-system="v2"] .case2-transfer-conclusion {
    margin: 26px 0 0;
    max-width: 620px;
    color: var(--case2-muted);
    font-size: 15px;
    line-height: 1.6;
  }

  /* ------------------------------------------------------------
     EVIDENCE — COMPACT FIRST, DETAIL ON DEMAND
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-evidence-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: var(--case2-gap-lg);
    border-block: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-evidence-fact {
    min-width: 0;
    padding: 24px 20px 25px 0;
  }

  body[data-case-system="v2"] .case2-evidence-fact + .case2-evidence-fact {
    padding-left: 20px;
    border-left: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-evidence-fact span {
    display: block;
    color: var(--case2-dim);
    font: 500 var(--case2-label)/1.35 var(--mono, monospace);
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  body[data-case-system="v2"] .case2-evidence-fact strong {
    display: block;
    margin-top: 10px;
    color: var(--case2-paper);
    font-size: 15px;
    line-height: 1.48;
    font-weight: 600;
    overflow-wrap: anywhere;
  }

  body[data-case-system="v2"] details.case2-evidence-disclosure {
    margin-top: 24px;
    border-top: 1px solid var(--case2-line);
    border-bottom: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] details.case2-evidence-disclosure > summary {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    list-style: none;
    color: var(--case2-muted);
    font: 500 12px/1.4 var(--mono, monospace);
    letter-spacing: .06em;
    cursor: pointer;
  }

  body[data-case-system="v2"] details.case2-evidence-disclosure > summary::-webkit-details-marker {
    display: none;
  }

  body[data-case-system="v2"] details.case2-evidence-disclosure > summary::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--case2-green);
    font-size: 20px;
    line-height: 1;
    transition: transform .3s var(--case2-ease);
  }

  body[data-case-system="v2"] details.case2-evidence-disclosure[open] > summary::after {
    transform: rotate(45deg);
  }

  body[data-case-system="v2"] .case2-evidence-detail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--case2-gap-lg);
    padding: 8px 0 30px;
  }

  body[data-case-system="v2"] .case2-evidence-detail > * {
    padding: 20px 0;
    border-top: 1px solid var(--case2-line);
  }

  /* C1 compatibility: bring existing evidence disclosure onto the same interaction grammar. */
  body[data-case-system="v2"] .case-evidence-knowledge > summary {
    position: relative;
  }

  body[data-case-system="v2"] .case-evidence-knowledge > summary::after {
    content: "+";
    margin-left: auto;
    color: var(--case2-green);
    font: 500 18px/1 var(--mono, monospace);
    transition: transform .3s var(--case2-ease);
  }

  body[data-case-system="v2"] .case-evidence-knowledge[open] > summary::after {
    transform: rotate(45deg);
  }

  /* ------------------------------------------------------------
     CTA — PROBLEM FIRST
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-cta {
    position: relative;
    padding-block: clamp(88px, 10vw, 160px);
    overflow: clip;
  }

  body[data-case-system="v2"] .case2-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 78% 30%, rgba(134, 200, 149, .12), transparent 35%);
  }

  body[data-case-system="v2"] .case2-cta-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
    gap: var(--case2-gap-xl);
    align-items: end;
  }

  body[data-case-system="v2"] .case2-cta .case2-section-title {
    max-width: 11ch;
  }

  body[data-case-system="v2"] .case2-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
  }

  body[data-case-system="v2"] .case2-cta-note {
    padding-top: 18px;
    border-top: 1px solid var(--case2-line-strong);
    color: var(--case2-muted);
    font-size: 14px;
    line-height: 1.55;
  }

  /* ------------------------------------------------------------
     CASE INDEX — C4 COMPOSITION CONTRACT
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: var(--case2-gap-lg);
    background: var(--case2-line);
    border-block: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-index-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 480px;
    padding: clamp(30px, 4vw, 58px);
    background: var(--case2-deep);
    color: inherit;
    text-decoration: none;
    transition: background .3s ease;
  }

  body[data-case-system="v2"] .case2-index-card:hover,
  body[data-case-system="v2"] .case2-index-card:focus-visible {
    background: rgba(247, 245, 242, .045);
  }

  body[data-case-system="v2"] .case2-index-outcome {
    display: block;
    margin: clamp(46px, 7vw, 92px) 0 18px;
    color: var(--case2-paper);
    font-size: clamp(43px, 5vw, 78px);
    line-height: .9;
    letter-spacing: -.05em;
    font-variant-numeric: tabular-nums lining-nums;
  }

  body[data-case-system="v2"] .case2-index-card h3 {
    max-width: 15ch;
    margin: 0;
    color: var(--case2-paper);
    font-size: var(--case2-h3);
    line-height: 1.04;
    letter-spacing: -.035em;
  }

  body[data-case-system="v2"] .case2-index-card p {
    max-width: 52ch;
    margin: 18px 0 0;
    color: var(--case2-muted);
    font-size: 15px;
    line-height: 1.6;
  }

  body[data-case-system="v2"] .case2-index-relevance {
    margin-top: auto;
    padding-top: 34px;
    color: var(--case2-dim);
    font: 500 10px/1.5 var(--mono, monospace);
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  body[data-case-system="v2"] .case2-index-link {
    display: inline-block;
    margin-top: 18px;
    color: var(--case2-green);
    font: 500 11px/1.2 var(--mono, monospace);
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  /* ------------------------------------------------------------
     RELATED CASES
     ------------------------------------------------------------ */
  body[data-case-system="v2"] .case2-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: var(--case2-gap-lg);
    background: var(--case2-line);
    border-block: 1px solid var(--case2-line);
  }

  body[data-case-system="v2"] .case2-related-card {
    display: block;
    min-width: 0;
    padding: clamp(28px, 3.2vw, 48px);
    background: var(--case2-deep);
    color: inherit;
    text-decoration: none;
    transition: background .3s ease;
  }

  body[data-case-system="v2"] .case2-related-card:hover,
  body[data-case-system="v2"] .case2-related-card:focus-visible {
    background: rgba(247, 245, 242, .045);
  }

  body[data-case-system="v2"] .case2-related-card strong {
    display: block;
    margin: 22px 0 12px;
    color: var(--case2-paper);
    font-size: clamp(30px, 3vw, 48px);
    line-height: .96;
    letter-spacing: -.04em;
  }

  body[data-case-system="v2"] .case2-related-card h3 {
    margin: 0;
    color: var(--case2-paper);
    font-size: var(--case2-h3);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  body[data-case-system="v2"] .case2-related-card p {
    max-width: 48ch;
    margin: 16px 0 0;
    color: var(--case2-muted);
    font-size: 14px;
    line-height: 1.58;
  }

  body[data-case-system="v2"] .case2-related-link {
    display: inline-block;
    margin-top: 26px;
    color: var(--case2-green);
    font: 500 11px/1.2 var(--mono, monospace);
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  /* ------------------------------------------------------------
     FOCUS + ACCESSIBILITY
     ------------------------------------------------------------ */
  body[data-case-system="v2"] :is(.case2-film-replay, .case2-related-card, details.case2-evidence-disclosure > summary):focus-visible {
    outline: 2px solid var(--nbc-focus, #a7e6b4);
    outline-offset: 4px;
  }

  /* ------------------------------------------------------------
     TABLET
     ------------------------------------------------------------ */
  @media (max-width: 1024px) {
    body[data-case-system="v2"] .case2-grid,
    body[data-case-system="v2"] .case2-hero-grid,
    body[data-case-system="v2"] .case2-transfer,
    body[data-case-system="v2"] .case2-cta-grid {
      grid-template-columns: 1fr;
    }

    body[data-case-system="v2"] .case2-evidence-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-case-system="v2"] .case2-evidence-fact:nth-child(odd) {
      padding-left: 0;
      border-left: 0;
    }

    body[data-case-system="v2"] .case2-evidence-fact:nth-child(even) {
      padding-left: 20px;
      border-left: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-evidence-fact {
      border-bottom: 1px solid var(--case2-line);
    }
  }

  /* ------------------------------------------------------------
     MOBILE — FILM BECOMES NATURAL THREE-PANEL STORYBOARD
     ------------------------------------------------------------ */
  @media (max-width: 760px) {
    :root {
      --case2-gutter: 20px;
      --case2-section-y: clamp(52px, 13vw, 62px);
      --case2-section-y-tight: clamp(42px, 10vw, 52px);
      --case2-h1: var(--nbc-mobile-hero-primary, clamp(40px,10.6vw,42px));
      --case2-h2: var(--nbc-mobile-section-title, clamp(30px,8.5vw,34px));
      --case2-kpi: clamp(43px, 13vw, 62px);
    }

    body[data-case-system="v2"] .case2-hero {
      min-height: auto;
      padding: calc(var(--m-header-h, 64px) + 22px) 0 56px;
      align-items: start;
    }

    body[data-case-system="v2"] .case2-title {
      max-width: 100%;
      line-height: .98;
    }

    body[data-case-system="v2"] .case2-hero-lead {
      margin-top: 20px;
      font-size: 16px;
      line-height: 1.58;
    }

    body[data-case-system="v2"] .case2-proof-rail,
    body[data-case-system="v2"] .case2-interventions,
    body[data-case-system="v2"] .case2-related-grid,
    body[data-case-system="v2"] .case2-evidence-grid,
    body[data-case-system="v2"] .case2-evidence-detail {
      grid-template-columns: 1fr;
    }

    body[data-case-system="v2"] .case2-proof {
      padding: 18px 0;
      border-bottom: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-proof + .case2-proof {
      padding-left: 0;
      border-left: 0;
    }

    body[data-case-system="v2"] .case2-film-stage {
      min-height: 0;
      overflow: visible;
      border: 0;
      background: transparent;
    }

    body[data-case-system="v2"] .case2-film-progress,
    body[data-case-system="v2"] .case2-film-replay {
      display: none;
    }

    body[data-case-system="v2"] .case2-film-act,
    body[data-case-system="v2"] .case2-film-act[aria-hidden="true"],
    body[data-case-system="v2"] .case2-film-act[aria-hidden="false"] {
      position: relative;
      inset: auto;
      display: block;
      min-height: 0;
      margin: 0;
      padding: 44px 0 56px;
      border-top: 1px solid var(--case2-line);
      opacity: 1;
      visibility: visible;
      transform: none;
      transition: none;
    }

    body[data-case-system="v2"] .case2-film-act:last-child {
      border-bottom: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-film-phase {
      position: static;
      display: block;
      margin: 0 0 24px;
    }

    body[data-case-system="v2"] .case2-film-caption {
      position: static;
      display: grid;
      margin-top: 28px;
      gap: 12px;
      pointer-events: auto;
    }

    body[data-case-system="v2"] .case2-film-caption strong {
      font-size: clamp(23px, 7vw, 31px);
    }

    body[data-case-system="v2"] .case2-intervention {
      padding: 26px 0;
      border-bottom: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-intervention + .case2-intervention {
      padding-left: 0;
      border-left: 0;
    }

    body[data-case-system="v2"] .case2-transfer {
      padding-block: 42px;
    }

    body[data-case-system="v2"] .case2-transfer-list li {
      padding-block: 17px;
      font-size: 16px;
    }

    body[data-case-system="v2"] .case2-transfer-list li::before {
      top: 17px;
    }

    body[data-case-system="v2"] .case2-evidence-fact,
    body[data-case-system="v2"] .case2-evidence-fact:nth-child(even),
    body[data-case-system="v2"] .case2-evidence-fact:nth-child(odd) {
      padding: 20px 0;
      border-left: 0;
      border-bottom: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-related-card {
      padding: 32px 0;
    }
  }

  @media (max-width: 760px) {
    body[data-case-system="v2"] .case2-index-grid { grid-template-columns: 1fr; }
    body[data-case-system="v2"] .case2-index-card { min-height: 390px; padding: 32px 0; }
    body[data-case-system="v2"] .case2-index-outcome { margin-top: 42px; }
  }

  /* ------------------------------------------------------------
     REDUCED MOTION — INFORMATION MUST REMAIN COMPLETE
     ------------------------------------------------------------ */
  @media (prefers-reduced-motion: reduce) {
    body[data-case-system="v2"] .case2-film-progress,
    body[data-case-system="v2"] .case2-film-replay {
      display: none;
    }

    body[data-case-system="v2"] .case2-film-act {
      transition: none;
    }

    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-stage {
      min-height: auto;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      background: transparent;
    }

    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-act,
    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-act[aria-hidden="true"] {
      position: relative;
      inset: auto;
      min-height: 420px;
      display: block;
      padding: 56px 32px;
      opacity: 1;
      visibility: visible;
      transform: none;
      background: var(--case2-deep);
      border-top: 1px solid var(--case2-line);
    }

    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-phase,
    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-caption {
      position: static;
    }

    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-caption {
      display: grid;
      margin-top: 30px;
    }
  }

  @media (prefers-reduced-motion: reduce) and (max-width: 900px) {
    body[data-case-system="v2"] .case2-film[data-case-reduced-motion="true"] .case2-film-stage {
      grid-template-columns: 1fr;
    }
  }


/* CASE-SPECIFIC VISUAL — RETURNS */
body[data-case-system="v2"][data-case-film="returns"] .case2-hero-context {
  align-self: end;
  padding: 0 0 4px clamp(24px, 3vw, 46px);
  border-left: 1px solid var(--case2-line-strong);
}
body[data-case-system="v2"][data-case-film="returns"] .case2-context-label,
body[data-case-system="v2"][data-case-film="returns"] .case2-detail-label {
  display: block;
  color: var(--case2-green);
  font: 500 10px/1.35 var(--mono, monospace);
  letter-spacing: .11em;
  text-transform: uppercase;
}
body[data-case-system="v2"][data-case-film="returns"] .case2-hero-context p {
  margin: 18px 0 0;
  color: var(--case2-paper);
  font-size: clamp(20px, 2vw, 29px);
  line-height: 1.22;
  letter-spacing: -.025em;
}
body[data-case-system="v2"][data-case-film="returns"] .case2-context-link {
  display: inline-block;
  margin-top: 28px;
  color: var(--case2-muted);
  font: 500 11px/1.3 var(--mono, monospace);
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}
body[data-case-system="v2"][data-case-film="returns"] .case2-context-link:hover,
body[data-case-system="v2"][data-case-film="returns"] .case2-context-link:focus-visible { color: var(--case2-green); }

body[data-case-system="v2"][data-case-film="returns"] .case2-section-head { margin-bottom: clamp(38px, 5vw, 70px); }
body[data-case-system="v2"][data-case-film="returns"] .returns-film { margin-top: clamp(40px, 5vw, 72px); }
body[data-case-system="v2"][data-case-film="returns"] .returns-viz {
  width: min(100%, 1040px);
  min-height: 360px;
  margin: 22px auto 88px;
  display: grid;
  place-items: center;
  color: var(--case2-paper);
}

/* ACT 01 — split truth */
body[data-case-system="v2"][data-case-film="returns"] .returns-viz--before {
  grid-template-columns: minmax(180px, .5fr) minmax(360px, 1fr) minmax(120px, .3fr);
  gap: clamp(28px, 5vw, 74px);
}
body[data-case-system="v2"][data-case-film="returns"] .returns-real-object {
  position: relative;
  width: 170px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(134,200,149,.45);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(134,200,149,.12), rgba(134,200,149,.02) 58%, transparent 59%);
}
body[data-case-system="v2"][data-case-film="returns"] .returns-real-object::after {
  content: "";
  position: absolute;
  left: 100%; top: 50%;
  width: clamp(35px, 5vw, 76px);
  height: 1px;
  background: linear-gradient(90deg, rgba(134,200,149,.75), rgba(134,200,149,.1));
}
body[data-case-system="v2"][data-case-film="returns"] .returns-real-object i {
  width: 8px; height: 8px; margin: 0 auto 14px;
  border-radius: 50%; background: var(--case2-green); box-shadow: 0 0 22px rgba(134,200,149,.52);
}
body[data-case-system="v2"][data-case-film="returns"] .returns-real-object span,
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-label,
body[data-case-system="v2"][data-case-film="returns"] .returns-outcome-lockup span,
body[data-case-system="v2"][data-case-film="returns"] .returns-outcome-lockup small {
  color: var(--case2-dim);
  font: 500 10px/1.3 var(--mono, monospace);
  letter-spacing: .1em;
  text-transform: uppercase;
}
body[data-case-system="v2"][data-case-film="returns"] .returns-real-object strong { margin-top: 4px; font-size: 18px; }
body[data-case-system="v2"][data-case-film="returns"] .returns-status-stack { width: 100%; display: grid; gap: 10px; }
body[data-case-system="v2"][data-case-film="returns"] .returns-status {
  display: grid;
  grid-template-columns: 82px 1fr 12px;
  align-items: center;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid var(--case2-line);
  background: rgba(247,245,242,.025);
}
body[data-case-system="v2"][data-case-film="returns"] .returns-status span { color: var(--case2-dim); font: 500 10px/1 var(--mono, monospace); letter-spacing: .08em; }
body[data-case-system="v2"][data-case-film="returns"] .returns-status b { font-size: 15px; font-weight: 600; }
body[data-case-system="v2"][data-case-film="returns"] .returns-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--case2-amber); }
body[data-case-system="v2"][data-case-film="returns"] .returns-status.is-current { border-color: rgba(134,200,149,.34); }
body[data-case-system="v2"][data-case-film="returns"] .returns-status.is-current i { background: var(--case2-green); }
body[data-case-system="v2"][data-case-film="returns"] .returns-status.is-stale b { color: rgba(247,245,242,.57); }
body[data-case-system="v2"][data-case-film="returns"] .returns-fracture { text-align: center; }
body[data-case-system="v2"][data-case-film="returns"] .returns-fracture span { display: block; color: var(--case2-dim); font: 500 10px/1.3 var(--mono, monospace); letter-spacing:.08em; text-transform:uppercase; }
body[data-case-system="v2"][data-case-film="returns"] .returns-fracture b { display: block; margin-top: 8px; color: var(--case2-amber); font-size: clamp(30px,4vw,52px); line-height: .95; letter-spacing:-.04em; }

/* ACT 02 — one closed flow */
body[data-case-system="v2"][data-case-film="returns"] .returns-viz--decision { align-content: center; }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-label { margin-bottom: 28px; color: var(--case2-green); }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow { width: 100%; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node {
  min-height: 150px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--case2-line-strong);
  background: rgba(247,245,242,.025);
  opacity: .46;
  transform: translateY(8px);
}
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node span { margin-bottom: auto; color: var(--case2-green); font:500 10px/1 var(--mono,monospace); }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node strong { font-size: clamp(17px,1.5vw,21px); letter-spacing:-.02em; }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node small { margin-top:7px; color:var(--case2-dim); font-size:11px; line-height:1.4; }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node.is-decision { border-color: rgba(134,200,149,.55); background: rgba(134,200,149,.065); }
body[data-case-system="v2"][data-case-film="returns"] .returns-flow-arrow { align-self:center; padding:0 8px; color:var(--case2-green); font:normal 18px/1 var(--mono,monospace); opacity:.45; }
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node { animation: returnsNodeIn .5s var(--case2-ease) forwards; }
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node:nth-of-type(1){animation-delay:.08s}
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node:nth-of-type(2){animation-delay:.2s}
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node:nth-of-type(3){animation-delay:.32s}
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node:nth-of-type(4){animation-delay:.44s}
body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-film-state="decision"] .returns-flow-node:nth-of-type(5){animation-delay:.56s}
@keyframes returnsNodeIn { to { opacity:1; transform:translateY(0); } }

/* ACT 03 — synchronized state + outcome */
body[data-case-system="v2"][data-case-film="returns"] .returns-viz--after { align-content:center; gap: clamp(42px,6vw,72px); }
body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line { width:100%; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; }
body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line div { min-width:0; text-align:center; }
body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line span { display:block; color:var(--case2-muted); font:500 10px/1.3 var(--mono,monospace); letter-spacing:.07em; }
body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line i { display:block; width:9px; height:9px; margin:14px auto 0; border-radius:50%; background:var(--case2-green); box-shadow:0 0 18px rgba(134,200,149,.38); }
body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line b { color:var(--case2-green); font:500 14px/1 var(--mono,monospace); }
body[data-case-system="v2"][data-case-film="returns"] .returns-outcome-lockup { text-align:center; }
body[data-case-system="v2"][data-case-film="returns"] .returns-outcome-lockup strong { display:block; margin:12px 0 14px; color:var(--case2-paper); font-size:clamp(50px,7vw,96px); line-height:.9; letter-spacing:-.055em; font-variant-numeric:tabular-nums lining-nums; }

body[data-case-system="v2"][data-case-film="returns"] .case2-evidence-detail article p { margin: 12px 0 0; color: var(--case2-muted); font-size: 14px; line-height: 1.6; }
body[data-case-system="v2"][data-case-film="returns"] .case2-transfer-conclusion strong,
body[data-case-system="v2"][data-case-film="returns"] .case2-cta-note strong { color: var(--case2-paper); }
body[data-case-system="v2"][data-case-film="returns"] .case2-cta-note p { margin:12px 0 0; }

@media (max-width: 1024px) {
  body[data-case-system="v2"][data-case-film="returns"] .case2-hero-context { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--case2-line); }
  body[data-case-system="v2"][data-case-film="returns"] .returns-viz--before { grid-template-columns: 150px 1fr; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-fracture { grid-column:1/-1; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node { min-height:132px; padding:18px 12px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-arrow { padding:0 4px; }
}

@media (max-width: 760px) {
  body[data-case-system="v2"][data-case-film="returns"] .case2-hero-context { margin-top: 32px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-film { margin-top: 28px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-viz { min-height:0; margin: 12px 0 0; display:block; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-viz--before { display:grid; grid-template-columns:1fr; gap:24px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-real-object { width:130px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-real-object::after { display:none; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-fracture { text-align:left; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-status { grid-template-columns:72px 1fr 12px; padding-inline:14px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-label { margin-bottom:18px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow { grid-template-columns:1fr; gap:0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node { min-height:auto; padding:18px; display:grid; grid-template-columns:36px 1fr; gap:4px 10px; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node span { grid-row:1/3; margin:3px 0 0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node small { margin:0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-arrow { transform:rotate(90deg); justify-self:center; padding:5px 0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line { grid-template-columns:1fr; gap:0; align-items:stretch; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line div { min-height:42px; display:flex; align-items:center; justify-content:space-between; text-align:left; border-bottom:1px solid var(--case2-line); }
  body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line i { margin:0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-sync-line b { transform:rotate(90deg); justify-self:center; padding:5px 0; }
  body[data-case-system="v2"][data-case-film="returns"] .returns-outcome-lockup { margin-top:42px; text-align:left; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-case-system="v2"][data-case-film="returns"] .returns-flow-node { animation:none; opacity:1; transform:none; }
}

body[data-case-system="v2"][data-case-film="returns"] .case2-final-section { padding-bottom: 0; }
body[data-case-system="v2"][data-case-film="returns"] .case2-cta--embedded { margin-top: clamp(72px, 8vw, 120px); border-top: 1px solid var(--case2-line); }

@media (prefers-reduced-motion: reduce) and (min-width: 761px) {
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-viz { min-height: 0; margin: 18px 0 0; display:block; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-viz--before { display:grid; grid-template-columns:1fr; gap:18px; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-real-object { width:110px; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-real-object::after { display:none; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-status { grid-template-columns:58px 1fr 10px; padding-inline:10px; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-fracture { text-align:left; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-flow { grid-template-columns:1fr; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-flow-node { min-height:auto; padding:12px; opacity:1; transform:none; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-flow-arrow { transform:rotate(90deg); justify-self:center; padding:3px 0; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-sync-line { grid-template-columns:1fr; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-sync-line div { display:flex; justify-content:space-between; align-items:center; min-height:34px; border-bottom:1px solid var(--case2-line); }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-sync-line i { margin:0; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-sync-line b { transform:rotate(90deg); justify-self:center; padding:3px 0; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-outcome-lockup { margin-top:28px; text-align:left; }
  body[data-case-system="v2"][data-case-film="returns"] .case2-film[data-case-reduced-motion="true"] .returns-outcome-lockup strong { font-size:clamp(34px,4vw,54px); }
}


/* CASE-SPECIFIC VISUALS — ROLLOUT */
body[data-case-system="v2"].page-case-detail .case3-viz{
  min-height:clamp(270px,30vw,390px);
  margin:18px 0 0;
  display:grid;
  align-content:center;
  gap:clamp(22px,3vw,38px);
  color:var(--case2-paper);
}
body[data-case-system="v2"].page-case-detail .case3-kicker{
  font:700 11px/1.1 var(--font-sans,Inter,Arial,sans-serif);
  letter-spacing:.12em;text-transform:uppercase;color:var(--case2-green);
}
body[data-case-system="v2"].page-case-detail .case3-card,
body[data-case-system="v2"].page-case-detail .case3-node,
body[data-case-system="v2"].page-case-detail .case3-record{
  border:1px solid color-mix(in srgb,var(--case2-paper) 14%,transparent);
  background:color-mix(in srgb,var(--case2-paper) 4%,transparent);
  color:var(--case2-paper);
  border-radius:16px;
}
body[data-case-system="v2"].page-case-detail .case3-card{padding:20px 22px;}
body[data-case-system="v2"].page-case-detail .case3-node{padding:17px 18px;min-width:0;}
body[data-case-system="v2"].page-case-detail .case3-node span,
body[data-case-system="v2"].page-case-detail .case3-record span{
  display:block;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--case2-dim);margin-bottom:7px;
}
body[data-case-system="v2"].page-case-detail .case3-node strong,
body[data-case-system="v2"].page-case-detail .case3-record strong{display:block;font-size:clamp(15px,1.4vw,19px);line-height:1.15;}
body[data-case-system="v2"].page-case-detail .case3-node small,
body[data-case-system="v2"].page-case-detail .case3-record small{display:block;color:var(--case2-muted);margin-top:6px;line-height:1.35;}
body[data-case-system="v2"].page-case-detail .case3-node.is-focus,
body[data-case-system="v2"].page-case-detail .case3-record.is-focus{
  border-color:color-mix(in srgb,var(--case2-green) 56%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--case2-green) 13%,transparent) inset;
}
body[data-case-system="v2"].page-case-detail .case3-node.is-stale,
body[data-case-system="v2"].page-case-detail .case3-record.is-stale{opacity:.6;}
body[data-case-system="v2"].page-case-detail .case3-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body[data-case-system="v2"].page-case-detail .case3-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
body[data-case-system="v2"].page-case-detail .case3-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body[data-case-system="v2"].page-case-detail .case3-flow{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:center;gap:8px;}
body[data-case-system="v2"].page-case-detail .case3-flow .case3-node{grid-column:span 2;text-align:center;}
body[data-case-system="v2"].page-case-detail .case3-flow-arrow{text-align:center;color:var(--case2-green);font-weight:800;font-size:20px;}
body[data-case-system="v2"].page-case-detail .case3-lockup{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--case2-paper) 14%,transparent);
}
body[data-case-system="v2"].page-case-detail .case3-lockup > div:first-child strong{display:block;font-size:clamp(18px,2vw,28px);line-height:1.05;max-width:620px;color:var(--case2-paper);}
body[data-case-system="v2"].page-case-detail .case3-lockup .case3-result{text-align:right;}
body[data-case-system="v2"].page-case-detail .case3-lockup .case3-result span{display:block;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--case2-dim);margin-bottom:7px;}
body[data-case-system="v2"].page-case-detail .case3-lockup .case3-result strong{display:block;font-size:clamp(28px,4vw,56px);line-height:.95;letter-spacing:-.045em;color:var(--case2-green);}
body[data-case-system="v2"].page-case-detail .case3-lockup .case3-result small{display:block;margin-top:8px;color:var(--case2-muted);}

/* Reporting */
body[data-case-system="v2"][data-case-film="reporting"] .report-source strong{font-variant-numeric:tabular-nums;}
body[data-case-system="v2"][data-case-film="reporting"] .report-source i{display:block;height:4px;border-radius:9px;background:color-mix(in srgb,var(--case2-paper) 13%,transparent);margin-top:16px;position:relative;overflow:hidden;}
body[data-case-system="v2"][data-case-film="reporting"] .report-source i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--fill,55%);background:var(--case2-green);opacity:.48;}
body[data-case-system="v2"][data-case-film="reporting"] .report-definition{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--case2-paper) 10%,transparent);}
body[data-case-system="v2"][data-case-film="reporting"] .report-definition span{font-size:11px;color:var(--case2-muted);}
body[data-case-system="v2"][data-case-film="reporting"] .report-definition strong{font-size:14px;}

/* Offer follow-up */
body[data-case-system="v2"][data-case-film="offers"] .offer-list{display:grid;gap:10px;}
body[data-case-system="v2"][data-case-film="offers"] .offer-row{display:grid;grid-template-columns:1.3fr .7fr .8fr .9fr;gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid color-mix(in srgb,var(--case2-paper) 10%,transparent);}
body[data-case-system="v2"][data-case-film="offers"] .offer-row > *{font-size:12px;}
body[data-case-system="v2"][data-case-film="offers"] .offer-row b{font-size:13px;}
body[data-case-system="v2"][data-case-film="offers"] .offer-row .missing{color:var(--case2-muted);font-style:italic;}
body[data-case-system="v2"][data-case-film="offers"] .offer-row.is-live{background:color-mix(in srgb,var(--case2-green) 5%,transparent);border-radius:10px;border-bottom-color:transparent;}

/* AI */
body[data-case-system="v2"][data-case-film="ai"] .ai-queue{display:flex;gap:8px;align-items:end;justify-content:center;min-height:160px;}
body[data-case-system="v2"][data-case-film="ai"] .ai-doc{width:54px;height:72px;border:1px solid color-mix(in srgb,var(--case2-paper) 15%,transparent);border-radius:8px;background:color-mix(in srgb,var(--case2-paper) 5%,transparent);position:relative;}
body[data-case-system="v2"][data-case-film="ai"] .ai-doc:before,body[data-case-system="v2"][data-case-film="ai"] .ai-doc:after{content:"";position:absolute;left:10px;right:10px;height:2px;background:color-mix(in srgb,var(--case2-paper) 28%,transparent);}
body[data-case-system="v2"][data-case-film="ai"] .ai-doc:before{top:22px;} body[data-case-system="v2"][data-case-film="ai"] .ai-doc:after{top:33px;}
body[data-case-system="v2"][data-case-film="ai"] .ai-person{width:92px;height:92px;border:1px solid color-mix(in srgb,var(--case2-paper) 15%,transparent);border-radius:50%;display:grid;place-items:center;font-weight:800;margin-left:18px;background:color-mix(in srgb,var(--case2-paper) 5%,transparent);color:var(--case2-paper);}
body[data-case-system="v2"][data-case-film="ai"] .ai-gate{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;}
body[data-case-system="v2"][data-case-film="ai"] .ai-gate-center{width:132px;height:132px;border-radius:50%;border:1px solid color-mix(in srgb,var(--case2-green) 50%,transparent);display:grid;place-items:center;text-align:center;padding:18px;font-weight:800;}
body[data-case-system="v2"][data-case-film="ai"] .ai-lane{padding:18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--case2-paper) 14%,transparent);}
body[data-case-system="v2"][data-case-film="ai"] .ai-lane strong{display:block;font-size:18px;margin:4px 0 6px;}
body[data-case-system="v2"][data-case-film="ai"] .ai-lane small{color:var(--case2-muted);}
body[data-case-system="v2"][data-case-film="ai"] .ai-lane.is-agent{border-color:color-mix(in srgb,var(--case2-green) 55%,transparent);}

/* Billing */
body[data-case-system="v2"][data-case-film="billing"] .billing-gap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative;}
body[data-case-system="v2"][data-case-film="billing"] .billing-gap:after{content:"RECHNUNG BLOCKIERT";grid-column:1/-1;text-align:center;padding:13px;border-top:1px dashed color-mix(in srgb,var(--case2-paper) 30%,transparent);color:var(--case2-muted);font-size:11px;font-weight:800;letter-spacing:.1em;}

/* Offering */
body[data-case-system="v2"][data-case-film="offering"] .offering-people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
body[data-case-system="v2"][data-case-film="offering"] .offering-person{padding:22px;text-align:center;border:1px solid color-mix(in srgb,var(--case2-paper) 14%,transparent);border-radius:50% 50% 16px 16px;}
body[data-case-system="v2"][data-case-film="offering"] .offering-person b{display:block;font-size:15px;margin-top:8px;}
body[data-case-system="v2"][data-case-film="offering"] .offering-arch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
body[data-case-system="v2"][data-case-film="offering"] .offering-arch .case3-node{text-align:center;padding:17px 10px;}

/* ERP fit */
body[data-case-system="v2"][data-case-film="erpfit"] .erp-demand-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
body[data-case-system="v2"][data-case-film="erpfit"] .erp-demand-stack .case3-node:after{content:"CUSTOM";display:block;margin-top:14px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--case2-paper) 10%,transparent);font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--case2-muted);}
body[data-case-system="v2"][data-case-film="erpfit"] .erp-gate{display:grid;grid-template-columns:.9fr 1.6fr;gap:20px;align-items:center;}
body[data-case-system="v2"][data-case-film="erpfit"] .erp-gate-question{font-size:clamp(22px,3vw,36px);line-height:1.04;font-weight:750;letter-spacing:-.03em;}
body[data-case-system="v2"][data-case-film="erpfit"] .erp-fit-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}

@media (max-width:900px){
  body[data-case-system="v2"].page-case-detail .case3-grid-4{grid-template-columns:repeat(2,1fr);}
  body[data-case-system="v2"].page-case-detail .case3-flow{grid-template-columns:1fr;gap:8px;}
  body[data-case-system="v2"].page-case-detail .case3-flow .case3-node{grid-column:auto;text-align:left;}
  body[data-case-system="v2"].page-case-detail .case3-flow-arrow{transform:rotate(90deg);}
  body[data-case-system="v2"][data-case-film="offering"] .offering-arch{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:760px){
  body[data-case-system="v2"].page-case-detail .case3-viz{min-height:0;margin-top:10px;gap:16px;}
  body[data-case-system="v2"].page-case-detail .case3-grid-4,
  body[data-case-system="v2"].page-case-detail .case3-grid-3,
  body[data-case-system="v2"].page-case-detail .case3-grid-2,
  body[data-case-system="v2"][data-case-film="billing"] .billing-gap,
  body[data-case-system="v2"][data-case-film="offering"] .offering-people,
  body[data-case-system="v2"][data-case-film="offering"] .offering-arch,
  body[data-case-system="v2"][data-case-film="erpfit"] .erp-demand-stack,
  body[data-case-system="v2"][data-case-film="erpfit"] .erp-gate,
  body[data-case-system="v2"][data-case-film="erpfit"] .erp-fit-options,
  body[data-case-system="v2"][data-case-film="ai"] .ai-gate{grid-template-columns:1fr;}
  body[data-case-system="v2"].page-case-detail .case3-grid-4,
  body[data-case-system="v2"][data-case-film="offering"] .offering-arch{grid-template-columns:1fr;}
  body[data-case-system="v2"].page-case-detail .case3-lockup{grid-template-columns:1fr;gap:16px;}
  body[data-case-system="v2"].page-case-detail .case3-lockup .case3-result{text-align:left;}
  body[data-case-system="v2"][data-case-film="reporting"] .report-definition{grid-template-columns:1fr;gap:3px;}
  body[data-case-system="v2"][data-case-film="offers"] .offer-row{grid-template-columns:1fr 1fr;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-queue{justify-content:flex-start;overflow:hidden;min-height:110px;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-doc{width:40px;height:56px;flex:0 0 auto;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-person{width:72px;height:72px;flex:0 0 72px;margin-left:4px;font-size:12px;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-gate-center{width:auto;height:auto;border-radius:14px;padding:17px;}
}
@media (max-width:420px){
  body[data-case-system="v2"][data-case-film="ai"] .ai-queue{gap:5px;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-doc{width:34px;height:52px;}
  body[data-case-system="v2"][data-case-film="ai"] .ai-person{width:62px;height:62px;flex-basis:62px;margin-left:4px;font-size:11px;}
}

@media (prefers-reduced-motion:reduce){
  body[data-case-system="v2"].page-case-detail .case3-viz *{animation:none;transition:none;}
}


/* CASE INDEX */

body[data-case-system="v2"].page-case-index .case2-index-hero {
  position: relative;
  padding: clamp(154px, 14vw, 214px) 0 clamp(70px, 7vw, 112px);
  overflow: clip;
}

body[data-case-system="v2"].page-case-index .case2-index-hero::after {
  content: "";
  position: absolute;
  inset: auto -12vw -42% auto;
  width: min(720px, 54vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(134,200,149,.075), transparent 68%);
  pointer-events: none;
}

body[data-case-system="v2"].page-case-index .case2-index-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr);
  gap: var(--case2-gap-xl);
  align-items: end;
}

body[data-case-system="v2"].page-case-index .case2-index-hero .case2-title {
  max-width: 16.8ch;
}

body[data-case-system="v2"].page-case-index .case2-index-hero-copy {
  max-width: 560px;
  margin: 0;
  color: var(--case2-muted);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.58;
}

body[data-case-system="v2"].page-case-index .case2-index-hero-note {
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--case2-line);
  color: var(--case2-dim);
  font-size: 13px;
  line-height: 1.55;
}

body[data-case-system="v2"].page-case-index .case2-index-library {
  padding-block: clamp(72px, 7vw, 116px) var(--case2-section-y);
  border-top: 1px solid var(--case2-line);
}

body[data-case-system="v2"].page-case-index .case2-index-library-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, .72fr);
  gap: var(--case2-gap-xl);
  align-items: end;
  margin-bottom: clamp(44px, 5vw, 76px);
}

body[data-case-system="v2"].page-case-index .case2-index-library-head p {
  max-width: 600px;
  margin: 0;
  color: var(--case2-muted);
  font-size: 16px;
  line-height: 1.65;
}

body[data-case-system="v2"].page-case-index .case2-index-grid {
  margin-top: 0;
}

body[data-case-system="v2"].page-case-index .case2-index-card {
  min-height: 430px;
  position: relative;
}

body[data-case-system="v2"].page-case-index .case2-index-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  pointer-events: none;
  transition: border-color .28s ease;
}

body[data-case-system="v2"].page-case-index .case2-index-card:hover::after,
body[data-case-system="v2"].page-case-index .case2-index-card:focus-visible::after {
  border-color: rgba(134,200,149,.28);
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured {
  grid-column: 1 / -1;
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  column-gap: clamp(50px, 7vw, 112px);
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-meta {
  grid-column: 1 / -1;
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-outcome-wrap {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-copy {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  padding-top: clamp(44px, 6vw, 82px);
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-footer {
  grid-column: 1 / -1;
}

body[data-case-system="v2"].page-case-index .case2-index-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: var(--case2-green);
  font: 500 10px/1.45 var(--mono, monospace);
  letter-spacing: .11em;
  text-transform: uppercase;
}

body[data-case-system="v2"].page-case-index .case2-index-outcome {
  margin-top: clamp(42px, 6vw, 74px);
  margin-bottom: 0;
  max-width: 9ch;
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-outcome {
  margin-top: clamp(48px, 5vw, 74px);
  font-size: clamp(58px, 7.2vw, 108px);
}

body[data-case-system="v2"].page-case-index .case2-index-copy h3 {
  margin-top: 18px;
}

body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-copy h3 {
  max-width: 13ch;
  font-size: var(--case2-h3);
}

body[data-case-system="v2"].page-case-index .case2-index-footer {
  margin-top: auto;
  padding-top: 34px;
}

body[data-case-system="v2"].page-case-index .case2-index-relevance {
  margin: 0;
  padding-top: 0;
}

body[data-case-system="v2"].page-case-index .case2-index-relevance strong {
  color: var(--case2-dim);
  font-weight: 500;
}

body[data-case-system="v2"].page-case-index .case2-index-link {
  margin-top: 14px;
}

body[data-case-system="v2"].page-case-index .case2-index-link::after {
  content: "";
  display: inline-block;
  width: 26px;
  height: 1px;
  margin-left: 10px;
  vertical-align: middle;
  background: currentColor;
  transform-origin: left center;
  transition: transform .25s ease;
}

body[data-case-system="v2"].page-case-index .case2-index-card:hover .case2-index-link::after,
body[data-case-system="v2"].page-case-index .case2-index-card:focus-visible .case2-index-link::after {
  transform: scaleX(1.35);
}

body[data-case-system="v2"].page-case-index #case-library-final {
  border-top: 1px solid var(--case2-line);
  padding-block: clamp(56px, 4vw, 72px);
}

body[data-case-system="v2"].page-case-index .case2-index-cta-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--case2-gap-xl);
  align-items: end;
}

body[data-case-system="v2"].page-case-index .case2-index-cta-copy {
  max-width: 700px;
  margin: 20px 0 0;
  color: var(--case2-muted);
  font-size: 16px;
  line-height: 1.65;
}

body[data-case-system="v2"].page-case-index .case2-index-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

@media (max-width: 980px) {
  body[data-case-system="v2"].page-case-index .case2-index-hero-grid,
  body[data-case-system="v2"].page-case-index .case2-index-library-head,
  body[data-case-system="v2"].page-case-index .case2-index-cta-grid {
    grid-template-columns: 1fr;
  }

  body[data-case-system="v2"].page-case-index .case2-index-hero-copy {
    max-width: 720px;
  }

  body[data-case-system="v2"].page-case-index .case2-index-card--featured {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-meta,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-outcome-wrap,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-copy,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-footer {
    grid-column: 1;
    grid-row: auto;
  }

  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-copy {
    padding-top: 0;
  }

  body[data-case-system="v2"].page-case-index .case2-index-cta-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  body[data-case-system="v2"].page-case-index .case2-index-hero {
    padding-top: 132px;
    padding-bottom: 62px;
  }

  body[data-case-system="v2"].page-case-index .case2-index-hero .case2-title {
    line-height: 1;
  }

  body[data-case-system="v2"].page-case-index .case2-index-library {
    padding-top: 62px;
  }

  body[data-case-system="v2"].page-case-index .case2-index-card,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured {
    min-height: 0;
    padding: 34px 0 38px;
  }

  body[data-case-system="v2"].page-case-index .case2-index-meta {
    flex-direction: column;
    gap: 5px;
  }

  body[data-case-system="v2"].page-case-index .case2-index-outcome,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-outcome {
    margin-top: 34px;
    font-size: clamp(46px, 14vw, 72px);
    line-height: .9;
  }

  body[data-case-system="v2"].page-case-index .case2-index-card h3,
  body[data-case-system="v2"].page-case-index .case2-index-card--featured .case2-index-copy h3 {
    max-width: 15ch;
    font-size: var(--case2-h3);
  }

  body[data-case-system="v2"].page-case-index .case2-index-footer {
    padding-top: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-case-system="v2"].page-case-index .case2-index-card,
  body[data-case-system="v2"].page-case-index .case2-index-card::after,
  body[data-case-system="v2"].page-case-index .case2-index-link::after {
    transition: none;
  }
}

/* Preserve number/unit pairs; regular cards may use the full content width. */
body[data-case-system="v2"].page-case-index .case2-index-card:not(.case2-index-card--featured) .case2-index-outcome {
  max-width: 100%;
}

@media (max-width: 760px) {
  body[data-case-system="v2"].page-case-index .case2-index-hero .case2-title {
    max-width: 100%;
  }
}

/* Phase E — Case hero follows the global NBC primary-hero contract. */
@media (min-width:761px){
  body[data-case-system="v2"].page-case-index .case2-index-hero .case2-title-line{display:block;white-space:nowrap;}
}
@media (max-width:760px){
  body[data-case-system="v2"].page-case-index .case2-index-hero .case2-title-line{display:inline;}
}
