
  :root {
    --paper: hsl(180 25% 98%);
    --paper-deep: hsl(175 22% 94%);
    --card: hsl(0 0% 100%);
    --ink: hsl(195 45% 12%);
    --ink-soft: hsl(195 25% 30%);
    --ink-mute: hsl(195 15% 45%);
    --rule: hsl(180 15% 87%);
    --w-side: hsl(158 76% 29%);        /* worker green */
    --w-deep: hsl(158 76% 21%);
    --w-soft: hsl(158 55% 93%);
    --f-side: hsl(18 82% 38%);         /* family orange */
    --f-deep: hsl(18 82% 30%);
    --f-soft: hsl(18 75% 94%);
    --warning: hsl(38 88% 32%);
    --warning-soft: hsl(38 88% 93%);
    --danger: hsl(0 65% 40%);
    --danger-soft: hsl(0 60% 95%);
    --panel-dark: hsl(195 45% 10%);
    --on-dark: hsl(180 20% 96%);
    --on-dark-soft: hsl(180 12% 72%);
    --on-dark-mute: hsl(190 10% 55%);
    --w-bright: hsl(158 74% 55%);
    --f-bright: hsl(18 88% 62%);
    --hero-wash: linear-gradient(165deg, hsl(158 40% 96%) 0%, hsl(180 25% 98%) 55%, hsl(18 45% 96%) 100%);
    --seg-fg: hsl(0 0% 100%);
    --sans: system-ui, -apple-system, "Segoe UI", sans-serif;
    --serif: "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;
    --mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --paper: hsl(195 30% 7%);
      --paper-deep: hsl(195 28% 10%);
      --card: hsl(195 28% 10%);
      --ink: hsl(180 20% 96%);
      --ink-soft: hsl(185 15% 78%);
      --ink-mute: hsl(190 10% 58%);
      --rule: hsl(195 20% 19%);
      --w-side: hsl(158 62% 48%);
      --w-deep: hsl(158 62% 58%);
      --w-soft: hsl(158 45% 15%);
      --f-side: hsl(18 88% 62%);
      --f-deep: hsl(18 88% 70%);
      --f-soft: hsl(18 45% 15%);
      --warning: hsl(38 80% 55%);
      --warning-soft: hsl(38 45% 13%);
      --danger: hsl(0 70% 60%);
      --danger-soft: hsl(0 40% 14%);
      --panel-dark: hsl(195 40% 12%);
      --hero-wash: linear-gradient(165deg, hsl(158 35% 10%) 0%, hsl(195 30% 7%) 55%, hsl(18 30% 10%) 100%);
      --seg-fg: hsl(195 45% 8%);
    }
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: "Seravek", "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .wrap { max-width: 1040px; margin: 0 auto; padding-inline: 20px; }
  h1, h2, h3 { text-wrap: balance; margin: 0; }
  .figure { font-variant-numeric: tabular-nums; }
  a { color: var(--w-side); }

  /* Reading progress rail */
  #rail { position: fixed; inset-block: 0; inset-inline-start: 0; width: 3px; background: transparent; z-index: 50; }
  #rail .fill { display: block; width: 100%; height: 100%; transform-origin: top; transform: scaleY(0); background: linear-gradient(180deg, var(--w-side), var(--f-side)); }

  /* Reveal is a JS enhancement. Hidden start states apply only after the
     external script marks <html class="js">. Without JS (or if CSP blocks
     the file), nothing is opacity 0 — the report stays readable. */


  /* ── Hero ── */
  header.hero { background: var(--hero-wash); border-bottom: 1px solid var(--rule); overflow: hidden; }
  .hero-inner { padding-block: 52px 48px; }
  .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--ink-mute); margin: 0 0 22px; font-weight: 700; }
  h1.title {
    font-size: clamp(2.8rem, 9vw, 5.4rem); font-weight: 800; letter-spacing: -0.03em; line-height: 0.98;
  }
  h1.title .edition {
    display: block;
    font: 700 clamp(1rem, 2vw, 1.35rem)/1.2 var(--serif);
    letter-spacing: 0;
    color: var(--ink-soft);
    margin-top: 18px;
  }
  .two-lines {
    display: grid; grid-template-columns: 1fr 3px 1fr; gap: 0 clamp(18px, 4vw, 44px);
    margin-top: 34px; align-items: stretch;
  }
  .two-lines .mid { background: linear-gradient(180deg, var(--w-side), var(--f-side)); border-radius: 2px; opacity: 0.55; }
  .side-line { font-family: var(--serif); font-style: italic; font-size: clamp(1.02rem, 2vw, 1.25rem); line-height: 1.45; color: var(--ink-soft); }
  .side-line b { font-style: normal; font-weight: 700; }
  .side-line.worker { text-align: end; }
  .side-line.worker b { color: var(--w-deep); }
  .side-line.family b { color: var(--f-deep); }
  .side-tag { display: block; font-family: inherit; font-style: normal; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 6px; }
  .worker .side-tag { color: var(--w-side); }
  .family .side-tag { color: var(--f-side); }
  .numbers { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 26px; margin-top: 40px; }
  .num-group { display: inline-flex; flex-direction: column; }
  .numbers .n-sm { font-size: clamp(1.6rem, 3.5vw, 2.2rem); font-weight: 700; color: var(--ink-soft); line-height: 1.05; }
  .numbers .n-bg { font-size: clamp(2.6rem, 6vw, 4rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
  .numbers .lbl { font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-mute); font-weight: 700; margin-top: 5px; }
  .numbers .vs { font-family: var(--serif); font-style: italic; color: var(--ink-mute); font-size: 1.05rem; }
  .thesis { font-size: 1.05rem; color: var(--ink-soft); max-width: 66ch; margin: 34px 0 0; }
  .thesis strong { color: var(--ink); }

  .edition-banner {
    background: var(--card);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 16px 18px;
    margin: 0 0 28px;
    max-width: 72ch;
  }
  .edition-banner h2 { font-size: 0.95rem; font-weight: 800; margin: 0 0 6px; letter-spacing: -0.01em; }
  .edition-banner p { font-size: 0.88rem; color: var(--ink-soft); margin: 0; line-height: 1.55; }
  .edition-banner .za-cta { margin-top: 10px; font-size: 0.88rem; font-weight: 700; }
  @media (max-width: 700px) {
    .two-lines { grid-template-columns: 1fr; gap: 18px; }
    .two-lines .mid { display: none; }
    .side-line.worker { text-align: start; }
  }

  main { display: flex; flex-direction: column; }
  section.chapter { padding-block: 64px; }
  section.chapter + section.chapter { border-top: 1px solid var(--rule); }
  .sec-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.16em; color: var(--ink-mute); margin: 0 0 14px; }
  .sec-label .side-dots { display: inline-block; margin-inline-end: 8px; }
  .side-dots i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
  .side-dots i:first-child { background: var(--w-side); margin-inline-end: 3px; }
  .side-dots i:last-child { background: var(--f-side); }
  .sec-title { font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 800; margin: 0 0 12px; letter-spacing: -0.01em; }
  .sec-sub { font-size: 0.98rem; color: var(--ink-soft); max-width: 70ch; margin: 0 0 30px; }
  .sec-sub b { color: var(--ink); }
  .method-note { font-size: 12px; color: var(--ink-mute); margin-top: 18px; max-width: 82ch; }

  /* Legend chips reused */
  .legend { display: flex; gap: 18px; font-size: 12px; color: var(--ink-soft); font-weight: 700; margin-bottom: 22px; }
  .legend .sw { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-inline-end: 6px; vertical-align: -1px; }

  /* ── Failures spine ── */
  .spine { display: flex; flex-direction: column; }
  .spine-head, .spine-row { display: grid; grid-template-columns: 1fr minmax(150px, 220px) 1fr; gap: 0 clamp(14px, 3vw, 30px); }
  .spine-head { margin-bottom: 10px; }
  .spine-head span { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; }
  .spine-head .hw { color: var(--w-side); text-align: end; }
  .spine-head .hf { color: var(--f-side); }
  .spine-head .hm { color: var(--ink-mute); text-align: center; }
  .spine-row { padding-block: 14px; position: relative; }
  .spine-row + .spine-row { border-top: 1px dashed var(--rule); }
  .spine-row .sw-cell { text-align: end; font-size: 13.5px; color: var(--ink-soft); line-height: 1.45; border-inline-end: 3px solid var(--w-side); padding-inline-end: 12px; align-self: center; }
  .spine-row .sf-cell { font-size: 13.5px; color: var(--ink-soft); line-height: 1.45; border-inline-start: 3px solid var(--f-side); padding-inline-start: 12px; align-self: center; }
  .spine-row .sm-cell { align-self: center; text-align: center; }
  .spine-row .sm-cell b { display: inline-block; font-size: 13px; font-weight: 800; color: var(--ink); background: var(--card); border: 1px solid var(--rule); border-radius: 999px; padding: 7px 14px; line-height: 1.25; }
  .sw-cell::before, .sf-cell::before { display: none; font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 2px; }
  .sw-cell::before { content: "Workers"; color: var(--w-side); }
  .sf-cell::before { content: "Families"; color: var(--f-side); }
  @media (max-width: 700px) {
    .spine-head { display: none; }
    .spine-row .sw-cell::before, .spine-row .sf-cell::before { display: block; }
    .spine-row { grid-template-columns: 1fr; gap: 10px; }
    .spine-row .sm-cell { order: 0; text-align: start; }
    .spine-row .sw-cell { order: 1; text-align: start; border-inline-end: none; border-inline-start: 3px solid var(--w-side); padding-inline: 12px 0; }
    .spine-row .sf-cell { order: 2; }
  }

  /* ── Butterfly chart ── */
  .butterfly { position: relative; }
  .butterfly::before { content: ""; position: absolute; inset-block: 4px; inset-inline-start: 50%; width: 2px; margin-inline-start: -1px; background: var(--rule); }
  .col-h { font-size: 1rem; font-weight: 800; margin-bottom: 4px; }
  .col-h.worker-h { text-align: end; color: var(--w-deep); }
  .col-h.family-h { color: var(--f-deep); }
  .bf-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
  .bf-col { display: flex; flex-direction: column; gap: 15px; }
  .bf-row .nm { font-size: 12.5px; font-weight: 600; color: var(--ink-soft); margin-bottom: 4px; display: flex; gap: 7px; align-items: baseline; }
  .bf-col.worker .bf-row .nm { justify-content: flex-end; text-align: end; }
  .bf-row .track { height: 9px; border-radius: 5px; background: var(--paper-deep); position: relative; overflow: hidden; }
  .bf-row .bar-fill { position: absolute; inset-block: 0; border-radius: 5px; }
  .bf-col.worker .bar-fill { inset-inline-end: 0; background: var(--w-side); }
  .bf-col.family .bar-fill { inset-inline-start: 0; background: var(--f-side); }
  .tier { font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 1px 7px; border-radius: 999px; white-space: nowrap; }
  .tier-vh { background: var(--danger-soft); color: var(--danger); }
  .tier-h  { background: var(--warning-soft); color: var(--warning); }
  .tier-m  { background: var(--paper-deep); color: var(--ink-mute); }
  @media (max-width: 700px) {
    .butterfly::before { display: none; }
    .bf-rows { grid-template-columns: 1fr; gap: 14px; }
    .bf-col.worker .bf-row .nm { justify-content: flex-end; text-align: start; flex-direction: row-reverse; }
    .bf-col.worker .bar-fill { inset-inline-end: auto; inset-inline-start: 0; }
    .col-h.worker-h { text-align: start; }
    .bf-col.family { margin-top: 24px; }
  }

  /* ── Money scenes ── */
  .scene { margin-top: 42px; }
  .scene h3 { font-size: 1.15rem; font-weight: 800; margin: 0 0 8px; }
  .scene .exp { font-size: 0.94rem; color: var(--ink-soft); max-width: 64ch; margin: 0 0 20px; line-height: 1.55; }

  /* Scene A: the undisclosed split — full-bleed band */
  .split-band { background: var(--paper-deep); border-block: 1px solid var(--rule); padding-block: 40px; }
  .split-flow { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; }
  .split-flow .payer { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--f-deep); max-width: 120px; line-height: 1.4; }
  .split-bar { display: flex; height: 64px; border-radius: 14px; overflow: hidden; gap: 3px; }
  .split-bar .seg { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; }
  .split-bar .seg span { position: relative; font-size: 13px; font-weight: 800; color: var(--seg-fg); }
  .split-bar .seg::before {
    content: ""; position: absolute; inset: 0;
    background-image: repeating-linear-gradient(45deg, hsl(0 0% 100% / 0.16) 0 8px, transparent 8px 16px);
  }
  .split-bar .seg.s1 { background: var(--w-side); }
  .split-bar .seg.s2 { background: var(--ink-mute); }
  .split-bar .seg.s3 { background: var(--warning); }
  .split-cap { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; color: var(--ink-mute); margin-top: 10px; }
  @media (max-width: 700px) { .split-flow { grid-template-columns: 1fr; } .split-flow .payer { max-width: none; } }

  /* Scene B: factor columns */
  .factors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: end; position: relative; padding-top: 10px; }
  .factor { text-align: center; }
  .factor .col { position: relative; margin-inline: auto; width: min(120px, 70%); border-radius: 10px 10px 4px 4px; background: linear-gradient(180deg, var(--w-side), var(--w-deep)); transform-origin: bottom; }
  .factor .mult { font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
  .factor .fname { font-size: 12.5px; font-weight: 600; color: var(--ink-soft); margin-top: 10px; line-height: 1.4; }
  .factors .baseline { position: absolute; inset-inline: 0; bottom: 0; border-bottom: 2px solid var(--rule); }
  .factors .baseline-lbl { position: absolute; inset-inline-end: 0; bottom: -22px; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-mute); font-weight: 700; }
  @media (max-width: 700px) { .factors { grid-template-columns: 1fr; align-items: start; } .factor .col { display: none; } .factor { text-align: start; display: flex; align-items: baseline; gap: 12px; } .factor .mult { margin: 0; min-width: 90px; } .factor .fname { margin: 0; } }

  /* Scene C: receipt */
  .money-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 42px; }
  @media (max-width: 760px) { .money-pair { grid-template-columns: 1fr; } }
  .receipt {
    font-family: var(--mono); background: var(--card); border: 1px solid var(--rule);
    padding: 26px 24px 30px; max-width: 380px; position: relative;
    -webkit-mask-image: radial-gradient(circle 6px at 8px 100%, transparent 5.5px, black 6px), linear-gradient(black, black);
    -webkit-mask-composite: source-in;
    box-shadow: 0 2px 14px hsl(195 45% 12% / 0.06);
  }
  .receipt .r-head { text-align: center; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); padding-bottom: 12px; border-bottom: 1.5px dashed var(--rule); margin-bottom: 12px; }
  .receipt .r-row { display: flex; justify-content: space-between; gap: 12px; font-size: 12.5px; color: var(--ink-soft); padding-block: 6px; }
  .receipt .r-row b { color: var(--ink); font-weight: 700; }
  .receipt .r-row .amt { color: var(--ink-mute); font-size: 10.5px; letter-spacing: 0.06em; white-space: nowrap; }
  .receipt .r-sep { border-top: 1.5px dashed var(--rule); margin-block: 10px; }
  .receipt .r-total { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 700; color: var(--ink); }
  .receipt .r-stamp {
    margin-top: 16px; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--w-deep); border: 2px solid var(--w-side); border-radius: 6px; padding: 6px 10px; transform: rotate(-2deg);
    opacity: 0.85; width: fit-content; margin-inline: auto;
  }

  /* Scene D: chat bubbles */
  .bubbles { display: flex; flex-direction: column; gap: 12px; max-width: 420px; }
  .bubble { position: relative; background: var(--card); border: 1px solid var(--rule); border-radius: 16px; padding: 11px 16px; font-size: 14px; color: var(--ink); width: fit-content; font-style: italic; }
  .bubble.right { align-self: flex-end; background: var(--f-soft); border-color: transparent; }
  .bubble .b-meta { display: block; font-style: normal; font-size: 10px; color: var(--ink-mute); margin-top: 3px; }
  .gap-chips { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
  .gap-chip { font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 10px; background: var(--paper-deep); color: var(--ink-soft); width: fit-content; }

  /* ── Voices ── */
  .pulls { display: flex; flex-direction: column; gap: 40px; margin-top: 8px; }
  .pull { font-family: var(--serif); font-style: italic; font-size: clamp(1.15rem, 2.4vw, 1.5rem); line-height: 1.5; color: var(--ink); max-width: 30ch; }
  .pull::before { content: "“"; display: block; font-size: 2.6em; line-height: 0.6; margin-bottom: 10px; font-style: normal; }
  .pull.worker { border-inline-start: 3px solid var(--w-side); padding-inline-start: 22px; }
  .pull.worker::before { color: var(--w-side); }
  .pull.family { border-inline-start: 3px solid var(--f-side); padding-inline-start: 22px; align-self: flex-end; }
  .pull.family::before { color: var(--f-side); }
  .pull .src { display: block; font-family: "Seravek", "Gill Sans Nova", Ubuntu, Calibri, sans-serif; font-style: normal; font-size: 12px; color: var(--ink-mute); margin-top: 12px; }
  .pull.feature { max-width: 26ch; font-size: clamp(1.5rem, 3.4vw, 2.1rem); align-self: center; text-align: center; border: none; padding: 0; }
  .pull.feature::before { margin-inline: auto; color: var(--f-side); }
  @media (max-width: 700px) { .pull.family { align-self: flex-start; } }

  /* ── Verdict panel ── */
  .panel-outer { padding-block: 24px 72px; }
  .panel { position: relative; background: var(--panel-dark); color: var(--on-dark); border-radius: 22px; padding: 44px clamp(22px, 4.5vw, 52px) 40px; overflow: hidden; }
  .panel .edge { position: absolute; top: 0; height: 4px; width: 50%; }
  .panel .edge.w { inset-inline-start: 0; background: var(--w-bright); }
  .panel .edge.f { inset-inline-end: 0; background: var(--f-bright); }
  .panel .sec-label { color: var(--on-dark-mute); }
  .panel h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 800; margin: 0 0 12px; color: var(--on-dark); }
  .panel p.lede { font-size: 1rem; color: var(--on-dark-soft); max-width: 66ch; margin: 0 0 30px; }
  .principles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 30px; margin: 0; padding: 0; list-style: none; }
  @media (max-width: 700px) { .principles { grid-template-columns: 1fr; } }
  .principles li { font-size: 0.94rem; color: var(--on-dark-soft); line-height: 1.5; padding-inline-start: 24px; position: relative; }
  .principles li::before { content: "→"; position: absolute; inset-inline-start: 0; color: var(--w-bright); font-weight: 800; }
  .principles li b { color: var(--on-dark); }
  .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
  .btn { display: inline-block; padding: 13px 24px; border-radius: 12px; font-size: 0.95rem; font-weight: 700; text-decoration: none; }
  .btn-primary { background: var(--w-bright); color: var(--panel-dark); }
  .btn-ghost { background: transparent; color: var(--on-dark); border: 1px solid hsl(195 15% 32%); }
  .cta-caption { font-size: 12px; color: var(--on-dark-mute); margin-top: 14px; }

  footer.site { border-top: 1px solid var(--rule); padding-block: 24px 48px; }
  footer.site h3 { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-mute); margin: 0 0 8px; }
  footer.site p { font-size: 12px; color: var(--ink-mute); max-width: 90ch; margin: 0 0 8px; line-height: 1.55; }

  :focus-visible { outline: 2px solid var(--f-side); outline-offset: 2px; }

  /* ── V2 report systems ── */
  .report-nav { position: sticky; top: 0; z-index: 40; background: hsl(180 25% 98% / .92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--rule); }
  .report-nav-inner { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .report-brand { color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 900; letter-spacing: -.02em; }
  .report-brand span { color: var(--w-side); }
  .report-nav-links { display: flex; align-items: center; gap: 6px; }
  .report-nav-links a, .nav-control { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; padding: 7px 12px; color: var(--ink-soft); background: transparent; font: inherit; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
  .report-nav-links a:hover, .nav-control:hover { background: var(--paper-deep); color: var(--ink); }
  .nav-control { border-color: var(--rule); }
  .nav-control[aria-pressed="true"] { background: var(--ink); color: var(--card); border-color: var(--ink); }
  .nav-control[data-action="share"] { color: var(--w-deep); }
  @media (max-width: 720px) {
    .report-nav-inner { align-items: flex-start; padding-block: 7px; }
    .report-nav-links { overflow-x: auto; justify-content: flex-start; max-width: 72%; scrollbar-width: none; }
    .report-nav-links::-webkit-scrollbar { display: none; }
    .report-nav-links a { white-space: nowrap; }
  }
  html[data-lang="ar"] .report-nav-inner { direction: rtl; }
  html[data-lang="ar"] .report-nav-links { direction: rtl; }

  .v2-chapter { padding-block: clamp(36px, 5vw, 60px); border-bottom: 1px solid var(--rule); }
  .v2-chapter[data-tone="dark"] { background: var(--panel-dark); color: var(--on-dark); }
  .v2-chapter[data-tone="dark"] .v2-kicker, .v2-chapter[data-tone="dark"] .v2-lede, .v2-chapter[data-tone="dark"] .v2-note { color: var(--on-dark-soft); }
  .v2-chapter[data-tone="dark"] .v2-title { color: var(--on-dark); }
  .v2-chapter[data-tone="dark"] .v2-panel { color: var(--ink); }
  .v2-chapter[data-tone="dark"] .v2-panel .v2-note { color: var(--ink-mute); }
  .v2-head { max-width: 820px; margin-bottom: 30px; }
  .v2-kicker { margin: 0 0 10px; color: var(--ink-mute); font-size: 11px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
  .v2-title { font-size: clamp(2rem, 4.5vw, 4rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 850; }
  .v2-lede { max-width: 70ch; margin: 17px 0 0; color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.14rem); line-height: 1.65; }
  .v2-note { color: var(--ink-mute); font-size: 12px; line-height: 1.55; }
  .v2-position { position: sticky; top: 54px; z-index: 35; display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 6px max(20px, calc((100vw - 1040px) / 2)); border-bottom: 1px solid var(--rule); background: hsl(180 25% 98% / .94); backdrop-filter: blur(14px); color: var(--ink-mute); font-size: 11px; }
  .v2-position strong { color: var(--ink); font-weight: 850; }
  .v2-position .position-count { margin-inline-start: auto; font-family: var(--mono); font-size: 10px; color: var(--w-deep); }
  .v2-path { margin: 0 0 30px; padding: 18px; border: 1px solid var(--rule); border-radius: 18px; background: var(--card); }
  .v2-path-title { margin: 0 0 13px; color: var(--ink-mute); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
  .v2-path-list { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; margin: 0; padding: 0; list-style: none; }
  .v2-path-step { min-width: 0; }
  .v2-path-step a { display: block; height: 100%; padding: 11px 10px; border: 1px solid var(--rule); border-radius: 11px; color: var(--ink-soft); text-decoration: none; font-size: 11px; font-weight: 750; line-height: 1.3; }
  .v2-path-step a::before { display: block; margin-bottom: 7px; color: var(--w-deep); content: attr(data-step); font-family: var(--mono); font-size: 9px; }
  .v2-path-step a:hover, .v2-path-step[data-current="true"] a { border-color: var(--w-side); background: var(--w-soft); color: var(--ink); }
  .v2-reading-guide { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(3, 1fr); gap: 1px; margin: 0 0 34px; background: var(--rule); border: 1px solid var(--rule); border-radius: 16px; overflow: hidden; }
  .v2-reading-guide > div { padding: 16px; background: var(--paper-deep); }
  .v2-reading-guide h3 { font-size: 1rem; }
  .v2-reading-guide p, .v2-reading-guide span { margin: 5px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
  .v2-reading-guide span { display: block; color: var(--ink-mute); }
  .v2-conclusion { margin: 30px 0 0; padding: 15px 17px; border-inline-start: 3px solid var(--w-side); background: var(--w-soft); color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
  .v2-conclusion strong { color: var(--ink); }
  .v2-chapter[data-tone="dark"] .v2-conclusion { background: hsl(158 40% 17%); color: var(--on-dark-soft); }
  .v2-chapter[data-tone="dark"] .v2-conclusion strong { color: var(--on-dark); }
  .exec-summary { margin: 0 0 32px; padding: clamp(22px, 4vw, 36px); border: 1px solid var(--rule); border-radius: 24px; background: var(--hero-wash); }
  .exec-summary-head { max-width: 760px; }
  .exec-summary-head h2 { font-size: clamp(1.7rem, 3.5vw, 2.7rem); letter-spacing: -.035em; line-height: 1.05; }
  .exec-summary-head p { max-width: 70ch; margin: 13px 0 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.65; }
  .exec-summary-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; color: var(--ink-mute); font-size: 11px; font-weight: 750; }
  .exec-summary-meta span::before { content: "•"; margin-inline-end: 7px; color: var(--w-side); }
  .exec-summary-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 20px; margin-top: 28px; }
  .exec-summary-block { padding: 20px; border: 1px solid var(--rule); border-radius: 17px; background: var(--card); }
  .exec-summary-block h3 { margin: 0 0 12px; font-size: 1rem; }
  .exec-summary-block p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
  .exec-summary-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
  .exec-summary-list li { display: grid; grid-template-columns: 27px 1fr; gap: 10px; align-items: start; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
  .exec-summary-list li::before { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 8px; background: var(--w-soft); color: var(--w-deep); font-family: var(--mono); font-size: 10px; font-weight: 850; }
  .exec-summary-list li:nth-child(1)::before { content: "01"; }
  .exec-summary-list li:nth-child(2)::before { content: "02"; }
  .exec-summary-list li:nth-child(3)::before { content: "03"; }
  .exec-summary-block.limitations { border-color: hsl(38 60% 75%); background: var(--warning-soft); }
  .exec-summary-block.limitations h3 { color: var(--warning); }
  .exec-summary-block.limitations .exec-summary-list li::before { background: hsl(38 75% 86%); color: var(--warning); }
  .results-shell { padding: 26px; border: 1px solid hsl(158 35% 27%); border-radius: 20px; background: hsl(195 40% 13%); }
  .results-shell .v2-note { color: var(--on-dark-soft); }
  .results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 25px; background: hsl(180 20% 32% / .55); border: 1px solid hsl(180 20% 32% / .55); border-radius: 16px; overflow: hidden; }
  .result-card { min-height: 145px; padding: 18px; background: hsl(195 40% 16%); }
  .result-card h3 { color: var(--on-dark); font-size: 13px; }
  .result-card .result-status { display: inline-flex; margin-top: 12px; padding: 5px 8px; border-radius: 999px; background: hsl(38 60% 24%); color: hsl(38 90% 78%); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
  .result-card p { margin: 10px 0 0; color: var(--on-dark-soft); font-size: 11px; line-height: 1.5; }
  .results-definition { margin-top: 18px; color: var(--on-dark-soft); font-size: 12px; line-height: 1.55; }
  .results-definition strong { color: var(--on-dark); }
  @media (max-width: 760px) {
    .exec-summary-grid { grid-template-columns: 1fr; }
    .results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px) {
    .results-shell { padding: 18px; }
    .results-grid { grid-template-columns: 1fr; }
  }
  .chapter-conclusion { margin: 30px 0 0; padding-top: 18px; border-top: 1px solid var(--rule); color: var(--ink-soft); font-size: 13px; font-weight: 650; }
  .v2-fact-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 30px 0 0; background: var(--rule); border: 1px solid var(--rule); border-radius: 16px; overflow: hidden; }
  .v2-fact { min-height: 110px; padding: 19px; background: var(--card); }
  .v2-fact strong { display: block; font-size: clamp(1.4rem, 3vw, 2.3rem); line-height: 1; letter-spacing: -.04em; }
  .v2-fact span { display: block; max-width: 18ch; margin-top: 8px; color: var(--ink-mute); font-size: 11px; line-height: 1.35; }
  @media (max-width: 680px) { .v2-fact-strip { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 820px) { .v2-path-list { grid-template-columns: repeat(4, 1fr); } .v2-reading-guide { grid-template-columns: 1fr 1fr; } .v2-reading-guide > div:first-child { grid-column: 1 / -1; } }
  @media (max-width: 520px) { .v2-position { top: 62px; } .v2-path-list, .v2-reading-guide { grid-template-columns: 1fr; } .v2-reading-guide > div:first-child { grid-column: auto; } }
  @media print { .report-nav, #rail, .no-print, .v2-controls, .v2-source-button { display: none !important; } .v2-chapter { break-inside: avoid; padding-block: 30px; } .v2-scene p, .v2-source-dialog { display: block !important; } .v2-scene { break-inside: avoid; } .v2-scene summary { font-size: 10px; } }

  .v2-panel { background: var(--card); border: 1px solid var(--rule); border-radius: 20px; box-shadow: 0 18px 55px hsl(195 45% 12% / .06); }
  .v2-desk { overflow: hidden; }
  .v2-desk-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px; border-bottom: 1px solid var(--rule); }
  .v2-desk-head h3 { font-size: 1.25rem; letter-spacing: -.02em; }
  .v2-desk-head p { margin: 5px 0 0; color: var(--ink-mute); font-size: 12px; }
  .evidence-label { display: inline-flex; align-items: center; gap: 7px; color: var(--w-deep); background: var(--w-soft); border-radius: 999px; padding: 7px 10px; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
  .evidence-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--w-side); }
  .evidence-label.research { color: var(--f-deep); background: var(--f-soft); }
  .evidence-label.research::before { background: var(--f-side); }
  .evidence-label.fixture { color: var(--w-deep); background: var(--w-soft); }
  .evidence-label.fixture::before { background: var(--w-side); }
  .evidence-label.model { color: var(--warning); background: var(--warning-soft); }
  .evidence-label.model::before { background: var(--warning); }
  .example-label { display: inline-flex; align-items: center; gap: 7px; color: var(--w-deep); background: var(--w-soft); border-radius: 999px; padding: 7px 10px; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
  .example-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--w-side); }
  .v2-desk-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 15px 24px; background: var(--paper-deep); border-bottom: 1px solid var(--rule); }
  .v2-control-label { margin-inline-end: 4px; color: var(--ink-mute); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
  .v2-chip, .v2-tab, .v2-action { min-height: 40px; border: 1px solid var(--rule); border-radius: 999px; padding: 8px 13px; background: var(--card); color: var(--ink-soft); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
  .v2-chip:hover, .v2-tab:hover, .v2-action:hover { border-color: var(--w-side); color: var(--w-deep); }
  .v2-chip[aria-pressed="true"], .v2-tab[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--card); }
  .v2-action.primary { background: var(--w-side); border-color: var(--w-side); color: white; }
  .v2-action.secondary { background: var(--f-soft); border-color: transparent; color: var(--f-deep); }
  .v2-desk-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); }
  .v2-profiles { padding: 24px; border-inline-end: 1px solid var(--rule); }
  .v2-profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .v2-profile { min-width: 0; padding: 15px; border: 1px solid var(--rule); border-radius: 15px; background: var(--paper); cursor: pointer; text-align: start; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
  .v2-profile:hover { transform: translateY(-2px); border-color: var(--w-side); box-shadow: 0 10px 22px hsl(195 45% 12% / .07); }
  .v2-profile[aria-pressed="true"] { border: 2px solid var(--w-side); padding: 14px; background: var(--w-soft); }
  .v2-profile-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .v2-initial { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--card); font-weight: 850; }
  .v2-profile h4 { margin: 13px 0 4px; font-size: 1rem; }
  .v2-profile p { margin: 0; color: var(--ink-mute); font-size: 11px; line-height: 1.45; }
  .v2-status { display: inline-block; margin-top: 13px; padding: 4px 7px; border-radius: 5px; background: var(--paper-deep); color: var(--ink-mute); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
  .v2-status.observed { background: var(--w-soft); color: var(--w-deep); }
  .v2-status.missing { background: var(--danger-soft); color: var(--danger); }
  .v2-coverage { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--rule); }
  .v2-coverage-line { display: flex; justify-content: space-between; gap: 12px; color: var(--ink-soft); font-size: 12px; }
  .v2-coverage-line strong { color: var(--w-deep); }
  .v2-meter { height: 8px; margin-top: 9px; border-radius: 99px; background: var(--paper-deep); overflow: hidden; }
  .v2-meter span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--w-side), var(--f-side)); transition: width .3s ease; }
  .v2-inspector { min-height: 360px; padding: 24px; background: linear-gradient(145deg, var(--paper), var(--card)); }
  .v2-inspector h4 { margin: 0; font-size: 1.25rem; letter-spacing: -.02em; }
  .v2-inspector .inspector-meta { margin: 5px 0 20px; color: var(--ink-mute); font-size: 12px; }
  .v2-evidence-row { display: flex; gap: 12px; align-items: flex-start; padding: 13px 0; border-top: 1px solid var(--rule); }
  .v2-evidence-icon { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--w-soft); color: var(--w-deep); font-size: 11px; font-weight: 900; }
  .v2-evidence-row.missing .v2-evidence-icon { background: var(--danger-soft); color: var(--danger); }
  .v2-evidence-row strong { display: block; font-size: 12px; }
  .v2-evidence-row span { display: block; margin-top: 2px; color: var(--ink-mute); font-size: 11px; line-height: 1.4; }
  .v2-decision-receipt { margin: 0 24px 24px; padding: 16px; border: 1px solid var(--rule); border-radius: 14px; background: var(--paper-deep); color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
  .v2-decision-receipt:empty { display: none; }
  .v2-decision-receipt strong { color: var(--ink); }
  @media (max-width: 820px) { .v2-desk-body { grid-template-columns: 1fr; } .v2-profiles { border-inline-end: 0; border-bottom: 1px solid var(--rule); } }
  @media (max-width: 560px) { .v2-desk-head { flex-direction: column; } .v2-profile-grid { grid-template-columns: 1fr; } .v2-profile { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; } .v2-profile-top { grid-row: span 2; } .v2-profile h4 { margin-top: 0; } .v2-profile .v2-status { grid-column: 2; margin-top: 8px; width: fit-content; } }

  .v2-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr); gap: 18px; align-items: start; }
  .v2-graph { position: relative; min-height: 390px; padding: 24px; overflow: hidden; background: #092025; border-radius: 20px; color: white; }
  .v2-graph h3 { font-size: 1.2rem; }
  .v2-graph p { color: hsl(180 20% 78%); font-size: 12px; }
  .graph-canvas { position: relative; min-height: 255px; margin-top: 15px; }
  .graph-line { position: absolute; height: 2px; transform-origin: left center; background: hsl(180 40% 70% / .38); transition: background .25s ease, height .25s ease; }
  .graph-line.active { height: 3px; background: var(--w-bright); }
  .graph-node { position: absolute; z-index: 2; min-width: 92px; padding: 9px 11px; border: 1px solid hsl(180 20% 70% / .35); border-radius: 11px; background: hsl(195 35% 17%); color: white; font-size: 11px; font-weight: 750; text-align: center; }
  .graph-node.worker { border-color: hsl(158 74% 55% / .65); }
  .graph-node.household { border-color: hsl(18 88% 62% / .7); }
  .graph-node.match { border-color: white; background: hsl(195 35% 23%); }
  .graph-node[data-state="dim"] { opacity: .32; }
  .graph-count { display: flex; align-items: baseline; gap: 9px; margin-top: 8px; }
  .graph-count strong { font-size: 2.2rem; letter-spacing: -.06em; color: var(--w-bright); }
  .graph-count span { color: hsl(180 20% 78%); font-size: 12px; }
  .graph-state-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 17px; }
  .graph-state { padding: 10px; border: 1px solid hsl(180 20% 70% / .24); border-radius: 11px; background: hsl(195 35% 14%); }
  .graph-state span, .graph-state small { display: block; color: hsl(180 20% 78%); font-size: 9px; line-height: 1.35; }
  .graph-state strong { display: block; margin: 2px 0; color: white; font-size: 1.3rem; }
  .graph-state small { color: hsl(180 20% 65%); font-family: var(--mono); font-size: 9px; }
  .graph-state.is-current { border-color: var(--w-bright); background: hsl(158 40% 18%); }
  .graph-state.is-current span { color: var(--w-bright); }
  .graph-method { margin: 13px 0 16px; color: hsl(180 20% 72%); font-size: 10px; line-height: 1.45; }
  .v2-brief { padding: 24px; }
  .v2-brief h3 { font-size: 1.3rem; }
  .v2-perspective { display: flex; gap: 8px; margin-block: 17px; }
  .v2-brief-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
  .v2-brief-list li { position: relative; padding-inline-start: 22px; color: var(--ink-soft); font-size: 12px; }
  .v2-brief-list li::before { content: "·"; position: absolute; inset-inline-start: 8px; color: var(--w-side); font-size: 20px; line-height: 11px; }
  .v2-brief-callout { margin-top: 20px; padding: 14px; border-radius: 12px; background: var(--f-soft); color: var(--f-deep); font-size: 12px; font-weight: 700; line-height: 1.45; }
  @media (max-width: 820px) { .v2-split { grid-template-columns: 1fr; } }
  @media (max-width: 480px) { .graph-state-strip { grid-template-columns: 1fr; } }

  .v2-lab-grid { align-items: start; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .v2-lab { padding: 20px; display: flex; flex-direction: column; }
  .v2-lab h3 { font-size: 1rem; }
  .v2-lab > p { min-height: 50px; color: var(--ink-mute); font-size: 11px; line-height: 1.45; }
  .v2-lab > .model-method { min-height: 0; }
  .model-kicker { display: flex; align-items: center; gap: 7px; margin-top: 18px; color: var(--ink-mute); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
  .model-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--w-side); }
  .model-method { margin: 15px 0 0; padding-top: 12px; border-top: 1px dashed var(--rule); color: var(--ink-mute); font-size: 10px; line-height: 1.45; }
  .model-method b { display: block; margin-bottom: 3px; color: var(--ink-soft); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
  .v2-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-top: 14px; color: var(--ink-soft); font-size: 11px; }
  .v2-field input[type="range"] { grid-column: 1 / -1; width: 100%; accent-color: var(--w-side); }
  .v2-field output { color: var(--ink); font-weight: 850; font-variant-numeric: tabular-nums; }
  .v2-result { margin-top: 17px; padding: 14px 15px; border: 1px solid hsl(158 55% 62% / .35); border-radius: 13px; background: var(--w-soft); }
  .v2-result .result-label { display: block; color: var(--w-deep); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
  .v2-result strong { display: block; color: var(--w-deep); font-size: 1.6rem; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
  .v2-result span { display: block; margin-top: 3px; color: var(--ink-mute); font-size: 11px; line-height: 1.4; }
  .v2-formula { margin: 12px 0 0; color: var(--ink-mute); font-family: var(--mono); font-size: 10px; line-height: 1.45; }
  .v2-formula .method-label { display: block; margin-bottom: 3px; color: var(--ink-soft); font-family: inherit; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
  .v2-table-wrap { margin-top: 15px; overflow-x: auto; border: 1px solid var(--rule); border-radius: 10px; }
  .v2-table { width: 100%; border-collapse: collapse; font-size: 10px; white-space: nowrap; }
  .v2-table th, .v2-table td { padding: 8px; border-bottom: 1px solid var(--rule); text-align: end; font-variant-numeric: tabular-nums; }
  .v2-table th:first-child, .v2-table td:first-child { text-align: start; }
  .v2-table tr:last-child td { border-bottom: 0; }
  .v2-table th { color: var(--ink-mute); font-weight: 800; background: var(--paper-deep); }
  .v2-model-state { min-height: 16px; margin-top: 8px; color: var(--danger); font-size: 11px; line-height: 1.4; }
  .v2-model-state:empty { display: none; }
  .v2-check-field { display: flex; gap: 8px; align-items: center; margin-top: 14px; color: var(--ink-soft); font-size: 11px; }
  .v2-check-field input { width: 18px; height: 18px; accent-color: var(--w-side); }
  .v2-ledger-grid { grid-template-columns: repeat(3, 1fr); }
  .v2-ledger { margin-top: 14px; padding: 13px; border: 1px solid var(--rule); border-radius: 12px; background: var(--paper-deep); }
  .v2-ledger > strong { display: block; color: var(--ink); font-size: 11px; }
  .v2-ledger .v2-field { margin-top: 11px; }
  .v2-ledger .v2-result { margin-top: 13px; }
  .v2-ledger .model-kicker { margin-top: 0; }
  .v2-ledger .v2-result strong { font-size: 1.45rem; }
  .v2-ledger-balance { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rule); color: var(--ink-mute); font-size: 10px; }
  .v2-ledger-balance strong { color: var(--ink); font-variant-numeric: tabular-nums; }
  .v2-field select { grid-column: 1 / -1; width: 100%; min-height: 36px; border: 1px solid var(--rule); border-radius: 9px; padding: 7px 9px; background: var(--card); color: var(--ink); font: inherit; font-size: 11px; }
  .v2-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
  .v2-metric { min-width: 0; padding: 11px; border: 1px solid var(--rule); border-radius: 11px; background: var(--paper-deep); }
  .v2-metric span { display: block; color: var(--ink-mute); font-size: 9px; line-height: 1.3; }
  .v2-metric strong { display: block; margin-top: 5px; color: var(--ink); font-size: 1.15rem; font-variant-numeric: tabular-nums; }
  @media (max-width: 1100px) { .v2-ledger-grid { grid-template-columns: 1fr 1fr; } .v2-ledger-grid > :last-child { grid-column: 1 / -1; } }
  @media (max-width: 820px) { .v2-lab-grid { grid-template-columns: 1fr; } .v2-lab > p { min-height: 0; } }
  @media (max-width: 480px) { .v2-metric-grid { grid-template-columns: 1fr; } }

  .v2-record-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; }
  .v2-record { padding: 24px; }
  .v2-record h3 { font-size: 1.2rem; }
  .v2-record p { color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
  .record-object-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--ink-mute); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
  .record-object-label strong { color: var(--w-deep); }
  .record-inspectable { margin-top: 18px; padding: 14px; border: 1px solid var(--w-side); border-radius: 14px; background: linear-gradient(145deg, var(--w-soft), var(--card)); }
  .record-inspectable h3 { margin: 0 0 5px; }
  .record-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 16px; border: 1px solid var(--rule); border-radius: 11px; overflow: hidden; background: var(--rule); }
  .record-meta div { min-width: 0; padding: 10px; background: var(--card); }
  .record-meta dt { color: var(--ink-mute); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
  .record-meta dd { margin: 3px 0 0; color: var(--ink); font-size: 11px; font-weight: 750; line-height: 1.35; }
  .record-access-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 999px; background: var(--w-soft); color: var(--w-deep); font-size: 9px; font-weight: 850; }
  .record-access-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
  .v2-record-line { display: grid; grid-template-columns: 74px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--rule); }
  .v2-record-line time { color: var(--ink-mute); font-family: var(--mono); font-size: 10px; }
  .v2-record-line strong { display: block; font-size: 12px; }
  .v2-record-line span { display: block; margin-top: 3px; color: var(--ink-mute); font-size: 11px; }
  .v2-access-state { margin-top: 18px; padding: 14px; border-radius: 12px; background: var(--paper-deep); font-size: 12px; }
  .v2-access-state strong { color: var(--ink); }
  .v2-access-state span { display: block; margin-top: 4px; color: var(--ink-mute); line-height: 1.45; }
  .v2-cv-card { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
  .v2-cv-card > div { padding: 14px; border-radius: 12px; background: var(--paper-deep); }
  .v2-cv-card b { display: block; font-size: 11px; }
  .v2-cv-card span { display: block; margin-top: 5px; color: var(--ink-mute); font-size: 10px; line-height: 1.4; }
  @media (max-width: 760px) { .v2-record-grid { grid-template-columns: 1fr; } }
  @media (max-width: 480px) { .record-meta { grid-template-columns: 1fr; } .v2-record-line { grid-template-columns: 62px 1fr; } }

  .v2-scenes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; align-items: start; }
  .v2-scene { min-width: 0; border: 1px solid var(--rule); border-radius: 12px; background: var(--card); }
  .v2-scene[open] { grid-column: 1 / -1; }
  .v2-scene summary { min-height: 56px; display: flex; align-items: center; gap: 10px; padding: 12px; cursor: pointer; list-style: none; font-size: 11px; font-weight: 800; }
  .v2-scene summary::-webkit-details-marker { display: none; }
  .v2-scene summary::before { content: attr(data-scene); flex: 0 0 auto; color: var(--w-deep); font-family: var(--mono); font-size: 10px; }
  .v2-scene[open] summary { background: var(--w-soft); border-radius: 12px 12px 0 0; }
  .v2-scene p { margin: 0; padding: 0 12px 14px; color: var(--ink-mute); font-size: 11px; line-height: 1.45; }
  .v2-scene-body { display: grid; grid-template-columns: 1.05fr .95fr; gap: 12px; padding: 0 12px 14px; border-top: 1px solid var(--rule); }
  .v2-scene-body p { padding: 0; }
  .v2-scene-state { display: grid; gap: 7px; align-content: start; padding-top: 12px; }
  .v2-scene-state strong { color: var(--ink); font-size: 11px; }
  .v2-scene-state span { color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
  .v2-scene-meta { padding-top: 12px; border-inline-start: 1px solid var(--rule); padding-inline-start: 12px; }
  .v2-scene-meta small { display: block; color: var(--ink-mute); font-family: var(--mono); font-size: 9px; line-height: 1.45; }
  .v2-scene-result { min-height: 18px; color: var(--w-deep); font-size: 11px; font-weight: 700; }
  .v2-scene .v2-action { min-height: 28px; padding: 5px 8px; font-size: 10px; }
  @media (max-width: 560px) { .v2-scene-body { grid-template-columns: 1fr; } .v2-scene-meta { border-inline-start: 0; border-top: 1px solid var(--rule); padding-inline-start: 0; padding-top: 9px; } }
  @media (max-width: 740px) { .v2-scenes { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 450px) { .v2-scenes { grid-template-columns: 1fr; } }

  dialog.v2-source-dialog { width: min(640px, calc(100% - 28px)); border: 0; border-radius: 18px; padding: 0; background: var(--card); color: var(--ink); box-shadow: 0 24px 90px hsl(195 45% 12% / .28); }
  dialog.v2-source-dialog::backdrop { background: hsl(195 45% 12% / .55); backdrop-filter: blur(3px); }
  .v2-source-inner { padding: 25px; }
  .v2-source-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
  .v2-source-head h2 { font-size: 1.25rem; }
  .v2-close { width: 40px; height: 40px; border: 1px solid var(--rule); border-radius: 50%; background: transparent; color: var(--ink); font-size: 20px; cursor: pointer; }
  .v2-source-inner dl { display: grid; grid-template-columns: 110px 1fr; gap: 12px 15px; margin: 24px 0 0; font-size: 12px; }
  .v2-source-inner dt { color: var(--ink-mute); font-weight: 800; }
  .v2-source-inner dd { margin: 0; color: var(--ink-soft); }
  .v2-source-inner dd a { overflow-wrap: anywhere; }
  .v2-source-type { margin-top: 18px; }
  .chapter-transition { margin: 0 auto 28px; padding: 14px 17px; max-width: 82ch; border-inline-start: 3px solid var(--f-side); background: var(--f-soft); color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
  .chapter-transition strong { color: var(--ink); }
  .chapter-transition a { font-weight: 800; }
  .legacy-label-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 15px; }
  .evidence-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--ink-mute); font-size: 11px; }
  .evidence-legend > span:first-child { margin-inline-end: 3px; font-weight: 800; }
  .evidence-legend .evidence-label { padding: 5px 8px; font-size: 9px; }
  .v2-status-line { min-height: 24px; margin-top: 12px; color: var(--w-deep); font-size: 12px; }
  .v2-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  a.src-ref {
    font-size: 0.72em; font-weight: 800; line-height: 1; text-decoration: none;
    color: var(--w-side); margin-inline-start: 0.15em; vertical-align: super;
  }
  a.src-ref:hover, a.src-ref:focus { text-decoration: underline; }

  .report-figure {
    margin: 28px 0 8px; padding: 18px 18px 14px;
    border: 1px solid var(--rule); border-radius: 16px; background: var(--card); color: var(--ink);
  }
  .report-figure figcaption { margin: 0 0 14px; }
  .report-figure .fig-kicker {
    display: block; font-size: 11px; font-weight: 800; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--w-side); margin-bottom: 4px;
  }
  .report-figure .fig-title { display: block; font-size: 1.05rem; font-weight: 800; letter-spacing: -0.01em; }
  .report-figure .fig-note {
    display: block; margin-top: 6px; font-size: 12px; color: var(--ink-mute); max-width: 72ch; line-height: 1.5;
  }
  .report-figure svg { width: 100%; height: auto; display: block; }
  .household-cost-image .household-image-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 16px; }
  .household-image-toolbar a { display: inline-flex; align-items: center; min-height: 44px; font: 600 14px var(--sans); }
  .household-cost-image .household-figure-image { display: block; width: 100%; height: auto; max-width: 100%; border: 1px solid var(--rule); border-radius: 8px; }
  .household-cost-image figcaption { line-height: 1.6; }
  .household-cost-image .household-table-scroll { overflow-x: auto; }
  .household-cost-image td { white-space: nowrap; font-variant-numeric: tabular-nums; }
  @media (max-width: 720px) { .household-cost-image figcaption { font-size: 15px; } .household-cost-image details { font-size: 15px; } }
  @media print { .household-image-toolbar a { display: none; } }
  .report-figure details { margin-top: 12px; font-size: 13px; }
  .report-figure summary {
    cursor: pointer; font-weight: 700; color: var(--w-deep); min-height: 40px;
    display: flex; align-items: center;
  }
  .report-figure table {
    width: 100%; border-collapse: collapse; margin-top: 10px;
    font-size: 12px; font-variant-numeric: tabular-nums;
  }
  .report-figure th, .report-figure td {
    text-align: start; padding: 8px 10px; border-bottom: 1px solid var(--rule); vertical-align: top;
  }
  .report-figure th { background: var(--paper-deep); font-weight: 800; color: var(--ink-soft); }
  .report-figure td:nth-child(n+2) { text-align: end; }
  html[data-lang="ar"] .fig-lang-en { display: none !important; }
  html:not([data-lang="ar"]) .fig-lang-ar { display: none !important; }

  .author-block {
    display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; align-items: start;
    margin: 0 0 28px; padding: 18px 20px; border: 1px solid var(--rule); border-radius: 16px; background: var(--card);
  }
  .author-block .author-mark {
    width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%;
    background: var(--w-soft); color: var(--w-deep); font-weight: 800; letter-spacing: -0.02em;
  }
  .author-block p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.45; }
  .author-block strong { color: var(--ink); }
  .author-block .author-meta { font-size: 12px; color: var(--ink-mute); margin-top: 4px; }

  .sources-list { margin: 0; padding-inline-start: 1.4em; max-width: 82ch; }
  .sources-list li { margin: 0 0 14px; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
  .sources-list a { overflow-wrap: anywhere; }
  .sources-list cite { font-style: normal; color: var(--ink); font-weight: 650; }

  .edition-switch { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; color:var(--ink-mute); font-size:13px; }
  .hero-inner { padding-block:32px 36px; }
  .thesis { max-width:66ch; }
  .exec-summary-grid { display:block; margin-top:22px; }
  .exec-summary-block { border:0; padding:0; background:transparent; }
  .exec-summary-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .exec-summary-list li { display:block; font-size:16px; line-height:1.55; }
  .exec-summary-list li::before { margin-bottom:12px; }
  .v2-lab > p { min-height:0; font-size:14px; }
  .v2-lab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-ledger-grid { margin-top:18px; }
  .v2-field label, .v2-field output, .v2-check-field, .v2-result span { font-size:13px; }
  .primary-model { max-width:680px; margin-inline:auto; }
  .report-extra { margin-block:24px; border:1px solid var(--rule); border-radius:16px; padding:20px; }
  .report-extra > summary { cursor:pointer; color:var(--ink); font-weight:750; min-height:44px; padding-block:10px; }
  .report-extra[open] > summary { margin-bottom:20px; }
  .footnote-list { columns:2; column-gap:36px; }
  .footnote-list li { break-inside:avoid; margin-bottom:10px; overflow-wrap:anywhere; }
  section[id], details[id], li[id^="source-"] { scroll-margin-top:110px; }
  .src-ref { display:inline-flex; align-items:center; justify-content:center; min-inline-size:24px; min-block-size:24px; vertical-align:super; font-size:11px; }
  .report-nav, .v2-position { background:var(--paper); }
  @media(max-width:720px) { .exec-summary-list,.v2-lab-grid,.v2-ledger-grid { grid-template-columns:1fr; } .footnote-list { columns:1; } .report-extra { padding:14px; } }
  @media print { .footnote-list { columns:2; } .report-extra:not([open]) { display:none; } .src-ref { color:inherit; } }

  .v2-field > span { font-size:13px; }
  .model-kicker { margin-top:20px; }

  .v2-status { white-space:normal; }

  .household-cost { scroll-margin-top: 110px; }
  .household-cost-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr); gap: 26px; align-items: start; margin-block: 22px 16px; }
  .household-total { background: var(--f-soft); border-inline-start: 4px solid var(--f-side); border-radius: 10px; padding: 24px; }
  .household-total-label, .household-total-unit { display: block; color: var(--f-deep); font-size: 14px; }
  .household-total-amount { display: block; margin-block: 8px 0; font-size: clamp(42px, 5.4vw, 64px); line-height: 1.08; letter-spacing: -0.04em; color: var(--ink); }
  .household-total-unit { margin-bottom: 24px; }
  .household-net-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding-block: 10px; border-top: 1px solid var(--rule); color: var(--ink-soft); font-size: 14px; }
  .household-net-row strong { flex-shrink: 0; color: var(--ink); font-variant-numeric: tabular-nums; }
  .household-takeaway { margin: 18px 0 0; font-family: var(--serif); font-size: 21px; line-height: 1.35; color: var(--f-deep); }
  .household-gross { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 10px; color: var(--ink-soft); font-size: 14px; }
  .household-gross strong { color: var(--ink); font-variant-numeric: tabular-nums; }
  .household-cost .household-breakdown svg { border-radius: 5px; margin-bottom: 12px; }
  .household-cost-items { list-style: none; margin: 0; padding: 0; }
  .household-cost-items li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding-block: 9px; border-bottom: 1px solid var(--rule); color: var(--ink-soft); font-size: 15px; }
  .household-cost-items strong { color: var(--ink); flex-shrink: 0; font-variant-numeric: tabular-nums; }
  .household-item-label { display: flex; align-items: baseline; gap: 9px; }
  .household-item-label i { width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0; }
  .household-cost-items .household-refund { color: var(--w-deep); border-bottom: 0; font-weight: 700; }
  .household-refund strong { color: var(--w-deep); }
  .household-includes { font-size: 13px; color: var(--ink-mute); margin: 9px 0 0; }
  .household-example { display: inline-block; margin-inline-start: 8px; font-size: 12px; }
  @media (max-width: 700px) { .household-cost-layout { grid-template-columns: 1fr; gap: 20px; } .household-total { padding: 20px; } .household-total-amount { font-size: 50px; } .household-example { display: block; margin-inline-start: 0; margin-top: 5px; } }

  .research-chapter { padding-block: 36px; scroll-margin-top: 108px; }
  .research-chapter .sec-sub { margin-bottom: 22px; max-width: 850px; }
  .research-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 22px; }
  .research-summary-grid article { border-inline-start: 3px solid var(--w-side); padding-inline-start: 15px; }
  .research-summary-grid h3 { font-size: 19px; line-height: 1.3; }
  .research-summary-grid article p:not(.research-eyebrow) { color: var(--ink-soft); font-size: 15px; margin: 10px 0 0; }
  .research-eyebrow { color: var(--w-deep); font-size: 12px; font-weight: 800; letter-spacing: .03em; margin: 0 0 10px; }
  .research-concern-grid, .research-quote-grid, .research-two-up { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; }
  #quote-evidence { scroll-margin-top: 110px; }
  .research-chart-unit { font-size: 13px; color: var(--ink-mute); margin: 0 0 10px; }
  .research-concerns { padding: 22px; background: var(--card); border: 1px solid var(--rule); border-radius: 12px; }
  .research-concerns h3 { font-size: 20px; margin: 0 0 12px; }
  .research-concerns ul { padding: 0; margin: 0; list-style: none; }
  .research-concerns li { margin-top: 16px; }
  .research-concerns li > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 16px; }
  .research-concerns li strong { font: 700 22px var(--mono); }
  .research-count-track { display: block; background: var(--paper-deep); height: 7px; border-radius: 5px; margin-top: 7px; overflow: hidden; }
  .research-count-track i { display: block; height: 100%; background: var(--w-side); }
  .research-concerns.family .research-count-track i { background: var(--f-side); }
  .research-takeaway { border-inline-start: 3px solid var(--w-side); padding: 8px 18px; margin-top: 20px; max-width: 840px; }
  .research-takeaway p { margin: 0; color: var(--ink-soft); font-size: 18px; }
  .research-spotlight { display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 20px 30px; padding: 28px; border: 1px solid var(--rule); border-radius: 14px; background: var(--w-soft); margin-bottom: 18px; }
  .research-spotlight h3 { font-size: clamp(25px,3.5vw,37px); line-height: 1.15; }
  .research-spotlight blockquote, .research-budget blockquote { font-family: var(--serif); font-size: 23px; line-height: 1.45; margin: 16px 0; }
  .research-attribution { color: var(--ink-mute); font-size: 12px; margin: 10px 0 0; }
  .research-funnel { grid-row: span 2; display: grid; gap: 8px; text-align: center; align-content: start; }
  .research-funnel > div { display: grid; }
  .research-funnel strong { color: var(--w-deep); font-size: 34px; line-height: 1; }
  .research-funnel span { font-size: 13px; margin-top: 4px; }
  .research-funnel i { color: var(--ink-mute); font-style: normal; font-size: 18px; }
  .research-spotlight-lesson { border-top: 1px solid var(--rule); padding-top: 15px; margin: 0; color: var(--ink-soft); font-size: 17px; }
  .research-quote { background: var(--card); border: 1px solid var(--rule); border-radius: 12px; padding: 22px; }
  .research-quote h3 { font-size: 19px; line-height: 1.3; }
  .research-quote blockquote { margin: 14px 0 10px; font-family: var(--serif); font-size: 20px; line-height: 1.42; color: var(--ink); }
  .research-quote-meaning { margin: 15px 0 0; border-top: 1px solid var(--rule); padding-top: 13px; font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
  .research-moments { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .research-moments article, .research-action-grid article { padding: 20px; background: var(--card); border: 1px solid var(--rule); border-radius: 12px; }
  .research-moment-number { display: block; font: 700 13px var(--mono); color: var(--f-deep); margin-bottom: 9px; }
  .research-moments h3, .research-action-grid h3 { font-size: 20px; }
  .research-moments p, .research-action-grid p { margin: 10px 0 14px; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
  .research-moments strong { display: block; color: var(--w-deep); font-size: 14px; }
  .research-budget { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; background: var(--f-soft); border: 1px solid var(--rule); border-radius: 12px; padding: 24px; margin-bottom: 18px; align-items: start; }
  .research-budget blockquote { margin-block: 0 12px; }
  .research-budget dl { margin: 0; }
  .research-budget dl > div { display: flex; justify-content: space-between; gap: 15px; align-items: baseline; padding-block: 12px; border-bottom: 1px solid var(--rule); }
  .research-budget dd { margin: 0; font: 700 24px var(--mono); white-space: nowrap; }
  .research-budget .research-budget-total { border-bottom: 0; color: var(--f-deep); font-weight: 800; }
  .research-budget .research-budget-total dd { font-size: 34px; }
  .research-note { padding: 20px; border-inline-start: 3px solid var(--w-side); background: var(--card); }
  .research-note h3 { font-size: 20px; }
  .research-note p { margin: 10px 0 0; font-size: 16px; color: var(--ink-soft); }
  .research-table-scroll { overflow-x: auto; }
  .research-coverage { width: 100%; border-collapse: collapse; text-align: start; font-size: 15px; }
  .research-coverage th, .research-coverage td { text-align: start; padding: 15px; vertical-align: top; border-bottom: 1px solid var(--rule); }
  .research-coverage thead { background: var(--paper-deep); }
  .research-coverage tbody th { width: 21%; color: var(--w-deep); }
  .research-coverage td { color: var(--ink-soft); }
  .research-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 24px; }
  #report-examples { border: 1px solid var(--rule); border-radius: 12px; padding: 20px; background: var(--card); }
  #report-examples > summary { cursor: pointer; font-size: 20px; font-weight: 800; color: var(--w-deep); }
  .research-example-section { padding-block: 25px; scroll-margin-top: 110px; }
  .research-example-section > .wrap { padding-inline: 0; }
  .research-example-section[data-tone="dark"] { padding-inline: clamp(16px, 3vw, 28px); border-radius: 12px; }
  @media (max-width:760px) { .research-summary-grid, .research-moments { grid-template-columns: 1fr; } .research-summary-grid { gap: 20px; } .research-concern-grid, .research-quote-grid, .research-two-up, .research-budget { grid-template-columns: 1fr; } .research-chapter { padding-block: 26px; } .research-spotlight { padding: 20px; grid-template-columns: minmax(0,1fr) 100px; gap: 16px; } .research-spotlight blockquote { font-size: 20px; } .research-funnel strong { font-size: 29px; } .research-spotlight-lesson { grid-column: 1/-1; } .research-coverage { min-width: 570px; } }
  @media (max-width:480px) { .research-spotlight { grid-template-columns: 1fr; } .research-funnel { grid-row: auto; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; text-align: start; } .research-funnel span { font-size: 11px; } .research-funnel strong { font-size: 26px; } .research-funnel i { display: none; } .research-spotlight-lesson { grid-column: auto; } .research-action-grid { grid-template-columns: 1fr; } .research-quote { padding: 18px; } }


.hero { padding-block:48px 22px; } .hero .title { max-width:100%; margin-block:18px; } .hero .thesis { max-width:850px; margin-bottom:0; }
#report-start { padding-top:20px; } .exec-summary { padding:28px; margin-bottom:18px; } .exec-summary-head { max-width:850px; } .exec-summary-head h2 { font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.2; }
.household-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:22px; } .household-metric { padding:22px 24px 18px; border-inline-start:1px solid var(--rule); } .household-metric:nth-child(3n+1) { border-inline-start:0; padding-inline-start:0; } .household-metric:nth-child(n+4) { border-top:1px solid var(--rule); }
.household-metric-value { display:block; font-family:var(--sans); color:var(--f-side); font-size:clamp(2.5rem,5vw,4rem); line-height:1; letter-spacing:-.05em; } .household-metric h3 { font-size:17px; margin:10px 0 7px; } .household-metric p { font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0; } .household-metric small { display:block; color:var(--ink-mute); font:11px var(--mono); margin-top:7px; }
.household-distribution { border-top:1px solid var(--rule); padding-top:15px; margin-top:10px; } .household-distribution summary { cursor:pointer; font-size:13px; font-weight:700; } .household-distribution p { font-size:13px; color:var(--ink-soft); } .household-table-scroll { overflow-x:auto; margin-top:15px; } .household-distribution table { width:100%; border-collapse:collapse; font:12px/1.5 var(--sans); } .household-distribution th,.household-distribution td { padding:10px; border-bottom:1px solid var(--rule); text-align:end; white-space:nowrap; } .household-distribution th:first-child { text-align:start; }
#household-cost { padding-block:35px 40px; } .household-cost { padding:24px; } .household-cost-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; } .household-total { font:800 clamp(2.9rem,6vw,4.8rem)/1 var(--sans); letter-spacing:-.055em; margin:14px 0 10px; color:var(--ink); } .household-total small { font-size:20px; letter-spacing:0; } .household-total-basis { font-size:13px; color:var(--ink-soft); margin:0; } .household-percentiles { display:flex; gap:24px; font:12px var(--sans); color:var(--ink-soft); } .household-percentiles strong { display:block; font-size:21px; color:var(--ink); margin-top:5px; }
.waterfall-scroll { overflow-x:auto; margin-top:18px; } .household-cost .waterfall-scroll svg { width:100%; min-width:800px; max-height:none; display:block; } .waterfall-axis { fill:var(--ink-mute); font:11px var(--sans); } .waterfall-value { fill:var(--ink); font:700 13px var(--sans); } .waterfall-label { fill:var(--ink-soft); font:12px var(--sans); } .household-cost figcaption { margin-top:10px; max-width:none; font-size:13px; } .household-cost details { margin-top:15px; }
.household-beyond { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding-top:22px; } .household-beyond article { border-inline-start:3px solid var(--w-side); padding-inline-start:20px; } .household-beyond strong { font:750 clamp(1.5rem,2.5vw,2rem)/1.2 var(--sans); color:var(--w-deep); } .household-beyond h3 { font-size:18px; margin:10px 0; } .household-beyond p { font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0; }
@media(max-width:720px) { .hero { padding-top:26px; } .exec-summary { padding:20px; } .household-metrics { grid-template-columns:1fr 1fr; } .household-metric,.household-metric:nth-child(3n+1) { padding:18px 14px; border-inline-start:1px solid var(--rule); } .household-metric:nth-child(2n+1) { border-inline-start:0; padding-inline-start:0; } .household-metric:nth-child(n+3) { border-top:1px solid var(--rule); } .household-metric h3 { font-size:15px; } .household-metric-value { font-size:2.5rem; } .household-metric p { font-size:12px; } .household-cost { padding:18px 14px; } .household-percentiles { gap:22px; } .household-beyond { grid-template-columns:1fr; } }
.household-cost-heading .household-total { padding:0; border:0; border-radius:0; background:transparent; }
@media print { .household-cost .waterfall-scroll svg { min-width:0; } .household-metrics { grid-template-columns:repeat(3,1fr); } .household-cost { break-inside:avoid; } }

.household-cost .waterfall-scroll .waterfall-mobile { display:none; } .waterfall-mobile-label { font:12px var(--sans); fill:var(--ink-soft); } @media(max-width:720px) { .household-cost .waterfall-scroll .waterfall-desktop { display:none; } .household-cost .waterfall-scroll .waterfall-mobile { display:block; min-width:0; width:100%; } .household-metric:last-child .household-metric-value { font-size:2rem; line-height:1.1; } } @media print { .household-cost .waterfall-scroll .waterfall-desktop { display:block; } .household-cost .waterfall-scroll .waterfall-mobile { display:none; } }

.household-hiring-path { margin-block:24px 6px; padding:22px 24px; border:1px solid var(--rule); border-radius:12px; background:var(--w-soft); }
.household-hiring-path h3 { margin:0; font-size:17px; color:var(--w-deep); }
.household-hiring-path ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:20px 0 15px; gap:28px; }
.household-hiring-path li { display:grid; position:relative; gap:8px; }
.household-hiring-path li:not(:last-child)::after { content:'→'; position:absolute; inset-inline-end:0; top:7px; color:var(--w-deep); font-size:24px; }
html[dir="rtl"] .household-hiring-path li:not(:last-child)::after { content:'←'; }
.household-hiring-path strong { font:800 clamp(2rem,4.8vw,3.8rem)/1 var(--sans); letter-spacing:-.04em; color:var(--w-deep); }
.household-hiring-path li span { font-size:15px; color:var(--ink); }
.household-hiring-path p { margin:0; color:var(--ink-soft); font-size:13px; }
.household-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.household-metric,.household-metric:nth-child(3n+1) { padding:20px; border-top:0; border-inline-start:1px solid var(--rule); }
.household-metric:first-child { border-inline-start:0; padding-inline-start:0; }
.household-metric:nth-child(2) .household-metric-value,.household-metric:nth-child(3) .household-metric-value { font-size:clamp(1.8rem,3.5vw,3rem); letter-spacing:-.04em; }
.household-restarts { margin:10px 0 16px; font-size:14px; line-height:1.5; color:var(--ink-soft); }
.research-spotlight { display:block; padding:24px; }
.research-spotlight h3 { font-size:25px; }
.research-spotlight blockquote { max-width:76ch; margin-block:14px; }
.research-spotlight-lesson { margin-top:18px; padding-top:13px; font-size:15px; }
.research-moments { gap:14px; }
.research-moments article { padding:20px; }
.research-moments h3 { font-size:20px; line-height:1.25; }
.research-moments p { margin-block:12px; }
.research-concerns { padding:20px; }
.research-concerns li { margin:0; padding-block:15px; border-top:1px solid var(--rule); }
.research-concerns li:first-child { border-top:0; }
.research-concerns li:last-child { padding-bottom:0; }
.research-concerns h4 { font:700 16px/1.35 var(--sans); margin:0; }
.research-concerns li p { font:14px/1.5 var(--sans); color:var(--ink-soft); margin:8px 0 0; }
.research-concerns li strong { font-size:20px; }
.research-count-track { height:5px; }
.research-chapter .sec-title { margin-bottom:16px; }
#evidence { padding-bottom:26px; }
#money { padding-top:28px; }
@media(max-width:760px) { .household-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .household-metric,.household-metric:nth-child(3n+1) { padding:18px 14px; } .household-metric:nth-child(2n+1) { border-inline-start:0; padding-inline-start:0; } .household-metric:nth-child(n+3) { border-top:1px solid var(--rule); } .household-hiring-path { padding:18px; } .household-hiring-path ol { gap:16px; } .household-hiring-path li span { font-size:12px; } .household-hiring-path li:not(:last-child)::after { font-size:18px; top:5px; inset-inline-end:-8px; } .research-moments { grid-template-columns:1fr; } }
@media print { .research-moments { grid-template-columns:repeat(2,minmax(0,1fr)); } .research-moments article,.research-concerns li { break-inside:avoid; } }


