  :root{
    --paper:#FFFFFF; --paper-warm:#FAF8F5;
    --ink:#0B0D11;   --ink-soft:#13161C;
    --type-on-paper:#14171B;
    --type-on-paper-mute:#5A6470;
    --type-on-paper-rule:#E5E7EB;
    --type-on-ink:#FFFFFF;
    --type-on-ink-mute:#8A929C;
    --type-on-ink-rule:#22262D;
    --dsrt-d:#F030A0;
    --dsrt-s:#00F0E0;
    --dsrt-r:#10E080;
    --dsrt-t:#D0F000;
    --font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{
    background:var(--paper); color:var(--type-on-paper);
    font-family:var(--font); font-weight:400;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  a{color:inherit;}

  .frame{max-width:1080px; margin:0 auto; padding:0 56px;}

  /* ============ HUD ============ */
  /* HUD retired — intro loader, burger nav, and per-section eyebrows cover its purpose */
  .hud, header.frame{ display:none; }
  .hud-legacy{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:40px 0 56px;
    border-bottom:1px solid var(--type-on-paper-rule);
    margin-bottom:120px;
  }
  .hud .meta{font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--type-on-paper-mute);}
  .hud .meta b{font-weight:500; color:var(--type-on-paper); letter-spacing:0;}
  .hud .crumb{font-size:13px; color:var(--type-on-paper-mute);}
  .hud .crumb a{text-decoration:none;}
  .hud .crumb a:hover{color:var(--type-on-paper);}

  /* ============ BURGER + GLOBAL NAV ============ */
  .burger{
    position:fixed;
    top:30px; right:32px;
    z-index:200;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(8px);
    border:1px solid var(--type-on-paper-rule);
    border-radius:50%;
    width:48px; height:48px;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background 200ms ease, border-color 200ms ease;
  }
  .burger:hover{ background:#FFFFFF; border-color:var(--type-on-paper); }
  .burger .burger-lines{
    display:flex; flex-direction:column; gap:5px;
    width:18px;
  }
  .burger .burger-lines span{
    display:block; height:1.5px; background:var(--type-on-paper);
    transition:transform 240ms ease, opacity 240ms ease;
    transform-origin:center;
  }
  .burger.is-open .burger-lines span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .burger.is-open .burger-lines span:nth-child(2){ opacity:0; }
  .burger.is-open .burger-lines span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  .nav-panel{
    position:fixed;
    top:0; right:0;
    width:520px; max-width:92vw;
    height:100vh;
    background:var(--ink);
    color:var(--type-on-ink);
    padding:96px 56px 48px;
    z-index:150;
    transform:translateX(100%);
    transition:transform 420ms cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;
    display:flex; flex-direction:column;
  }
  .nav-panel.is-open{ transform:translateX(0); }
  .nav-panel .nav-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
    margin-bottom:48px;
  }
  .nav-panel .nav-eyebrow b{ color:var(--type-on-ink); font-weight:500; }
  .nav-panel ul{ list-style:none; padding:0; margin:0; }
  .nav-panel li{ border-top:1px solid var(--type-on-ink-rule); }
  .nav-panel li:last-child{ border-bottom:1px solid var(--type-on-ink-rule); }
  .nav-panel a{
    display:flex; align-items:baseline; gap:20px;
    padding:18px 0;
    font-size:20px; line-height:1.2;
    color:var(--type-on-ink);
    text-decoration:none;
    transition:padding-left 240ms ease, color 240ms ease;
  }
  .nav-panel a:hover{ padding-left:8px; }
  .nav-panel a .nav-num{
    font-size:11px; letter-spacing:0.22em;
    color:var(--type-on-ink-mute);
    width:28px; flex-shrink:0;
  }
  .nav-panel a .nav-sub{
    display:block;
    font-size:13px; line-height:1.4;
    color:var(--type-on-ink-mute);
    margin-top:4px;
    letter-spacing:0;
  }
  .nav-panel .nav-foot{
    margin-top:auto;
    padding-top:32px;
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
  }
  .nav-backdrop{
    position:fixed; inset:0;
    background:rgba(0,0,0,0.45);
    z-index:120;
    opacity:0; pointer-events:none;
    transition:opacity 300ms ease;
  }
  .nav-backdrop.is-open{ opacity:1; pointer-events:auto; }

  /* ============ HERO · Section 01 ============ */
  .hero{
    padding:80px 0 144px;
    position:relative;
  }
  .hero .hero-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:88px;
  }
  .hero-grid{
    display:grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap:64px;
    align-items:center;
  }
  .hero-text .hero-tag{
    font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:18px;
  }
  .hero-text h1{
    font-size:54px; line-height:1.04; letter-spacing:-0.025em;
    font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:24px;
    max-width:560px;
  }
  .hero-text .hero-body{
    font-size:20px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:580px;
    margin-bottom:48px;
  }
  .hero-ctas{
    display:flex; gap:32px; flex-wrap:wrap; align-items:baseline;
    margin:24px 0 0;
  }
  .hero-ctas a{
    text-decoration:none;
    transition:color 200ms ease, border-color 200ms ease;
  }
  .hero-ctas .cta-primary{
    font-size:17px;
    font-weight:500;
    color:var(--type-on-paper);
    padding-bottom:8px;
    border-bottom:2px solid var(--type-on-paper);
  }
  .hero-ctas .cta-primary:hover{ color:var(--signal); border-bottom-color:var(--signal); }
  .hero-ctas .cta-secondary{
    font-size:15px;
    color:var(--type-on-paper-mute);
  }
  .hero-ctas .cta-secondary:hover{ color:var(--type-on-paper); }
  .hero-ctas a .arrow{
    display:inline-block; transition:transform 200ms ease; margin-left:6px;
  }
  .hero-ctas a:hover .arrow{ transform:translateX(4px); }
  .hero-quick-links{
    display:flex; gap:28px; flex-wrap:wrap; align-items:baseline;
    font-size:14px;
    color:var(--type-on-paper-mute);
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .hero-quick-links .quick-label{ color:var(--type-on-paper-mute); letter-spacing:0.01em; }
  .hero-quick-links a{
    color:var(--type-on-paper);
    text-decoration:none;
    border-bottom:1px solid transparent;
    transition:border-color 200ms ease;
  }
  .hero-quick-links a:hover{ border-bottom-color:var(--type-on-paper); }
  .hero-walkthrough{
    margin-top:24px;
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
  }

  /* HERO FLAGSHIP ANIMATION v2 — 40s cinematic loop
     Beat 1 (0–17%)   Disruption — held longer for the WWF reveal
     Beat 2 (17–34%)  Salience
     Beat 3 (34–51%)  Reinforcement
     Beat 4 (51–68%)  Time
     Beat 5 (68–82%)  Unity Arc systemises them — logo
     Beat 6 (82–95%)  Logo becomes the Decision Signal Radar
     95–100%          fade out + brief empty before loop
  */
  .anim-flagship{ width:100%; height:100%; display:block; }
  .anim-flagship text{ font-family:"Inter", system-ui, sans-serif; }

  /* --- INTRO STACK: icon + NAME + tagline + subline ---
     Each force has its own group; we animate opacity per beat. */
  .anim-flagship .intro-group{ opacity:0; }
  .anim-flagship .intro-group.g-d{ animation: aIntroD 40s infinite; }
  .anim-flagship .intro-group.g-s{ animation: aIntroS 40s infinite; }
  .anim-flagship .intro-group.g-r{ animation: aIntroR 40s infinite; }
  .anim-flagship .intro-group.g-t{ animation: aIntroT 40s infinite; }
  /* Three breathing beats:
     · Beat 1 · Four forces (0–52%) — 13% per intro
     · Beat 2 · UNITY ARC alone (52–68%) — wordmark + strapline, no radar
     · Beat 3 · The radar forms (68–86%) then HOLDS (86–95%) as a full tableau */
  @keyframes aIntroD {
    0%,1%    { opacity:0; }
    3%       { opacity:1; }
    11%      { opacity:1; }
    13%      { opacity:0; }
    100%     { opacity:0; }
  }
  @keyframes aIntroS {
    0%,14%   { opacity:0; }
    16%      { opacity:1; }
    24%      { opacity:1; }
    26%      { opacity:0; }
    100%     { opacity:0; }
  }
  @keyframes aIntroR {
    0%,27%   { opacity:0; }
    29%      { opacity:1; }
    37%      { opacity:1; }
    39%      { opacity:0; }
    100%     { opacity:0; }
  }
  @keyframes aIntroT {
    0%,40%   { opacity:0; }
    42%      { opacity:1; }
    50%      { opacity:1; }
    52%      { opacity:0; }
    100%     { opacity:0; }
  }

  /* Intro icons (large central — drawn in same colour as force) */
  .anim-flagship .intro-icon{ stroke-linecap:round; fill:none; stroke-width:3; }
  .anim-flagship .intro-icon.k-d{ stroke:#F030A0; }
  .anim-flagship .intro-icon.k-s{ stroke:#00F0E0; }
  .anim-flagship .intro-icon.k-r{ stroke:#10E080; }
  .anim-flagship .intro-icon.k-t{ stroke:#D0F000; }

  /* Intro typography — big, white, easy to read */
  .anim-flagship .intro-name{
    font-size:36px; font-weight:700; letter-spacing:5px;
    fill:#FFFFFF;
  }
  /* MR descriptor — sits below the brand name, above the science tag */
  .anim-flagship .intro-mr{
    font-size:11px; font-weight:500; letter-spacing:0.32em;
    text-transform:uppercase;
    font-style:italic;
    fill:rgba(255,255,255,0.78);
  }
  .anim-flagship .intro-tag{
    font-size:13px; font-weight:600; letter-spacing:3px;
  }
  .anim-flagship .intro-tag.t-d{ fill:#F030A0; }
  .anim-flagship .intro-tag.t-s{ fill:#00F0E0; }
  .anim-flagship .intro-tag.t-r{ fill:#10E080; }
  .anim-flagship .intro-tag.t-t{ fill:#D0F000; }
  /* The D/S/R/T letter sits much larger so the brand spine reads first,
     then the RLST root word anchors what each letter actually stands for */
  .anim-flagship .intro-tag-letter{
    font-size:22px; font-weight:700; letter-spacing:0;
  }
  /* Cognitive-science qualifier — the mechanism beneath each RLST root */
  .anim-flagship .intro-sci{
    font-size:9px; font-weight:500; letter-spacing:0.24em; text-transform:uppercase;
    fill:rgba(255,255,255,0.55);
  }
  .anim-flagship .intro-sub{
    font-size:14px; font-weight:400; letter-spacing:0.01em;
    fill:#FFFFFF;
  }
  /* Behavioral-science authority line — RETIRED in v3 (kept for fallback) */
  .anim-flagship .intro-sci{
    font-size:8.5px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase;
    fill:rgba(255,255,255,0.5);
  }

  /* --- BEAT 5+6 LOGO/RADAR ELEMENTS --- */
  /* Vertex labels — small, at compass positions, appear in beat 5, go neon in beat 6 */
  .anim-flagship .v-label{
    font-size:11px; font-weight:600; letter-spacing:2.4px;
    fill:rgba(255,255,255,0.95);
    opacity:0;
  }
  .anim-flagship .v-label.v-d{ animation: aVLabelD 40s infinite; }
  .anim-flagship .v-label.v-s{ animation: aVLabelS 40s infinite; }
  .anim-flagship .v-label.v-r{ animation: aVLabelR 40s infinite; }
  .anim-flagship .v-label.v-t{ animation: aVLabelT 40s infinite; }
  @keyframes aVLabelD {
    0%,72%  { opacity:0; fill:rgba(255,255,255,0.9); }
    74%     { opacity:1; }
    80%     { opacity:1; fill:rgba(255,255,255,0.9); }
    83%     { fill:#F030A0; }
    95%     { opacity:1; fill:#F030A0; }
    100%    { opacity:0; }
  }
  @keyframes aVLabelS {
    0%,74%  { opacity:0; fill:rgba(255,255,255,0.9); }
    76%     { opacity:1; }
    81%     { opacity:1; fill:rgba(255,255,255,0.9); }
    84%     { fill:#00F0E0; }
    95%     { opacity:1; fill:#00F0E0; }
    100%    { opacity:0; }
  }
  @keyframes aVLabelR {
    0%,76%  { opacity:0; fill:rgba(255,255,255,0.9); }
    78%     { opacity:1; }
    82%     { opacity:1; fill:rgba(255,255,255,0.9); }
    85%     { fill:#10E080; }
    95%     { opacity:1; fill:#10E080; }
    100%    { opacity:0; }
  }
  @keyframes aVLabelT {
    0%,78%  { opacity:0; fill:rgba(255,255,255,0.9); }
    80%     { opacity:1; }
    83%     { opacity:1; fill:rgba(255,255,255,0.9); }
    86%     { fill:#D0F000; }
    95%     { opacity:1; fill:#D0F000; }
    100%    { opacity:0; }
  }

  /* Polygon draws in beat 5 */
  .anim-flagship .a-polygon{
    fill:rgba(255,255,255,0.04);
    stroke:rgba(255,255,255,0.7);
    stroke-width:1.6;
    stroke-dasharray:480;
    stroke-dashoffset:480;
    opacity:0;
    animation: aPolygon 40s infinite;
  }
  @keyframes aPolygon {
    0%,68%   { stroke-dashoffset:480; opacity:0; }
    70%      { opacity:1; }
    76%      { stroke-dashoffset:0; opacity:1; }
    95%      { stroke-dashoffset:0; opacity:1; }
    100%     { opacity:0; }
  }

  /* Vertex dots in RLST neons — appear in beat 5 */
  .anim-flagship .a-vertex{ opacity:0; animation: aVertex 40s infinite; }
  @keyframes aVertex {
    0%,72%   { opacity:0; r:0; }
    76%      { opacity:1; r:3.4; }
    95%      { opacity:1; r:3.4; }
    100%     { opacity:0; }
  }

  /* UNITY ARC reveal — beat 5 — big, bold, wordmark-feel */
  .anim-flagship .a-unity{
    font-size:30px; font-weight:700; letter-spacing:5.5px;
    fill:#FFFFFF;
    opacity:0;
    animation: aUnity 40s infinite;
  }
  /* Thin rule under UNITY ARC for wordmark anchoring */
  .anim-flagship .a-unity-rule{
    stroke:rgba(255,255,255,0.55); stroke-width:1;
    opacity:0;
    animation: aUnity 40s infinite;
  }
  .anim-flagship .a-unity-sub{
    font-size:9px; font-weight:400; letter-spacing:0.06em;
    fill:rgba(255,255,255,0.6);
    opacity:0;
    animation: aUnitySub 40s infinite;
  }
  /* UNITY ARC strapline — the line beneath the wordmark during the solo beat */
  .anim-flagship .a-unity-strapline{
    font-size:9.5px; font-weight:500; letter-spacing:0.28em; text-transform:uppercase;
    fill:rgba(255,255,255,0.75);
    opacity:0;
    animation: aUnityStrapline 40s infinite;
  }
  /* Evidence-base footnote — visible across the four force intros; phases out
     when Unity Arc takes focus. DSR letters are colour-coded to the brand. */
  .anim-flagship .a-evidence{
    font-size:9px; font-weight:500; letter-spacing:0.24em; text-transform:uppercase;
    fill:rgba(255,255,255,0.55);
    opacity:0;
    animation: aEvidence 40s infinite;
  }
  .anim-flagship .a-evidence .a-ev-d{ fill:#F030A0; font-weight:700; }
  .anim-flagship .a-evidence .a-ev-s{ fill:#00F0E0; font-weight:700; }
  .anim-flagship .a-evidence .a-ev-r{ fill:#10E080; font-weight:700; }
  @keyframes aEvidence {
    0%,1%   { opacity:0; }
    3%      { opacity:1; }
    50%     { opacity:1; }
    54%     { opacity:0; }
    100%    { opacity:0; }
  }
  /* UNITY ARC alone at 52–68% — solo wordmark moment, no polygon yet.
     Then phases out (66–70%) as the radar takes over the focus. (Hero animation, 40s loop — unchanged) */
  @keyframes aUnity {
    0%,53%  { opacity:0; }
    56%     { opacity:1; }
    66%     { opacity:1; }
    70%     { opacity:0; }
    100%    { opacity:0; }
  }
  @keyframes aUnitySub {
    0%,76%  { opacity:0; }
    80%     { opacity:1; }
    95%     { opacity:1; }
    100%    { opacity:0; }
  }
  /* Strapline appears with the wordmark and phases out with it */
  @keyframes aUnityStrapline {
    0%,56%  { opacity:0; }
    59%     { opacity:1; }
    66%     { opacity:1; }
    70%     { opacity:0; }
    100%    { opacity:0; }
  }

  /* Ring grid — beat 6 */
  .anim-flagship .a-rings{ opacity:0; animation: aRings 40s infinite; }
  @keyframes aRings {
    0%,80%  { opacity:0; }
    85%     { opacity:1; }
    95%     { opacity:1; }
    100%    { opacity:0; }
  }

  /* DECISION SIGNAL RADAR — beat 6 */
  .anim-flagship .a-radarname{
    font-size:11.5px; font-weight:600; letter-spacing:3px;
    fill:#FFFFFF;
    opacity:0;
    animation: aRadarName 40s infinite;
  }
  @keyframes aRadarName {
    0%,83%  { opacity:0; }
    87%     { opacity:1; }
    95%     { opacity:1; }
    100%    { opacity:0; }
  }

  /* HERO RADAR — contained ink card on paper */
  .hero-radar-card{
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:6px;
    padding:28px;
    /* Clean square that matches the now-shorter left column */
    aspect-ratio:1/1;
    width:100%;
    max-width:520px;
    margin-left:auto;
    display:flex; flex-direction:column; justify-content:space-between;
    position:relative;
  }
  /* Hero footnote — quick-links and walkthrough now sit below the grid */
  .hero-footnote{
    margin-top:64px;
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
    gap:24px;
  }
  .hero-footnote .hero-walkthrough{
    margin-top:0;
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
  }
  .hero-footnote .hero-quick-links{
    padding-top:0; border-top:none; margin-top:0;
  }
  .hero-radar-card .hero-radar-svg{ flex:1 1 auto; min-height:0; display:flex; align-items:center; justify-content:center; }
  .hero-radar-card .hero-radar-label{
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
    font-weight:600;
  }
  .hero-radar-card .hero-radar-label b{ color:var(--type-on-ink); font-weight:500; }
  .hero-radar-card .hero-radar-label .dsrt-id-word{ color:var(--type-on-ink); font-weight:600; }
  .hero-radar-card .hero-radar-svg{ flex:1; display:flex; align-items:center; justify-content:center; }
  .hero-radar-card svg{ width:100%; max-width:100%; height:auto; }
  .hero-radar-card .hero-radar-foot{
    font-size:11px; letter-spacing:0.04em;
    color:var(--type-on-ink-mute);
    text-align:center;
    opacity:0;
    animation: aFootCaption 40s infinite;
  }
  /* Foot caption · only appears once the radar is forming and holds through to fade */
  @keyframes aFootCaption {
    0%,80%  { opacity:0; }
    85%     { opacity:1; }
    95%     { opacity:1; }
    100%    { opacity:0; }
  }

  /* ============ THE SYSTEM · Section 02 ============ */
  .system{
    padding:120px 0 160px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .system .system-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:32px;
  }
  .system h2{
    font-size:54px; line-height:1.05; letter-spacing:-0.025em;
    font-weight:600; color:var(--type-on-paper);
    max-width:760px;
    margin-bottom:32px;
  }
  .system .system-lead{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:680px;
    margin-bottom:88px;
  }
  .system-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:48px;
    margin-bottom:72px;
  }
  .system-card{
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .system-card .system-role{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:16px;
  }
  .system-card h3{
    font-size:26px; line-height:1.15; letter-spacing:-0.012em;
    font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:18px;
  }
  .system-card p{
    font-size:16px; line-height:1.6;
    color:var(--type-on-paper);
  }
  .system .system-cta{
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .system .system-cta a{
    text-decoration:none;
    font-size:17px; font-weight:500;
    color:var(--type-on-paper);
    padding-bottom:8px;
    border-bottom:2px solid var(--type-on-paper);
    transition:color 200ms ease, border-color 200ms ease;
  }
  .system .system-cta a:hover{ color:var(--signal); border-bottom-color:var(--signal); }
  .system .system-cta a .arrow{ display:inline-block; transition:transform 200ms ease; margin-left:6px; }
  .system .system-cta a:hover .arrow{ transform:translateX(4px); }

  /* System · Global readiness block */
  .system-global{
    margin-top:72px;
    padding-top:64px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .system-global-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:18px;
  }
  .system-global-headline{
    font-size:34px; line-height:1.12; letter-spacing:-0.015em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 40px;
    max-width:760px;
  }
  .system-global-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .sg-card{
    padding:28px 28px 32px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    background:var(--paper);
  }
  .sg-card-num{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:14px;
  }
  .sg-card h4{
    font-size:20px; line-height:1.22; letter-spacing:-0.008em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .sg-card p{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper-mute);
    margin:0;
  }
  @media (max-width:980px){
    .system-global{ margin-top:48px; padding-top:48px; }
    .system-global-headline{ font-size:26px; }
    .system-global-grid{ grid-template-columns:1fr; }
  }

  /* ============ SHARED SECTION SHELL (04+) ============ */
  .section{
    padding:128px 0 144px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .section .section-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:32px;
  }
  .section h2{
    font-size:54px; line-height:1.05; letter-spacing:-0.025em;
    font-weight:600; color:var(--type-on-paper);
    max-width:820px;
    margin-bottom:32px;
  }
  .section .section-lead{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:680px;
    margin-bottom:88px;
  }
  .section .section-cta{
    margin-top:80px;
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .section .section-cta a{
    text-decoration:none;
    font-size:17px; font-weight:500;
    color:var(--type-on-paper);
    padding-bottom:8px;
    border-bottom:2px solid var(--type-on-paper);
    transition:color 200ms ease, border-color 200ms ease;
  }
  .section .section-cta a:hover{ color:var(--signal); border-bottom-color:var(--signal); }
  .section .section-cta a .arrow{ display:inline-block; transition:transform 200ms ease; margin-left:6px; }
  .section .section-cta a:hover .arrow{ transform:translateX(4px); }

  /* ============ SHARED SECTION CAROUSEL ============ */
  .sec-carousel-dots-wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:20px;
    margin-bottom:56px;
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .sec-carousel-dots{ display:flex; gap:10px; align-items:center; }
  .sec-dot{
    width:6px; height:6px; border-radius:50%;
    background:var(--type-on-paper-rule);
    border:none; padding:0; cursor:pointer;
    transition:background 220ms ease, width 220ms ease;
  }
  .sec-dot.is-active{
    background:var(--type-on-paper);
    width:20px; border-radius:4px;
  }
  .sec-dot:hover:not(.is-active){ background:var(--type-on-paper-mute); }
  .sec-slide-position{
    font-size:11px; letter-spacing:0.22em;
    color:var(--type-on-paper-mute);
    font-family:ui-monospace, Menlo, monospace;
  }
  .sec-slide-position b{ color:var(--type-on-paper); font-weight:500; }
  .sec-slide{ transition:opacity 220ms ease; min-height:260px; }
  .sec-slide.is-fading{ opacity:0; }
  .sec-slide-continue{
    margin-top:32px; padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:13.5px;
    color:var(--type-on-paper-mute);
  }
  .sec-slide-continue a{
    color:inherit; text-decoration:none;
    transition:color 200ms ease;
  }
  .sec-slide-continue a:hover{ color:var(--type-on-paper); }
  .sec-slide-continue .arrow{ display:inline-block; transition:transform 200ms ease; margin-left:6px; }
  .sec-slide-continue a:hover .arrow{ transform:translateX(4px); }

  /* ============================================
     SECTION · DECISION ARCHITECTURE (Journey 01)
     Hidden by default · :target on #decision-architecture
     ============================================ */
  #decision-architecture{ display:none; }
  #decision-architecture:target{
    display:block;
    padding:120px 0 120px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .da-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .da-headline{
    font-size:54px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 28px;
    max-width:980px;
  }
  .da-setup{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 80px;
  }
  .da-block{
    padding:56px 0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .da-block:first-of-type{ border-top:none; padding-top:0; }
  .da-block-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:16px;
  }
  .da-block h3{
    font-size:36px; line-height:1.12; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 22px;
    max-width:820px;
  }
  .da-block p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 14px;
  }

  /* Four-module stack */
  .da-stack{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0;
    margin:40px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .da-module{
    padding:28px 24px 32px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    background:var(--paper);
    position:relative;
  }
  .da-module-num{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:12px;
  }
  .da-module h4{
    font-size:19px; line-height:1.18; letter-spacing:-0.008em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .da-module-locks{
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:8px;
    padding-top:14px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .da-module-locks li{
    font-size:12.5px; line-height:1.4;
    color:var(--type-on-paper-mute);
    padding-left:14px; position:relative;
  }
  .da-module-locks li::before{
    content:"·"; position:absolute; left:0; top:-2px;
    color:var(--type-on-paper); font-weight:700;
  }
  .da-module-locks li b{
    display:block;
    font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:700;
    margin-bottom:3px;
  }
  .da-stack-flow{
    margin-top:16px;
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    font-weight:600;
    text-align:right;
  }

  /* Brand Canvas grid */
  .da-canvas{
    margin:40px 0 8px;
    padding:32px 36px 36px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
  }
  .da-canvas-title{
    font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:8px;
  }
  .da-canvas h4{
    font-size:24px; line-height:1.18; letter-spacing:-0.012em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 24px;
  }
  .da-canvas-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .da-canvas-grid > div{
    padding:18px 22px 18px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .da-canvas-group{
    grid-column:1 / -1;
    background:rgba(0,0,0,0.02);
    padding:14px 22px !important;
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
  }
  .da-canvas-input b{
    display:block;
    font-size:14px; letter-spacing:-0.005em;
    color:var(--type-on-paper); font-weight:600;
    margin-bottom:4px;
  }
  .da-canvas-input span{
    font-size:13px; line-height:1.5;
    color:var(--type-on-paper-mute);
  }
  .da-canvas-foot{
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:13.5px; line-height:1.55;
    color:var(--type-on-paper-mute);
  }
  .da-canvas-foot b{ color:var(--type-on-paper); font-weight:600; }

  /* Worked case · disguised */
  .da-case{
    margin:32px 0 8px;
    padding:36px 40px 40px;
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:4px;
  }
  .da-case-tag{
    display:inline-block;
    font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    padding:4px 10px;
    border:1px solid var(--type-on-ink-rule);
    border-radius:2px;
    margin-bottom:24px;
  }
  .da-case h4{
    font-size:28px; line-height:1.18; letter-spacing:-0.014em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 20px;
    max-width:720px;
  }
  .da-case > p{
    font-size:16px; line-height:1.6;
    color:rgba(255,255,255,0.78);
    max-width:760px;
    margin:0 0 14px;
  }
  .da-case-shift{
    display:grid;
    grid-template-columns:1fr 80px 1fr;
    gap:20px;
    align-items:start;
    margin:32px 0 8px;
    padding:28px 0;
    border-top:1px solid var(--type-on-ink-rule);
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .da-case-from, .da-case-to{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-ink);
  }
  .da-case-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    margin-bottom:10px;
  }
  .da-case-bridge{
    display:flex; align-items:center; justify-content:center;
    flex-direction:column;
    height:100%;
    padding-top:18px;
  }
  .da-case-bridge-arrow{
    font-size:28px; line-height:1; color:var(--type-on-ink);
    font-weight:300;
  }
  .da-case-bridge-label{
    margin-top:8px;
    font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    text-align:center;
  }
  .da-case-row{
    display:grid;
    grid-template-columns:160px 1fr;
    gap:24px;
    padding:18px 0;
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .da-case-row:last-child{ border-bottom:none; }
  .da-case-row-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    padding-top:2px;
  }
  .da-case-row p{ margin:0; font-size:14.5px; line-height:1.55; color:rgba(255,255,255,0.85); max-width:none; }
  .da-case-row p b{ color:var(--type-on-ink); font-weight:600; }
  .da-case-keeper{
    margin-top:28px;
    padding:24px 28px;
    background:rgba(255,255,255,0.04);
    border-left:3px solid rgba(255,255,255,0.6);
    font-size:18px; line-height:1.45; letter-spacing:-0.005em;
    color:var(--type-on-ink); font-weight:500;
  }

  .da-closer{
    margin-top:72px;
    padding-top:56px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .da-closer p{
    font-size:22px; line-height:1.4;
    color:var(--type-on-paper);
    max-width:880px;
    margin:0;
    font-weight:500;
  }

  @media (max-width:980px){
    #decision-architecture:target{ padding:72px 0; }
    .da-headline{ font-size:38px; }
    .da-block h3{ font-size:26px; }
    .da-stack{ grid-template-columns:1fr 1fr; }
    .da-canvas-grid{ grid-template-columns:1fr; }
    .da-case{ padding:28px 24px; }
    .da-case-shift{ grid-template-columns:1fr; }
    .da-case-bridge{ padding:0; flex-direction:row; gap:12px; }
    .da-case-bridge-arrow{ transform:rotate(90deg); }
    .da-case-row{ grid-template-columns:1fr; gap:8px; }
  }


  /* ============================================
     SECTION · METHODOLOGY / SIGNAL CONJOINT (Journey 02)
     Hidden by default · :target on #methodology
     ============================================ */
  #methodology{ display:none; }
  #methodology:target{
    display:block;
    padding:120px 0 120px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .meth-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .meth-headline{
    font-size:54px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 28px;
    max-width:980px;
  }
  .meth-setup{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 80px;
  }
  .meth-block{
    padding:56px 0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .meth-block:first-of-type{ border-top:none; padding-top:0; }
  .meth-block-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:16px;
  }
  .meth-block h3{
    font-size:36px; line-height:1.12; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 22px;
    max-width:820px;
  }
  .meth-block p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 14px;
  }

  /* 3 streams diagram */
  .meth-streams{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    margin:36px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .meth-stream{
    padding:24px 24px 28px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    background:var(--paper);
  }
  .meth-stream-num{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:10px;
  }
  .meth-stream h4{
    font-size:18px; line-height:1.22; letter-spacing:-0.005em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 12px;
  }
  .meth-stream p{ font-size:13.5px; line-height:1.5; color:var(--type-on-paper-mute); margin:0; max-width:none; }

  /* 6 Signal EQ states grid */
  .meth-states{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    margin:32px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .meth-state{
    padding:22px 22px 24px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    background:var(--paper);
  }
  .meth-state-name{
    font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:700;
    margin-bottom:6px;
  }
  .meth-state-q{
    font-size:14px; line-height:1.4;
    color:var(--type-on-paper);
    font-style:italic;
    margin:0 0 10px;
  }
  .meth-state-def{
    font-size:12.5px; line-height:1.5;
    color:var(--type-on-paper-mute);
    margin:0;
  }

  /* The flip · qual rank vs signal rank */
  .meth-flip{
    margin:36px 0 8px;
    padding:36px 40px;
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:4px;
  }
  .meth-flip-tag{
    font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    padding:4px 10px;
    border:1px solid var(--type-on-ink-rule);
    border-radius:2px;
    display:inline-block;
    margin-bottom:20px;
  }
  .meth-flip h4{
    font-size:26px; line-height:1.18; letter-spacing:-0.012em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 28px;
    max-width:680px;
  }
  .meth-flip-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    margin-bottom:28px;
  }
  .meth-rank-col{
    padding:18px 22px 22px;
    border:1px solid var(--type-on-ink-rule);
    border-radius:4px;
  }
  .meth-rank-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    margin-bottom:14px;
  }
  .meth-rank-list{
    list-style:none; padding:0; margin:0;
  }
  .meth-rank-list li{
    padding:12px 0;
    border-bottom:1px solid var(--type-on-ink-rule);
    display:grid;
    grid-template-columns:32px 1fr 60px;
    align-items:center;
    gap:14px;
    font-size:14.5px;
    color:var(--type-on-ink);
  }
  .meth-rank-list li:last-child{ border-bottom:none; }
  .meth-rank-pos{
    font-size:13px; letter-spacing:0.06em;
    color:var(--type-on-ink-mute); font-weight:700;
  }
  .meth-rank-score{
    font-size:13px;
    color:var(--type-on-ink-mute);
    text-align:right;
    font-family:ui-monospace, Menlo, monospace;
  }
  .meth-rank-list li.is-winner{
    font-weight:600;
  }
  .meth-rank-list li.is-winner .meth-rank-pos{ color:#10E080; }
  .meth-rank-list li.was-winner{
    text-decoration:line-through;
    color:rgba(255,255,255,0.5);
  }
  .meth-flip-foot{
    padding-top:24px;
    border-top:1px solid var(--type-on-ink-rule);
    font-size:15px; line-height:1.55;
    color:rgba(255,255,255,0.85);
  }
  .meth-flip-foot b{ color:var(--type-on-ink); font-weight:600; }

  /* FAST + biases */
  .meth-fast{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    margin:32px 0 8px;
  }
  .meth-fast-block{
    padding:24px 28px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
  }
  .meth-fast-block h4{
    font-size:18px; line-height:1.2; letter-spacing:-0.008em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .meth-fast-block ul{
    list-style:none; padding:0; margin:0;
  }
  .meth-fast-block li{
    padding:10px 0;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:13.5px; line-height:1.45;
    color:var(--type-on-paper-mute);
  }
  .meth-fast-block li:first-child{ border-top:none; padding-top:0; }
  .meth-fast-block li b{
    display:block;
    color:var(--type-on-paper); font-weight:600;
    font-size:12px; letter-spacing:0.06em;
    margin-bottom:3px;
  }

  .meth-closer{
    margin:80px auto 0;
    padding-top:48px;
    border-top:1px solid var(--type-on-paper-rule);
    max-width:880px;
    text-align:center;
  }
  .meth-closer p{
    font-size:22px; line-height:1.4;
    color:var(--type-on-paper);
    margin:0 auto;
    font-weight:600;
    letter-spacing:-0.005em;
  }
  @media (max-width:880px){
    .meth-closer p{ font-size:18px; }
  }

  @media (max-width:980px){
    #methodology:target{ padding:72px 0; }
    .meth-headline{ font-size:38px; }
    .meth-block h3{ font-size:26px; }
    .meth-streams, .meth-states{ grid-template-columns:1fr; }
    .meth-flip{ padding:24px 22px; }
    .meth-flip-grid{ grid-template-columns:1fr; gap:18px; }
    .meth-fast{ grid-template-columns:1fr; gap:18px; }
  }


  /* ============================================
     SECTION · PHILOSOPHY / GLOBAL (Journey 06)
     Hidden by default · :target on #philosophy
     ============================================ */
  #philosophy{ display:none; }
  #philosophy:target{
    display:block;
    padding:120px 0 120px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .phi-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .phi-headline{
    font-size:54px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 28px;
    max-width:980px;
  }
  .phi-setup{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 80px;
  }
  .phi-block{
    padding:56px 0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .phi-block:first-of-type{ border-top:none; padding-top:0; }
  .phi-block-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:16px;
  }
  .phi-block h3{
    font-size:36px; line-height:1.12; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 22px;
    max-width:820px;
  }
  .phi-block p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 14px;
  }

  /* Three-legs */
  .phi-legs{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    margin:32px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
    border-left:1px solid var(--type-on-paper-rule);
  }
  .phi-leg{
    padding:24px 24px 28px;
    border-right:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    background:var(--paper);
  }
  .phi-leg-num{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:10px;
  }
  .phi-leg h4{
    font-size:17px; line-height:1.22; letter-spacing:-0.005em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 10px;
  }
  .phi-leg p{ font-size:13.5px; line-height:1.5; color:var(--type-on-paper-mute); margin:0; max-width:none; }

  /* 7-market map */
  .phi-markets{
    margin:32px 0 8px;
    padding:36px 40px;
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:4px;
  }
  .phi-markets-tag{
    font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    margin-bottom:12px;
  }
  .phi-markets h4{
    font-size:24px; line-height:1.18; letter-spacing:-0.01em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 28px;
  }
  .phi-markets-grid{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:14px;
    margin-bottom:28px;
  }
  .phi-market{
    padding:18px 6px;
    border:1px solid var(--type-on-ink-rule);
    border-radius:3px;
    text-align:center;
  }
  .phi-market-code{
    font-size:18px; font-weight:700; letter-spacing:0.06em;
    color:var(--type-on-ink);
    margin-bottom:4px;
  }
  .phi-market-name{
    font-size:9px; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:600;
  }
  .phi-markets-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    padding-top:24px;
    border-top:1px solid var(--type-on-ink-rule);
  }
  .phi-stat{
    text-align:center;
  }
  .phi-stat-num{
    font-size:36px; font-weight:700; letter-spacing:-0.018em;
    color:var(--type-on-ink);
    line-height:1;
    margin-bottom:8px;
  }
  .phi-stat-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:600;
  }

  /* Language anecdotes */
  .phi-anecdotes{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:32px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .phi-anecdote{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:32px;
    padding:24px 0;
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .phi-anecdote-lang{
    font-size:14px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:700;
  }
  .phi-anecdote-text{
    font-size:15.5px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0;
  }
  .phi-anecdote-text b{ font-style:italic; color:var(--type-on-paper); font-weight:500; }

  /* ELM block */
  .phi-elm{
    margin:32px 0 8px;
    padding:32px 36px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
  }
  .phi-elm-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:10px;
  }
  .phi-elm h4{
    font-size:22px; line-height:1.2; letter-spacing:-0.01em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .phi-elm p{ font-size:14.5px; line-height:1.55; color:var(--type-on-paper-mute); margin:0 0 10px; max-width:none; }

  .phi-closer{
    margin-top:72px;
    padding-top:56px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .phi-closer p{
    font-size:22px; line-height:1.4;
    color:var(--type-on-paper);
    max-width:880px;
    margin:0;
    font-weight:500;
  }

  @media (max-width:980px){
    #philosophy:target{ padding:72px 0; }
    .phi-headline{ font-size:38px; }
    .phi-block h3{ font-size:26px; }
    .phi-legs{ grid-template-columns:1fr; }
    .phi-markets-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .phi-markets-stats{ grid-template-columns:1fr; gap:18px; }
    .phi-anecdote{ grid-template-columns:1fr; gap:6px; }
  }


  /* ============================================
     SECTION 01a · HOW THE DETERMINISTIC SYSTEM WORKS
     Visual carousel that sits below the hero, above the journeys hub.
     6 panels · each one a stage in the engine pipeline · large SVG illustrations.
     ============================================ */
  .how-it-works{
    padding:96px 0 96px;
    background:var(--ink);
    color:var(--type-on-ink);
  }
  .how-it-works .frame{ max-width:1080px; }
  .hiw-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:600;
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:22px;
  }
  .hiw-headline{
    font-size:46px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 22px;
    max-width:880px;
  }
  .hiw-lead{
    font-size:18px; line-height:1.55;
    color:rgba(255,255,255,0.75);
    max-width:680px;
    margin:0 0 56px;
  }

  /* Carousel mechanics */
  .hiw-carousel{ position:relative; }
  .hiw-stage{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:start;
    transition:opacity 220ms ease;
    min-height:520px;
  }
  /* Step 05 holds the texture-quad · gives the four boxes ~60% of the stage
     so sub-family rows fit on a single line and the carousel doesn't run tall. */
  .hiw-stage:has(.hiw-domains-quad){
    grid-template-columns:minmax(260px, 0.7fr) minmax(0, 1.4fr);
    gap:40px;
  }
  .hiw-stage:has(.hiw-domains-quad) .hiw-visual{
    max-width:340px;
  }
  .hiw-stage.is-fading{ opacity:0; }
  .hiw-visual{
    aspect-ratio:1/1;
    max-width:480px;
    width:100%;
    border:1px solid var(--type-on-ink-rule);
    border-radius:6px;
    background:rgba(255,255,255,0.02);
    display:flex; align-items:center; justify-content:center;
    padding:48px;
    position:relative;
  }
  .hiw-visual::before{
    content:""; position:absolute; inset:8% 8%;
    background:radial-gradient(circle at 50% 50%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 70%);
    pointer-events:none;
  }
  .hiw-visual svg{ width:100%; height:100%; display:block; }
  .hiw-text-stage-num{
    font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:700;
    margin-bottom:14px;
  }
  .hiw-text h3{
    font-size:36px; line-height:1.1; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 20px;
  }
  .hiw-text p{
    font-size:17px; line-height:1.55;
    color:rgba(255,255,255,0.82);
    margin:0 0 14px;
    max-width:480px;
  }
  /* Bulleted breakdowns used inside HIW steps 03–06 */
  .hiw-domains{
    list-style:none;
    margin:18px 0 4px;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 18px;
    max-width:560px;
  }
  /* Step 05 texture-quad · 2x2 layout. Typography matches Build 3 + Build 6
     baseline (.hiw-domains): 11px uppercase header, 12px subtitle/body.
     Only the sub-family stack is unique to Build 5. */
  .hiw-domains.hiw-domains-quad{
    grid-template-columns:1fr 1fr;
    max-width:none;
    gap:10px 12px;
  }
  /* Direct-child selector · styles ONLY the texture header (SHARP/OPEN/etc.),
     not the <b>s nested inside .hiw-subs rows */
  .hiw-domains.hiw-domains-quad li > b{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--dom-color);
    font-weight:700;
    display:block;
    line-height:1.2;
  }
  .hiw-domains.hiw-domains-quad li > em{
    display:block;
    font-style:normal;
    font-size:12px; line-height:1.4;
    color:rgba(255,255,255,0.65);
    margin-bottom:6px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  /* Sub-family stack · same 12px scale as Build 3/6 body */
  .hiw-domains.hiw-domains-quad .hiw-subs{
    display:flex; flex-direction:column; gap:5px;
    margin-top:2px;
  }
  .hiw-domains.hiw-domains-quad .hiw-subs .hiw-sub{
    display:grid;
    grid-template-columns:8px 1fr;
    gap:8px;
    align-items:start;
    line-height:1.4;
  }
  .hiw-domains.hiw-domains-quad .hiw-subs .hiw-sub-dot{
    width:5px; height:5px; border-radius:50%;
    background:var(--dom-color);
    margin-top:6px;
  }
  .hiw-domains.hiw-domains-quad .hiw-subs .hiw-sub > div{
    display:flex; flex-direction:column; gap:0;
    min-width:0;
  }
  .hiw-domains.hiw-domains-quad .hiw-subs .hiw-sub b{
    font-size:12px; font-weight:700;
    color:rgba(255,255,255,0.92);
    letter-spacing:0;
    text-transform:none;
    display:block;
    line-height:1.35;
  }
  .hiw-domains.hiw-domains-quad .hiw-subs .hiw-sub span{
    color:rgba(255,255,255,0.55);
    font-size:11.5px;
    font-style:italic;
    line-height:1.35;
    display:block;
  }
  @media (max-width:880px){
    .hiw-domains.hiw-domains-quad{ grid-template-columns:1fr; }
  }
  /* Mini eyebrow that introduces the quad block · "Texture reads four forms..." */
  .hiw-text p.hiw-mini-eyebrow{
    font-size:10px; letter-spacing:0.28em; text-transform:uppercase;
    color:rgba(255,255,255,0.6);
    font-weight:700;
    margin:22px 0 10px;
  }
  /* Close line that ties the quad back to the intro · sits below the boxes */
  .hiw-text p.hiw-close-line{
    font-size:13.5px; line-height:1.55;
    color:rgba(255,255,255,0.85);
    margin:18px 0 0;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .hiw-text p.hiw-close-line b{
    color:#fff; font-weight:600;
  }
  .hiw-domains li{
    padding:12px 14px;
    background:rgba(255,255,255,0.04);
    border:1px solid var(--type-on-ink-rule);
    border-left:3px solid var(--dom-color, rgba(255,255,255,0.45));
    border-radius:3px;
    display:flex; flex-direction:column; gap:4px;
  }
  /* Defaults · 6 SignalEQ palette for Step 03; overridden per-item via inline style for other steps */
  .hiw-domains li:nth-child(1){ --dom-color:#F030A0; }
  .hiw-domains li:nth-child(2){ --dom-color:#FF8A33; }
  .hiw-domains li:nth-child(3){ --dom-color:#00F0E0; }
  .hiw-domains li:nth-child(4){ --dom-color:#10E080; }
  .hiw-domains li:nth-child(5){ --dom-color:#D0F000; }
  .hiw-domains li:nth-child(6){ --dom-color:#9D5BFF; }
  .hiw-domains li b{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--dom-color);
    font-weight:700;
  }
  .hiw-domains li em{
    font-style:normal;
    font-size:12px; line-height:1.4;
    color:rgba(255,255,255,0.65);
  }
  .hiw-domains li span{
    font-size:12px; line-height:1.4;
    color:rgba(255,255,255,0.85);
    font-style:italic;
  }
  @media (max-width:880px){
    .hiw-domains{ grid-template-columns:1fr; }
  }
  .hiw-text-tag{
    display:inline-block;
    margin-top:18px;
    padding:6px 12px;
    border:1px solid var(--type-on-ink-rule);
    border-radius:3px;
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink); font-weight:600;
  }

  /* Dot nav + arrow controls */
  .hiw-controls{
    display:flex; align-items:center; justify-content:space-between;
    margin-top:48px;
    padding-top:24px;
    border-top:1px solid var(--type-on-ink-rule);
  }
  .hiw-dots{ display:flex; gap:10px; align-items:center; }
  .hiw-dot{
    width:8px; height:8px; border-radius:50%;
    background:rgba(255,255,255,0.2);
    border:none; padding:0; cursor:pointer;
    transition:background 200ms ease, width 200ms ease;
  }
  .hiw-dot.is-active{
    background:var(--type-on-ink);
    width:28px; border-radius:4px;
  }
  .hiw-dot:hover:not(.is-active){ background:rgba(255,255,255,0.5); }
  .hiw-meta{
    display:flex; align-items:center; gap:16px;
  }
  .hiw-pos{
    font-size:11px; letter-spacing:0.22em;
    color:var(--type-on-ink-mute);
    font-family:ui-monospace, Menlo, monospace;
  }
  .hiw-pos b{ color:var(--type-on-ink); font-weight:500; }
  .hiw-arrow{
    width:36px; height:36px;
    background:transparent;
    border:1px solid var(--type-on-ink-rule);
    color:var(--type-on-ink);
    font-size:18px;
    cursor:pointer;
    border-radius:50%;
    transition:border-color 200ms ease, background 200ms ease;
  }
  .hiw-arrow:hover{ border-color:var(--type-on-ink); background:rgba(255,255,255,0.06); }

  @media (max-width:980px){
    .how-it-works{ padding:64px 0; }
    .hiw-headline{ font-size:30px; }
    .hiw-stage{ grid-template-columns:1fr; gap:32px; }
    .hiw-visual{ max-width:100%; padding:32px; }
    .hiw-text h3{ font-size:24px; }
  }

  /* ============================================
     SECTION 01b · IVA JOURNEYS HUB · LANDING PAGE CENTREPIECE
     ============================================ */
  .iva-hub{
    padding:128px 0 128px;
    background:linear-gradient(180deg, var(--paper) 0%, rgba(0,0,0,0.015) 100%);
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    position:relative;
  }
  /* Override .frame's 1080px constraint on the journeys hub only ·
     gives the 3-card grid the room it needs to avoid title wrap */
  section.frame.iva-hub{ max-width:1240px; padding-left:40px; padding-right:40px; }
  .iva-hub-head{
    margin-bottom:88px;
    max-width:980px;
  }
  .iva-hub-eyebrow{
    font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    display:inline-flex; align-items:center; gap:12px;
    margin-bottom:28px;
  }
  .iva-hub h2{
    font-size:62px; line-height:1.04; letter-spacing:-0.025em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 26px;
    max-width:920px;
  }
  .iva-hub-lead{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:720px;
    margin:0;
  }

  .iva-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
  }
  /* The cards · proper clickable buttons, no link bleed */
  a.iva-card{
    text-decoration:none !important;
    color:var(--type-on-paper);
    display:flex; flex-direction:column;
    padding:30px 26px 28px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:6px;
    transition:transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 280ms ease, box-shadow 280ms ease;
    position:relative;
    overflow:hidden;
    min-height:330px;
  }
  a.iva-card *{
    text-decoration:none !important;
  }
  a.iva-card.is-ready:hover{
    transform:translateY(-4px);
    border-color:var(--type-on-paper);
    box-shadow:0 24px 48px -24px rgba(0,0,0,0.25);
  }
  /* Coloured accent stripe at top · one per journey */
  a.iva-card::before{
    content:""; position:absolute; top:0; left:0; right:0;
    height:3px;
    background:var(--card-accent, var(--type-on-paper-rule));
    transition:height 200ms ease;
  }
  a.iva-card.is-ready:hover::before{ height:6px; }

  /* Color accents · using the DSRT palette + two more */
  a.iva-card.acc-da    { --card-accent:#F030A0; }  /* magenta */
  a.iva-card.acc-meth  { --card-accent:#00F0E0; }  /* cyan */
  a.iva-card.acc-eng   { --card-accent:#10E080; }  /* mint */
  a.iva-card.acc-comm  { --card-accent:#D0F000; }  /* lime */
  a.iva-card.acc-creat { --card-accent:#9D5BFF; }  /* violet — new */
  a.iva-card.acc-phi   { --card-accent:#FF8A33; }  /* amber — new */

  /* Card layout · glyph row, journey number, name, sub, meta */
  .iva-card-top{
    display:flex; align-items:flex-start; justify-content:space-between;
    margin-bottom:24px;
  }
  .iva-card-glyph{
    width:48px; height:48px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--type-on-paper-rule);
    border-radius:6px;
    color:var(--card-accent, var(--type-on-paper));
    flex:0 0 auto;
  }
  .iva-card-glyph svg{ width:24px; height:24px; display:block; }
  .iva-card-num{
    font-size:10.5px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    text-align:right;
  }
  .iva-card-num b{
    display:block;
    font-size:14px;
    color:var(--card-accent, var(--type-on-paper));
    font-weight:700;
    margin-top:4px;
    letter-spacing:0.04em;
  }
  .iva-card-concern{
    font-size:10.5px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:10px;
  }
  .iva-card-name{
    font-size:21px; line-height:1.2; letter-spacing:-0.01em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .iva-card-sub{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0 0 28px;
    flex:1;
  }
  .iva-card-foot{
    display:flex; align-items:center; justify-content:space-between;
    padding-top:18px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .iva-card-tag{
    font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
  }
  .iva-card-cta{
    font-size:13px; letter-spacing:0.02em;
    color:var(--type-on-paper); font-weight:600;
    display:inline-flex; align-items:center; gap:8px;
  }
  .iva-card-cta .arrow{
    transition:transform 240ms ease;
    color:var(--card-accent, var(--type-on-paper));
    font-weight:700;
  }
  a.iva-card:hover .iva-card-cta .arrow{ transform:translateX(6px); }

  /* In-build cards (none right now but pattern preserved) */
  a.iva-card.is-soon{
    background:rgba(0,0,0,0.015);
    cursor:default;
  }
  a.iva-card.is-soon:hover{ transform:none; box-shadow:none; }
  a.iva-card.is-soon .iva-card-name{ color:var(--type-on-paper-mute); }
  a.iva-card.is-soon .iva-card-cta{ color:var(--type-on-paper-mute); }
  a.iva-card.is-soon::before{ background:var(--type-on-paper-rule) !important; }

  @media (max-width:1100px){
    .iva-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width:680px){
    .iva-hub{ padding:72px 0; }
    .iva-hub h2{ font-size:36px; }
    .iva-hub-head{ margin-bottom:48px; }
    .iva-grid{ grid-template-columns:1fr; gap:14px; }
    a.iva-card{ min-height:auto; padding:24px 22px; }
    .iva-card-name{ font-size:21px; }
  }

  /* ============================================
     SECTION 02b · BELIEF TEXTURE
     Hidden from the main reading flow. Findable from the nav menu
     and from Case B's "deeper dive" link. The :target rule below
     reveals the section only when the URL hash is #texture.
     ============================================ */
  #texture{ display:none; }
  #texture:target{
    display:block;
    padding:120px 0 120px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }

  /* Bridge link from Case B → deep-dive texture page */
  .caseb-deepdive{
    padding:48px 0 8px;
    text-align:right;
    border-top:1px solid var(--type-on-paper-rule);
    margin-top:8px;
  }
  .caseb-deepdive a{
    display:inline-flex; align-items:center; gap:10px;
    color:var(--type-on-paper-mute);
    text-decoration:none;
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    font-weight:600;
    transition:color 200ms ease;
  }
  .caseb-deepdive a:hover{ color:var(--type-on-paper); }
  .caseb-deepdive a .arrow{ transition:transform 200ms ease; display:inline-block; }
  .caseb-deepdive a:hover .arrow{ transform:translateX(6px); }
  .caseb-deepdive .dd-label{ font-weight:500; letter-spacing:0.06em; text-transform:none; font-size:13.5px; }
  .texture-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .texture-headline{
    font-size:54px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 28px;
    max-width:980px;
  }
  .texture-setup{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 72px;
  }

  /* ── 4-page carousel ────────────────────────────────── */
  .texture-carousel{
    margin-bottom:88px;
  }
  .texture-carousel .sec-carousel-dots-wrap{
    padding-bottom:18px; margin-bottom:40px;
  }
  .texture-slide{
    transition:opacity 220ms ease;
    min-height:520px;
  }
  .texture-slide.is-fading{ opacity:0; }
  .texture-slide-head{
    display:flex; align-items:center; gap:28px;
    flex-wrap:wrap;
    margin-bottom:12px;
  }
  .texture-stage-visual{
    width:96px; height:96px;
    flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    background:rgba(0,0,0,0.02);
    border:1px solid var(--type-on-paper-rule);
  }
  .texture-stage-visual svg{
    width:64px; height:64px; display:block;
  }
  .texture-slide-head-text{
    display:flex; flex-direction:column; gap:10px;
    align-items:flex-start;
  }
  .texture-tile{
    position:relative;
  }
  .texture-tile-icon{
    width:36px; height:36px;
    margin-bottom:18px;
    display:flex; align-items:center; justify-content:flex-start;
  }
  .texture-tile-icon svg{ width:32px; height:32px; display:block; }
  .texture-stage-name{
    font-size:46px; line-height:1.0; letter-spacing:0.04em;
    font-weight:700;
    color:var(--type-on-paper);
  }
  .texture-mr-label{
    font-size:14px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    font-weight:600;
    padding:6px 12px;
    border:1px solid var(--type-on-paper-rule);
    border-radius:3px;
  }
  .texture-question{
    font-size:22px; line-height:1.3; letter-spacing:-0.005em;
    font-weight:500;
    color:var(--type-on-paper);
    margin:0 0 14px;
    max-width:780px;
  }
  .texture-meta-line{
    font-size:18px; line-height:1.5;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 10px;
    font-style:italic;
  }
  .texture-definition{
    font-size:15.5px; line-height:1.55;
    color:var(--type-on-paper-mute);
    max-width:780px;
    margin:0 0 56px;
  }
  .texture-tiles{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:32px;
  }
  .texture-tile{
    padding:28px 28px 32px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
    display:flex; flex-direction:column;
  }
  .texture-tile-name{
    font-size:20px; line-height:1.2; letter-spacing:-0.005em;
    font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:12px;
  }
  .texture-tile-read{
    font-size:15px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0 0 22px;
  }
  .texture-tile-best,
  .texture-tile-watch{
    font-size:13.5px; line-height:1.5;
    color:var(--type-on-paper-mute);
    margin:0 0 8px;
  }
  .texture-tile-best b,
  .texture-tile-watch b{
    font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:600;
    display:block; margin-bottom:4px;
  }
  .texture-tile-watch{
    margin-top:14px; padding-top:14px;
    border-top:1px solid var(--type-on-paper-rule);
    margin-bottom:0;
  }
  /* Stage-tinted accent per slide */
  .texture-slide[data-stage="REFRAME"] .texture-stage-name{ color:var(--dsrt-d); }
  .texture-slide[data-stage="LAND"] .texture-stage-name{ color:var(--dsrt-s); }
  .texture-slide[data-stage="STICK"] .texture-stage-name{ color:var(--dsrt-r); }
  .texture-slide[data-stage="TIME"] .texture-stage-name{ color:var(--dsrt-t); }

  /* ── Fake case demo ────────────────────────────────── */
  .texture-demo{
    margin-top:24px;
    padding-top:80px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .texture-demo-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:18px;
  }
  .texture-demo-headline{
    font-size:42px; line-height:1.1; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 22px;
    max-width:820px;
  }
  .texture-demo-setup{
    font-size:17px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 56px;
  }
  .texture-demo-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    margin-bottom:48px;
  }
  .demo-idea{
    padding:32px 32px 36px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
    display:flex; flex-direction:column;
  }
  .demo-idea-a{
    border-color:var(--dsrt-r);
    box-shadow:inset 4px 0 0 var(--dsrt-r);
    padding-left:36px;
  }
  .demo-idea-b{
    border-color:var(--dsrt-d);
    box-shadow:inset 4px 0 0 var(--dsrt-d);
    padding-left:36px;
  }
  .demo-idea-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:8px;
  }
  .demo-idea-name{
    font-size:24px; line-height:1.2; letter-spacing:-0.01em;
    font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:24px;
  }
  .demo-idea-profile{
    display:flex; flex-direction:column; gap:10px;
    margin-bottom:24px;
    padding:18px 0;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .demo-row{
    display:grid;
    grid-template-columns:80px 1fr;
    align-items:baseline;
    gap:16px;
    font-size:14.5px; line-height:1.45;
  }
  .demo-axis{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
  }
  .demo-row[data-axis="REFRAME"] .demo-axis{ color:var(--dsrt-d); }
  .demo-row[data-axis="LAND"] .demo-axis{ color:var(--dsrt-s); }
  .demo-row[data-axis="STICK"] .demo-axis{ color:var(--dsrt-r); }
  .demo-row[data-axis="TIME"] .demo-axis{ color:var(--dsrt-t); }
  .demo-texture{
    font-weight:500;
    color:var(--type-on-paper);
  }
  .demo-idea-readout{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0;
  }
  .texture-demo-close{
    font-size:22px; line-height:1.35;
    color:var(--type-on-paper);
    font-weight:600;
    text-align:center;
    margin:48px 0 0;
    padding:32px 0 0;
    border-top:1px solid var(--type-on-paper-rule);
    letter-spacing:-0.005em;
  }
  .texture-closer{
    margin-top:80px;
    padding-top:56px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .texture-closer p{
    font-size:20px; line-height:1.5;
    color:var(--type-on-paper);
    max-width:880px;
    margin:0;
    font-weight:500;
  }

  /* ── Texture · mobile ──────────────────────────────── */
  @media (max-width:980px){
    #texture{ padding:72px 0 72px; }
    .texture-headline{ font-size:38px; line-height:1.1; }
    .texture-setup{ font-size:17px; margin-bottom:48px; }
    .texture-stage-name{ font-size:36px; }
    .texture-mr-label{ font-size:12px; }
    .texture-question{ font-size:19px; }
    .texture-tiles{ grid-template-columns:1fr; gap:20px; }
    .texture-tile{ padding:22px 22px 26px; }
    .texture-tile-name{ font-size:18px; }
    .texture-demo-headline{ font-size:30px; line-height:1.12; }
    .texture-demo-grid{ grid-template-columns:1fr; gap:20px; }
    .demo-idea{ padding:24px 24px 28px; }
    .demo-idea-a, .demo-idea-b{ padding-left:28px; }
    .demo-idea-name{ font-size:20px; }
    .demo-row{ grid-template-columns:72px 1fr; font-size:13.5px; }
    .texture-demo-close{ font-size:18px; }
    .texture-closer p{ font-size:17px; }
  }

  /* ============================================
     SECTION · ENGINE · DETERMINISTIC + BEHAVIOURAL SCIENCE
     Hidden from main flow. Burger nav + hero footnote linkable.
     Reveals via :target rule on #engine.
     ============================================ */
  #engine{ display:none; }
  #engine:target{
    display:block;
    padding:120px 0 120px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .engine-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:32px;
  }
  .engine-headline{
    font-size:54px; line-height:1.06; letter-spacing:-0.022em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 28px;
    max-width:980px;
  }
  .engine-setup{
    font-size:19px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 88px;
  }
  .engine-block{
    padding:64px 0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .engine-block:first-of-type{ border-top:none; padding-top:0; }
  .engine-block-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:16px;
  }
  .engine-block h3{
    font-size:36px; line-height:1.12; letter-spacing:-0.018em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 22px;
    max-width:820px;
  }
  .engine-block p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:780px;
    margin:0 0 14px;
  }
  .engine-block p:last-child{ margin-bottom:0; }
  .engine-block p.engine-block-emph{
    font-size:18.5px; line-height:1.55;
    color:var(--type-on-paper);
    font-weight:500;
    margin-top:24px;
  }

  /* Compare table · agentic vs deterministic */
  .engine-compare{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin:32px 0 8px;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .engine-compare-col{
    padding:28px 32px 32px;
  }
  .engine-compare-col:first-child{
    border-right:1px solid var(--type-on-paper-rule);
  }
  .engine-compare-label{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:18px;
  }
  .engine-compare-col:last-child .engine-compare-label{
    color:var(--type-on-paper);
  }
  .engine-compare ul{
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:10px;
  }
  .engine-compare li{
    font-size:15px; line-height:1.5;
    color:var(--type-on-paper);
    padding-left:18px; position:relative;
  }
  .engine-compare li::before{
    content:"·"; position:absolute; left:0; top:-2px;
    color:var(--type-on-paper-mute); font-weight:700;
  }
  .engine-compare-col:first-child li{ color:var(--type-on-paper-mute); }

  /* Validation diagram · 6 signals × self-report ↔ engine-read */
  .engine-validation{
    margin:40px 0 8px;
    padding:36px 32px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
  }
  .engine-validation-title{
    font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:700;
    margin-bottom:24px;
  }
  .engine-validation-grid{
    display:grid;
    grid-template-columns:1fr 80px 1fr;
    align-items:start;
    gap:24px;
  }
  .engine-validation-col-head{
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:600;
    margin-bottom:14px;
  }
  .engine-validation ul{
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:9px;
  }
  .engine-validation li{
    font-size:14.5px; line-height:1.4;
    color:var(--type-on-paper);
  }
  .engine-validation-bridge{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    height:100%;
    padding-top:38px;
  }
  .engine-validation-bridge-arrow{
    font-size:24px; color:var(--type-on-paper);
    font-weight:300;
    letter-spacing:-0.04em;
    line-height:1;
  }
  .engine-validation-bridge-label{
    font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-top:10px;
    text-align:center;
  }
  .engine-validation-foot{
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:13.5px; line-height:1.5;
    color:var(--type-on-paper-mute);
  }

  .engine-closer{
    margin-top:64px;
    padding-top:56px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .engine-closer p{
    font-size:22px; line-height:1.4;
    color:var(--type-on-paper);
    max-width:880px;
    margin:0;
    font-weight:500;
  }

  /* Engine → Belief Formation bridge link */
  .engine-bridge{
    margin-top:56px;
  }
  .engine-bridge-link{
    display:block;
    padding:36px 40px;
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:4px;
    text-decoration:none;
    transition:background 200ms ease, transform 200ms ease;
  }
  .engine-bridge-link:hover{
    background:#1a1a1a;
  }
  .engine-bridge-meta{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:14px;
  }
  .engine-bridge-tag{
    font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase;
    color:rgba(255,255,255,0.6); font-weight:700;
  }
  .engine-bridge-arrow{
    font-size:24px; color:var(--type-on-ink); font-weight:300;
    transition:transform 200ms ease;
  }
  .engine-bridge-link:hover .engine-bridge-arrow{ transform:translateX(8px); }
  .engine-bridge-headline{
    font-size:30px; line-height:1.15; letter-spacing:-0.014em;
    font-weight:600; color:var(--type-on-ink);
    margin-bottom:14px;
    max-width:780px;
  }
  .engine-bridge-sub{
    font-size:15.5px; line-height:1.55;
    color:rgba(255,255,255,0.78);
    max-width:760px;
  }
  @media (max-width:980px){
    .engine-bridge-link{ padding:24px 22px; }
    .engine-bridge-headline{ font-size:22px; }
  }

  /* Shared · Back-to-journeys CTA at the end of every hidden journey */
  .journey-back{
    margin-top:80px;
    padding-top:48px;
    border-top:1px solid var(--type-on-paper-rule);
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:16px;
  }
  .journey-back-label{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
  }
  .journey-back a{
    display:inline-flex; align-items:center; gap:10px;
    color:var(--type-on-paper);
    text-decoration:none;
    font-size:14px; letter-spacing:0.04em; font-weight:500;
    padding:14px 22px;
    border:1px solid var(--type-on-paper);
    border-radius:3px;
    transition:background 200ms ease, color 200ms ease;
  }
  .journey-back a:hover{
    background:var(--type-on-paper);
    color:var(--paper);
  }
  .journey-back a .arrow{
    transition:transform 200ms ease;
  }
  .journey-back a:hover .arrow{ transform:translateX(-4px); }
  .journey-back .arrow{ display:inline-block; }
  /* On ink-ground sections like #belief-formation, invert */
  #belief-formation .journey-back{
    border-top-color:var(--type-on-ink-rule);
  }
  #belief-formation .journey-back-label{ color:var(--type-on-ink-mute); }
  #belief-formation .journey-back a{
    color:var(--type-on-ink);
    border-color:var(--type-on-ink);
  }
  #belief-formation .journey-back a:hover{
    background:var(--type-on-ink);
    color:var(--ink);
  }

  @media (max-width:980px){
    #engine:target{ padding:72px 0 72px; }
    .engine-headline{ font-size:38px; line-height:1.1; }
    .engine-setup{ font-size:17px; margin-bottom:56px; }
    .engine-block h3{ font-size:26px; line-height:1.15; }
    .engine-block{ padding:48px 0; }
    .engine-compare{ grid-template-columns:1fr; }
    .engine-compare-col:first-child{
      border-right:none;
      border-bottom:1px solid var(--type-on-paper-rule);
    }
    .engine-validation{ padding:28px 22px; }
    .engine-validation-grid{ grid-template-columns:1fr; gap:18px; }
    .engine-validation-bridge{ padding-top:0; flex-direction:row; gap:14px; }
    .engine-validation-bridge-arrow{ transform:rotate(90deg); }
    .engine-closer p{ font-size:18px; }
  }


  /* ============================================
     SECTION · BELIEF FORMATION · LIVE TALK FLYER
     Poster-style section · ink ground · large typography
     Hidden from main flow. Reveals via :target on #belief-formation.
     ============================================ */
  #belief-formation{ display:none; }
  #belief-formation:target{
    display:block;
    background:var(--ink);
    color:var(--type-on-ink);
    padding:96px 0 96px;
  }
  #belief-formation .frame{ max-width:1080px; }
  .bf-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }
  .bf-top-bar{
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:24px;
    border-bottom:1px solid var(--type-on-ink-rule);
    margin-bottom:48px;
    font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
    color:var(--type-on-ink-mute); font-weight:600;
  }
  .bf-top-bar .bf-track{ color:var(--type-on-ink); }
  .bf-cover{
    padding:32px 0 64px;
    border-bottom:1px solid var(--type-on-ink-rule);
    margin-bottom:64px;
  }
  .bf-cover-tag{
    font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
    color:rgba(255,255,255,0.5); font-weight:600;
    margin-bottom:24px;
  }
  .bf-cover h2{
    font-size:96px; line-height:0.96; letter-spacing:-0.03em;
    font-weight:700; color:var(--type-on-ink);
    margin:0 0 28px;
  }
  .bf-cover-strap{
    font-size:22px; line-height:1.4;
    color:rgba(255,255,255,0.8); font-weight:400;
    max-width:740px;
    margin:0;
  }
  .bf-cover-strap b{ color:var(--type-on-ink); font-weight:500; }

  .bf-section{
    padding:48px 0;
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .bf-section:last-child{ border-bottom:none; }
  .bf-section-eyebrow{
    font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
    color:rgba(255,255,255,0.5); font-weight:600;
    margin-bottom:20px;
  }
  .bf-section h3{
    font-size:34px; line-height:1.15; letter-spacing:-0.012em;
    font-weight:600; color:var(--type-on-ink);
    margin:0 0 22px;
    max-width:780px;
  }
  .bf-section p{
    font-size:17px; line-height:1.6;
    color:rgba(255,255,255,0.8);
    max-width:720px;
    margin:0 0 14px;
  }
  .bf-list{
    list-style:none; padding:0; margin:24px 0 0;
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px 40px;
    max-width:880px;
  }
  .bf-list li{
    display:flex; align-items:baseline; gap:14px;
    font-size:16px; line-height:1.45;
    color:rgba(255,255,255,0.85);
    padding-bottom:14px;
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .bf-list li .bf-num{
    font-size:13px; letter-spacing:0.18em; font-weight:700;
    color:rgba(255,255,255,0.4);
    flex:0 0 auto; min-width:28px;
  }
  .bf-pillars{
    display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0;
    margin-top:32px;
    border-top:1px solid var(--type-on-ink-rule);
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .bf-pillar{
    padding:24px 24px 28px;
    border-right:1px solid var(--type-on-ink-rule);
  }
  .bf-pillar:last-child{ border-right:none; }
  .bf-pillar-num{
    font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:rgba(255,255,255,0.4); font-weight:700;
    margin-bottom:10px;
  }
  .bf-pillar-name{
    font-size:18px; line-height:1.2; letter-spacing:-0.005em;
    font-weight:600; color:var(--type-on-ink);
    margin-bottom:8px;
  }
  .bf-pillar-body{
    font-size:13.5px; line-height:1.5;
    color:rgba(255,255,255,0.65);
    margin:0;
  }
  .bf-foot{
    margin-top:64px;
    padding-top:32px;
    border-top:1px solid var(--type-on-ink-rule);
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:18px;
    font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
    color:rgba(255,255,255,0.5); font-weight:600;
  }
  .bf-foot .bf-brand{ color:var(--type-on-ink); }
  .bf-keeper{
    margin:48px 0 0;
    padding:32px 36px;
    background:rgba(255,255,255,0.04);
    border-left:3px solid rgba(255,255,255,0.6);
  }
  .bf-keeper p{
    font-size:24px; line-height:1.35; letter-spacing:-0.005em;
    color:var(--type-on-ink);
    font-weight:500;
    margin:0;
    max-width:none;
  }

  @media (max-width:980px){
    #belief-formation:target{ padding:64px 0 64px; }
    .bf-cover h2{ font-size:54px; line-height:1; }
    .bf-cover-strap{ font-size:18px; }
    .bf-section{ padding:36px 0; }
    .bf-section h3{ font-size:24px; }
    .bf-list{ grid-template-columns:1fr; gap:14px; }
    .bf-pillars{ grid-template-columns:1fr 1fr; }
    .bf-pillar{ border-right:none; border-bottom:1px solid var(--type-on-ink-rule); }
    .bf-pillar:nth-child(2){ border-right:none; }
    .bf-pillar:nth-child(odd){ border-right:1px solid var(--type-on-ink-rule); }
    .bf-keeper p{ font-size:19px; }
  }


  /* ============ 04 · APPLICATIONS · per-app radar ============ */
  .app-carousel-layout{
    display:grid;
    grid-template-columns: 400px minmax(0, 1fr);
    gap:80px;
    align-items:start;
  }
  .app-radar-card{
    background:var(--ink);
    color:var(--type-on-ink);
    border-radius:6px;
    padding:28px;
    aspect-ratio:1/1.05;
    width:100%; max-width:400px;
    display:flex; flex-direction:column; justify-content:space-between;
    position:relative;
  }
  .app-radar-card .app-radar-label{
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
    font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
    font-weight:600;
  }
  .app-radar-card .app-radar-label b{ color:var(--type-on-ink); font-weight:500; }
  .app-radar-card .app-radar-label .dsrt-id-word{ color:var(--type-on-ink); font-weight:600; }
  /* App icon stage — replaces the small radar with a large per-application
     glyph that dominates the dark card. */
  .app-radar-card .app-glyph-stage{
    flex:1;
    display:flex; align-items:center; justify-content:center;
    padding:8px 0;
    position:relative;
  }
  .app-radar-card .app-glyph-stage::before{
    content:""; position:absolute; inset:8% 8%;
    background:radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 70%);
    pointer-events:none;
  }
  .app-radar-card .app-glyph{
    width:100%; max-width:280px; aspect-ratio:1/1;
    display:flex; align-items:center; justify-content:center;
    position:relative;
    transition:opacity 200ms ease;
  }
  .app-radar-card .app-glyph.is-fading{ opacity:0; }
  .app-radar-card .app-glyph svg{
    width:100%; height:100%; display:block;
    overflow:visible;
  }
  .app-radar-card svg{ width:100%; max-width:300px; height:auto; }
  .app-radar-card .app-radar-foot{
    font-size:10.5px; letter-spacing:0.06em;
    color:var(--type-on-ink-mute);
    text-align:center;
  }
  .app-radar-card .app-radar-foot b{ color:var(--type-on-ink); font-weight:500; }


  /* RLST callout block — single-column, left-aligned, sits between the
     section lead and the carousel. Behaves like a sub-section header. */
  .app-flagship{
    padding:8px 0 40px;
    margin-bottom:48px;
    border-bottom:1px solid var(--type-on-paper-rule);
    display:block;
    max-width:780px;
  }
  .app-flagship .flagship-label{
    display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px;
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    font-weight:600;
    margin-bottom:14px;
  }
  .app-flagship .flagship-label b{ color:var(--type-on-paper); font-weight:500; }
  .app-flagship .flagship-label .dsrt-id-word{ color:var(--type-on-paper); font-weight:700; }
  .app-flagship h3{
    font-size:28px; line-height:1.15; letter-spacing:-0.012em;
    font-weight:600;
    color:var(--type-on-paper);
    margin:0 0 14px;
  }
  .app-flagship p{
    font-size:16px; line-height:1.6;
    color:var(--type-on-paper);
    margin:0;
    max-width:680px;
  }
  .app-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:48px 64px;
  }
  .app-card{
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .app-card .app-name{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .app-card h3{
    font-size:22px; line-height:1.2; letter-spacing:-0.01em;
    font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:14px;
  }
  .app-card .app-pain{
    font-size:16px; line-height:1.55;
    color:var(--type-on-paper);
    margin-bottom:14px;
  }
  .app-card .app-translation{
    font-size:15px; line-height:1.6;
    color:var(--type-on-paper-mute);
    margin-bottom:18px;
  }
  .app-card .app-decision{
    padding-top:14px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:14px; line-height:1.55;
    color:var(--type-on-paper);
  }
  .app-card .app-decision .app-decision-label{
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:block;
    margin-bottom:4px;
  }

  /* Deck Intelligence · multilingual block */
  .deck-multilingual{
    margin-top:24px;
    padding:28px 32px 32px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:4px;
  }
  .deck-multilingual-eyebrow{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:12px;
  }
  .deck-multilingual h3{
    font-size:24px; line-height:1.18; letter-spacing:-0.012em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 14px;
    max-width:720px;
  }
  .deck-multilingual > p{
    font-size:15.5px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:740px;
    margin:0 0 24px;
  }
  .deck-multilingual-list{
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .deck-multilingual-list li{
    padding:18px 18px 8px 0;
    border-right:1px solid var(--type-on-paper-rule);
    font-size:13.5px; line-height:1.5;
    color:var(--type-on-paper-mute);
  }
  .deck-multilingual-list li:last-child{ border-right:none; padding-right:0; }
  .deck-multilingual-list li b{
    display:block;
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper); font-weight:700;
    margin-bottom:8px;
  }
  @media (max-width:980px){
    .deck-multilingual-list{ grid-template-columns:1fr; gap:0; }
    .deck-multilingual-list li{
      border-right:none;
      border-bottom:1px solid var(--type-on-paper-rule);
      padding:14px 0;
    }
    .deck-multilingual-list li:last-child{ border-bottom:none; }
  }

  /* ============ 05 · DECK INTELLIGENCE ============ */
  .deck-commercial{
    display:flex; gap:48px; align-items:baseline; flex-wrap:wrap;
    margin-top:-56px; margin-bottom:88px;
    padding-bottom:24px;
    border-bottom:1px solid var(--type-on-paper-rule);
    font-size:14px;
    color:var(--type-on-paper-mute);
  }
  .deck-commercial .deck-price{
    font-size:20px; font-weight:500; color:var(--type-on-paper);
    letter-spacing:-0.01em;
  }
  .deck-outputs{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:40px 64px;
    margin-bottom:88px;
  }
  .deck-output{
    padding-top:20px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .deck-output .deck-output-name{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:10px;
  }
  .deck-output h4{
    font-size:18px; line-height:1.25; font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:10px;
  }
  .deck-output p{
    font-size:15px; line-height:1.55;
    color:var(--type-on-paper-mute);
  }
  .deck-process{
    display:flex; gap:32px; flex-wrap:wrap;
    padding:32px 0;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    margin-bottom:64px;
  }
  .deck-step{
    flex:1; min-width:160px;
  }
  .deck-step .deck-step-num{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:8px;
  }
  .deck-step .deck-step-num b{ color:var(--type-on-paper); font-weight:500; }
  .deck-step h4{
    font-size:16px; font-weight:600; color:var(--type-on-paper);
    margin-bottom:6px;
  }
  .deck-step p{
    font-size:13.5px; line-height:1.5;
    color:var(--type-on-paper-mute);
  }
  .deck-bounds{
    display:grid; grid-template-columns:repeat(2, 1fr);
    gap:48px;
    margin-bottom:48px;
  }
  .deck-bounds h4{
    font-size:14px; letter-spacing:0.04em;
    font-weight:600;
    margin-bottom:14px;
    color:var(--type-on-paper);
  }
  .deck-bounds ul{
    list-style:none; padding:0;
  }
  .deck-bounds li{
    padding:8px 0;
    border-bottom:1px solid var(--type-on-paper-rule);
    font-size:15px; line-height:1.5;
    color:var(--type-on-paper);
  }
  .deck-bounds li:last-child{ border-bottom:none; }
  .deck-closing{
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:17px; line-height:1.55;
    color:var(--type-on-paper-mute);
    max-width:580px;
  }

  /* ============ 06 · LIFECYCLE ============ */
  .lifecycle-strip{
    display:flex; gap:0; align-items:stretch;
    padding:36px 0;
    border-top:1px solid var(--type-on-paper-rule);
    border-bottom:1px solid var(--type-on-paper-rule);
    margin-bottom:72px;
    overflow-x:auto;
  }
  .lifecycle-step{
    flex:0 0 auto;
    padding:0 18px;
    display:flex; flex-direction:column; align-items:center; gap:12px;
    text-align:center;
    font-size:13px; letter-spacing:0.04em;
    color:var(--type-on-paper);
    white-space:nowrap;
    position:relative;
  }
  .lifecycle-step .lc-icon{
    width:32px; height:32px;
    color:var(--type-on-paper);
    display:flex; align-items:center; justify-content:center;
  }
  .lifecycle-step .lc-icon svg{ width:100%; height:100%; }
  .lifecycle-step::after{
    content:"→";
    color:var(--type-on-paper-rule);
    position:absolute;
    right:-8px; top:8px;
    font-size:14px;
  }
  .lifecycle-step:last-child::after{ content:""; }
  .lifecycle-grid{
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:48px;
    margin-bottom:80px;
  }
  .lifecycle-card{
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .lifecycle-card .lifecycle-tag{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .lifecycle-card h3{
    font-size:22px; line-height:1.2; font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:14px;
  }
  .lifecycle-card p{
    font-size:15px; line-height:1.55;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .lifecycle-card .lifecycle-decision{
    font-size:13.5px;
    color:var(--type-on-paper);
  }
  .lifecycle-global{
    padding:48px;
    background:var(--paper-warm);
    border-radius:4px;
    display:grid; grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    gap:48px;
    align-items:start;
  }
  .lifecycle-global h3{
    font-size:24px; line-height:1.2; font-weight:600;
    margin-bottom:14px;
  }
  .lifecycle-global p{
    font-size:16px; line-height:1.6;
    color:var(--type-on-paper-mute);
    margin-bottom:18px;
  }
  .lifecycle-global ul{
    list-style:none; padding:0;
    columns:2; column-gap:32px;
  }
  .lifecycle-global li{
    padding:6px 0;
    font-size:14px; color:var(--type-on-paper);
    break-inside:avoid;
  }

  /* ============ 07 · TRUST & GOVERNANCE ============ */
  .trust-grid{
    display:grid; grid-template-columns:repeat(4, 1fr);
    gap:32px;
    margin-bottom:64px;
  }
  .trust-card{
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .trust-card .trust-num{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .trust-card .trust-num b{ color:var(--type-on-paper); font-weight:500; }
  .trust-card h3{
    font-size:22px; line-height:1.2; font-weight:600;
    margin-bottom:14px;
  }
  .trust-card p{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .trust-card .trust-status{
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--signal);
    font-weight:500;
  }
  .trust-closing{
    padding:32px 0 0;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:18px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:680px;
    font-weight:500;
  }

  /* ============ 08 · WAYS TO WORK TOGETHER ============ */
  .ways-grid{
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:32px;
    margin-bottom:64px;
  }
  .way-card{
    padding:32px;
    background:var(--paper-warm);
    border-radius:4px;
    display:flex; flex-direction:column; height:100%;
  }
  .way-card .way-tier{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:16px;
  }
  .way-card h3{
    font-size:24px; line-height:1.2; font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:14px;
  }
  .way-card .way-body{
    font-size:15px; line-height:1.55;
    color:var(--type-on-paper);
    margin-bottom:24px;
  }
  .way-card .way-outputs,
  .way-card .way-best{
    font-size:13px; line-height:1.5;
    color:var(--type-on-paper-mute);
    padding-top:14px;
    border-top:1px solid var(--type-on-paper-rule);
    margin-bottom:14px;
  }
  .way-card .way-outputs b,
  .way-card .way-best b{
    display:block;
    font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper);
    font-weight:600;
    margin-bottom:6px;
  }
  .way-card .way-outputs:last-of-type{ margin-bottom:auto; }
  .ways-closing{
    font-size:17px; line-height:1.5;
    color:var(--type-on-paper-mute);
    max-width:580px;
    margin-bottom:48px;
  }
  .ways-ctas{
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
    display:flex; gap:40px; flex-wrap:wrap; align-items:baseline;
  }

  /* ============ 09 · METHOD NOTES ============ */
  .method-grid{
    display:grid; grid-template-columns:repeat(2, 1fr);
    gap:48px;
  }
  .method-note{
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .method-note .method-tag{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin-bottom:14px;
  }
  .method-note .method-tag b{ color:var(--type-on-paper); font-weight:500; }
  .method-note h3{
    font-size:20px; line-height:1.2; font-weight:600;
    color:var(--type-on-paper);
    margin-bottom:14px;
  }
  .method-note p{
    font-size:14.5px; line-height:1.6;
    color:var(--type-on-paper-mute);
  }

  /* ============ OPENING ============ */
  .opener{padding:96px 0 120px;}
  .opener .eyebrow{font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--type-on-paper-mute); margin-bottom:24px;}
  .opener h1{font-size:42px; line-height:1.08; letter-spacing:-0.02em; font-weight:600; max-width:780px; margin-bottom:32px;}
  .opener .intro{font-size:20px; line-height:1.55; color:var(--type-on-paper); max-width:680px;}

  /* ============ RESEARCH ACTS ============ */
  .acts{padding-bottom:160px;}
  .act{padding:56px 0; border-top:1px solid var(--type-on-paper-rule);}
  .act:first-child{border-top:none; padding-top:0;}
  .act .num{font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--type-on-paper-mute); margin-bottom:20px;}
  .act .num b{font-weight:500; color:var(--type-on-paper); letter-spacing:0;}
  .act h2{font-size:28px; line-height:1.2; letter-spacing:-0.01em; font-weight:600; max-width:680px; margin-bottom:18px;}
  .act p{font-size:17px; line-height:1.65; color:var(--type-on-paper); max-width:640px;}
  .act .onward{margin-top:32px;}
  .act .onward a{font-size:14px; color:var(--type-on-paper-mute); text-decoration:none; transition:color 200ms ease;}
  .act .onward a:hover{color:var(--type-on-paper);}
  .act .onward a .arrow{display:inline-block; transition:transform 200ms ease; margin-left:6px;}
  .act .onward a:hover .arrow{transform:translateX(4px);}

  /* ============ BRIDGE ============ */
  .bridge{padding:96px 0 56px; text-align:center; border-top:1px solid var(--type-on-paper-rule);}
  .bridge .eyebrow{font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--type-on-paper-mute); margin-bottom:24px;}
  .bridge h3{font-size:36px; line-height:1.2; letter-spacing:-0.015em; font-weight:600; max-width:720px; margin:0 auto 20px;}
  .bridge p{font-size:17px; line-height:1.6; color:var(--type-on-paper-mute); max-width:560px; margin:0 auto;}

  /* ============ RADAR STAGE ============ */
  .stage{
    background:var(--ink); color:var(--type-on-ink);
    padding:88px 0 96px;
    margin-top:24px;
    position:relative;
  }
  .stage .frame-radar{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap:64px;
    align-items:center;
  }

  /* Radar group — radar + toggle as one object */
  .radar-object{display:flex; flex-direction:column; align-items:center;}
  .radar-host{width:100%; max-width:580px; aspect-ratio:1/1;}
  .radar-host svg{width:100%; height:100%; display:block;}

  .toggle{
    margin-top:32px;
    display:inline-flex; align-items:baseline; gap:14px;
    font-size:14px;
  }
  .toggle button{
    background:none; border:none; cursor:pointer;
    font-family:inherit; font-size:inherit;
    color:var(--type-on-ink-mute);
    padding:6px 0;
    border-bottom:1px solid transparent;
    transition:color 200ms ease, border-color 200ms ease;
    letter-spacing:0.005em;
  }
  .toggle button.is-active{
    color:var(--type-on-ink);
    border-bottom-color:var(--type-on-ink);
    font-weight:500;
  }
  .toggle button:hover:not(.is-active){color:var(--type-on-ink);}
  .toggle .sep{color:var(--type-on-ink-rule); font-size:12px;}

  /* Reading column */
  .read{max-width:440px;}
  .read .label{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
    margin-bottom:20px;
    transition:opacity 250ms ease;
  }
  .read h3{
    font-size:34px; line-height:1.15; letter-spacing:-0.015em;
    font-weight:600;
    margin-bottom:24px;
    min-height:78px;
    transition:opacity 250ms ease;
  }
  .read .caption{position:relative; min-height:170px; margin-bottom:24px;}
  .read .caption p{
    font-size:17px; line-height:1.65;
    color:var(--type-on-ink);
    opacity:0.9;
    position:absolute; top:0; left:0; right:0;
    transition:opacity 300ms ease;
  }
  .read .caption p.is-hidden{opacity:0; pointer-events:none;}

  .read .support{
    padding-top:24px;
    border-top:1px solid var(--type-on-ink-rule);
    position:relative;
  }
  .read .support p{
    font-size:15px; line-height:1.6;
    color:var(--type-on-ink-mute);
    margin:0;
    letter-spacing:0.005em;
  }
  .read .support p.is-hidden{display:none;}
  /* Insight paragraph carries the axis-specific note on hover; gets a small colour cue */
  .read .support p.insight{
    color:var(--type-on-ink);
    padding-left:14px;
    border-left:2px solid currentColor;
    margin-left:0;
  }
  .read .support p[data-axis="d"].insight{ color:var(--dsrt-d); }
  .read .support p[data-axis="s"].insight{ color:var(--dsrt-s); }
  .read .support p[data-axis="r"].insight{ color:var(--dsrt-r); }
  .read .support p[data-axis="t"].insight{ color:var(--dsrt-t); }
  .read .support p.insight .insight-tag{
    display:block;
    font-size:12.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:14px;
  }
  .read .support p.insight .insight-body{
    color:var(--type-on-ink);
    display:block;
    font-size:17px;
    line-height:1.55;
    opacity:0.95;
  }
  .read .support p.insight .insight-link{
    display:block;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--type-on-ink-rule);
    color:var(--type-on-ink-mute);
    font-size:13.5px;
    letter-spacing:0.04em;
  }

  .stage-onward{
    margin-top:88px;
    padding-top:40px;
    border-top:1px solid var(--type-on-ink-rule);
    display:flex; gap:48px; flex-wrap:wrap;
    justify-content:center;
  }
  .stage-onward a{font-size:14px; color:var(--type-on-ink-mute); text-decoration:none; transition:color 200ms ease;}
  .stage-onward a:hover{color:var(--type-on-ink);}
  .stage-onward a .arrow{display:inline-block; transition:transform 200ms ease; margin-left:6px;}
  .stage-onward a:hover .arrow{transform:translateX(4px);}

  /* Axis label styles in SVG — translate outward + grow + light up on Recal.
     Hoverable in both states: Accepted hovers explain the issue; Recal hovers
     explain the shift. */
  .ax-label{
    font-family:"Inter", system-ui, sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.22em;
    opacity:0.85;
    transform:translate(0, 0);
    transform-box:fill-box;
    transform-origin:center;
    transition:
      font-size 700ms cubic-bezier(.22,.61,.36,1),
      opacity 400ms ease,
      transform 700ms cubic-bezier(.22,.61,.36,1),
      filter 200ms ease;
    pointer-events:auto;
    cursor:pointer;
  }
  .ax-label:hover{ filter:brightness(1.3); opacity:1; }
  .is-recal .ax-label{
    font-size:16.5px;
    opacity:1;
  }
  .is-recal #lbl-d{ transform:translate(0, -28px); }
  .is-recal #lbl-s{ transform:translate(28px, 0); }
  .is-recal #lbl-r{ transform:translate(0, 28px); }
  .is-recal #lbl-t{ transform:translate(-30px, 0); }

  /* Extended trail segments — animate opacity on state */
  .trail-extended{opacity:0; transition:opacity 600ms ease;}
  .is-recal .trail-extended{opacity:1;}

  /* Vertex halo — locked-signal indicator on Recal */
  .vertex-halo{opacity:0; transition:opacity 600ms ease;}
  .is-recal .vertex-halo{opacity:1;}

  /* ============ OUTCOMES · what the diagnosis produced ============ */
  .outcomes{padding:128px 0 96px;}
  .outcomes .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute); margin-bottom:32px;
  }
  .outcomes h2{
    font-size:42px; line-height:1.1; letter-spacing:-0.02em;
    font-weight:600; max-width:760px; margin-bottom:24px;
  }
  .outcomes .outcomes-intro{font-size:18px; line-height:1.55; color:var(--type-on-paper-mute); max-width:680px; margin-bottom:80px;}

  .outcomes-list{display:flex; flex-direction:column; gap:64px; max-width:760px;}
  .outcome{
    padding-top:32px;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .outcome:first-child{border-top:none; padding-top:0;}
  .outcome .axis-label{
    display:flex; align-items:center; gap:12px;
    margin-bottom:20px;
    font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
    font-weight:600;
    color:var(--type-on-paper-mute);
  }
  .outcome .axis-label .axis-chip{
    display:inline-flex; align-items:center; justify-content:center;
    width:26px; height:26px; border-radius:3px;
    font-weight:700; font-size:12px; letter-spacing:0;
    line-height:1;
  }
  /* Whole-label neon — chip + word in the axis colour */
  .outcome.axis-d{ --axis-color:var(--dsrt-d); }
  .outcome.axis-s{ --axis-color:var(--dsrt-s); }
  .outcome.axis-r{ --axis-color:var(--dsrt-r); }
  .outcome.axis-t{ --axis-color:var(--dsrt-t); }
  .outcome.axis-d .axis-label,
  .outcome.axis-s .axis-label,
  .outcome.axis-r .axis-label,
  .outcome.axis-t .axis-label{ color:var(--axis-color); }
  .outcome.axis-d .axis-chip{ background:var(--dsrt-d); color:#FFFFFF; }
  .outcome.axis-s .axis-chip{ background:var(--dsrt-s); color:var(--type-on-paper); }
  .outcome.axis-r .axis-chip{ background:var(--dsrt-r); color:var(--type-on-paper); }
  .outcome.axis-t .axis-chip{ background:var(--dsrt-t); color:var(--type-on-paper); }
  .outcome h3{
    font-size:28px; line-height:1.2; letter-spacing:-0.01em;
    font-weight:600; max-width:600px;
    margin-bottom:16px;
  }
  .outcome p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:600px;
    margin-bottom:0;
  }
  .outcome .mr-line{
    margin-top:14px;
    font-size:14px; letter-spacing:0.005em;
    color:var(--type-on-paper-mute);
  }

  /* ============================================
     CASE TOGGLE — pill tabs at the top of section 03.
     Two flagship cases, click to swap which is visible.
     ============================================ */
  .case-tabs-wrap{
    padding-top:96px;
    background:var(--paper);
  }
  .case-tabs-wrap .case-tabs-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute); margin-bottom:24px;
    display:flex; align-items:center; gap:10px;
  }
  .case-tabs{
    display:grid; grid-template-columns:1fr 1fr; gap:24px;
    max-width:none;
  }
  /* Picker-intro and picker-prompt span the full content column */
  .case-tabs-wrap .picker-intro{
    max-width:780px;
  }
  .case-tabs-wrap .picker-prompt{
    max-width:none;
  }
  .case-tab{
    display:flex; flex-direction:column; gap:10px;
    text-align:left; padding:32px 36px;
    background:var(--paper);
    border:1px solid var(--type-on-paper-rule);
    border-radius:6px; cursor:pointer;
    transition:background 200ms ease, border-color 200ms ease, transform 200ms ease;
    font-family:inherit; color:inherit;
  }
  .case-tab:hover{ border-color:var(--type-on-paper); }
  .case-tab.is-active{
    background:var(--ink); color:var(--type-on-ink); border-color:var(--ink);
  }
  /* Stage badge — agentic / deterministic — the through-line between cases */
  .case-tab .case-tab-stage{
    align-self:flex-start;
    font-size:9px; letter-spacing:0.28em; text-transform:uppercase;
    font-weight:700; padding:5px 10px;
    border:1px solid currentColor; border-radius:2px;
    margin-bottom:4px;
  }
  .case-tab .case-tab-stage-a{ color:var(--type-on-paper-mute); }
  .case-tab .case-tab-stage-b{ color:#0A8B85; }
  .case-tab.is-active .case-tab-stage-a{ color:var(--type-on-ink-mute); border-color:var(--type-on-ink-mute); }
  .case-tab.is-active .case-tab-stage-b{ color:#00F0E0; border-color:#00F0E0; }
  /* Kicker — the punch line under each case */
  .case-tab .case-tab-kicker{
    margin-top:auto; padding-top:14px;
    border-top:1px solid var(--type-on-paper-rule);
    font-size:13.5px; letter-spacing:-0.005em; font-weight:600;
    color:var(--type-on-paper);
    font-style:italic;
  }
  .case-tab.is-active .case-tab-kicker{
    color:var(--type-on-ink);
    border-top-color:var(--type-on-ink-rule);
  }
  .case-tab .case-tab-num{
    font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
  }
  .case-tab.is-active .case-tab-num{ color:var(--type-on-ink-mute); }
  .case-tab .case-tab-name{
    font-size:20px; font-weight:600; letter-spacing:-0.01em;
    color:var(--type-on-paper); line-height:1.25;
  }
  .case-tab.is-active .case-tab-name{ color:var(--type-on-ink); }
  .case-tab .case-tab-sub{
    font-size:13.5px; color:var(--type-on-paper-mute); line-height:1.45;
  }
  .case-tab.is-active .case-tab-sub{ color:var(--type-on-ink-mute); }

  /* Case panel show/hide — driven by data-case attribute on body.
     Default (no attribute) shows Case A. */
  .case-a-section{ display:block; }
  .case-b-section{ display:none; }
  body[data-case="a"] .case-a-section{ display:block; }
  body[data-case="a"] .case-b-section{ display:none; }
  body[data-case="b"] .case-a-section{ display:none; }
  body[data-case="b"] .case-b-section{ display:block; }

  /* CASE PICKER — section 03 entry.
     Horizontal padding zeroed (like all other sections) so content aligns
     to the same left edge as .opener / .system / .section / .outcomes etc. */
  .case-tabs-wrap{
    padding:96px 0 96px;
    background:var(--paper);
    border-bottom:1px solid var(--type-on-paper-rule);
  }
  .case-tabs-wrap .picker-intro{
    max-width:780px;
    margin-bottom:56px;
  }
  .case-tabs-wrap .picker-eyebrow{
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:24px;
  }
  .case-tabs-wrap h2{
    font-size:42px; line-height:1.08; letter-spacing:-0.02em;
    font-weight:600; color:var(--type-on-paper);
    margin:0 0 24px;
  }
  .case-tabs-wrap .picker-body{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper);
    max-width:640px;
    margin:0;
  }
  .case-tabs-wrap .picker-prompt{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute);
    margin:0 0 18px;
    font-weight:600;
    display:inline-flex; align-items:center; gap:10px;
  }
  .case-tabs-wrap .picker-prompt::before{
    content:""; width:24px; height:1px;
    background:var(--type-on-paper-rule);
    display:inline-block;
  }
  /* Card text sizing — slightly larger for breathing room in wider cards */
  .case-tab .case-tab-name{ font-size:22px !important; line-height:1.22 !important; }
  .case-tab .case-tab-sub{ font-size:14.5px !important; line-height:1.5 !important; }
  .case-tab .case-tab-kicker{ padding-top:18px !important; margin-top:18px !important; }

  /* Integrated outcome — four-dot indicator */
  .outcome.outcome-integrated .axis-label .axis-chip{
    display:inline-flex; gap:3px; width:auto; height:auto;
    background:none; padding:2px 0;
  }
  .outcome.outcome-integrated .axis-label .axis-chip span{
    width:7px; height:7px; border-radius:50%;
  }
  .outcome.outcome-integrated .axis-label .axis-chip span:nth-child(1){ background:var(--dsrt-d); }
  .outcome.outcome-integrated .axis-label .axis-chip span:nth-child(2){ background:var(--dsrt-s); }
  .outcome.outcome-integrated .axis-label .axis-chip span:nth-child(3){ background:var(--dsrt-r); }
  .outcome.outcome-integrated .axis-label .axis-chip span:nth-child(4){ background:var(--dsrt-t); }

  /* ============================================
     RLST IDENTITY MARKS — reusable everywhere
     .dsrt-mark   →  four-dot signature (D · S · R · T)
     .dsrt-id     →  mark + "RLST" wordmark, drop-in unit
     .force-chip  →  single-letter chip in axis colour
     Use anywhere RLST or a force is named, on paper or ink.
     Sized to read as a quiet signature, never as chrome.
     ============================================ */
  .dsrt-mark{
    display:inline-flex; align-items:center; gap:3px;
    vertical-align:middle;
    flex-shrink:0;
  }
  .dsrt-mark span{
    width:7px; height:7px; border-radius:50%;
    display:inline-block;
  }
  .dsrt-mark span:nth-child(1){ background:var(--dsrt-d); }
  .dsrt-mark span:nth-child(2){ background:var(--dsrt-s); }
  .dsrt-mark span:nth-child(3){ background:var(--dsrt-r); }
  .dsrt-mark span:nth-child(4){ background:var(--dsrt-t); }
  /* Smaller variant for inline placement next to small labels */
  .dsrt-mark.dsrt-mark-sm span{ width:6px; height:6px; }

  /* Eyebrows site-wide carry the RLST motif inline. Flex layout ensures
     the four-dot mark sits cleanly before the eyebrow text. */
  .hero-tag,
  .system-eyebrow,
  .section-eyebrow,
  .opener > .eyebrow,
  .outcomes > .eyebrow,
  .closing > .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
  }

  .dsrt-id{
    display:inline-flex; align-items:center; gap:8px;
    vertical-align:middle;
    font-weight:700; letter-spacing:0.06em;
    color:inherit;
  }
  .dsrt-id .dsrt-id-word{ letter-spacing:0.18em; }

  .force-chip{
    display:inline-flex; align-items:center; justify-content:center;
    width:22px; height:22px; border-radius:3px;
    font-weight:700; font-size:11px; letter-spacing:0; line-height:1;
    vertical-align:middle;
  }
  .force-chip.f-d{ background:var(--dsrt-d); color:#FFFFFF; }
  .force-chip.f-s{ background:var(--dsrt-s); color:var(--ink); }
  .force-chip.f-r{ background:var(--dsrt-r); color:var(--ink); }
  .force-chip.f-t{ background:var(--dsrt-t); color:var(--ink); }

  /* ============ FINAL CTA ============ */
  .closing{padding:128px 0 160px;}
  .closing .eyebrow{font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--type-on-paper-mute); margin-bottom:32px;}
  .closing h2{
    font-size:42px; line-height:1.1; letter-spacing:-0.02em;
    font-weight:600; max-width:760px; margin-bottom:24px;
  }
  .closing p{font-size:18px; line-height:1.55; color:var(--type-on-paper-mute); max-width:640px; margin-bottom:48px;}
  .closing .actions{display:flex; gap:40px; flex-wrap:wrap; align-items:baseline;}
  .closing a{
    text-decoration:none;
    transition:color 200ms ease;
  }
  .closing .cta-primary{
    font-size:16px;
    font-weight:500;
    color:var(--type-on-paper);
    padding-bottom:6px;
    border-bottom:1px solid var(--type-on-paper);
  }
  .closing .cta-primary:hover{color:var(--signal); border-bottom-color:var(--signal);}
  .closing .cta-secondary{
    font-size:14px;
    color:var(--type-on-paper-mute);
  }
  .closing .cta-secondary:hover{color:var(--type-on-paper);}
  .closing a .arrow{display:inline-block; transition:transform 200ms ease; margin-left:6px;}
  .closing a:hover .arrow{transform:translateX(4px);}

  /* ============ DIAGNOSTIC CAROUSEL ============ */
  .stage .frame-headline{
    padding-bottom:64px;
    margin:0 auto;
  }
  .stage .frame-headline .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--type-on-ink-mute);
    margin-bottom:24px;
  }
  .stage .stage-headline{
    font-size:54px; line-height:1.08; letter-spacing:-0.025em;
    font-weight:600; color:var(--type-on-ink);
    max-width:none;
    margin-bottom:32px;
  }
  .stage .stage-intro{
    font-size:19px; line-height:1.55;
    color:var(--type-on-ink-mute);
    max-width:880px;
  }

  .carousel-dots-wrap{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:32px;
    padding-bottom:24px;
    border-bottom:1px solid var(--type-on-ink-rule);
  }
  .carousel-dots{ display:flex; gap:14px; align-items:center; }
  .dot{
    width:8px; height:8px; border-radius:50%;
    background:var(--type-on-ink-rule);
    border:none; padding:0;
    cursor:pointer;
    transition:background 200ms ease, transform 200ms ease, width 200ms ease;
  }
  .dot.is-active{
    background:var(--type-on-ink);
    width:24px;
    border-radius:4px;
  }
  .dot:hover:not(.is-active){ background:var(--type-on-ink-mute); }
  .slide-position{
    font-size:11px; letter-spacing:0.22em;
    color:var(--type-on-ink-mute);
    font-family:ui-monospace, Menlo, monospace;
  }
  .slide-position b{ color:var(--type-on-ink); font-weight:500; }

  .slide-fade{ transition:opacity 220ms ease; }
  .is-fading .slide-fade{ opacity:0; }

  .slide-continue{
    margin-top:24px;
    font-size:13px;
    color:var(--type-on-ink-mute);
    transition:opacity 220ms ease;
  }
  .slide-continue a{
    color:inherit; text-decoration:none;
    transition:color 200ms ease;
  }
  .slide-continue a:hover{ color:var(--type-on-ink); }
  .slide-continue .arrow{ display:inline-block; transition:transform 200ms ease; margin-left:6px; }
  .slide-continue a:hover .arrow{ transform:translateX(4px); }
  .is-fading .slide-continue{ opacity:0; }

  /* ============ INLINE NEON TONES ============
     Two intensities. Both fully saturated, hot and electric.
     .tone-X       = thick coloured underline (the accent treatment)
     .tone-X-strong = full neon highlighter (the moment treatment) */

  /* Underline accent — thick, vivid, unmuted */
  .tone-d, .tone-s, .tone-r, .tone-t{
    font-weight:500;
    text-decoration:underline;
    text-decoration-thickness:0.22em;
    text-underline-offset:0.10em;
    text-decoration-skip-ink:none;
    color:inherit;
  }
  .tone-d{ text-decoration-color:var(--dsrt-d); }
  .tone-s{ text-decoration-color:var(--dsrt-s); }
  .tone-r{ text-decoration-color:var(--dsrt-r); }
  .tone-t{ text-decoration-color:var(--dsrt-t); }

  /* Force-color brand words on paper ground — matched to the RLST neons used
     on the radar / animation. Bold weight + the brevity of the bold token keep
     the cyan and lime legible despite their high luminance. */
  .f-text-d{ color:var(--dsrt-d); }   /* magenta · R · REFRAME */
  .f-text-s{ color:var(--dsrt-s); }   /* cyan · L · LAND */
  .f-text-r{ color:var(--dsrt-r); }   /* mint · S · STICK */
  .f-text-t{ color:var(--dsrt-t); }   /* lime · T · TIME */

  /* HERO LEDE — bridges the provocation headline to the structured beats below */
  .hero-text .hero-lede{
    font-size:16.5px; line-height:1.5;
    color:var(--type-on-paper);
    max-width:560px;
    margin:0 0 24px;
    font-weight:400;
  }

  /* HERO BODY · STRUCTURED — three tensions, one arc, together
     Each beat is a self-contained thought, separated by hairlines.
     Mirrors the animation's staged reveal. */
  .hero-body-structured{
    display:flex; flex-direction:column;
    max-width:560px;
    margin:0;
  }
  .hero-beat{
    padding:12px 0;
    border-top:1px solid var(--type-on-paper-rule);
  }
  .hero-beat:first-child{ border-top:none; padding-top:0; }
  .hero-beat .hero-beat-label{
    font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--type-on-paper-mute); font-weight:600;
    margin-bottom:8px;
  }
  .hero-beat-body{
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0;
  }
  .hero-beat-row{
    display:flex; align-items:flex-start; gap:10px;
    font-size:14.5px; line-height:1.55;
    color:var(--type-on-paper);
    margin:0 0 8px;
  }
  .hero-beat-row:last-child{ margin-bottom:0; }
  .hero-beat-row .axis-chip{
    display:inline-flex; align-items:center; justify-content:center;
    flex:0 0 auto;
    width:20px; height:20px; border-radius:3px;
    font-family:var(--font-mono);
    font-size:11px; font-weight:700; letter-spacing:0;
    line-height:1;
    margin-top:1px;
  }
  .hero-beat-row .axis-chip-d{ background:var(--dsrt-d); color:#FFFFFF; }
  .hero-beat-row .axis-chip-s{ background:var(--dsrt-s); color:var(--type-on-paper); }
  .hero-beat-row .axis-chip-r{ background:var(--dsrt-r); color:var(--type-on-paper); }
  .hero-beat-row .axis-chip-t{ background:var(--dsrt-t); color:var(--type-on-paper); }
  .hero-beat-row-text{ flex:1 1 auto; }
  .hero-beat-arc{
    font-size:15px; line-height:1.5;
    color:var(--type-on-paper);
    font-weight:500;
    margin:6px 0 0;
  }
  .hero-beat-arc-callout{
    color:var(--type-on-paper);
    font-weight:600;
  }

  /* Strong highlighter — full neon background, readable text on top */
  .tone-d-strong, .tone-s-strong, .tone-r-strong, .tone-t-strong{
    padding:1px 7px;
    border-radius:2px;
    font-weight:600;
    text-decoration:none;
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .tone-d-strong{ background:var(--dsrt-d); color:#FFFFFF; }
  .tone-s-strong{ background:var(--dsrt-s); color:var(--type-on-paper); }
  .tone-r-strong{ background:var(--dsrt-r); color:var(--type-on-paper); }
  .tone-t-strong{ background:var(--dsrt-t); color:var(--type-on-paper); }

  /* On the dark stage, drop the highlighter background and use the neon as the text colour */
  .stage .tone-d, .stage .tone-s, .stage .tone-r, .stage .tone-t{
    text-decoration:none;
  }
  .stage .tone-d{ color:var(--dsrt-d); }
  .stage .tone-s{ color:var(--dsrt-s); }
  .stage .tone-r{ color:var(--dsrt-r); }
  .stage .tone-t{ color:var(--dsrt-t); }
  .stage .tone-d-strong, .stage .tone-s-strong, .stage .tone-r-strong, .stage .tone-t-strong{
    background:none;
    padding:0;
    border-radius:0;
  }
  .stage .tone-d-strong{ color:var(--dsrt-d); }
  .stage .tone-s-strong{ color:var(--dsrt-s); }
  .stage .tone-r-strong{ color:var(--dsrt-r); }
  .stage .tone-t-strong{ color:var(--dsrt-t); }

  /* ============ OPENER · paragraph rhythm ============ */
  .opener .intro-lead{
    font-size:20px; line-height:1.55;
    color:var(--type-on-paper);
    max-width:680px;
    margin-bottom:0;
  }
  .opener .intro-pivot{
    font-size:26px; line-height:1.35;
    color:var(--type-on-paper);
    font-weight:500;
    letter-spacing:-0.005em;
    max-width:560px;
    margin:36px 0 36px;
    padding-left:24px;
    border-left:2px solid var(--type-on-paper);
  }
  .opener .intro-body{
    font-size:18px; line-height:1.6;
    color:var(--type-on-paper-mute);
    max-width:680px;
    margin-bottom:0;
  }
  .opener .intro-close{
    font-size:19px; line-height:1.5;
    color:var(--type-on-paper);
    font-weight:500;
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid var(--type-on-paper-rule);
    max-width:440px;
  }

  /* ============ BRIDGE · paragraph rhythm ============ */
  .bridge .bridge-body{
    max-width:600px; margin:0 auto;
  }
  .bridge .bridge-body p{
    font-size:17px; line-height:1.6;
    color:var(--type-on-paper-mute);
  }
  .bridge .bridge-body p + p{ margin-top:18px; }
  .bridge .bridge-body .bridge-staccato{
    color:var(--type-on-paper);
    font-weight:500;
  }

  /* ============ REVEAL ============ */
  /* .reveal · content is ALWAYS visible by default · the JS-added .in class
     animates the entry. If JS fails for any reason, content still shows. */
  .reveal{opacity:1; transform:translateY(0); transition:opacity 600ms ease, transform 600ms ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ============ INTRO LOADER — Pulse AI heritage → journey → Unity Arc ============
     Full-screen ink overlay that plays once per session.
     Phase 1 · Pulse AI (0–22%) — radiating logomark + wordmark, the heritage.
     Phase 2 · Journey (22–70%) — 3 short messages: agentic AI → saw the drift → built deterministic.
     Phase 3 · Unity Arc (70–95%) — RLST mark + UNITY ARC + strapline.
     Total runtime: ~10s. Skip button always available. */
  /* Overlay stays visible until the user dismisses it. No auto-fade. */
  .intro-overlay{
    position:fixed; inset:0; z-index:9999;
    background:#000;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
    opacity:1;
    transition:opacity 400ms ease;
  }
  .intro-overlay.is-dismissed{ opacity:0; pointer-events:none; }

  .intro-skip{
    position:absolute; top:24px; right:24px;
    background:transparent; border:1px solid rgba(255,255,255,0.2);
    color:rgba(255,255,255,0.7); padding:10px 18px;
    font-family:"Inter", system-ui, sans-serif;
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase; font-weight:600;
    cursor:pointer; border-radius:3px;
    transition:border-color 200ms ease, color 200ms ease;
  }
  .intro-skip:hover{ border-color:rgba(255,255,255,0.5); color:#FFFFFF; }
  .intro-skip .arrow{ margin-left:6px; }

  .intro-stage{
    position:relative; width:100%; max-width:960px; padding:0 48px;
    text-align:center; color:#FFFFFF;
  }

  /* ----- PHASE 1 · PULSE AI · 0–18% (0–5.4s of 30s) -----
     Absolute-positioned over the same centre point as Phase 2 and Phase 3 so
     they swap cleanly with no overlap between fades. */
  .intro-pulse{
    position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
    width:100%; padding:0 32px; text-align:center;
    opacity:0;
    animation: phasePulse 30s ease forwards;
  }
  @keyframes phasePulse {
    /* Heartbeat · visible ~1.8s of 30s · pops in fast, holds briefly, fades */
    0%      { opacity:0; transform:translate(-50%, calc(-50% + 8px)); }
    2%      { opacity:1; transform:translate(-50%, -50%); }
    6%      { opacity:1; transform:translate(-50%, -50%); }
    8%      { opacity:0; transform:translate(-50%, calc(-50% - 8px)); }
    100%    { opacity:0; transform:translate(-50%, calc(-50% - 8px)); }
  }

  /* Brand lockup — animated P beside the wordmark text only.
     The horizontal logo PNG contains a P starburst at the left ~32% of its
     width. We render the image at a fixed height and crop the P portion off
     using a clip wrapper, so the only static P on screen is the animated one. */
  .pulse-lockup{
    display:inline-flex; align-items:center; gap:28px;
    margin:0 auto;
  }
  .pulse-mark-img{
    width:140px; height:140px;
    display:block;
    flex:0 0 auto;
    object-fit:contain;
    animation: pulseSpin 30s ease forwards;
  }
  .pulse-wordmark-clip{
    display:block; position:relative;
    flex:0 0 auto;
    width:255px; height:140px;
    overflow:hidden;
  }
  .pulse-wordmark-img{
    position:absolute;
    height:140px; width:auto;
    top:0; left:-120px; /* shift left so the P starburst inside the logo is cropped out */
    max-width:none;
  }
  .visually-hidden{
    position:absolute !important;
    width:1px; height:1px;
    overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
    white-space:nowrap;
  }
  /* Legacy SVG starburst kept for fallback / not used */
  .pulse-logomark{ display:none; }
  .pulse-logomark use{ opacity:0; }
  /* Stagger the arms for a "starburst" reveal */
  .pulse-logomark use:nth-child(1){  animation-delay: 0.05s; }
  .pulse-logomark use:nth-child(2){  animation-delay: 0.10s; }
  .pulse-logomark use:nth-child(3){  animation-delay: 0.15s; }
  .pulse-logomark use:nth-child(4){  animation-delay: 0.20s; }
  .pulse-logomark use:nth-child(5){  animation-delay: 0.25s; }
  .pulse-logomark use:nth-child(6){  animation-delay: 0.30s; }
  .pulse-logomark use:nth-child(7){  animation-delay: 0.35s; }
  .pulse-logomark use:nth-child(8){  animation-delay: 0.40s; }
  .pulse-logomark use:nth-child(9){  animation-delay: 0.45s; }
  .pulse-logomark use:nth-child(10){ animation-delay: 0.50s; }
  .pulse-logomark use:nth-child(11){ animation-delay: 0.55s; }
  .pulse-logomark use:nth-child(12){ animation-delay: 0.60s; }
  .pulse-logomark use:nth-child(13){ animation-delay: 0.65s; }
  .pulse-logomark use:nth-child(14){ animation-delay: 0.70s; }
  .pulse-logomark use:nth-child(15){ animation-delay: 0.75s; }
  .pulse-logomark use:nth-child(16){ animation-delay: 0.80s; }
  @keyframes armReveal {
    0%   { opacity:0; transform:scale(0.6); transform-origin:center; }
    8%   { opacity:1; transform:scale(1); }
    100% { opacity:1; transform:scale(1); }
  }
  @keyframes pulseSpin {
    /* Snap-in spin so the P pops with the heartbeat, not drags behind it */
    0%   { transform:rotate(-10deg) scale(0.95); }
    5%   { transform:rotate(0deg) scale(1); }
    100% { transform:rotate(0deg) scale(1); }
  }

  .pulse-wordmark{
    font-family:"Inter", system-ui, sans-serif;
    font-size:54px; font-weight:800; letter-spacing:6px;
    margin:0 0 8px;
    color:#FFFFFF;
  }
  .pulse-wordmark .pulse-red{ color:#C8132A; }
  .pulse-wordmark .pulse-white{ color:#FFFFFF; }
  .pulse-tagline{
    font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
    color:rgba(255,255,255,0.8); margin:0;
    font-weight:500;
  }
  .pulse-tagline b{ color:#FFFFFF; font-weight:700; }

  /* ----- PHASE 2 · JOURNEY · 22–68% (2.2–6.8s) ----- */
  .intro-journey{
    position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
    width:100%; padding:0 32px; text-align:center;
  }
  .journey-beat{
    font-family:"Inter", system-ui, sans-serif;
    margin:0;
    position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
    width:100%; max-width:960px; padding:0 48px;
    opacity:0;
    text-align:center;
  }
  .journey-beat .beat-main{
    display:block;
    font-size:50px; font-weight:600; letter-spacing:-0.02em;
    line-height:1.18; color:rgba(255,255,255,0.96);
    max-width:880px; margin:0 auto;
  }
  .journey-beat .beat-main b{ color:#FFFFFF; font-weight:700; }
  .journey-beat .beat-kicker{
    display:block;
    margin-top:44px;
    font-size:14px; letter-spacing:0.26em; text-transform:uppercase;
    color:rgba(255,255,255,0.55); font-weight:500;
    line-height:1.6;
    max-width:680px; margin-left:auto; margin-right:auto;
  }
  /* Three beats, each ~5.7 seconds visible. 30s total.
     Phase 1 compressed to a heartbeat (0–8%), so beats can start earlier
     and breathe longer per slide. */
  .journey-beat-1{ animation: beat1 30s ease forwards; }
  .journey-beat-2{ animation: beat2 30s ease forwards; }
  .journey-beat-3{ animation: beat3 30s ease forwards; }
  @keyframes beat1 {
    0%, 8%  { opacity:0; transform:translate(-50%, -45%); }
    10%     { opacity:1; transform:translate(-50%, -50%); }
    29%     { opacity:1; transform:translate(-50%, -50%); }
    31%     { opacity:0; transform:translate(-50%, -55%); }
    100%    { opacity:0; }
  }
  @keyframes beat2 {
    0%, 31% { opacity:0; transform:translate(-50%, -45%); }
    32%     { opacity:1; transform:translate(-50%, -50%); }
    51%     { opacity:1; transform:translate(-50%, -50%); }
    53%     { opacity:0; transform:translate(-50%, -55%); }
    100%    { opacity:0; }
  }
  @keyframes beat3 {
    0%, 53% { opacity:0; transform:translate(-50%, -45%); }
    54%     { opacity:1; transform:translate(-50%, -50%); }
    73%     { opacity:1; transform:translate(-50%, -50%); }
    75%     { opacity:0; transform:translate(-50%, -55%); }
    100%    { opacity:0; }
  }

  /* ----- PHASE 3 · UNITY ARC · holds visible until dismissed (30s loader) ----- */
  .intro-unity{
    position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
    width:100%; padding:0 32px; text-align:center;
    opacity:0;
    animation: phaseUnity 30s ease forwards;
  }
  @keyframes phaseUnity {
    0%, 77%  { opacity:0; }
    83%      { opacity:1; }
    100%     { opacity:1; }
  }

  .intro-dsrt-dots{
    display:flex; justify-content:center; gap:18px;
    margin:0 0 52px;
  }
  .intro-dsrt-dots .dot{
    width:18px; height:18px; border-radius:50%;
    opacity:0;
    animation: dotIn 30s ease forwards;
  }
  .intro-dsrt-dots .dot.dot-d{ background:#F030A0; animation-delay:0.05s; }
  .intro-dsrt-dots .dot.dot-s{ background:#00F0E0; animation-delay:0.15s; }
  .intro-dsrt-dots .dot.dot-r{ background:#10E080; animation-delay:0.25s; }
  .intro-dsrt-dots .dot.dot-t{ background:#D0F000; animation-delay:0.35s; }
  @keyframes dotIn {
    0%, 77% { opacity:0; transform:scale(0.5); }
    84%     { opacity:1; transform:scale(1); }
    100%    { opacity:1; transform:scale(1); }
  }

  .unity-wordmark{
    font-family:"Inter", system-ui, sans-serif;
    font-size:78px; font-weight:700; letter-spacing:10px;
    margin:0 0 22px; color:#FFFFFF;
    line-height:1;
  }
  .unity-strap{
    font-size:12px; letter-spacing:0.38em; text-transform:uppercase;
    color:rgba(255,255,255,0.85); margin:0 0 56px; font-weight:600;
  }
  .unity-thread{
    font-size:18px; line-height:1.55;
    color:rgba(255,255,255,0.72); font-weight:300;
    max-width:680px; margin:0 auto 18px;
  }
  .unity-thread-lead{
    font-size:18px; color:rgba(255,255,255,0.95); font-weight:500;
    margin-bottom:24px;
    letter-spacing:0.04em;
  }

  /* Phone */
  @media (max-width:640px){
    .intro-stage{ padding:0 24px; max-width:100%; }
    .pulse-lockup{ gap:14px; }
    .pulse-mark-img{ width:80px; height:80px; }
    .pulse-wordmark-clip{ width:150px; height:80px; }
    .pulse-wordmark-img{ height:80px; left:-69px; }
    .pulse-wordmark{ font-size:36px; letter-spacing:4px; }
    .pulse-tagline{ font-size:9.5px; letter-spacing:0.28em; }
    .journey-beat{ padding:0 24px; }
    .journey-beat .beat-main{ font-size:30px; line-height:1.18; }
    .journey-beat .beat-kicker{ font-size:11.5px; letter-spacing:0.22em; margin-top:28px; }
    .unity-wordmark{ font-size:46px; letter-spacing:6px; margin:0 0 16px; }
    .unity-strap{ font-size:10.5px; letter-spacing:0.3em; margin:0 0 36px; }
    .unity-thread, .unity-thread-lead{ font-size:14.5px; }
    .intro-dsrt-dots{ gap:14px; margin:0 0 36px; }
    .intro-dsrt-dots .dot{ width:14px; height:14px; }
    .intro-skip{ top:14px; right:14px; padding:8px 14px; font-size:10px; }
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width:980px){
    .frame{padding:0 24px;}
    .hud{padding:24px 0 32px; margin-bottom:72px;}
    .hero{padding:48px 0 96px;}
    .hero .hero-eyebrow{margin-bottom:56px;}
    .hero-grid{grid-template-columns:1fr; gap:64px;}
    .hero-text h1{font-size:44px; line-height:1.08;}
    .hero-text .hero-body{font-size:17px;}
    .hero-radar-card{margin:0 auto;}
    .system{padding:80px 0 96px;}
    .system h2{font-size:34px;}
    .system .system-lead{font-size:17px; margin-bottom:56px;}
    .system-grid{grid-template-columns:1fr; gap:32px; margin-bottom:48px;}
    .section{padding:80px 0 96px;}
    .section h2{font-size:34px;}
    .section .section-lead{font-size:17px; margin-bottom:56px;}
    .app-flagship{grid-template-columns:1fr; gap:24px;}
    .app-grid{grid-template-columns:1fr; gap:32px;}
    .app-carousel-layout{grid-template-columns:1fr; gap:32px;}
    .app-radar-card{margin:0 auto;}
    .deck-outputs{grid-template-columns:1fr; gap:24px;}
    .deck-process{flex-direction:column; gap:20px;}
    .deck-bounds{grid-template-columns:1fr; gap:32px;}
    .lifecycle-grid{grid-template-columns:1fr; gap:32px;}
    .lifecycle-global{grid-template-columns:1fr; gap:24px; padding:32px;}
    .lifecycle-global ul{columns:1;}
    .trust-grid{grid-template-columns:1fr; gap:24px;}
    .ways-grid{grid-template-columns:1fr; gap:24px;}
    .method-grid{grid-template-columns:1fr; gap:32px;}
    .opener{padding-bottom:96px;}
    .opener h1{font-size:36px;}
    .opener .intro{font-size:17px;}
    .acts{padding-bottom:96px;}
    .act{padding:40px 0;}
    .act h2{font-size:22px;}
    .stage .frame-radar{grid-template-columns:1fr; gap:48px;}
    .stage{padding:64px 0;}
    .bridge h3{font-size:26px;}
    .read{max-width:560px; margin:0 auto;}
    .read h3{font-size:26px; min-height:auto;}
    .stage-onward{flex-direction:column; gap:18px; align-items:flex-start;}
  }

  /* ============ PHONE — 640px and below ============ */
  @media (max-width:640px){
    /* Prevent any wide element from forcing horizontal scroll */
    html,body{overflow-x:hidden;}

    /* Carousel dots — keep look, expand tap target */
    .sec-dot,.dot{padding:14px; box-sizing:content-box; background-clip:content-box;}

    /* Frame & rhythm */
    .frame{padding:0 20px;}
    .hud{padding:20px 0 24px; margin-bottom:48px;}
    .hud .meta,.hud .crumb{font-size:11px;}
    .hud .crumb{display:none;}

    /* Burger — bigger tap target on phone */
    .burger{top:14px; right:14px; width:44px; height:44px;}
    .nav-panel{width:88vw; max-width:360px;}

    /* HERO */
    .hero{padding:40px 0 64px;}
    .hero-eyebrow{font-size:11px; margin-bottom:32px;}
    .hero-tag{font-size:10px;}
    .hero-text h1{font-size:32px; line-height:1.1; letter-spacing:-0.015em;}
    .hero-text .hero-body{font-size:16px; line-height:1.55;}
    .hero-ctas{flex-direction:column; align-items:stretch; gap:12px;}
    .hero-ctas a{text-align:center;}
    .hero-quick-links{flex-direction:column; align-items:flex-start; gap:10px;}
    .hero-quick-links a{font-size:14px;}
    .hero-walkthrough{font-size:11px;}
    .hero-radar-card{padding:18px; max-width:100%; aspect-ratio:1/1.05;}
    .hero-radar-card .hero-radar-label{font-size:9.5px; letter-spacing:0.18em;}
    .hero-radar-card .hero-radar-foot{font-size:10px;}
    .hero-radar-card svg{max-width:100%; width:100%;}
    /* Scale SVG text up for readability on a ~340px-wide card */
    .anim-flagship .intro-name{font-size:46px; letter-spacing:6px;}
    .anim-flagship .intro-tag{font-size:14px; letter-spacing:2.6px;}
    .anim-flagship .intro-sub{font-size:17px;}
    .anim-flagship .a-unity{font-size:38px; letter-spacing:6.5px;}
    .anim-flagship .a-unity-rule{stroke-width:1.2;}
    .anim-flagship .v-label{font-size:14px; letter-spacing:2.6px;}
    .anim-flagship .a-radarname{font-size:13.5px; letter-spacing:3.2px;}
    .anim-flagship .intro-icon{stroke-width:3.6;}
    /* Aspect-ratio fallback for older iOS Safari (pre 15.4) */
    @supports not (aspect-ratio: 1 / 1){
      .hero-radar-card{min-height:380px; height:auto;}
    }

    /* SYSTEM */
    .system{padding:56px 0 72px;}
    .system-eyebrow{font-size:11px; margin-bottom:32px;}
    .system h2{font-size:28px; line-height:1.12;}
    .system .system-lead{font-size:16px;}
    .system-card{padding:24px;}
    .system-card h3{font-size:22px;}
    .system-card .system-role{font-size:10px;}

    /* CASE — opener, stage, outcomes */
    .opener{padding:56px 0 72px;}
    .opener h1{font-size:28px; line-height:1.12;}
    .opener .intro-body,.opener .intro-close{font-size:16px; line-height:1.55;}
    .stage{padding:48px 0;}
    .stage .frame-headline{padding-bottom:40px;}
    .stage .stage-headline{font-size:30px; line-height:1.1;}
    .stage .stage-intro{font-size:16px;}
    .stage .frame-radar{padding:0;}
    .carousel-dots-wrap{gap:10px;}
    .outcomes{padding:56px 0 72px;}
    .outcomes h2{font-size:28px; line-height:1.15;}
    .outcomes-intro{font-size:16px;}
    .outcome{padding:32px 0;}
    .outcome h3{font-size:22px; line-height:1.2;}
    .outcome p{font-size:16px; line-height:1.55;}
    .outcome .axis-label{font-size:11px;}

    /* APPLICATIONS */
    .section{padding:56px 0 72px;}
    .section-eyebrow{font-size:11px;}
    .section h2{font-size:28px; line-height:1.12;}
    .section .section-lead{font-size:16px; margin-bottom:40px;}
    .app-flagship{padding:24px;}
    .app-radar-card{padding:18px; max-width:100%;}
    .app-radar-card .app-radar-label{font-size:9.5px; letter-spacing:0.18em;}
    .app-radar-card svg{width:100%; max-width:100%;}
    .app-translation,.app-decision{font-size:15px;}
    .sec-slide-position{font-size:11px;}
    .sec-slide-headline{font-size:22px; line-height:1.18;}

    /* DECK INTELLIGENCE, LIFECYCLE, TRUST, WAYS, METHOD */
    .deck-outputs,.deck-bounds,.lifecycle-grid,.trust-grid,.ways-grid,.method-grid{gap:24px;}
    .lifecycle-global{padding:24px;}
    .method-slide,.trust-slide{padding:0;}

    /* Closing */
    .closing{padding:64px 0 80px;}
    .closing h2{font-size:28px; line-height:1.15;}
    .closing-body{font-size:16px;}

    /* ============ CASE PICKER (section 03 entry) — stacked on phone ============ */
    .case-tabs-wrap{ padding:56px 0 24px; }
    .case-tabs-wrap .picker-intro{ margin-bottom:32px; }
    .case-tabs-wrap .picker-eyebrow{ font-size:10px; margin-bottom:18px; }
    .case-tabs-wrap h2{ font-size:28px; line-height:1.12; margin-bottom:18px; }
    .case-tabs-wrap .picker-body{ font-size:15.5px; line-height:1.55; }
    .case-tabs-wrap .picker-prompt{ font-size:11px; letter-spacing:0.18em; margin-bottom:12px; }
    .case-tabs{ grid-template-columns:1fr; gap:12px; }
    .case-tab{ padding:18px 20px; min-height:44px; }
    .case-tab .case-tab-num{ font-size:10px; }
    .case-tab .case-tab-name{ font-size:16px; line-height:1.25; }
    .case-tab .case-tab-sub{ font-size:13px; line-height:1.4; }

    /* ============ FORCE CHIP + LETTER CHIP touch sizing ============ */
    .force-chip{ width:24px; height:24px; font-size:12px; }
    .outcome .axis-chip{ width:24px; height:24px; font-size:11px; }

    /* ============ CASE-STUDY RADAR (the big 640×640 SVG) ============ */
    .stage .radar-host{ max-width:100%; padding:0; }
    .stage .radar-host svg{ width:100%; height:auto; }
    .stage .radar-object{ max-width:100%; }
    .stage .read .label{ font-size:11px; }
    .stage .read h3{ font-size:22px; }
    .stage .read p{ font-size:15px; line-height:1.55; }
    .stage .slide-position{ font-size:11px; }

    /* ============ HERO body — let the inline RLST explanation breathe ============ */
    .hero-text .hero-body{ line-height:1.65; }
    .hero-text .hero-body b{ white-space:nowrap; }

    /* ============ NAV PANEL — full-screen tap-friendly on phone ============ */
    .nav-panel{ padding:24px; }
    .nav-panel li a{ font-size:16px; }
    .nav-panel .nav-sub{ font-size:12px; }

    /* ============ OUTCOMES integrated chip on mobile ============ */
    .outcome.outcome-integrated .axis-label{ flex-wrap:wrap; gap:8px; }

    /* ============ APP CAROUSEL position + nav arrows ============ */
    .sec-carousel-dots-wrap{ flex-direction:row; align-items:center; justify-content:space-between; gap:14px; }
    .sec-carousel-meta{ gap:10px; }
    .sec-nav-arrow{ width:34px; height:34px; }

    /* ============ DECK INTELLIGENCE process steps — vertical on phone ============ */
    .deck-process{ flex-direction:column; }
    .deck-step{ padding:18px 0; }

    /* ============ LIFECYCLE STRIP — wrap nicely ============ */
    .lifecycle-strip{ flex-wrap:wrap; gap:18px; justify-content:flex-start; }
    .lifecycle-step{ flex:0 1 calc(50% - 12px); }

    /* ============ STAGE-ONWARD links stack ============ */
    .stage-onward{ gap:14px; }
    .stage-onward a{ font-size:14px; }

    /* ============ TYPE — global safety on phone ============ */
    h1,h2,h3{ overflow-wrap:break-word; }
  }

/* Nav divider · separates section groups in burger menu */
.nav-panel .nav-divider{
  margin:24px 0 12px;
  padding:0 0 6px;
  font-size:9.5px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--type-on-ink-mute);
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,0.12);
  pointer-events:none;
}
.nav-panel .nav-divider:first-child{ margin-top:0; }
.nav-panel .nav-divider span{ display:block; }

/* ============ MULTI-PAGE LAYOUT · sticky footer · no scroll bleed ============
   When page content is shorter than the viewport, the footer sits at the
   bottom · no awkward white space below the section. When content is taller,
   normal scroll flow applies. Footer always marks where the page actually ends. */
html, body{ min-height:100vh; }
body{ display:flex; flex-direction:column; }
body > section,
body > div.frame.case-b-section,
body > section.case-tabs-wrap{ flex-shrink:0; }
.page-footer{ margin-top:auto; }

/* Overscroll suppression · prevent the elastic bounce on macOS from
   revealing "behind the page" content during scroll. */
html{ overscroll-behavior:none; }

/* ============================================
   SECTION · OUTPUTS · WHAT YOU WALK AWAY WITH
   Carousel of 6 visualised deliverables · sits between
   how-it-works and the journeys hub on the landing.
   ============================================ */
.outputs{
  padding:120px 0 120px;
  background:var(--paper);
  border-top:1px solid var(--type-on-paper-rule);
  border-bottom:1px solid var(--type-on-paper-rule);
}
.out-head{ margin-bottom:64px; max-width:980px; }
.out-eyebrow{
  font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  display:inline-flex; align-items:center; gap:12px;
  margin-bottom:24px;
}
.outputs h2{
  font-size:54px; line-height:1.04; letter-spacing:-0.025em;
  font-weight:600; color:var(--type-on-paper);
  margin:0 0 24px;
  max-width:880px;
}
.outputs h2 b{ font-weight:600; color:var(--type-on-paper); }
.out-lead{
  font-size:19px; line-height:1.55;
  color:var(--type-on-paper);
  max-width:720px;
  margin:0;
}

.out-carousel{ position:relative; }
.out-stage{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  transition:opacity 240ms ease;
  min-height:460px;
}
.out-stage.is-fading{ opacity:0; }
.out-visual{
  aspect-ratio:1/1;
  max-width:480px;
  width:100%;
  border:1px solid var(--type-on-paper-rule);
  border-radius:6px;
  background:linear-gradient(180deg, var(--paper) 0%, rgba(0,0,0,0.015) 100%);
  display:flex; align-items:center; justify-content:center;
  padding:40px;
  position:relative;
}
.out-visual svg{ width:100%; height:100%; display:block; overflow:visible; }
.out-text-num{
  font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  margin-bottom:14px;
}
.out-text-num b{
  display:inline-block;
  margin-left:8px;
  color:var(--type-on-paper);
  font-weight:700;
}
.out-text h3{
  font-size:38px; line-height:1.1; letter-spacing:-0.018em;
  font-weight:600; color:var(--type-on-paper);
  margin:0 0 20px;
}
.out-text p{
  font-size:17px; line-height:1.55;
  color:var(--type-on-paper);
  margin:0 0 18px;
  max-width:480px;
}
.out-tag{
  display:inline-block;
  margin-top:14px;
  padding:6px 14px;
  border:1px solid var(--type-on-paper-rule);
  border-radius:3px;
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper); font-weight:700;
}

/* Controls */
.out-controls{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid var(--type-on-paper-rule);
}
.out-dots{ display:flex; gap:10px; align-items:center; }
.out-dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--type-on-paper-rule);
  border:none; padding:0; cursor:pointer;
  transition:background 200ms ease, width 200ms ease;
}
.out-dot.is-active{
  background:var(--type-on-paper);
  width:28px; border-radius:4px;
}
.out-dot:hover:not(.is-active){ background:var(--type-on-paper-mute); }
.out-meta{
  display:flex; align-items:center; gap:16px;
}
.out-pos{
  font-size:11px; letter-spacing:0.22em;
  color:var(--type-on-paper-mute);
  font-family:ui-monospace, Menlo, monospace;
}
.out-pos b{ color:var(--type-on-paper); font-weight:500; }
.out-arrow{
  width:36px; height:36px;
  background:transparent;
  border:1px solid var(--type-on-paper-rule);
  color:var(--type-on-paper);
  font-size:18px;
  cursor:pointer;
  border-radius:50%;
  transition:border-color 200ms ease, background 200ms ease;
}
.out-arrow:hover{ border-color:var(--type-on-paper); background:rgba(0,0,0,0.03); }

@media (max-width:980px){
  .outputs{ padding:64px 0; }
  .outputs h2{ font-size:32px; }
  .out-stage{ grid-template-columns:1fr; gap:32px; min-height:auto; }
  .out-visual{ max-width:100%; padding:24px; }
  .out-text h3{ font-size:24px; }
}

/* .outputs inline · when used inside an existing section (e.g. deck-intelligence)
   trim the padding and borders so it fits the parent's rhythm. */
section .outputs{
  padding:48px 0 24px;
  border-top:none;
  border-bottom:none;
  margin-top:24px;
}
section .outputs h2{ font-size:34px; line-height:1.12; }
section .outputs .out-lead{ font-size:17px; max-width:680px; }
section .outputs .out-head{ margin-bottom:48px; }
section .outputs .out-text h3{ font-size:30px; }
section .outputs .out-visual{ max-width:420px; padding:32px; }
@media (max-width:980px){
  section .outputs{ padding:32px 0 8px; }
  section .outputs h2{ font-size:24px; }
}

/* ============ METHODOLOGY · v2 · Signal Conjoint deep dive ============ */

/* Cognitive case block */
.meth-cog{
  margin:32px 0 0;
  padding:28px 32px;
  background:var(--paper);
  border:1px solid var(--type-on-paper-rule);
  border-radius:4px;
}
.meth-cog-eyebrow{
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  margin-bottom:10px;
}
.meth-cog h4{
  font-size:18px; line-height:1.22; letter-spacing:-0.008em;
  font-weight:600; color:var(--type-on-paper);
  margin:0 0 14px;
}
.meth-cog p{ font-size:14.5px; line-height:1.55; color:var(--type-on-paper-mute); margin:0; }

/* Operating principle · 30 min */
.meth-principle{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:48px;
  align-items:start;
  margin:32px 0 8px;
  padding:36px 0;
  border-top:1px solid var(--type-on-paper-rule);
  border-bottom:1px solid var(--type-on-paper-rule);
}
.meth-principle-num{
  font-size:88px; line-height:0.92; letter-spacing:-0.04em;
  font-weight:700; color:var(--type-on-paper);
}
.meth-principle-num-unit{
  display:block;
  font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
  margin-top:8px;
}
.meth-principle-text{ max-width:680px; }
.meth-principle-text p{ font-size:15.5px; line-height:1.55; color:var(--type-on-paper); margin:0 0 12px; }
.meth-principle-text p.meth-principle-flex{
  font-size:13.5px; color:var(--type-on-paper-mute);
  padding-top:14px; margin-top:14px;
  border-top:1px solid var(--type-on-paper-rule);
}

/* The 6-step structure per stimulus */
.meth-structure{
  list-style:none; padding:0; margin:32px 0 8px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  border-top:1px solid var(--type-on-paper-rule);
  border-left:1px solid var(--type-on-paper-rule);
}
.meth-step{
  padding:22px 22px 26px;
  border-right:1px solid var(--type-on-paper-rule);
  border-bottom:1px solid var(--type-on-paper-rule);
  background:var(--paper);
}
.meth-step-num{
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  margin-bottom:8px;
}
.meth-step h4{
  font-size:16.5px; line-height:1.22; letter-spacing:-0.005em;
  font-weight:600; color:var(--type-on-paper);
  margin:0 0 10px;
}
.meth-step p{ font-size:13px; line-height:1.5; color:var(--type-on-paper-mute); margin:0; }

/* Six-frame elicitation · centerpiece */
.meth-frames{
  margin:36px 0 8px;
  padding:36px 40px 40px;
  background:var(--ink);
  color:var(--type-on-ink);
  border-radius:4px;
}
.meth-frames-tag{
  font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--type-on-ink-mute); font-weight:700;
  margin-bottom:14px;
}
.meth-frames h4{
  font-size:28px; line-height:1.18; letter-spacing:-0.014em;
  font-weight:600; color:var(--type-on-ink);
  margin:0 0 28px;
  max-width:740px;
}
.meth-frames-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.meth-frame{
  padding:22px 22px 24px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--type-on-ink-rule);
  border-left:3px solid var(--frame-color, var(--type-on-ink-rule));
  border-radius:3px;
}
.meth-frame-state{
  font-size:11px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--frame-color, var(--type-on-ink)); font-weight:700;
  margin-bottom:10px;
}
.meth-frame-prompt{
  font-size:15.5px; line-height:1.4;
  color:var(--type-on-ink);
  font-style:italic;
  margin:0 0 10px;
}
.meth-frame-elicits{
  font-size:12px; line-height:1.5;
  color:rgba(255,255,255,0.65);
  margin:0;
  letter-spacing:0.01em;
}
.meth-frame.acc-d  { --frame-color:#F030A0; }
.meth-frame.acc-d2 { --frame-color:#F030A0; }
.meth-frame.acc-s  { --frame-color:#00F0E0; }
.meth-frame.acc-s2 { --frame-color:#00F0E0; }
.meth-frame.acc-r  { --frame-color:#10E080; }
.meth-frame.acc-r2 { --frame-color:#10E080; }
.meth-frame.acc-t  { --frame-color:#D0F000; }

/* 45-min variant block */
.meth-variant{
  margin:32px 0 8px;
  padding:28px 32px;
  background:var(--paper);
  border:1px solid var(--type-on-paper-rule);
  border-radius:4px;
}
.meth-variant-tag{
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  margin-bottom:10px;
}
.meth-variant h4{
  font-size:22px; line-height:1.2; letter-spacing:-0.01em;
  font-weight:600; color:var(--type-on-paper);
  margin:0 0 14px;
}
.meth-variant > p{ font-size:14.5px; line-height:1.55; color:var(--type-on-paper); margin:0 0 18px; max-width:680px; }
.meth-variant-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.meth-variant-leg{
  padding:16px 18px;
  border:1px solid var(--type-on-paper-rule);
  border-radius:3px;
  background:rgba(0,0,0,0.015);
}
.meth-variant-leg b{
  display:block;
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper); font-weight:700;
  margin-bottom:8px;
}
.meth-variant-leg p{ font-size:13px; line-height:1.5; color:var(--type-on-paper-mute); margin:0; }

@media (max-width:980px){
  .meth-principle{ grid-template-columns:1fr; gap:16px; }
  .meth-principle-num{ font-size:64px; }
  .meth-structure{ grid-template-columns:1fr; }
  .meth-frames{ padding:24px 22px; }
  .meth-frames-grid{ grid-template-columns:1fr; gap:12px; }
  .meth-variant-grid{ grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════════════════════════════
   UNIFIED PAGE BEAT · .uc-* shared scaffold
   Used by every mechanics page (except landing).
   Eyebrow → headline → subhead → carousel → optional → closer → back
   ════════════════════════════════════════════════════════════════════ */

section.uc-page{
  display:block !important;
  padding:96px 56px 96px !important;
  border-top:none !important;
  border-bottom:none !important;
}
section.uc-page:target{
  padding:96px 56px 96px !important;
}
@media (max-width:980px){
  section.uc-page{ padding:64px 24px 64px !important; }
}

.uc-eyebrow{
  display:flex; align-items:center; gap:14px;
  font-size:11px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
  margin-bottom:14px;
}

.uc-headline{
  font-size:52px; line-height:1.1; letter-spacing:-0.015em;
  font-weight:700; color:var(--type-on-paper);
  max-width:880px; margin:0 0 18px;
}

.uc-sub{
  max-width:760px;
  font-size:17px; line-height:1.55;
  color:var(--type-on-paper-mute);
  margin:0 0 0;
}

/* ── Carousel ── */
.uc-carousel{
  margin-top:56px;
  border-top:1px solid var(--type-on-paper-rule);
  padding-top:48px;
}
.uc-carousel-eyebrow{
  font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
  display:flex; align-items:center; gap:14px;
  margin-bottom:14px;
}
.uc-carousel h3{
  font-size:32px; line-height:1.15; letter-spacing:-0.01em;
  font-weight:700; color:var(--type-on-paper);
  max-width:820px; margin:0 0 36px;
}

.uc-stage{
  position:relative;
  display:grid; grid-template-columns:1.05fr 1fr; gap:48px;
  align-items:stretch;
  padding:40px 44px 44px;
  background:var(--ink); color:var(--type-on-ink);
  border-radius:4px;
  min-height:420px;
  transition:opacity 220ms ease, transform 220ms ease;
}
.uc-stage.is-fading{ opacity:0.0; transform:translateY(4px); }

.uc-visual{
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--type-on-ink-rule);
  border-radius:3px;
  padding:24px;
  min-height:340px;
}
.uc-visual svg{ width:100%; height:auto; max-height:380px; }

.uc-text{ display:flex; flex-direction:column; }
.uc-text-num{
  font-size:11px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--type-on-ink-mute); font-weight:600;
  margin-bottom:18px;
}
.uc-text-num b{ color:var(--type-on-ink); letter-spacing:0.18em; margin-left:8px; font-weight:700; }
.uc-text h4{
  font-size:13px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--type-on-ink); font-weight:700;
  margin:0 0 12px;
}
.uc-headline-card{
  font-size:30px; line-height:1.15; letter-spacing:-0.01em;
  font-weight:700; color:var(--type-on-ink);
  margin:0 0 18px;
}
.uc-text p{
  font-size:15.5px; line-height:1.6;
  color:var(--type-on-ink-mute);
  margin:0 0 14px;
}
.uc-point{
  margin-top:auto;
  padding:16px 18px;
  background:rgba(255,255,255,0.06);
  border-left:3px solid #F030A0;
  font-size:14.5px; line-height:1.5;
  color:var(--type-on-ink);
}
.uc-point b{
  display:block;
  font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-ink-mute); font-weight:700;
  margin-bottom:6px;
}

/* Card accents · cycle through DSRT palette */
.uc-stage[data-card="0"] .uc-point{ border-left-color:#F030A0; }
.uc-stage[data-card="1"] .uc-point{ border-left-color:#00F0E0; }
.uc-stage[data-card="2"] .uc-point{ border-left-color:#10E080; }
.uc-stage[data-card="3"] .uc-point{ border-left-color:#D0F000; }
.uc-stage[data-card="4"] .uc-point{ border-left-color:#9D5BFF; }
.uc-stage[data-card="5"] .uc-point{ border-left-color:#FF8A33; }

.uc-controls{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:28px;
  flex-wrap:wrap; gap:18px;
}
.uc-dots{ display:flex; gap:10px; }
.uc-dot{
  width:34px; height:5px; border-radius:3px;
  background:rgba(20,23,27,0.18);
  border:none; cursor:pointer; padding:0;
  transition:background 200ms ease;
}
.uc-dot.is-active{ background:var(--type-on-paper); }
.uc-meta{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--type-on-paper-mute); font-weight:600; }
.uc-meta b{ color:var(--type-on-paper); letter-spacing:0.14em; }
.uc-arrow{
  width:38px; height:38px; border:1px solid var(--type-on-paper-rule);
  background:var(--paper); color:var(--type-on-paper);
  font-size:18px; font-weight:600; cursor:pointer; border-radius:3px;
  display:flex; align-items:center; justify-content:center;
  transition:background 180ms ease, color 180ms ease;
}
.uc-arrow:hover{ background:var(--type-on-paper); color:var(--paper); }

/* ── Optional · expandable accordion ── */
.uc-optional{
  margin-top:64px;
  border:1px solid var(--type-on-paper-rule);
  border-radius:4px;
  background:var(--paper);
  overflow:hidden;
}
.uc-optional-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 28px; cursor:pointer;
  background:transparent; border:none; width:100%;
  text-align:left; font-family:inherit;
  transition:background 180ms ease;
}
.uc-optional-head:hover{ background:rgba(0,0,0,0.02); }
.uc-optional-head-text{ display:flex; flex-direction:column; gap:4px; }
.uc-optional-head-tag{
  font-size:10px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
}
.uc-optional-head-title{
  font-size:18px; font-weight:700; color:var(--type-on-paper);
  letter-spacing:-0.005em;
}
.uc-optional-toggle{
  width:32px; height:32px; border:1px solid var(--type-on-paper-rule);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:600; color:var(--type-on-paper);
  transition:transform 240ms ease;
  flex-shrink:0;
}
.uc-optional.is-open .uc-optional-toggle{ transform:rotate(45deg); }
.uc-optional-body{
  max-height:0; overflow:hidden;
  transition:max-height 360ms ease;
}
.uc-optional.is-open .uc-optional-body{ max-height:800px; }
.uc-optional-body-inner{
  padding:0 28px 28px;
  border-top:1px solid var(--type-on-paper-rule);
  padding-top:24px;
}
.uc-optional-body p{
  font-size:15px; line-height:1.6; color:var(--type-on-paper);
  margin:0 0 14px;
}
.uc-optional-body p:last-child{ margin-bottom:0; }
.uc-optional-point{
  margin-top:16px;
  padding:14px 18px;
  background:rgba(0,0,0,0.04);
  border-left:3px solid #D0F000;
  font-size:14px; line-height:1.55;
  color:var(--type-on-paper);
}
.uc-optional-point b{
  display:block;
  font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:700;
  margin-bottom:5px;
}

/* ── Closer + back link ── */
.uc-closer{
  margin:80px auto 0;
  padding:48px 0 0;
  border-top:1px solid var(--type-on-paper-rule);
  max-width:820px;
  text-align:center;
}
.uc-closer p{
  font-size:21px; line-height:1.4;
  color:var(--type-on-paper);
  font-weight:600;
  letter-spacing:-0.005em;
  margin:0;
}
@media (max-width:880px){
  .uc-closer p{ font-size:18px; }
}
.uc-back{
  margin-top:48px;
  display:flex; align-items:center; justify-content:space-between;
  padding-top:24px; border-top:1px solid var(--type-on-paper-rule);
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
  flex-wrap:wrap; gap:18px;
}
.uc-back a{
  color:var(--type-on-paper); text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px;
  border:1px solid var(--type-on-paper);
  border-radius:3px;
  letter-spacing:0.08em;
  transition:background 180ms ease, color 180ms ease;
}
.uc-back a:hover{ background:var(--type-on-paper); color:var(--paper); }

@media (max-width:880px){
  .uc-stage{ grid-template-columns:1fr; padding:28px 24px 32px; }
  .uc-visual{ min-height:240px; }
  .uc-headline-card{ font-size:24px; }
  .uc-carousel h3{ font-size:24px; }
  .uc-headline{ font-size:36px; }
}

/* Page footer (shared back-to-landing on every mechanics page) */
.uc-page-footer{
  padding:48px 56px 56px;
  border-top:1px solid var(--type-on-paper-rule);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:18px;
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--type-on-paper-mute); font-weight:600;
  background:var(--paper);
}
.uc-page-footer a{ color:var(--type-on-paper); text-decoration:none; transition:color 200ms ease; }
.uc-page-footer a:hover{ color:var(--signal); }
.uc-page-footer .pf-brand{ color:var(--type-on-paper); }
.uc-page-footer .pf-back{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px;
  border:1px solid var(--type-on-paper);
  border-radius:3px;
  letter-spacing:0.08em;
}
.uc-page-footer .pf-back:hover{
  background:var(--type-on-paper); color:var(--paper);
}
@media (max-width:640px){
  .uc-page-footer{ padding:32px 24px; flex-direction:column; align-items:flex-start; }
}

/* ═══════════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE PASS · ≤ 760px · ported from Sanofi build
   Investor mechanics styles · same breakpoints + !important overrides
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width:760px){

  /* ── FRAME · page-level padding ─────────────────────────────── */
  .frame{ padding:0 18px !important; }
  section.uc-page{ padding:48px 18px 60px !important; }
  body{ overflow-x:hidden; }

  /* ── BURGER button · smaller + tighter to the edge ──────────── */
  .burger{ top:14px !important; right:14px !important; width:42px !important; height:42px !important; }
  .burger .burger-lines span{ width:18px !important; }

  /* ── BURGER PANEL · slightly narrower + tighter typography ──── */
  .nav-panel{ width:88vw !important; padding:24px 22px 60px !important; }
  .nav-panel .nav-eyebrow{ margin-bottom:28px !important; font-size:10px !important; }
  .nav-panel li a{ padding:11px 0 !important; }
  .nav-panel li a .nav-num{ font-size:9px !important; }
  .nav-panel li a > span > span{ font-size:14px !important; }
  .nav-panel li a .nav-sub{ font-size:11px !important; }

  /* ── HUD (page-top crumb + meta) ────────────────────────────── */
  header.frame{ padding-top:54px !important; padding-bottom:18px !important; }
  .hud{ flex-direction:column; align-items:flex-start; gap:8px; }
  .hud .meta{ font-size:9.5px !important; line-height:1.4; letter-spacing:0.14em !important; }
  .hud .crumb{ font-size:11px !important; }

  /* ── HERO + UC TYPOGRAPHY ───────────────────────────────────── */
  .uc-headline,
  .uc-page h2.uc-headline{ font-size:30px !important; line-height:1.12 !important; letter-spacing:-0.01em !important; }
  .uc-sub{ font-size:15px !important; line-height:1.5 !important; }
  .uc-carousel-eyebrow{ font-size:10px !important; }
  .uc-carousel h3{ font-size:18px !important; line-height:1.25 !important; }
  .hiw-headline{ font-size:28px !important; line-height:1.15 !important; }
  .hiw-lead{ font-size:14.5px !important; }
  .hero h1{ font-size:32px !important; line-height:1.1 !important; }
  .hero-lede{ font-size:15.5px !important; line-height:1.45 !important; }
  .hero-eyebrow{ font-size:10px !important; }
  .hero-grid{ grid-template-columns:1fr !important; gap:24px !important; }
  .hero-beat{ padding:18px 16px !important; }
  .hero-beat-label{ font-size:10px !important; }
  .hero-beat-row{ font-size:13px !important; line-height:1.45 !important; }

  /* ── UC CAROUSEL · stack visual above text ──────────────────── */
  .uc-stage{ grid-template-columns:1fr !important; gap:18px !important; padding:24px 22px 30px !important; }
  .uc-visual{ max-width:280px !important; margin:0 auto !important; }
  .uc-visual svg{ width:100% !important; height:auto !important; }
  .uc-text{ padding:0 !important; }
  .uc-text-num{ font-size:9.5px !important; }
  .uc-headline-card{ font-size:20px !important; line-height:1.2 !important; }
  .uc-text p{ font-size:13px !important; line-height:1.5 !important; }
  .uc-point{ font-size:12.5px !important; padding:12px 14px !important; }
  .uc-controls{ padding:14px 20px !important; flex-wrap:wrap; gap:12px !important; }
  .uc-dot{ width:24px !important; height:5px !important; }
  .uc-dot.is-active{ width:28px !important; }
  .uc-arrow{ width:32px !important; height:32px !important; font-size:14px !important; }

  /* ── HIW CAROUSEL (homepage 6-step) ─────────────────────────── */
  .hiw-stage{ grid-template-columns:1fr !important; gap:20px !important; padding:26px 22px 30px !important; }
  .hiw-visual{ max-width:260px !important; margin:0 auto !important; }
  .hiw-text h3{ font-size:24px !important; line-height:1.2 !important; }
  .hiw-text p, .hiw-text-body p{ font-size:13px !important; line-height:1.55 !important; }
  .hiw-text-tag{ font-size:10px !important; }
  .hiw-controls{ flex-wrap:wrap; gap:14px; }
  .hiw-domains{ grid-template-columns:1fr !important; }
  .hiw-domains.hiw-domains-quad{ grid-template-columns:1fr !important; }
  .hiw-domains.hiw-domains-six{ grid-template-columns:1fr !important; }

  /* ── ANTI-AI BAND · stack the three pills ───────────────────── */
  .anti-ai-band p{ font-size:11px !important; letter-spacing:0.2em !important; line-height:1.8 !important; }
  .anti-ai-band p:first-child span{ display:block; margin:0 !important; height:8px; }

  /* ── IVA HUB · 6 journey cards stack ────────────────────────── */
  .iva-hub-head h2{ font-size:26px !important; line-height:1.18 !important; }
  .iva-hub-lead{ font-size:14px !important; }
  .iva-grid{ grid-template-columns:1fr !important; gap:14px !important; }
  .iva-card{ padding:24px 22px !important; }
  .iva-card-name{ font-size:18px !important; }
  .iva-card-sub{ font-size:13px !important; }

  /* ── INVESTMENT PAGE blocks · stack ─────────────────────────── */
  .inv-hero-metrics{ grid-template-columns:1fr 1fr !important; padding:20px !important; gap:12px !important; }
  .inv-metric .v{ font-size:20px !important; }
  .inv-section h3{ font-size:24px !important; line-height:1.2 !important; }
  .inv-section h3.larger{ font-size:26px !important; }
  .inv-section .lead{ font-size:14.5px !important; }
  .inv-silos{ grid-template-columns:1fr 1fr !important; }
  .inv-wedge{ grid-template-columns:1fr !important; }
  .inv-market{ grid-template-columns:1fr !important; }
  .inv-engine{ grid-template-columns:1fr !important; gap:18px !important; }

  /* ── PAGE FOOTER · stack ────────────────────────────────────── */
  .page-footer,
  .uc-page-footer{ padding:32px 22px !important; flex-direction:column !important; align-items:flex-start !important; gap:14px !important; }
  .pf-back{ padding:10px 16px !important; }

  /* ── INTRO OVERLAY · scale down for phones ──────────────────── */
  .intro-stage{ padding:0 22px !important; }
  .slide .lede{ font-size:24px !important; line-height:1.22 !important; }
  .slide .sub{ font-size:16px !important; line-height:1.35 !important; }
  .slide .eyebrow{ font-size:10px !important; }
  .unity-wordmark-c{ font-size:38px !important; letter-spacing:0.16em !important; }
  .unity-lede-c{ font-size:14px !important; padding:0 12px; }
  .unity-body-c{ font-size:11px !important; }
  .intro-enter-cta{ margin-top:28px !important; padding:14px 22px !important; font-size:12.5px !important; }
  .pulse-mark-img{ max-width:80vw; }
  .pulse-wordmark-clip img{ max-width:75vw; height:auto !important; }

  /* ── J4 BELIEF TEXTURE quadrant grid · single col ───────────── */
  .belief-domains-quad{ grid-template-columns:1fr !important; }

  /* ── J6 DECISION ARCHITECTURE matrix · horizontal scroll ────── */
  .eas-overview{ overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:8px; }
  .eas-matrix{ min-width:760px; grid-template-columns:130px repeat(5, 200px) !important; }
  .eas-deliverables{ grid-template-columns:1fr 1fr !important; }
  .eas-deliverable{ padding:18px !important; }
  .eas-deliverable h4{ font-size:13.5px !important; }
  .eas-deliverable p{ font-size:11.5px !important; }
  .eas-blinded-tag{ font-size:10px !important; }

  /* ── DECK INTELLIGENCE blocks ────────────────────────────────── */
  .di-slide{ padding:24px 22px 22px !important; }
  .di-slide-headline{ font-size:20px !important; line-height:1.22 !important; }
  .di-triple{ grid-template-columns:1fr !important; }
  .di-layer{ padding:16px !important; }
  .di-decision{ grid-template-columns:1fr !important; gap:8px !important; padding:14px 18px !important; }
  .di-decision-body{ font-size:13px !important; }
  .di-categories{ grid-template-columns:repeat(3, 1fr) !important; }
  .di-cat-pill{ padding:10px 12px !important; min-height:64px !important; }
  .di-cat-name{ font-size:11px !important; }
  .di-wiwi-title{ font-size:22px !important; }
  .di-wiwi-grid{ grid-template-columns:1fr !important; }

  /* ── UC-OPTIONAL accordion · tighter ────────────────────────── */
  .uc-optional-head{ padding:18px 20px !important; }
  .uc-optional-head-title{ font-size:14.5px !important; line-height:1.3 !important; }
  .uc-optional-head-tag{ font-size:9.5px !important; }
  .uc-optional-body-inner{ padding:0 20px 24px !important; padding-top:20px !important; }
  .uc-optional-body p{ font-size:13.5px !important; line-height:1.55 !important; }
  .uc-closer p{ font-size:14px !important; line-height:1.55 !important; }

  /* ── PHILOSOPHY / LIFECYCLE / WAYS / METHOD / LIVE pages ─────── */
  .phil-grid, .lc-grid, .ways-grid, .method-grid, .live-grid{ grid-template-columns:1fr !important; gap:14px !important; }

  /* ── Position band (system.html dark slab) ──────────────────── */
  .position-line-dark{ font-size:16px !important; line-height:1.45 !important; }

  /* ── Hero positioning bridge (index.html) ───────────────────── */
  .hero-position-bridge{ padding:16px 18px !important; font-size:14px !important; line-height:1.5 !important; }

  /* ── HIW team-grid ──────────────────────────────────────────── */
  .hiw-team-grid{ grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .hiw-team-col{ padding-top:8px !important; }
  .hiw-team-col b{ font-size:11px !important; }
  .hiw-team-col span{ font-size:11px !important; }
  .hiw-team-strip{ padding:14px !important; }

}

/* ═══ EXTRA-NARROW · ≤ 480px (small phones) ════════════════════════ */
@media (max-width:480px){
  .frame{ padding:0 14px !important; }
  section.uc-page{ padding:40px 14px 52px !important; }
  .uc-headline,
  .hiw-headline{ font-size:26px !important; }
  .uc-headline-card{ font-size:18px !important; }
  .hero h1{ font-size:28px !important; }
  .hero-lede{ font-size:14.5px !important; }
  .inv-hero-metrics{ grid-template-columns:1fr 1fr !important; }
  .inv-silos{ grid-template-columns:1fr !important; }

  /* Intro overlay tightened */
  .unity-wordmark-c{ font-size:30px !important; }
  .slide .lede{ font-size:20px !important; }
  .slide .sub{ font-size:14px !important; }
}

/* ───── FX2 · final mobile polish · small-phone tightening ───────────── */
@media (max-width:480px){
  .intro-headline{ font-size:24px !important; line-height:1.18 !important; }
  .intro-sub{ font-size:14px !important; }
  .intro-eyebrow{ font-size:9.5px !important; letter-spacing:0.28em !important; }
  .intro-cta{ padding:14px 20px !important; font-size:12px !important; }
  .intro-stage{ padding:0 20px !important; }
  .intro-layers{ gap:10px !important; }
  .intro-layer{ padding:14px 14px !important; }
  .intro-layer-title{ font-size:16px !important; }

  /* Q&A on very small */
  .qa-lens-card{ padding:18px 18px 16px !important; }
  .qa-lens-card-h{ font-size:16px !important; }
  .qa-panel-h{ font-size:18px !important; }
  .qa-card-q{ font-size:13.5px !important; }
  .qa-card-short{ font-size:13.5px !important; padding:0 18px 14px !important; }
  .qa-card-head{ padding:14px 18px !important; }
  .qa-safely-h{ font-size:18px !important; }
  .qa-footer-line{ font-size:13px !important; padding:20px 14px 0 !important; }

  /* CTA buttons full width on small phones */
  .dj-cta-next{ width:100%; justify-content:center; padding:14px 18px !important; font-size:12px !important; }

  /* Page progress + headline */
  .dj-head{ font-size:22px !important; line-height:1.2 !important; }
  .dj-sub{ font-size:13.5px !important; }
}
