.cv-hero {
      position: relative;
      min-height: 100vh;
      background: var(--cv-ink);
      color: #fff;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 140px 56px 0;
      height: 100vh;
    }
    .cv-hero__silk { position: absolute; inset: 0; z-index: 0; pointer-events: none }
    .cv-hero__silk canvas { display: block; width: 100% !important; height: 100% !important }
    .cv-hero::after {
      content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
      /* background:
        radial-gradient(80% 60% at 78% 28%, rgb(77 157 245 / 16%), transparent 70%),
        radial-gradient(60% 50% at 20% 10%, rgba(155,125,255,.14), transparent 70%),
        linear-gradient(180deg, rgba(6,8,24,.18) 0%, rgba(6,8,24,.55) 60%, rgba(6,8,24,.92) 100%); */
    }
    .cv-hero__inner {
      position: relative;
      z-index: 2;
      display: grid;
      /* grid-template-columns: 1.35fr 1fr; */
      /* gap: 80px; */
      /* align-items: end; */
      /* max-width: 1440px;  */
      width: 100%;
      margin: 0 auto;
      padding-bottom: 80px;
      text-align: center;
      height: inherit;
      align-content: center;
    }
    .cv-hero__eyebrow {
      display: inline-flex; align-items: center; gap: 14px;
      padding: 8px 14px; border: 1px solid rgba(255,255,255,.22);
      border-radius: 999px; backdrop-filter: blur(8px);
      font-family: var(--font-body); font-size: 11px; letter-spacing: .14em;
      text-transform: uppercase; color: rgba(255,255,255,.85);
      margin-bottom: 36px;
    }
    .cv-hero__eyebrow .dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--cv-gold);
      box-shadow: 0 0 0 0 rgb(77 139 245 / 70%);
      animation: cvPulse 1.8s ease-out infinite;
    }
    @keyframes cvPulse {
      0% { box-shadow: 0 0 0 0 rgb(77 147 245 / 70%) }
      100% { box-shadow: 0 0 0 12px rgba(0,104,255,0) }
    }
    .cv-hero__title {
      font-family: var(--cv-display);
      font-weight: 500;
      font-size: clamp(56px, 7.2vw, 116px);
      line-height: .98;
      letter-spacing: -.035em;
      color: #fff;
      margin: 0 0 36px;
    }
    .cv-hero__title em {
      /* font-family: var(--cv-display); */
      /* font-style: italic; */
      /* font-weight: 300; */
      /* color: rgba(255,255,255,.55); */
    }
    .cv-hero__title .gold { color: var(--cv-gold); font-style: normal; font-weight: 500 }
    .cv-hero__mask { display: inline-block; overflow: hidden }
    .cv-hero__mask > span { display: inline-block; transform: translateY(110%) }
    .cv-hero__sub {
      /* font-family: var(--fh) !important; */
      font-size: 15px;
      line-height: 1.6;
      color: rgb(255, 255, 255);
      max-width: 768px;
      margin: 0 0 36px;
      /* letter-spacing: 0.1em; */
      justify-self: center;
    }
    .cv-hero__ctas {display: flex;gap: 14px;flex-wrap: wrap;justify-content: center;}
    .cv-cta-primary {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      background: var(--cv-gold);
      color: #0a0c14;
      font-family: var(--cv-display);
      font-weight: 400;
      font-size: 14px;
      letter-spacing: .04em;
      text-transform: uppercase;
      padding: 10px 24px;
      border-radius: 999px;
      text-decoration: none;
      border: none;
      transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .cv-cta-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 40px -10px rgb(77 116 245 / 55%);
      color: #0a0c14;
    }
    .cv-cta-ghost {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      background: transparent;
      color: #fff;
      font-family: var(--cv-display);
      font-weight: 400;
      font-size: 14px;
      letter-spacing: .04em;
      text-transform: uppercase;
      padding: 10px 24px;
      border-radius: 999px;
      text-decoration: none;
      border: 1px solid rgba(255,255,255,.22);
      transition: background .25s ease, border-color .25s ease;
    }
    .cv-cta-ghost:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.4); color: #fff }

    /* hero right — vault seal */
    .cv-hero__seal {
      position: relative;
      width: 100%;
      max-width: 460px;
      aspect-ratio: 1;
      margin: 0 auto;
      display: grid;
      place-items: center;
    }
    .cv-hero__seal .ring {
      position: absolute; inset: 0;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 50%;
    }
    .cv-hero__seal .ring.r2 { inset: 8% }
    .cv-hero__seal .ring.r3 { inset: 18%; border-color: rgb(77 155 245 / 24%) }
    .cv-hero__seal .ring.r4 { inset: 28%; border-style: dashed; border-color: rgba(255,255,255,.10) }
    .cv-hero__seal .ring.dashed-orbit {
      inset: 0;
      border: 1px dashed rgba(255,255,255,.10);
      animation: cvOrbit 50s linear infinite;
    }
    @keyframes cvOrbit { to { transform: rotate(360deg) } }
    .cv-hero__seal .ring.sweep-ring {
      inset: 4%;
      border: 1px solid rgba(0,104,255,.10);
      background: conic-gradient(from 0deg, transparent 0deg, rgb(77 143 245 / 22%) 60deg, transparent 130deg);
      mask: radial-gradient(circle at center, transparent 47%, #000 48%, #000 100%);
      -webkit-mask: radial-gradient(circle at center, transparent 47%, #000 48%, #000 100%);
      border-radius: 50%;
      animation: cvOrbit 9s linear infinite;
    }
    .cv-hero__seal .tick {
      position: absolute; width: 1px; height: 12px;
      background: rgba(255,255,255,.4);
      top: 4%; left: 50%; transform-origin: 0 320%;
    }
    .cv-hero__seal .tick:nth-child(n+5):nth-child(-n+8) { height: 6px; background: rgba(255,255,255,.18) }
    .cv-hero__seal .label {
      position: absolute;
      font-family: var(--font-body); font-size: 9px; letter-spacing: .22em;
      color: rgba(255,255,255,.45); text-transform: uppercase;
    }
    .cv-hero__seal .label.top { top: -22px; left: 50%; transform: translateX(-50%) }
    .cv-hero__seal .label.bot { bottom: -22px; left: 50%; transform: translateX(-50%); color: var(--cv-gold) }
    .cv-hero__seal .core {
      position: relative;
      width: 50%; aspect-ratio: 1; border-radius: 50%;
      background:
        radial-gradient(circle at 35% 30%, rgb(128 180 255 / 30%), transparent 55%),
        linear-gradient(135deg, #4d90fe, #0d6efd);
      box-shadow:
        inset 0 0 0 8px rgba(10,12,20,.18),
        0 30px 80px -20px rgb(77 147 245 / 60%),
        0 0 0 1px rgba(255,255,255,.1);
      display: grid; place-items: center;
      color: #0a0c14;
      font-family: var(--cv-display); font-weight: 500;
      text-align: center;
    }
    .cv-hero__seal .core .mono {
      font-family: var(--font-body); font-size: 10px; letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(10,12,20,.6);
      margin-bottom: 4px;
    }
    .cv-hero__seal .core .word {
      font-size: 36px; letter-spacing: -.02em; line-height: 1;
    }
    .cv-hero__seal .core .word em {
      font-family: var(--cv-display); font-style: italic; font-weight: 300;
      color: rgba(10,12,20,.6);
    }
    .cv-hero__seal .badge-chip {
      position: absolute;
      display: inline-flex; align-items: center; gap: 8px;
      padding: 8px 12px; border-radius: 999px;
      background: rgba(10,12,20,.6); border: 1px solid rgba(255,255,255,.14);
      backdrop-filter: blur(10px);
      font-family: var(--font-body); font-size: 10px;
      letter-spacing: .14em; text-transform: uppercase;
      color: rgba(255,255,255,.85);
    }
    .cv-hero__seal .badge-chip .d {
      width: 6px; height: 6px; border-radius: 50%; background: var(--cv-cyan);
      box-shadow: 0 0 8px var(--cv-cyan);
    }
    .cv-hero__seal .badge-chip.b1 { top: 6%; left: -12px }
    .cv-hero__seal .badge-chip.b2 { top: 50%; right: -18px; transform: translateY(-50%) }
    .cv-hero__seal .badge-chip.b3 { bottom: 6%; left: -12px }
    .cv-hero__seal .badge-chip.b3 .d { background: var(--cv-violet); box-shadow: 0 0 8px var(--cv-violet) }
    .cv-hero__seal .badge-chip.b2 .d { background: var(--cv-gold); box-shadow: 0 0 8px var(--cv-gold) }

    /* hero footer telemetry strip */
    .cv-tel-strip {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 10px;
      border-top: 1px solid rgba(255,255,255,.10);
      font-family: var(--font-body);
      font-size: 11px;
      color: rgba(255,255,255,.7);
      letter-spacing: .12em;
      text-transform: uppercase;
      background: rgba(8,10,18,.42);
      backdrop-filter: blur(10px);
    }
    .cv-tel-strip span { display: inline-flex; align-items: center; gap: 8px }
    .cv-tel-strip .pill {
      padding: 4px 9px; border: 1px solid rgba(255,255,255,.16);
      border-radius: 999px; font-size: 10px;
    }

    /* ============================================================
       SHARED — Eyebrow + H2 typography
    ============================================================ */
    .cv-eyebrow {
      font-family: var(--font-body);
      font-size: 11px;
      letter-spacing: .22em;
      text-transform: uppercase;
      /* color: var(--cv-fg-faint); */
      display: inline-flex;
      align-items: center;
      gap: 12px;
    }
    /* .cv-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--cv-fg-faint) } */
    .cv-h2 {
      font-family: var(--cv-display);
      font-weight: 500;
      font-size: clamp(40px, 5.4vw, 76px);
      line-height: 1;
      letter-spacing: -.035em;
      color: #0a0c14;
      margin: 18px 0 0;
    }
    .cv-h2 em {
      /* font-family: var(--cv-display); */
      /* font-style: italic; */
      /* font-weight: 300; */
      /* color: var(--cv-fg-soft); */
    }

    /* ============================================================
       SECTION 1 — Why · Risk Ledger (warm paper)
    ============================================================ */
    .cv-why {
      padding: 140px 56px;
      /* background: var(--cv-paper-2); */
      /* border-bottom: 1px solid var(--cv-line); */
      position: relative;
    }
    .cv-why__inner { max-width: 1280px; margin: 0 auto }
    .cv-why__head {
      display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
      align-items: end; margin-bottom: 64px;
    }
    .cv-why__head p {
      font-family: var(--cv-sans);
      font-size: 18px; line-height: 1.65; color: var(--cv-fg-soft);
      max-width: 480px; margin: 0;
    }
    .cv-why__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }
    .cv-why__card {
      position: relative;
      padding: 32px 28px;
      background: #fff;
      border: 1px solid var(--cv-line);
      border-radius: 22px;
      transition: transform .4s cubic-bezier(.22,.61,.36,1), border-color .3s ease, box-shadow .3s ease;
      overflow: hidden;
    }
    .cv-why__card::before {
      content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: var(--cv-gold);
      transform: scaleX(0); transform-origin: left;
      transition: transform .5s cubic-bezier(.16,1,.3,1);
    }
    .cv-why__card:nth-child(2)::before { background: var(--cv-violet) }
    .cv-why__card:nth-child(3)::before { background: var(--cv-cyan) }
    .cv-why__card:nth-child(4)::before { background: var(--cv-amber) }
    .cv-why__card:nth-child(5)::before { background: var(--cv-gold) }
    .cv-why__card:nth-child(6)::before { background: var(--cv-violet) }
    .cv-why__card:nth-child(7)::before { background: var(--cv-cyan) }
    .cv-why__card:hover {
      transform: translateY(-4px);
      border-color: rgba(10,12,20,.22);
      box-shadow: 0 24px 60px -20px rgba(10,12,20,.16);
    }
    .cv-why__card:hover::before { transform: scaleX(1) }
    .cv-why__card .ix {
      font-family: var(--font-body);
      font-size: 12px;
      letter-spacing: .22em;
      color: rgb(0 0 0 / 71%);
      text-transform: uppercase;
      margin-bottom: 10px;
    }
    .cv-why__card .ttl {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 19px; letter-spacing: -.012em;
      color: #0a0c14; margin: 0 0 10px; line-height: 1.25;
    }
    .cv-why__card .desc {
      font-family: var(--cv-sans) !IMPORTANT;
      font-size: 16px;
      line-height: 1.55;
      /* color: var(--cv-fg-soft); */
      margin: 0;
    }
    .cv-why__sign {
      margin-top: 56px;
      /* display: grid; */
      /* grid-template-columns: 1fr auto; */
      /* gap: 36px; */
      /* align-items: center; */
      padding: 28px 36px;
      background: #0a0c14;
      color: #fff;
      border-radius: 20px;
      position: relative;
      overflow: hidden;
      text-align: center;
    }
    .cv-why__sign::after {
      content: "";
      position: absolute;
      right: -100px;
      top: -100px;
      width: 280px;
      height: 280px;
      border-radius: 50%;
      background: radial-gradient(circle at center, #00379340, transparent 70%);
    }
    .cv-why__sign p {
      position: relative; z-index: 2;
      font-family: var(--cv-display); font-weight: 400;
      font-size: 22px; line-height: 1.35; letter-spacing: -.012em;
      margin: 0; color: rgba(255,255,255,.92);
    }
    /* .cv-why__sign p em {
      font-family: var(--cv-display);
      font-style: italic;
      font-weight: 300;
      color: #930080;
    } */
    .cv-why__sign .meta {
      position: relative; z-index: 2;
      font-family: var(--font-body); font-size: 10px; letter-spacing: .22em;
      text-transform: uppercase; color: rgba(255,255,255,.45);
      display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
    }
    .cv-why__sign .meta::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #003d9b;
      box-shadow: 0 0 8px #00539b8a;
    }

    /* ============================================================
       SECTION 2 — Meet Susan (Agentic AI BCM Consultant)
    ============================================================ */
    .cv-susan {
      padding: 160px 56px;
      background: #0a0c14; color: #fff;
      position: relative; overflow: hidden;
    }
    .cv-susan::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(40% 30% at 0% 100%, rgb(125 172 255 / 14%), transparent 70%), radial-gradient(45% 32% at 100% 0%, #004f932b, transparent 70%);
      pointer-events: none;
    }
    .cv-susan__inner {
      position: relative; max-width: 1400px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px;
      align-items: center;
    }
    .cv-susan__copy .cv-eyebrow { color: rgba(255,255,255,.55) }
    .cv-susan__copy .cv-eyebrow::before { background: rgba(255,255,255,.35) }
    .cv-susan__copy .cv-h2 { color: #fff }
    .cv-susan__copy .cv-h2 em {/* color: rgba(255,255,255,.55); */}
    .cv-susan__sub {
      font-family: var(--cv-sans);
      font-size: 18px; line-height: 1.65;
      color: rgba(255,255,255,.7);
      max-width: 520px; margin: 28px 0 32px;
    }
    .cv-susan__skills {
      list-style: none; margin: 0; padding: 0;
      display: grid; gap: 12px;
    }
    .cv-susan__skills li {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 14px;
      align-items: start;
      font-family: var(--cv-sans);
      font-size: 15px;
      color: rgba(255,255,255,.82);
      line-height: 1.5;
      letter-spacing: 0.03em;
    }
    .cv-susan__skills li::before {
      background-size: 9px 9px;
      background-position: center;
      background-repeat: no-repeat;
      margin-top: 7px;
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #dc3545;
      box-shadow: 0 0 9px 1px #dc35456b;
    }

    /* Susan chat console */
    .cv-susan__console {
      position: relative;
      background: rgba(255,255,255,.04);
      border: 0px solid rgba(255,255,255,.10);
      border-radius: 24px;
      backdrop-filter: blur(14px);
      padding: 20px 22px;
      max-width: 560px;
      margin: 0 0 0 auto;
    }

    .cv-susan__console::before {
      content: "";
      position: absolute;
      inset: -1px;
      border-radius: 24px;
      padding: 1px;
      /* background: linear-gradient(135deg, #9300806b, #43083b4f 50%, rgba(51, 232, 204, .3)); */
      /* -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); */
      /* mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); */
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
    }

    .cv-susan__cn-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 14px;
      border-bottom: 0px solid rgba(255,255,255,.08);
      margin-bottom: 14px;
    }

    .cv-susan__cn-head .id {
      display: flex; align-items: center; gap: 12px;
      font-family: var(--font-body); font-size: 11px;
      color: rgba(255,255,255,.65); letter-spacing: .14em; text-transform: uppercase;
    }

    .cv-susan__cn-head .av {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: linear-gradient(135deg, #7db4ff, #0d6efd);
      display: grid;
      place-items: center;
      font-family: var(--cv-display);
      font-weight: 500;
      color: #fff;
      font-size: 13px;
    }

    .cv-susan__cn-head .live {
      font-family: var(--font-body); font-size: 10px; letter-spacing: .18em;
      padding: 4px 10px; border-radius: 999px;
      background: rgba(51,232,204,.12); color: var(--cv-cyan);
      display: inline-flex; align-items: center; gap: 6px;
    }

    .cv-susan__cn-head .live::before {
      content: ""; width: 5px; height: 5px; border-radius: 50%;
      background: var(--cv-cyan); box-shadow: 0 0 8px var(--cv-cyan);
    }

    .cv-bubble {
      padding: 14px 16px;
      border-radius: 14px;
      font-family: var(--cv-sans);
      font-size: 15px;
      line-height: 1.55;
      margin-bottom: 12px;
      position: relative;
    }

    .cv-bubble .role {
      font-family: var(--font-body);
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(255,255,255,.5);
      margin-bottom: 6px;
    }

    .cv-bubble.op {
      background: rgba(255,255,255,.05);
      border: 0px solid rgba(255,255,255,.08);
      color: rgba(255,255,255,.85);
    }

    .cv-bubble.susan {
      background: linear-gradient(180deg, rgb(125 180 255 / 0%), rgb(125 165 255 / 3%)), rgb(0 0 0 / 50%);
      border: 0px solid #0d6efd;
      color: #fff;
    }
    
    .cv-bubble.susan .role {color: #a9a9a9;}
    .cv-bubble .tag-row {
      display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;
    }
    .cv-bubble .chip {
      font-family: var(--font-body); font-size: 9.5px;
      letter-spacing: .14em; text-transform: uppercase;
      padding: 4px 9px; border-radius: 999px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.14);
      color: rgba(255,255,255,.78);
    }
    .cv-bubble .chip.gold {color: #0d6efd;border-color: rgb(77 149 245 / 37%);background: rgb(77 135 245 / 10%);}
    .cv-bubble .chip.cyan { color: var(--cv-cyan); border-color: rgba(51,232,204,.35); background: rgba(51,232,204,.10) }
    .cv-bubble .accent {color: #0d6efd;font-weight: 500}

    .cv-susan__pills {
      display: flex; gap: 8px; flex-wrap: wrap;
      margin-top: 24px;
    }
    .cv-susan__pills .pill {
      font-family: var(--font-body); font-size: 10px;
      letter-spacing: .14em; text-transform: uppercase;
      padding: 7px 12px; border-radius: 999px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.14);
      color: rgba(255,255,255,.75);
    }

    /* ============================================================
       SECTION 3 — BCM Lifecycle (5-stage choreography)
    ============================================================ */

    .cv-life {
      padding: 160px 56px;
      background: var(--cv-paper);
      border-bottom: 0px solid var(--cv-line);
      position: relative;
    }
    .cv-life__inner { max-width: 1400px; margin: 0 auto }
    .cv-life__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 72px;
    }
    .cv-life__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: var(--cv-fg-soft); max-width: 480px; margin: 0;
    }
    .cv-life__rail {
      position: relative;
      display: grid; grid-template-columns: repeat(5, 1fr);
      gap: 16px;
    }
    .cv-life__rail::before {
      content: "";
      position: absolute;
      top: 64px;
      left: 6%;
      right: 6%;
      height: 1px;
      background: linear-gradient(90deg, rgba(10, 12, 20, .08), rgb(221 221 221 / 55%) 50%, rgba(10, 12, 20, .08));
      z-index: 0;
    }
    .cv-stage {
      position: relative;
      z-index: 1;
      background: #ffffff;
      border: 1px solid rgb(10 12 20 / 4%);
      border-radius: 22px;
      padding: 28px 26px;
      transition: transform .4s cubic-bezier(.22,.61,.36,1), border-color .3s, background .3s;
      box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }
    .cv-stage:hover {
      transform: translateY(-6px);
      border-color: rgba(10,12,20,.22);
      background: #fff;
    }
    .cv-stage__node {
      position: relative;
      width: 56px;
      height: 56px;
      margin: 0 auto 18px;
      border-radius: 50%;
      background: #0a0c14;
      color: var(--cv-gold);
      display: grid;
      place-items: center;
      font-family: var(--cv-display);
      font-weight: 500;
      font-size: 18px;
      box-shadow: 0 0 0 6px rgb(77 142 245 / 16%);
    }
    .cv-stage:nth-child(2) .cv-stage__node { color: var(--cv-violet); box-shadow: 0 0 0 6px rgba(155,125,255,.16) }
    .cv-stage:nth-child(3) .cv-stage__node { color: var(--cv-cyan); box-shadow: 0 0 0 6px rgba(51,232,204,.16) }
    .cv-stage:nth-child(4) .cv-stage__node {color: var(--cv-amber);box-shadow: 0 0 0 6px rgb(71 143 255 / 16%);}
    .cv-stage:nth-child(5) .cv-stage__node {color: var(--cv-gold);box-shadow: 0 0 0 6px rgb(77 127 245 / 16%);}
    .cv-stage__step {
      font-family: var(--font-body);
      font-size: 12px;
      letter-spacing: .22em;
      color: rgb(10 12 20);
      text-transform: uppercase;
      text-align: center;
      margin-bottom: 6px;
    }
    .cv-stage__name {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 19px; letter-spacing: -.012em;
      color: #0a0c14; text-align: center; margin: 0 0 12px;
    }
    .cv-stage__name em {
      /* font-family: var(--cv-display); */
      /* font-style: italic; */
      /* font-weight: 300; */
      /* color: var(--cv-fg-soft); */
    }
    .cv-stage__desc {
      font-family: var(--cv-sans);
      font-size: 15px;
      line-height: 1.55;
      color: rgb(10 12 20);
      margin: 0;
      text-align: center;
    }

    /* ============================================================
       SECTION 4 — Capabilities Mosaic
    ============================================================ */
    .cv-caps {
      padding: 160px 56px;
      background: #f4f6fb;
      border-bottom: 0px solid rgb(193 193 193 / 10%);
    }
    .cv-caps__inner { max-width: 1400px; margin: 0 auto }
    .cv-caps__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 60px;
    }
    .cv-caps__head p {
      font-family: var(--cv-sans);
      font-size: 18px; line-height: 1.65; color: var(--cv-fg-soft);
      max-width: 480px; margin: 0;
    }
    .cv-caps__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }
    .cv-cap {
      position: relative;
      isolation: isolate;
      background: #ffffff;
      border: 1px solid var(--cv-line);
      display: flex;
      flex-direction: column;
      min-height: 280px;
      overflow: hidden;
      box-shadow: 0 1px 2px rgba(20, 15, 10, .04);
      animation: cvCapIn .85s cubic-bezier(.16,1,.3,1) both;
      transition: transform .85s cubic-bezier(.16,1,.3,1),
                  border-color .45s ease,
                  box-shadow .45s ease !important;
    }
    @keyframes cvCapIn {
      from { opacity: 0; transform: translateY(34px) scale(.985); }
      to   { opacity: 1; transform: none; }
    }
    .cv-cap:nth-child(1) { animation-delay: 0ms }
    .cv-cap:nth-child(2) { animation-delay: 60ms }
    .cv-cap:nth-child(3) { animation-delay: 120ms }
    .cv-cap:nth-child(4) { animation-delay: 180ms }
    .cv-cap:nth-child(5) { animation-delay: 240ms }
    .cv-cap:nth-child(6) { animation-delay: 300ms }
    .cv-cap::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      z-index: 2;
      padding: 0px;
      background: linear-gradient(130.66deg, #7db5ff -4.51%, #0d6efd 79.91%);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask-composite: exclude;
      opacity: 0;
      transition: opacity .4s ease;
    }
    .cv-cap:hover::before { opacity: 1 }
    .cv-cap::after {
      content: "";
      position: absolute;
      width: 360px; height: 360px;
      border-radius: 50%;
      pointer-events: none; z-index: 0;
      left: var(--mx, 50%); top: var(--my, 50%);
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgb(125 176 255 / 20%), transparent 65%);
      opacity: 0;
      transition: opacity .4s ease;
    }
    .cv-cap > * { position: relative; z-index: 1 }
    .cv-cap:hover {
      border-color: transparent !important;
      box-shadow: 0 26px 56px -30px rgb(77 148 255 / 32%), 0 0 0 1px rgb(125 177 255 / 12%) !important;
      transform: translateY(-6px) !important;
    }
    .cv-cap:hover::after { opacity: 1 }
    .cv-cap__num {
      font-family: var(--font-body);
      font-size: 12px;
      color: rgb(10 12 20 / 42%);
      color: rgb(10 12 20 / 94%);
      text-transform: uppercase;
      display: block;
      margin-bottom: 15px;
      transition: color .4s ease;
    }
    .cv-cap:hover .cv-cap__num {color: #0d6efd;}
    .cv-cap__glyph {
      position: absolute;
      top: 22px; right: 22px;
      width: 38px; height: 38px;
      border-radius: 12px;
      background: #0a0c14;
      border: 1px solid #0a0c14;
      display: grid; place-items: center;
      color: #fff;
      box-shadow: 0 4px 12px rgba(15, 15, 20, .14);
      transition: transform .55s cubic-bezier(.16,1,.3,1),
                  background .4s ease,
                  color .4s ease,
                  border-color .4s ease;
      z-index: 2;
    }
    .cv-cap:hover .cv-cap__glyph {
      transform: rotate(180deg) scale(1.12);
    }
    .cv-cap__title {
      font-family: var(--cv-display); font-weight: 700;
      font-size: clamp(18px, 1.5vw, 22px);
      letter-spacing: -.02em;
      color: #0a0c14;
      margin: 0 0 12px;
      line-height: 1.12;
      transition: transform .5s ease;
    }
    .cv-cap:hover .cv-cap__title { transform: translateX(4px) }
    .cv-cap__title em {
      font-style: italic; font-weight: 300;
      color: var(--cv-fg-soft);
    }
    .cv-cap__desc {
      font-family: var(--cv-sans);
      font-size: 15px;
      line-height: 1.55;
      color: rgb(10 12 20);
      margin: 0;
    }
    .cv-cap__tags {
      display: flex; flex-wrap: wrap; gap: 7px;
      margin-top: auto;
      padding-top: 18px;
    }
    .cv-cap__tags span {
      font-family: var(--font-body);
      font-size: 13px;
      color: rgb(10 12 20);
      border: 1px solid rgb(10 12 20 / 27%);
      border-radius: 999px;
      padding: 5px 11px;
      background: rgba(0, 0, 0, .015);
      transition: border-color .4s ease;
    }
    .cv-cap:hover .cv-cap__tags span { border-color: rgba(0, 0, 0, .16) }
    .cv-cap--featured {
      background: radial-gradient(90% 120% at 110% 120%, rgb(125 177 255 / 12%), transparent 55%), radial-gradient(80% 90% at -10% -10%, rgb(77 124 255 / 10%), transparent 55%), linear-gradient(180deg, #ffffff, #f7faff);
    }
    .cv-cap--featured .cv-cap__glyph {
      color: #fff;
      background: #0d6efd;
      border-color: transparent;
      box-shadow: 0 8px 22px rgb(77 150 255 / 35%);
    }

    /* ============================================================
       SECTION 5 — Compliance & Frameworks (dark)
    ============================================================ */
    .cv-comp {
      padding: 160px 56px;
      background: #0a0c14; color: #fff;
      position: relative; overflow: hidden;
    }
    .cv-comp::before {
      content: ""; position: absolute; inset: 0;
      background:
        radial-gradient(50% 40% at 100% 0%, rgb(77 126 245 / 16%), transparent 70%),
        radial-gradient(35% 30% at 0% 100%, rgb(125 169 255 / 12%), transparent 70%);
      pointer-events: none;
    }
    .cv-comp::after {
      content: ""; position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size: 80px 80px;
      mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
      -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
      pointer-events: none;
      opacity: .5;
    }
    .cv-comp__inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto }
    .cv-comp__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 72px;
    }
    .cv-comp__head .cv-eyebrow { color: rgba(255,255,255,.55) }
    .cv-comp__head .cv-eyebrow::before { background: rgba(255,255,255,.35) }
    .cv-comp__head .cv-h2 { color: #fff }
    .cv-comp__head .cv-h2 em {/* color: rgba(255,255,255,.55); */}
    .cv-comp__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: rgba(255,255,255,.7); max-width: 500px; margin: 0;
    }
    .cv-comp__grid {
      display: grid; grid-template-columns: repeat(5, 1fr);
      gap: 12px;
    }
    .cv-frame {
      position: relative;
      padding: 28px 24px;
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
      backdrop-filter: blur(8px);
      transition: transform .4s cubic-bezier(.22,.61,.36,1), border-color .3s, background .3s;
    }
    .cv-frame:hover {
      transform: translateY(-4px);
      border-color: rgb(77 152 245 / 45%);
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    }
    .cv-frame .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      border: 1px solid rgb(8 75 137 / 47%);
      background: rgb(8 61 137 / 17%);
      border-radius: 999px;
      font-family: var(--font-body);
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: #0067ff;
      margin-bottom: 22px;
      font-weight: 500;
    }
    .cv-frame .badge::before {
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #0d6efd;
      box-shadow: 0 0 6px #102d556b;
    }
    .cv-frame .name {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 24px; color: #fff; margin: 0 0 8px;
      letter-spacing: -.012em;
    }
    .cv-frame .desc {
      font-family: var(--cv-sans) !important;
      font-size: 15px;
      line-height: 1.55;
      color: rgba(255,255,255,.65);
      margin: 0;
      /* font-family: 'General Sans'; */
    }
    .cv-comp__pillar {
      margin-top: 56px;
      padding: 28px 36px;
      border: 1px dashed rgba(255,255,255,.18);
      border-radius: 18px;
      display: grid; grid-template-columns: 1fr auto;
      gap: 36px; align-items: center;
    }
    .cv-comp__pillar p {
      font-family: var(--font-body) !important;
      font-size: 14px;
      line-height: 1.7;
      color: rgba(255,255,255,.7);
      margin: 0;
      letter-spacing: .02em;
    }
    .cv-comp__pillar p strong {
      color: #0d6efd;
      font-weight: 500;
      font-family: var(--cv-display);
      letter-spacing: -.01em;
    }
    .cv-comp__pillar .seal {
      font-family: var(--font-body);
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgb(255 255 255);
      display: inline-flex;
      align-items: center;
      gap: 12px;
      white-space: nowrap;
    }
    .cv-comp__pillar .seal::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%;
      background: var(--cv-cyan); box-shadow: 0 0 8px var(--cv-cyan);
    }

    /* ============================================================
       SECTION 6 — Third-Party & Supply Chain (orbit hub)
    ============================================================ */
    .cv-supply {
      padding: 160px 56px;
      background: var(--cv-paper);
      border-bottom: 0px solid var(--cv-line);
    }
    .cv-supply__inner { max-width: 1400px; margin: 0 auto }
    .cv-supply__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 72px;
    }
    .cv-supply__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: var(--cv-fg-soft); max-width: 500px; margin: 0;
    }
    .cv-supply__diagram {
      position: relative;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: center;
    }
    .cv-supply__hub {
      position: relative; width: 100%; aspect-ratio: 1; max-width: 460px;
      margin: 0 auto;
      display: grid; place-items: center;
    }
    .cv-supply__hub::before, .cv-supply__hub::after {
      content: ""; position: absolute; inset: 0;
      border-radius: 50%; border: 1px solid var(--cv-line);
    }
    .cv-supply__hub::after { inset: 14%; border-color: rgba(10,12,20,.16) }
    .cv-supply__hub-core {
      width: 60%;
      aspect-ratio: 1;
      background: radial-gradient(circle at 35% 30%, rgb(128 180 255 / 40%), transparent 55%), linear-gradient(135deg, #000000, #000000);
      color: #ffffff;
      border-radius: 50%;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 40px;
      box-shadow: 0 30px 80px -20px rgb(77 139 245 / 45%);
      position: relative;
      z-index: 2;
    }
    .cv-supply__hub-core .label {
      font-family: var(--font-body);
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgb(255 255 255 / 55%);
      margin-bottom: 8px;
    }
    .cv-supply__hub-core .name {
      font-family: var(--font-body);
      font-weight: 400;
      font-size: 18px;
      letter-spacing: -.018em;
      line-height: 1.15;
      color: #ffffff;
    }
    .cv-supply__hub-core .name em {
      font-family: var(--cv-display); font-style: italic; font-weight: 300;
      color: rgba(10,12,20,.65);
    }
    .cv-supply__hub .ring-dot {
      position: absolute; width: 10px; height: 10px;
      border-radius: 50%; background: var(--cv-violet);
      box-shadow: 0 0 0 4px rgba(155,125,255,.18);
      z-index: 3;
    }
    .cv-supply__hub .ring-dot.d1 { top: 50%; left: 0; transform: translate(-50%,-50%) }
    .cv-supply__hub .ring-dot.d2 { top: 0; left: 50%; transform: translate(-50%,-50%); background: var(--cv-cyan); box-shadow: 0 0 0 4px rgba(51,232,204,.2) }
    .cv-supply__hub .ring-dot.d3 { top: 50%; right: 0; transform: translate(50%,-50%) }
    .cv-supply__hub .ring-dot.d4 { bottom: 0; left: 50%; transform: translate(-50%, 50%); background: var(--cv-amber); box-shadow: 0 0 0 4px rgba(255,181,71,.2) }
    .cv-supply__hub .sweep {
      position: absolute; inset: 0;
      border-radius: 50%;
      background: conic-gradient(from 0deg, transparent 0deg, rgb(77 143 245 / 18%) 60deg, transparent 130deg);
      mask: radial-gradient(circle at center, transparent 45%, #000 46%, #000 100%);
      -webkit-mask: radial-gradient(circle at center, transparent 45%, #000 46%, #000 100%);
      animation: cvOrbit 14s linear infinite;
      pointer-events: none;
    }

    .cv-supply__nodes {
      display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
    }
    .cv-supply__node {
padding: 24px 22px;
    border: 1px solid rgb(213 213 213 / 10%);
    border-radius: 10px;
    background: #f9f9f9;
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 16px;
    align-items: center;
    transition: transform .35s ease, border-color .3s ease, background .3s ease;
    box-shadow: 2px 5px 10px #00000014;
    }
    .cv-supply__node:hover {
    transform: translateY(-3px);
    border-color: rgb(177 177 177 / 22%);
    background: #fff;
    }
    .cv-supply__node .icon {
      width: 38px; height: 38px; border-radius: 10px;
      background: #fff; border: 1px solid var(--cv-line);
      display: grid; place-items: center;
      color: #0a0c14;
    }
    .cv-supply__node .text .name {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 15px; color: #0a0c14;
    }
    .cv-supply__node .text .meta {
      font-family: var(--font-body);
      font-size: 11px;
      letter-spacing: .14em;
      color: rgb(10 12 20);
      text-transform: uppercase;
    }

    /* ============================================================
       SECTION 7 — Executive Dashboard mock
    ============================================================ */
    .cv-board {
      padding: 160px 56px;
      background: #f4f6fb;
      border-bottom: 0px solid var(--cv-line);
    }
    .cv-board__inner { max-width: 1400px; margin: 0 auto }
    .cv-board__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 60px;
    }
    .cv-board__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: var(--cv-fg-soft); max-width: 480px; margin: 0;
    }
    .cv-ws {
      position: relative;
      border: 1px solid var(--cv-line);
      border-radius: 24px;
      overflow: hidden;
      background: #fbfaf5;
      box-shadow: 0 60px 120px -40px rgba(10,12,20,.18);
    }
    .cv-ws__chrome {
      display: flex; align-items: center; gap: 10px;
      padding: 14px 18px;
      border-bottom: 1px solid var(--cv-line);
      background: var(--cv-paper-2);
    }
    .cv-ws__chrome .dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(10,12,20,.12) }
    .cv-ws__chrome .url {
      flex: 1; margin-left: 12px; padding: 6px 14px;
      background: #fff; border: 1px solid var(--cv-line); border-radius: 999px;
      font-family: var(--font-body); font-size: 11px; color: var(--cv-fg-soft);
      letter-spacing: .04em;
    }
    .cv-ws__chrome .url::before {
      content: "\1F512"; opacity: .5; margin-right: 8px; font-size: 10px;
    }
    .cv-ws__body {
      display: grid; grid-template-columns: 220px 1fr 300px;
      min-height: 600px;
    }
    .cv-ws__sidebar {
      border-right: 1px solid var(--cv-line);
      padding: 22px 18px;
      background: rgba(245,242,232,.5);
    }
    .cv-ws__brand {
      display: flex; align-items: center; gap: 10px;
      padding: 10px 12px; border-radius: 12px;
      background: #0a0c14; color: #fff;
      font-family: var(--cv-display); font-size: 13.5px; font-weight: 500;
      margin-bottom: 20px;
    }
    .cv-ws__brand .square {
      width: 22px; height: 22px; border-radius: 6px;
      background: var(--cv-gold); color: #0a0c14;
      display: grid; place-items: center;
      font-weight: 700; font-size: 11px;
    }
    .cv-ws__nav { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px }
    .cv-ws__nav li {
      display: flex; align-items: center; gap: 12px;
      padding: 10px 12px; border-radius: 10px;
      font-family: var(--cv-sans); font-size: 13px;
      color: var(--cv-fg-soft); cursor: pointer;
    }
    .cv-ws__nav li.active {
      background: #fff; color: #0a0c14; font-weight: 500;
      box-shadow: 0 4px 14px -6px rgba(10,12,20,.12);
    }
    .cv-ws__nav li .badge {
      margin-left: auto;
      background: var(--cv-gold); color: #0a0c14;
      font-family: var(--font-body); font-size: 9px; padding: 2px 6px; border-radius: 6px;
    }
    .cv-ws__nav li::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%;
      background: currentColor; opacity: .35;
    }
    .cv-ws__nav li.active::before { background: var(--cv-gold); opacity: 1 }

    .cv-ws__main { padding: 26px 28px; display: grid; gap: 22px; align-content: start }
    .cv-ws__topbar {
      display: flex; align-items: center; justify-content: space-between; gap: 18px;
    }
    .cv-ws__topbar h3 {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 22px; color: #0a0c14; margin: 0; letter-spacing: -.01em;
    }
    .cv-ws__topbar .sub {
      font-family: var(--font-body); font-size: 11px; letter-spacing: .14em;
      color: var(--cv-fg-faint); text-transform: uppercase;
    }
    .cv-ws__topbar .live {
      font-family: var(--font-body); font-size: 11px;
      padding: 6px 12px; border-radius: 999px;
      background: rgba(0,104,255,.18); color: #0d6efd;
      display: inline-flex; align-items: center; gap: 8px;
    }
    .cv-ws__topbar .live::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%;
      background: var(--cv-gold);
      box-shadow: 0 0 8px var(--cv-gold);
      animation: cvPulse 1.8s ease-out infinite;
    }
    .cv-ws__stats {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
    }
    .cv-ws__stat {
      padding: 18px;
      background: #fff;
      border: 1px solid var(--cv-line);
      border-radius: 14px;
    }
    .cv-ws__stat .k {
      font-family: var(--font-body); font-size: 10px;
      letter-spacing: .18em; color: var(--cv-fg-faint); text-transform: uppercase;
      margin-bottom: 8px;
    }
    .cv-ws__stat .v {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 28px; color: #0a0c14; letter-spacing: -.02em;
      line-height: 1;
    }
    .cv-ws__stat .v small {
      font-family: var(--font-body); font-size: 11px;
      color: var(--cv-fg-soft); margin-left: 4px;
    }
    .cv-ws__stat .bar {
      margin-top: 12px; height: 6px; background: var(--cv-paper-3);
      border-radius: 999px; overflow: hidden;
    }
    .cv-ws__stat .bar i { display: block; height: 100%; background: var(--cv-gold); border-radius: 999px }
    .cv-ws__stat:nth-child(2) .bar i { background: var(--cv-violet) }
    .cv-ws__stat:nth-child(3) .bar i { background: var(--cv-cyan) }
    .cv-ws__stat:nth-child(4) .bar i { background: var(--cv-amber) }

    .cv-ws__chart {
      padding: 22px;
      background: #fff;
      border: 1px solid var(--cv-line);
      border-radius: 14px;
    }
    .cv-ws__chart .head {
      display: flex; align-items: center; justify-content: space-between;
      margin-bottom: 14px;
    }
    .cv-ws__chart .head h4 {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 14px; color: #0a0c14; margin: 0;
    }
    .cv-ws__chart .head .legend {
      display: flex; gap: 16px;
      font-family: var(--font-body); font-size: 10px;
      color: var(--cv-fg-soft); letter-spacing: .12em; text-transform: uppercase;
    }
    .cv-ws__chart .head .legend span {
      display: inline-flex; align-items: center; gap: 6px;
    }
    .cv-ws__chart .head .legend span::before {
      content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--cv-gold);
    }
    .cv-ws__chart .head .legend span:nth-child(2)::before { background: var(--cv-violet) }
    .cv-ws__chart svg { width: 100%; height: 150px; display: block }

    .cv-ws__side {
      border-left: 1px solid var(--cv-line);
      padding: 26px 22px;
      display: grid; gap: 18px; align-content: start;
      background: rgba(245,242,232,.5);
    }
    .cv-ws__side h4 {
      font-family: var(--font-body); font-size: 11px;
      letter-spacing: .18em; color: var(--cv-fg-faint);
      text-transform: uppercase; margin: 0;
    }
    .cv-ws__event {
      display: grid; grid-template-columns: 12px 1fr auto;
      gap: 12px; align-items: start;
      padding-bottom: 14px; border-bottom: 1px dashed var(--cv-line);
    }
    .cv-ws__event:last-child { border-bottom: none }
    .cv-ws__event .dot {
      width: 10px; height: 10px; border-radius: 50%; margin-top: 5px;
      background: var(--cv-gold);
    }
    .cv-ws__event.warn .dot { background: var(--cv-amber) }
    .cv-ws__event.info .dot { background: var(--cv-violet) }
    .cv-ws__event .text {
      font-family: var(--cv-sans); font-size: 13px;
      color: #0a0c14; line-height: 1.45;
    }
    .cv-ws__event .text .sys {
      font-family: var(--font-body); font-size: 10px;
      color: var(--cv-fg-faint); letter-spacing: .12em;
      text-transform: uppercase; display: block; margin-bottom: 3px;
    }
    .cv-ws__event .time {
      font-family: var(--font-body); font-size: 10px;
      color: var(--cv-fg-faint); letter-spacing: .06em;
    }

    /* ============================================================
       SECTION 8 — Outcomes
    ============================================================ */
    .cv-out {
      padding: 160px 56px;
      background: var(--cv-paper);
      border-bottom: 0px solid var(--cv-line);
    }
    .cv-out__inner { max-width: 1400px; margin: 0 auto }
    .cv-out__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 60px;
    }
    .cv-out__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: var(--cv-fg-soft); max-width: 480px; margin: 0;
    }
    .cv-out__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--cv-line);
      border: 1px solid var(--cv-line);
      border-radius: 14px;
      overflow: hidden;
    }
    .cv-outcome {
      background: var(--cv-paper);
      padding: 44px 36px 36px;
      position: relative; overflow: hidden;
      transition: background .3s ease;
    }
    .cv-outcome:hover {background: #f7f7f7;}
    .cv-outcome__num {
      font-family: var(--font-body);
      font-weight: 500;
      font-size: clamp(48px, 5vw, 76px);
      line-height: .95;
      letter-spacing: -.04em;
      color: #0a0c14;
      margin: 0 0 18px;
      display: flex;
      align-items: baseline;
    }
    .cv-outcome__num .u {
      font-family: var(--font-body);
      font-size: .26em;
      color: var(--cv-fg-soft);
      margin-left: 6px;
      letter-spacing: .04em;
      vertical-align: middle;
      font-weight: 400;
    }
    .cv-outcome__num em {
      font-family: var(--cv-display); font-style: italic; font-weight: 300;
      color: var(--cv-fg-soft);
    }
    .cv-outcome__label {
      font-family: var(--cv-display); font-weight: 500;
      font-size: 18px; color: #0a0c14; margin: 0 0 6px;
      letter-spacing: -.01em;
    }
    .cv-outcome__desc {
      font-family: var(--cv-sans);
      font-size: 15px;
      line-height: 1.55;
      color: rgb(10 12 20 / 75%);
      margin: 0;
    }
    .cv-outcome::before {
      content: ""; position: absolute;
      top: 0; left: 0; right: 0; height: 2px;
      transform: scaleX(0); transform-origin: left;
      transition: transform .5s cubic-bezier(.16,1,.3,1);
    }
    .cv-outcome:nth-child(1)::before { background: var(--cv-gold) }
    .cv-outcome:nth-child(2)::before { background: var(--cv-violet) }
    .cv-outcome:nth-child(3)::before { background: var(--cv-cyan) }
    .cv-outcome:nth-child(4)::before { background: var(--cv-amber) }
    .cv-outcome:nth-child(5)::before { background: var(--cv-gold) }
    .cv-outcome:nth-child(6)::before { background: var(--cv-violet) }
    .cv-outcome:hover::before { transform: scaleX(1) }
    .cv-outcome__index {
      position: absolute;
      top: 18px;
      right: 22px;
      font-family: var(--font-body);
      font-size: 10px;
      letter-spacing: .18em;
      color: rgb(10 12 20);
    }

    /* ============================================================
       SECTION 9 — Industries pill cloud
    ============================================================ */
    .cv-ind {
      padding: 140px 56px;
      background: #f4f6fb;
      border-bottom: 0px solid var(--cv-line);
      position: relative;
      overflow: hidden;
    }
    .cv-ind__inner { max-width: 1400px; margin: 0 auto; position: relative; z-index: 2 }
    .cv-ind__head {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: end; margin-bottom: 60px;
    }
    .cv-ind__head p {
      font-family: var(--cv-sans); font-size: 18px; line-height: 1.65;
      color: var(--cv-fg-soft); max-width: 480px; margin: 0;
    }
    .cv-ind__cloud {
      display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start;
    }
    .cv-ind__cloud a {
      /* display: inline-flex; */
      /* align-items: center; */
      text-align: center;
      padding: 8px 14px;
      border: 1px solid var(--cp-line);
      border-radius: 999px;
      font-family: var(--font-body);
      font-weight: 500;
      font-size: 14px;
      color: #0a0c14;
      text-decoration: none;
      background: var(--cp-paper);
      transition: transform .35s cubic-bezier(.22,.61,.36,1), background .25s ease, border-color .25s ease, color .25s ease;
    }
    .cv-ind__cloud a:hover {
      background: #0a0c14; color: #fff; border-color: #0a0c14;
      transform: translateY(-2px);
    }
    .cv-ind__cloud a .ix {
      font-family: var(--font-body); font-size: 10px;
      letter-spacing: .12em; color: var(--cv-fg-faint);
    }
    .cv-ind__cloud a:hover .ix { color: var(--cv-gold) }
    .cv-ind__cloud a.large {/* font-size: 22px; *//* padding: 18px 28px; */}
    .cv-ind__cloud a.medium {/* font-size: 18px; */}
    .cv-ind__map {
      position: absolute; right: -120px; top: 50%;
      transform: translateY(-50%);
      width: 720px; height: 720px;
      background-image:
        radial-gradient(circle at center, rgba(10,12,20,.06) 1px, transparent 1.4px);
      background-size: 14px 14px;
      mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
      -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
      pointer-events: none; opacity: .9; z-index: 1;
    }

    /* ============================================================
       FINAL CV CTA
    ============================================================ */
    .cv-final {
      position: relative; overflow: hidden;
      padding: 180px 40px;
      background: #0a0c14; color: #fff;
      text-align: center;
    }
    .cv-final .orbit {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%,-50%);
      border-radius: 50%; pointer-events: none;
    }
    .cv-final .orbit::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      padding: 1px;
      background: linear-gradient(90deg, rgba(255, 255, 255, .02), rgb(255 255 255 / 60%), rgba(255, 255, 255, .02));
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: .7;
    }
    .cv-final .orbit1 {
      width: clamp(220px, 28vw, 340px);
      height: clamp(220px, 28vw, 340px);
      animation: cvFinalOrbit 22s linear infinite;
    }
    .cv-final .orbit2 {
      width: clamp(320px, 42vw, 500px);
      height: clamp(320px, 42vw, 500px);
      animation: cvFinalOrbit 38s linear infinite reverse;
    }
    .cv-final .orbit3 {
      width: clamp(420px, 56vw, 660px);
      height: clamp(420px, 56vw, 660px);
      border: 1px dashed rgba(255,255,255,.08);
      animation: cvFinalOrbit 60s linear infinite;
    }
    @keyframes cvFinalOrbit { to { transform: translate(-50%,-50%) rotate(360deg) } }
    .cv-final__eyebrow {
      position: relative;
      font-family: var(--font-body);
      font-size: 11px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: #ffffff;
      margin-bottom: 28px;
    }
    .cv-final__title {
      position: relative;
      font-family: var(--cv-display); font-weight: 500;
      font-size: clamp(48px, 8.5vw, 60px);
      line-height: 1.05; letter-spacing: -.02em;
      color: #fff; margin: 0 0 48px;
    }
    .cv-final__title em {
      /* font-family: var(--cv-display); */
      /* font-style: italic; */
      /* font-weight: 300; */
      /* color: rgba(255,255,255,.55); */
    }
    .cv-final__btns {
      position: relative;
      display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
    }

    /* ============================================================
       RESPONSIVE
    ============================================================ */
    @media (max-width: 1180px) {
      .cv-caps__grid { grid-template-columns: repeat(2, 1fr) }
      .cv-comp__grid { grid-template-columns: repeat(3, 1fr) }
      .cv-why__grid { grid-template-columns: repeat(3, 1fr) }
      .cv-life__rail { grid-template-columns: repeat(3, 1fr) }
      .cv-life__rail::before { display: none }
    }
    @media (max-width: 980px) {
      .cv-hero { padding: 120px 32px 0 }
      .cv-hero__inner { grid-template-columns: 1fr; gap: 50px; padding-bottom: 50px }
      .cv-why, .cv-susan, .cv-life, .cv-caps, .cv-comp, .cv-supply, .cv-board, .cv-out, .cv-ind {
        padding: 100px 32px;
      }
      .cv-why__head, .cv-susan__inner, .cv-life__head, .cv-caps__head, .cv-comp__head, .cv-supply__head,
      .cv-board__head, .cv-out__head, .cv-ind__head {
        grid-template-columns: 1fr; gap: 24px; margin-bottom: 50px;
      }
      .cv-susan__inner { grid-template-columns: 1fr; align-items: start }
      .cv-susan__console { margin: 30px 0 0 }
      .cv-why__grid { grid-template-columns: 1fr 1fr }
      .cv-life__rail { grid-template-columns: 1fr 1fr }
      .cv-caps__grid { grid-template-columns: 1fr 1fr }
      .cv-comp__grid { grid-template-columns: 1fr 1fr }
      .cv-supply__diagram { grid-template-columns: 1fr; gap: 50px }
      .cv-ws__body { grid-template-columns: 1fr }
      .cv-ws__sidebar, .cv-ws__side { display: none }
      .cv-ws__stats { grid-template-columns: 1fr 1fr }
      .cv-out__grid { grid-template-columns: 1fr 1fr }
      .cv-comp__pillar { grid-template-columns: 1fr; gap: 14px; padding: 22px }
      .cv-ind__map { display: none }
      /* .cv-tel-strip { display: none } */
      .cv-why__sign { grid-template-columns: 1fr; gap: 14px; padding: 22px }
      .cv-final { padding: 130px 28px }
    }
    @media (max-width: 600px) {
      .cv-why__grid, .cv-life__rail, .cv-caps__grid, .cv-comp__grid, .cv-out__grid {
        grid-template-columns: 1fr;
      }
      .cv-hero__seal { max-width: 320px }
      .cv-hero__seal .badge-chip.b1 { left: 6% }
      .cv-hero__seal .badge-chip.b2 { right: 4% }
      .cv-hero__seal .badge-chip.b3 { left: 6% }

      /* tighter hero + section paddings on phones */
      .cv-hero { padding: 100px 20px 0 !important }
      .cv-why, .cv-susan, .cv-life, .cv-caps, .cv-comp, .cv-supply, .cv-board, .cv-out, .cv-ind {
        padding: 80px 20px;
      }
      .cv-final { padding: 110px 22px }

      /* remaining 2-col grids collapse to single column */
      .cv-supply__nodes { grid-template-columns: 1fr }
      .cv-ws__stats { grid-template-columns: 1fr }
    }

    /* ============================================================
       MOBILE — CV HERO (cv.html)
       Mirrors the cp/rx hero phone treatment. Releases the 100vh
       lock, scales the title (overriding the global !important
       hero title rule from common.css), stacks the CTAs, and
       tightens the sub paragraph + eyebrow on small viewports.
    ============================================================ */
    @media (max-width: 768px) {
      .cv-hero {
        height: auto !important;
        min-height: 100svh;
        padding: 110px 22px 0 !important;
        justify-content: center;
      }
      .cv-hero__inner {
        padding-bottom: 60px;
        text-align: center;
        height: auto;
      }
      .cv-hero__left { width: 100%; }

      /* Override common.css's .cv-hero__title { font-size: clamp(60px,10vw,80px) !important } */
      .cv-hero .cv-hero__title {
        font-size: clamp(34px, 9vw, 50px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.025em !important;
        margin: 18px 0 22px !important;
        word-break: break-word;
      }
      .cv-hero__title em.me-2 {
        margin-right: 6px !important;
        display: inline-block;
      }
      .cv-hero__mask { max-width: 100%; }

      .cv-hero__sub {
        font-size: 14.5px;
        line-height: 1.55;
        max-width: 100%;
        padding: 0 4px;
        margin: 0 auto 22px;
      }

      /* Eyebrow chip — wraps on small viewports */
      .cv-hero__eyebrow,
      .cv-hero .hero-tag {
        font-size: 10.5px !important;
        letter-spacing: .12em;
        line-height: 1.45;
        padding: 8px 12px;
        white-space: normal;
        max-width: 100%;
        margin: 0 auto 22px !important;
      }

      .cv-hero__ctas {
        flex-direction: column;
        width: 100%;
        max-width: 320px;
        margin: 18px auto 0;
        gap: 12px;
      }
      .cv-hero__ctas .cv-cta-primary,
      .cv-hero__ctas .cv-cta-ghost,
      .cv-hero__ctas > a {
        width: 100%;
        justify-content: center;
        padding: 12px 22px;
      }
    }

    @media (max-width: 600px) {
      .cv-hero .cv-hero__title {
        font-size: clamp(30px, 10vw, 42px) !important;
      }
    }

    @media (max-width: 380px) {
      .cv-hero { padding: 96px 16px 0 !important; }
      .cv-hero .cv-hero__title {
        font-size: clamp(26px, 10.5vw, 36px) !important;
        letter-spacing: -.015em !important;
      }
      .cv-hero__sub { font-size: 14px; }
      .cv-hero .hero-tag,
      .cv-hero__eyebrow { font-size: 10px !important; }
    }