  :root{
    --bg: #fafaf8;
    --ink: #14213d;
    --ink-soft: rgba(20,33,61,.62);
    --red: #c00000;
    --gold: #d8a13a;
    --province-idle: #e7e4da;
    --province-stroke: #cfc9ba;
    --line: rgba(20,33,61,.30);
    --card-bg: #ffffff;
    --font-display: 'Fraunces', Georgia, serif;
    --font-body: 'Be Vietnam Pro', -apple-system, sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{background:var(--bg); color:var(--ink); font-family:var(--font-body); overflow-x:clip;}
  ::selection{background: var(--gold); color:#fff;}

  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    background: var(--bg);
    overflow:hidden;
  }

  .cover-banner{
    position:relative;
    width:100%;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .cover-img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    object-position:center 30%;
  }
  .cover-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(10,15,26,.05) 0%, rgba(10,15,26,.25) 45%, rgba(10,15,26,.92) 100%);
  }
  .cover-content{
    position:relative; z-index:2;
    width:100%;
    padding: 6vh 6vw 5.5vh;
    display:flex; flex-direction:column; align-items:center;
    text-align:center;
  }
  .cover-content .eyebrow{ color: var(--gold); }
  .cover-content .eyebrow::before{ background: var(--gold); }
  .cover-content h1.hero-title{ color:#fff; }
  .cover-content h1.hero-title em{ color: var(--gold); }
  .cover-content .hero-sub{ color: rgba(255,255,255,.82); }

  .hero-body{
    width:100%;
    display:flex; flex-direction:column; align-items:center;
    padding: 5vh 5vw 4vh;
  }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--red);
    display:flex;
    align-items:center;
    gap:10px;
    opacity:0;
    animation: fadeUp .8s ease forwards .15s;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background: var(--red);
    display:inline-block;
  }

  h1.hero-title{
    font-family: var(--font-display);
    font-weight:600;
    font-size: clamp(30px, 4.8vw, 58px);
    line-height:1.14;
    text-align:center;
    max-width: 15ch;
    margin: 18px 0 2px;
    letter-spacing:-.01em;
    opacity:0;
    animation: fadeUp .9s ease forwards .32s;
  }
  h1.hero-title em{
    font-style:italic;
    color:var(--red);
  }

  .hero-sub{
    font-family:var(--font-body);
    font-size:15.5px;
    color: var(--ink-soft);
    text-align:center;
    max-width:46ch;
    margin-top:12px;
    opacity:0;
    animation: fadeUp .9s ease forwards .48s;
  }

  @media (max-width: 680px){
    .cover-banner{ min-height:60vh; }
  }

  @keyframes fadeUp{
    from{opacity:0; transform:translateY(14px);}
    to{opacity:1; transform:translateY(0);}
  }

  .map-stage{
    position:relative;
    width:min(520px, 78vw);
    transition: transform 1.6s cubic-bezier(.22,.68,0,1);
    transform: scale(1.045);
  }
  .map-stage.zoomed-out{ transform: scale(1); }

  .stage-wrap{
    position:relative;
    width:min(1100px, 96vw);
    display:flex;
    justify-content:center;
    margin-top: clamp(8px, 2vh, 24px);
  }
  .stage-wrap .map-stage{ margin-top:0; }
  #vn-map{ width:100%; height:auto; display:block; overflow:visible; }

  .province{
    fill: var(--province-idle);
    stroke: var(--province-stroke);
    stroke-width: 1.1;
    transition: fill 1.1s ease;
  }
  .province.lit{ stroke: rgba(192,0,0,.35); }

  .glow-path{
    fill: var(--gold);
    opacity:0;
    filter: url(#blurGlow);
    transition: opacity 1.1s ease;
    pointer-events:none;
  }
  .glow-path.on{ opacity:.5; }

  .marker circle.dot{ fill: var(--red); opacity:0; transition: opacity .5s ease; }
  .marker circle.dot.on{ opacity:1; }
  .marker circle.pulse{
    fill:none; stroke: var(--red); stroke-width:1.6; opacity:0; transform-origin: center;
  }
  .marker circle.pulse.on{ animation: pulseRing 2.2s ease-out infinite; }

  @keyframes pulseRing{
    0%{ r:6; stroke-opacity:.65; }
    100%{ r:26; stroke-opacity:0; }
  }

  .leader{
    fill:none; stroke: var(--line); stroke-width:1;
    transition: stroke-dashoffset 1s cubic-bezier(.3,.7,0,1);
  }
  .leader.on{ stroke-dashoffset:0; }

  .island-callout .leader{ stroke-dasharray:4 4; opacity:.55; transition:none; stroke-dashoffset:0; }
  .island-dot{ fill: var(--ink-soft); }
  .island-label{
    font-family: var(--font-mono);
    font-size: 11px;
    fill: var(--ink-soft);
  }
  .island-label tspan.sub{ fill: var(--ink-soft); opacity:.7; }

  .cards-layer{ position:absolute; inset:0; pointer-events:none; }

  .stat-card{
    position:absolute;
    width: 128px;
    background: var(--card-bg);
    border: 1px solid rgba(20,33,61,.08);
    border-left: 3px solid var(--red);
    border-radius: 3px;
    padding: 7px 9px;
    box-shadow: 0 8px 18px rgba(20,33,61,.08);
    opacity:0;
    transform: translateY(8px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .stat-card.on{ opacity:1; transform:translateY(0); }
  .stat-card .province-name{
    font-family:var(--font-mono);
    font-size:9px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color: var(--ink-soft);
  }
  .stat-card .biz-name{
    font-family:var(--font-body);
    font-weight:600;
    font-size:12px;
    color:var(--ink);
    margin-top:1px;
    line-height:1.2;
  }
  .stat-card .pct{
    font-family:var(--font-display);
    font-weight:600;
    font-size:18px;
    color:var(--red);
    line-height:1;
    margin-top:4px;
  }
  .stat-card .pct span{ font-size:11px; font-weight:500; }

  .hero-tagline{
    font-family: var(--font-display);
    font-weight:500;
    font-style:italic;
    font-size: clamp(17px, 2.2vw, 24px);
    text-align:center;
    max-width:26ch;
    margin-top: 20px;
    color: var(--ink);
    opacity:0;
    transform:translateY(10px);
    transition: opacity 1s ease, transform 1s ease;
  }
  .hero-tagline.on{ opacity:1; transform:translateY(0); }
  .hero-tagline .accent{ color:var(--red); font-style:normal; font-family:var(--font-mono); font-weight:500;}

  .scroll-cue{
    margin-top: 22px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color: var(--ink-soft);
    opacity:0;
    transition: opacity 1s ease .3s;
    display:flex; flex-direction:column; align-items:center; gap:6px;
  }
  .scroll-cue.on{ opacity:.75; }
  .scroll-cue .stroke{ width:1px; height:26px; background: linear-gradient(var(--ink-soft), transparent); animation: dropCue 1.6s ease infinite; }
  @keyframes dropCue{ 0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;} }

  .cards-stack{
    display:none;
    width:100%;
    max-width:420px;
    margin-top:18px;
    flex-direction:column;
    gap:10px;
  }
  .cards-stack .stat-card{
    position:static;
    width:100%;
    opacity:0; transform:translateY(8px);
  }
  .cards-stack .stat-card.on{ opacity:1; transform:translateY(0); }

  @media (max-width: 680px){
    .map-stage{ width:78vw; max-width:320px; }
    .cards-layer{ display:none; }
    .cards-stack{ display:flex; }
    .leader{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  }
  /* ============ Shared section header styles ============ */
  .section-eyebrow{
    font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-soft); display:flex; align-items:center; gap:10px; margin-bottom:14px;
  }
  .section-eyebrow .num{ color:var(--red); font-weight:600; }
  .section-eyebrow::before{ content:""; width:22px; height:1px; background:var(--ink-soft); display:inline-block; }
  h2.section-title{
    font-family:var(--font-display); font-weight:600; font-size:clamp(24px,3.4vw,38px);
    text-align:center; max-width:20ch; line-height:1.2; margin-bottom:8px;
  }
  .section-sub{
    font-family:var(--font-body); font-size:14.5px; color:var(--ink-soft); text-align:center; max-width:52ch; margin-bottom:6px;
  }

  .scene3{
    position:relative; display:flex; flex-direction:column; align-items:center;
    padding:60px 5vw; background: #fff; margin: 40px 0; border-top: 1px solid rgba(0,0,0,0.05); border-bottom: 1px solid rgba(0,0,0,0.05);
  }
  .bubble-wrap{
    position:relative; width:min(720px,92vw); height:460px; margin-top:30px; transition: height 0.5s ease;
  }
  .bubble{
    position:absolute; 
    background: radial-gradient(circle at 34% 30%, #e8bd66, var(--red));
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    color:#fff; text-align:center; cursor:default; opacity:0; transform:scale(.5);
    transition: all 0.5s cubic-bezier(0.34, 1.15, 0.4, 1); 
    box-shadow: 0 10px 20px rgba(192,0,0,0.15); border-radius: 50%;
  }
  .bubble.on{ opacity:1; transform:scale(1); }
  .bubble .bname{ font-family:var(--font-body); font-weight:600; font-size:13px; line-height:1.2; padding:0 10px; transition: all 0.3s; }
  .bubble .bamt{ font-family:var(--font-display); font-weight:700; font-size:18px; margin-top:4px; line-height:1.1; transition: all 0.3s;}
  .bubble .bamt .unit{ font-size:.55em; font-weight:500; opacity:.85; margin-left:2px; }
  .bubble .bperiod{ font-family:var(--font-mono); font-size:10px; letter-spacing:.03em; opacity:.9; margin-top:4px; transition: opacity 0.3s;}
  
  .bubble.as-bar{
    border-radius: 6px; flex-direction:row; align-items:center; justify-content:space-between;
    padding:0 20px; background: linear-gradient(90deg, var(--red), #e8bd66);
    box-shadow: 0 4px 12px rgba(192,0,0,0.08);
  }
  .bubble.as-bar .bname{ padding:0; font-size:15px; text-align: left; margin-right: auto;}
  .bubble.as-bar .bamt{ margin-top:0; font-size:18px; margin-left: 20px;}
  .bubble.as-bar .bperiod{ display:none; opacity: 0; }

  .scene3-back-btn{
    display:inline-block; margin-top:40px; padding:12px 24px; border-radius:30px;
    border:1.5px solid var(--red); background:#fff; color:var(--red); font-weight: 600;
    font-family:var(--font-body); font-size:14px; cursor:pointer;
    transition: all .3s ease; box-shadow: 0 4px 10px rgba(192,0,0,0.1);
  }
  .scene3-back-btn:hover{ background:var(--red); color:#fff; transform: translateY(-2px); box-shadow: 0 6px 15px rgba(192,0,0,0.2);}
  .scene3-back-btn.show{ display:inline-block; }

  /* ============ SCENE 4 — Mỗi ngành, một cơ chế thuế (slide deck) ============ */
  .scene4-slides{
    position:relative;
    height: 500vh;
    background: var(--bg);
  }
  .slides-sticky{
    position:sticky;
    top:0;
    height:100vh;
  }
  .slides-clip{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
  }
  .slides-viewport{ position:relative; width:100%; height:100%; }

  .industry-slide{
    position:absolute; inset:0;
    display:flex; align-items:center;
    padding: 6vh 7vw;
    gap: 5vw;
    opacity:0;
    transform: translateX(100%);
    transition: transform .75s cubic-bezier(.4,0,.2,1), opacity .75s cubic-bezier(.4,0,.2,1);
    z-index:1;
  }
  .industry-slide.active{ opacity:1; transform:translateX(0); z-index:2; }
  .industry-slide.to-left{ opacity:0; transform:translateX(-25%); }
  .industry-slide.from-right{ opacity:0; transform:translateX(100%); }

  .slide-left{
    flex:0 0 38%;
    display:flex; flex-direction:column; justify-content:center;
  }
  .slide-left .big-icon{ font-size: clamp(46px,7vw,80px); line-height:1; margin-bottom:20px; }
  .slide-left .big-name{
    font-family:var(--font-display); font-weight:600; font-size:clamp(30px,4.2vw,52px);
    color:var(--ink); line-height:1.12;
  }

  .slide-right{ flex:1; display:flex; flex-direction:column; justify-content:center; min-width:0; }
  .slide-right .pills-title{
    font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:20px;
  }
  .pills-wrap{ display:flex; flex-wrap:wrap; gap:10px; }
  .tax-pill{
    font-family:var(--font-body); font-size:13.5px; font-weight:500; color: var(--ink-soft);
    background:#fff; border:1px solid rgba(20,33,61,.14); border-radius:999px; padding:9px 18px;
    transition: transform .5s cubic-bezier(.34,1.2,.4,1), background .5s ease, color .5s ease,
                border-color .5s ease, box-shadow .5s ease;
  }
  .tax-pill.highlight{
    color:#fff; background:var(--red); border-color:var(--red);
    transform: scale(1.1) translateY(-3px);
    box-shadow: 0 8px 22px rgba(192,0,0,.32), 0 0 0 4px rgba(192,0,0,.08);
    font-weight:600;
  }
  .slide-story{
    font-family:var(--font-display); font-style:italic; font-size:15.5px; color:var(--ink);
    margin-top:28px; max-width:52ch; line-height:1.55;
    opacity:0; transition:opacity .8s ease .25s;
  }
  .industry-slide.active .slide-story{ opacity:1; }

  .slide-dots{
    position:absolute; bottom: 26px; left:50%; transform:translateX(-50%);
    display:flex; align-items:center; gap:10px; z-index:5;
  }
  .slide-dots .dot-group{ display:flex; gap:8px; }
  .slide-dots .dot{
    width:6px; height:6px; border-radius:50%; background: rgba(20,33,61,.18);
    transition: background .4s ease, transform .4s ease;
  }
  .slide-dots .dot.active{ background: var(--red); transform:scale(1.3); }
  .slide-dots .slide-counter{
    font-family: var(--font-mono); font-size:11px; color: var(--ink-soft); letter-spacing:.04em;
  }

  .scroll-hint{
    position:absolute; top: 26px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:6px;
    font-family: var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color: var(--ink-soft); z-index:5;
    opacity:1; transition: opacity .6s ease;
    pointer-events:none;
  }
  .scroll-hint.hide{ opacity:0; }
  .scroll-hint .arrow{
    width:14px; height:14px;
    animation: hintBounce 1.4s ease-in-out infinite;
  }
  @keyframes hintBounce{
    0%,100%{ transform: translateY(0); opacity:.5; }
    50%{ transform: translateY(6px); opacity:1; }
  }

  @media (max-width: 720px){
    .industry-slide{
      flex-direction:column; justify-content:flex-start; overflow-y:auto;
      padding: 8vh 6vw 6vh; gap: 3.5vh;
    }
    .slide-left{ flex:none; width:100%; }
    .slide-left .big-icon{ font-size:52px; }
    .slide-right{ flex:none; width:100%; }
  }

  /* ============ SCENE 5 — Hệ sinh thái ============ */
  .scene5{
    position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center;
    padding:10vh 5vw 8vh; background:#0e1b30; color:#f4f2ea; overflow:hidden;
  }
  .scene5 .section-eyebrow, .scene5 .section-title{ color:#f4f2ea; }
  .scene5 .section-eyebrow{ color:rgba(244,242,234,.7); }
  .scene5 .section-eyebrow::before{ background:rgba(244,242,234,.5); }
  .scene5 .section-sub{ color:rgba(244,242,234,.65); }
  .network-wrap{ position:relative; width:min(640px,92vw); height:480px; margin-top:30px; }
  #networkSvg{ width:100%; height:100%; overflow:visible; }
  .orbit-ring{ fill:none; stroke:rgba(244,242,234,.08); stroke-width:1; }
  .node-line{ stroke:rgba(216,161,58,.45); stroke-width:1.2; opacity:0; transition:opacity .8s ease; }
  .node-line.on{ opacity:1; }
  .node-circle{
    fill:#182b4a; stroke:rgba(216,161,58,.65); stroke-width:1.3; opacity:0;
    transform-origin:center; transition:opacity .6s ease, transform .6s ease; transform:scale(.5);
  }
  .node-circle.center{ fill:#c00000; stroke:#e8bd66; stroke-width:1.6; }
  .node-circle.on{ opacity:1; transform:scale(1); }
  .node-icon{ font-size:15px; text-anchor:middle; opacity:0; transition:opacity .6s ease; pointer-events:none; }
  .node-icon.on{ opacity:1; }
  .node-label{ fill:#f4f2ea; font-family:var(--font-body); font-size:11.5px; text-anchor:middle; opacity:0; transition:opacity .6s ease; }
  .node-label.center{ font-weight:600; font-size:15px; }
  .node-label.on{ opacity:1; }

  @media (max-width: 680px){
    .bubble-wrap{ height:520px; }
    .network-wrap{ height:560px; }
  }

  /* ============ LONGFORM ARTICLE FLOW ============ */
  body::before{
    content:""; position:fixed; top:0; left:0; width:100%; height:3px;
    background:var(--red); transform:scaleX(var(--read-progress,0)); transform-origin:left;
    z-index:999; pointer-events:none;
  }
  .cover-content h1.hero-title{max-width:22ch; font-size:clamp(31px,4.7vw,64px); text-wrap:balance;}
  .cover-content .hero-sub{max-width:72ch; line-height:1.65; font-size:clamp(14px,1.25vw,17px);}
  .hero-body{padding-top:0;}
  .article-section{position:relative; background:var(--bg); padding:9vh 5vw;}
  .article-shell{width:min(760px,92vw); margin:0 auto;}
  .opening-story{padding:9vh 0 7vh;}
  .chapter-head{text-align:center; margin:0 auto 42px; max-width:700px;}
  .chapter-no{
    font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; color:var(--red);
    text-transform:uppercase; margin-bottom:12px;
  }
  .chapter-head h2{
    font-family:var(--font-display); font-size:clamp(30px,4vw,48px); line-height:1.14;
    font-weight:600; letter-spacing:-.015em; text-wrap:balance;
  }
  .prose{font-family:var(--font-body); font-size:clamp(17px,1.42vw,19px); line-height:1.9; color:#27334c;}
  .prose p{margin:0 0 1.45em;}
  .prose p:last-child{margin-bottom:0;}
  .prose .dropcap::first-letter{
    float:left; font-family:var(--font-display); font-size:4.1em; line-height:.82;
    padding:10px 10px 0 0; color:var(--red); font-weight:600;
  }
  .turning-point{
    margin:56px auto; padding:32px 28px; border-top:1px solid rgba(20,33,61,.16);
    border-bottom:1px solid rgba(20,33,61,.16); display:grid; grid-template-columns:1fr auto 1fr;
    gap:22px; align-items:center;
  }
  .turn-stat{text-align:center; display:flex; flex-direction:column; align-items:center;}
  .turn-year{font-family:var(--font-mono); letter-spacing:.12em; font-size:11px; color:var(--ink-soft);}
  .turn-stat strong{font-family:var(--font-display); font-size:clamp(36px,6vw,64px); color:var(--ink); line-height:1.05; margin-top:7px;}
  .turn-unit{font-size:13px; color:var(--ink-soft);}
  .turn-arrow{width:70px; height:70px; border-radius:50%; background:var(--red); color:#fff; display:grid; place-items:center;}
  .turn-arrow span{font-family:var(--font-display); font-weight:600; font-size:24px;}
  .graphic-bridge{display:flex; align-items:center; gap:16px; margin:56px auto 0; color:var(--ink-soft); font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;}
  .graphic-bridge::before,.graphic-bridge::after{content:""; height:1px; background:rgba(20,33,61,.18); flex:1;}
  .map-intro{width:min(720px,92vw); margin:0 auto 18px; text-align:center; padding-top:4vh;}
  .map-intro .section-eyebrow{justify-content:center;}
  .pullquote{
    font-family:var(--font-display); font-size:clamp(28px,4vw,44px); line-height:1.28; font-weight:500;
    color:var(--red); text-align:center; margin:64px auto 0; max-width:700px; font-style:italic;
  }
  .part-one-continuation{padding-top:11vh;}
  .part-two-intro{padding-bottom:6vh;}
  .part-three-intro{padding-bottom:7vh;}
  .slides-heading{
    position:absolute; top:24px; left:50%; transform:translateX(-50%); z-index:7;
    font-family:var(--font-mono); font-size:11px; letter-spacing:.13em; color:var(--ink-soft);
    text-transform:uppercase; white-space:nowrap;
  }
  .slides-heading span{color:var(--red); font-weight:600; margin-right:8px;}
  .slide-story{font-family:var(--font-body); font-style:normal; font-size:clamp(14px,1.25vw,17px); line-height:1.72; max-width:64ch;}
  .editorial-quote{
    margin:60px 0; padding:46px 42px; background:#fff; border-left:5px solid var(--red);
    box-shadow:0 16px 50px rgba(20,33,61,.08);
  }
  .editorial-quote p{font-family:var(--font-display); font-size:clamp(24px,3.2vw,36px); line-height:1.38; color:var(--ink); font-style:italic;}
  .editorial-quote cite{display:block; margin-top:24px; font-family:var(--font-mono); font-size:11px; line-height:1.6; letter-spacing:.06em; color:var(--ink-soft); font-style:normal; text-transform:uppercase;}
  .risk-panel{
    margin-top:70px; padding:clamp(28px,5vw,56px); background:#14213d; color:#f8f7f2;
    border-radius:4px; box-shadow:0 20px 70px rgba(20,33,61,.2);
  }
  .risk-kicker{font-family:var(--font-mono); color:var(--gold); font-size:11px; letter-spacing:.16em; margin-bottom:14px;}
  .risk-panel h3{font-family:var(--font-display); font-size:clamp(28px,4vw,44px); line-height:1.2; margin-bottom:28px;}
  .risk-panel p{font-size:clamp(16px,1.35vw,18px); line-height:1.85; color:rgba(248,247,242,.82); margin-bottom:1.35em;}
  .risk-panel p:last-child{margin-bottom:0;}
  .article-credit{
    width:min(760px,92vw); margin:80px auto 0; padding:28px 0 42px; border-top:1px solid rgba(20,33,61,.2);
    font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:none; text-align:right; color:var(--ink);
  }
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .85s ease, transform .85s cubic-bezier(.22,.68,0,1);}
  .reveal.in-view{opacity:1; transform:translateY(0);}
  .scene3{padding-top:11vh;}
  .scene4-slides{height:600vh;}
  .article-ending{padding-top:10vh; padding-bottom:0;}

  @media (max-width:720px){
    .cover-banner{min-height:72vh; align-items:flex-end;}
    .cover-content{padding:12vh 5vw 5vh;}
    .cover-content h1.hero-title{font-size:clamp(30px,9.5vw,44px); max-width:18ch; line-height:1.08;}
    .cover-content .hero-sub{font-size:14px; line-height:1.55;}
    .opening-story,.article-section{padding-top:8vh; padding-bottom:8vh;}
    .prose{font-size:17px; line-height:1.82;}
    .turning-point{grid-template-columns:1fr; gap:18px; padding:28px 16px;}
    .turn-arrow{width:54px; height:54px; margin:auto; transform:rotate(90deg);}
    .turn-arrow span{transform:rotate(-90deg);}
    .graphic-bridge{font-size:9px; gap:9px; text-align:center;}
    .editorial-quote{padding:32px 24px; margin:46px 0;}
    .industry-slide{padding-top:12vh;}
    .slide-left .big-name{font-size:34px;}
    .slide-left .big-icon{margin-bottom:10px;}
    .slide-right .pills-title{margin-bottom:12px;}
    .tax-pill{font-size:12px; padding:7px 12px;}
    .slide-story{font-size:14px; line-height:1.62; margin-top:18px;}
    .slides-heading{top:18px; font-size:9px;}
    .article-credit{text-align:left; margin-top:54px;}
  }