.journey-legend { display:flex; gap:20px; flex-wrap:wrap; align-items:center; font:12px/1.4 var(--sans); color:var(--ink-soft); margin:20px 0 14px; }
.journey-key-label::before { content:''; display:inline-block; inline-size:10px; block-size:10px; background:var(--f-side); border-radius:2px; margin-inline-end:7px; }
.hiring-journey { margin:0; padding:0; list-style:none; position:relative; }
.journey-stage { position:relative; display:grid; grid-template-columns:minmax(145px,.8fr) minmax(0,1.7fr) minmax(170px,1fr); gap:22px; padding:20px; border:1px solid var(--rule); border-inline-start:3px solid var(--w-side); background:var(--card); margin-block:0 12px; border-radius:10px; }
.journey-stage:not(:last-child)::after { content:''; position:absolute; inset-inline-start:24px; inset-block-end:-13px; block-size:12px; border-inline-start:2px solid var(--rule); }
.journey-stage.journey-key { background:var(--f-soft); border-inline-start-color:var(--f-side); }
.journey-number { font:700 12px var(--mono); color:var(--w-deep); display:block; margin-bottom:7px; }
.journey-key .journey-number,.journey-key .journey-stage-impact strong { color:var(--f-deep); }
.journey-stage-heading small { font:700 10px var(--sans); text-transform:uppercase; letter-spacing:.06em; color:var(--f-deep); display:block; margin-block:-2px 6px; }
.journey-stage h3 { font:750 18px/1.25 var(--sans); margin:0; }
.journey-stage p { font:14px/1.5 var(--sans); color:var(--ink-soft); margin:0; }
.journey-stage .journey-issue-line { color:var(--ink); font-weight:650; margin-bottom:8px; }
.journey-stage-impact { border-inline-start:1px solid var(--rule); padding-inline-start:18px; }
.journey-stage-impact strong { display:block; font:750 20px/1.25 var(--sans); color:var(--w-deep); margin-bottom:8px; }
.journey-stage-impact p { font-size:12px; }
.journey-total { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px; margin-top:20px; background:var(--w-soft); border:1px solid var(--rule); border-radius:10px; }
.journey-total strong { display:block; color:var(--w-deep); font:750 21px/1.25 var(--sans); margin-bottom:8px; }
.journey-total span { font:13px/1.45 var(--sans); color:var(--ink-soft); }
.journey-total p { grid-column:1/-1; margin:0; font-size:12px; color:var(--ink-mute); }
.journey-cost-basis { font-size:12px; color:var(--ink-mute); margin-top:12px; }
.issue-tree-root { position:relative; margin:24px auto 32px; text-align:center; }
.issue-tree-root strong { display:inline-block; position:relative; z-index:1; font:750 18px/1.3 var(--sans); padding:12px 22px; background:var(--ink); color:var(--paper); border-radius:9px; }
.issue-tree-root::after { content:''; position:absolute; inset-inline-start:50%; top:100%; block-size:18px; border-inline-start:2px solid var(--rule); }
.issue-tree { position:relative; gap:32px; }
.issue-tree::before { content:''; position:absolute; inset-inline:25%; inset-block-start:-15px; border-top:2px solid var(--rule); }
.issue-tree .research-concerns { border:0; padding:0; background:transparent; border-radius:0; position:relative; }
.issue-tree .research-concerns::before { content:''; position:absolute; inset-inline-start:50%; inset-block-start:-15px; block-size:15px; border-inline-start:2px solid var(--rule); }
.issue-tree h3 { text-align:center; margin:0 0 16px; font-size:20px; background:var(--w-soft); color:var(--w-deep); padding:12px; border-radius:9px; border:1px solid var(--rule); }
.issue-tree .family h3 { background:var(--f-soft); color:var(--f-deep); }
.issue-tree .issue-branches { border-inline-start:2px solid var(--w-side); margin-inline-start:18px; padding-inline-start:18px; }
.issue-tree .family .issue-branches { border-inline-start-color:var(--f-side); }
.issue-tree .issue-leaf,.issue-tree .issue-leaf:first-child,.issue-tree .issue-leaf:last-child { position:relative; padding:12px 14px; border:1px solid var(--rule); background:var(--card); border-radius:8px; margin-bottom:10px; }
.issue-tree .issue-leaf::before { content:''; position:absolute; inset-inline-start:-20px; inset-block-start:24px; inline-size:18px; border-top:2px solid var(--w-side); }
.issue-tree .family .issue-leaf::before { border-top-color:var(--f-side); }
.issue-tree .issue-leaf h4 { font-size:15px; }
.issue-tree .issue-leaf strong { font-size:17px; color:var(--w-deep); }
.issue-tree .family .issue-leaf strong { color:var(--f-deep); }
.issue-tree .issue-leaf p { font-size:13px; margin-top:6px; }
@media(max-width:760px) { .journey-stage { grid-template-columns:1fr; gap:12px; padding:18px; } .journey-stage-heading { padding-inline-start:34px; position:relative; } .journey-number { position:absolute; inset-inline-start:0; top:3px; } .journey-stage-impact { border-inline-start:0; border-top:1px solid var(--rule); padding-inline-start:0; padding-top:12px; } .journey-stage-impact strong { font-size:19px; margin-bottom:5px; } .journey-total { grid-template-columns:1fr; gap:18px; } .journey-total strong { font-size:20px; margin-bottom:4px; } .issue-tree { gap:24px; } .issue-tree::before,.issue-tree .research-concerns::before,.issue-tree-root::after { display:none; } .issue-tree-root { margin-bottom:18px; } .issue-tree-root strong { font-size:16px; } }
@media print { .journey-stage,.issue-tree .issue-leaf { break-inside:avoid; } .journey-stage { gap:14px; padding:14px; } .journey-stage h3 { font-size:16px; } }


.household-hiring-path strong { white-space:nowrap; }
@media(max-width:480px) { .household-hiring-path strong { font-size:clamp(22px,6.2vw,29px); } .household-hiring-path li:not(:last-child)::after { font-size:15px; inset-inline-end:-13px; top:2px; } }

body, .pull .src { font-family: Inter, system-ui, sans-serif; } h1,h2,h3,h4 { font-family: "Plus Jakarta Sans", system-ui, sans-serif; } .report-brand { display: inline-flex; align-items: center; } .report-brand img { display: block; } .report-brand .brand-dark { display: none; } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .report-brand .brand-light { display: none; } :root:not([data-theme="light"]) .report-brand .brand-dark { display: block; } }
