
  /* ---------- Tokens ---------- */
  :root{
    --bg:#0A0A0A;
    --bg-alt:#0E0E0E;
    --surface:#1C1C1C;
    --surface-elevated:#2A2A2A;
    --text:#F0EDE8;
    --muted:#8C887F;
    --accent:#F5C400;
    --accent-solid:#F5C400;
    --on-accent:#0A0A0A;
    --warning:#C1503B;
    --positive:#4FBF7A;
    --border:rgba(240,237,232,0.10);
    --border-strong:rgba(240,237,232,0.22);
    --shadow:0 24px 70px -24px rgba(0,0,0,0.65);
    --logo-filter:grayscale(1) brightness(0) invert(1);
    --ease-out:cubic-bezier(.16,1,.3,1);

    --font-serif:'Fraunces', Georgia, 'Times New Roman', serif;
    --font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

    color-scheme: dark;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  @media (prefers-color-scheme: light){
    :root:not([data-theme="dark"]){
      --bg:#F7F4EC;
      --bg-alt:#F2EDDF;
      --surface:#FFFFFF;
      --surface-elevated:#ECE4D2;
      --text:#18150F;
      --muted:#726B5C;
      --accent:#A87900;
      --warning:#A83F2C;
      --positive:#2E8F58;
      --border:rgba(24,21,15,0.12);
      --border-strong:rgba(24,21,15,0.26);
      --shadow:0 20px 50px -24px rgba(24,21,15,0.2);
      --logo-filter:grayscale(1) contrast(0.9) opacity(0.85);
      color-scheme: light;
    }
  }
  :root[data-theme="light"]{
    --bg:#F7F4EC;
    --bg-alt:#F2EDDF;
    --surface:#FFFFFF;
    --surface-elevated:#ECE4D2;
    --text:#18150F;
    --muted:#726B5C;
    --accent:#A87900;
    --warning:#A83F2C;
    --positive:#2E8F58;
    --border:rgba(24,21,15,0.12);
    --border-strong:rgba(24,21,15,0.26);
    --shadow:0 20px 50px -24px rgba(24,21,15,0.2);
    --logo-filter:grayscale(1) contrast(0.9) opacity(0.85);
    color-scheme: light;
  }
  :root[data-theme="dark"]{
    --bg:#0A0A0A;
    --bg-alt:#0E0E0E;
    --surface:#1C1C1C;
    --surface-elevated:#2A2A2A;
    --text:#F0EDE8;
    --muted:#8C887F;
    --accent:#F5C400;
    --warning:#C1503B;
    --positive:#4FBF7A;
    --border:rgba(240,237,232,0.10);
    --border-strong:rgba(240,237,232,0.22);
    --shadow:0 24px 70px -24px rgba(0,0,0,0.65);
    --logo-filter:grayscale(1) brightness(0) invert(1);
    color-scheme: dark;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  img{max-width:100%;display:block;}
  [hidden]{display:none!important;}

  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-sans);
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  .wrap{
    max-width:1180px;
    margin-inline:auto;
    padding-inline:24px;
  }

  h1,h2,h3{
    font-family:var(--font-serif);
    font-optical-sizing:auto;
    font-weight:400;
    line-height:1.08;
    letter-spacing:-0.01em;
    margin:0;
    text-wrap:balance;
  }
  h1 em, h2 em, h3 em{
    font-style:italic;
    font-weight:500;
    color:var(--accent);
  }

  a{color:inherit;}

  .icon{width:20px;height:20px;flex:none;}

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    font-family:var(--font-mono);
    font-size:.75rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent);
  }
  .pill-tag{
    font-family:var(--font-mono);
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:.3em .75em;
    border-radius:4px;
    border:1px solid var(--accent);
    color:var(--accent);
  }

  .section{
    padding-block:clamp(64px,9vw,120px);
    border-bottom:1px solid var(--border);
  }
  .section--alt{background:var(--bg-alt);}
  .section-head{
    display:flex;
    flex-direction:column;
    gap:16px;
    max-width:720px;
    margin-bottom:clamp(40px,5vw,64px);
  }
  .section-head h2{font-size:clamp(2rem,1.4vw + 1.5rem,2.875rem);}
  .section-head p{
    color:var(--muted);
    font-size:1.0625rem;
    line-height:1.6;
    max-width:58ch;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5em;
    font-family:var(--font-sans);
    font-weight:700;
    font-size:.9375rem;
    padding:.85em 1.6em;
    border-radius:6px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    transition:transform .2s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out), opacity .2s var(--ease-out), box-shadow .2s var(--ease-out);
    white-space:nowrap;
  }
  .btn:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
  .btn:active{transform:scale(.97);}
  .btn--primary{background:var(--accent-solid); color:var(--on-accent);}
  .btn--primary:hover{transform:translateY(-2px); opacity:.92; box-shadow:0 12px 24px -12px color-mix(in srgb, var(--accent) 60%, transparent);}
  .btn--primary:active{transform:scale(.97);}
  .btn--ghost{background:transparent; color:var(--text); border-color:var(--border-strong);}
  .btn--ghost:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-2px);}
  .btn--lg{font-size:1.0625rem; padding:1.05em 2.2em;}

  /* ---------- Nav ---------- */
  header.nav{
    position:fixed;
    inset-inline:0;
    top:0;
    z-index:100;
    padding-top:env(safe-area-inset-top,0px);
    border-bottom:1px solid var(--border);
  }
  header.nav::before{
    content:"";
    position:absolute;
    inset:0;
    background:color-mix(in srgb, var(--bg) 78%, transparent);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
  .nav-row{
    position:relative;
    z-index:1;
    max-width:1180px;
    margin-inline:auto;
    padding:16px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .logo{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
  }
  .logo img{height:26px; width:auto;}
  .nav-links{
    display:flex;
    align-items:center;
    gap:34px;
    list-style:none;
    margin:0;
    padding:0;
  }
  .nav-links a{
    font-size:.9375rem;
    font-weight:500;
    text-decoration:none;
    color:var(--text);
    position:relative;
    padding-bottom:4px;
  }
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0; right:100%;
    bottom:-1px;
    height:2px;
    background:var(--accent);
    transition:right .25s var(--ease-out);
  }
  .nav-links a.active::after,
  .nav-links a:hover::after{right:0;}
  .nav-right{display:flex;align-items:center;gap:14px;}
  .theme-toggle{
    width:36px;height:36px;
    border-radius:8px;
    border:1px solid var(--border-strong);
    background:transparent;
    color:var(--text);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    flex:none;
    transition:border-color .25s var(--ease-out), color .25s var(--ease-out);
  }
  .theme-toggle:hover{border-color:var(--accent); color:var(--accent);}
  .theme-toggle svg{width:16px;height:16px;}
  .hamburger{
    display:none;
    width:36px;height:36px;
    border:1px solid var(--border-strong);
    border-radius:8px;
    background:transparent;
    color:var(--text);
    align-items:center;justify-content:center;
    cursor:pointer;
  }
  .mobile-panel{
    position:fixed;
    inset:0;
    top:0;
    z-index:99;
    background:var(--bg);
    padding:calc(84px + env(safe-area-inset-top,0px)) 24px 40px;
    display:flex;
    flex-direction:column;
    gap:28px;
  }
  .mobile-panel a{
    font-family:var(--font-serif);
    font-size:1.75rem;
    text-decoration:none;
    color:var(--text);
  }

  @media (max-width:900px){
    .nav-links{display:none;}
    .hamburger{display:flex;}
  }

  /* ---------- Hero ---------- */
  .hero{
    padding-top:calc(140px + env(safe-area-inset-top,0px));
    padding-bottom:clamp(60px,8vw,100px);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:clamp(32px,5vw,64px);
    align-items:start;
  }
  .hero-copy{display:flex; flex-direction:column; align-items:flex-start; gap:22px;}
  .hero h1{font-size:clamp(2.1rem, 1.6vw + 1.7rem, 3rem);}
  .hero .sub{
    color:var(--muted);
    font-size:clamp(1.0625rem,.3vw + 1rem,1.1875rem);
    line-height:1.6;
    max-width:48ch;
  }
  .cta-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:2px;}

  .hero-trust{
    margin-top:clamp(52px,7vw,84px);
    padding-top:32px;
    border-top:1px solid var(--border);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
    text-align:center;
  }
  .hero-trust-foot{display:flex; flex-direction:column; align-items:center; gap:22px;}
  .trust-label{
    font-family:var(--font-mono);
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .trust-logos{display:flex; align-items:center; justify-content:center; gap:clamp(16px,2.5vw,28px); flex-wrap:wrap;}
  .trust-more{font-size:.875rem; color:var(--muted);}

  /* ---------- Marquee ---------- */
  .marquee{
    width:100%;
    background:var(--surface-elevated);
    padding-block:28px;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  }
  .marquee-track{
    display:flex;
    align-items:center;
    gap:clamp(20px,3vw,32px);
    width:max-content;
    padding-block:4px;
  }
  @media (prefers-reduced-motion:no-preference){
    .marquee-track{animation:marquee-scroll 34s linear infinite;}
    .marquee:hover .marquee-track, .marquee:focus-within .marquee-track{animation-play-state:paused;}
  }
  @media (prefers-reduced-motion:reduce){
    .marquee{overflow:visible; -webkit-mask-image:none; mask-image:none;}
    .marquee-track{flex-wrap:wrap; width:100%; justify-content:center;}
    .marquee-track [aria-hidden="true"]{display:none;}
  }
  @keyframes marquee-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-16.6667%);}
  }

  .trust-logo{
    background:#FFFFFF;
    border:1.5px solid rgba(0,0,0,0.14);
    border-radius:12px;
    padding:14px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    height:68px;
    width:150px;
    flex:none;
    position:relative;
    box-shadow:0 10px 22px -12px rgba(0,0,0,0.32);
    transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s var(--ease-out);
  }
  .trust-logo:hover{
    transform:translateY(-3px);
    border-color:var(--accent);
    box-shadow:0 16px 30px -14px rgba(0,0,0,0.4);
  }
  .trust-logo img{height:36px; width:auto; max-width:114px; object-fit:contain;}

  /* Pricing hero rate card */
  .rate-card{
    width:100%;
    max-width:420px;
    background:var(--surface);
    border:1px solid var(--border-strong);
    border-top:3px dashed var(--accent);
    border-radius:4px 4px 16px 16px;
    padding:24px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .rate-card-head{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
  .rate-card-title{font-family:var(--font-mono); font-size:.8125rem; font-weight:600; color:var(--text); letter-spacing:.02em;}
  .rate-card-badge{
    font-family:var(--font-mono);
    font-size:.625rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--accent);
    border:1.5px solid var(--accent);
    border-radius:4px;
    padding:.3em .6em;
    transform:rotate(-2deg);
    flex:none;
  }
  .rate-card-rows{display:flex; flex-direction:column; gap:12px; padding-top:4px; border-top:1px dashed var(--border-strong);}
  .rate-row{display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:.875rem; color:var(--muted);}
  .rate-value{font-family:var(--font-mono); color:var(--text); font-variant-numeric:tabular-nums; white-space:nowrap;}
  .rate-card-total{
    display:flex; align-items:baseline; justify-content:space-between; gap:12px;
    padding-top:14px; border-top:1px dashed var(--border-strong);
    font-size:.9375rem; font-weight:700; color:var(--text);
  }
  .rate-total-value{font-family:var(--font-mono); font-size:1.375rem; color:var(--accent); font-variant-numeric:tabular-nums;}
  .rate-card-footnote{text-align:center; color:var(--muted); font-size:.8125rem; margin-top:16px;}

  /* Hero dashboard visual */
  .hero-visual{
    display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:6px; width:100%;
    transform:translateY(var(--parallax-y, 0px));
  }
  .dash-carousel{
    display:flex;
    width:100%;
    max-width:420px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    position:relative;
    perspective:900px;
  }
  .dash-carousel::-webkit-scrollbar{display:none;}
  .dash-card{
    flex:0 0 100%;
    scroll-snap-align:center;
    background:var(--surface);
    border:1px solid var(--border-strong);
    border-top:3px dashed var(--accent);
    border-radius:4px 4px 16px 16px;
    padding:20px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    gap:18px;
    transform-style:preserve-3d;
    will-change:transform;
    transform:rotateX(var(--tilt-rx, 0deg)) rotateY(var(--tilt-ry, 0deg));
  }
  @media (prefers-reduced-motion:no-preference){
    .dash-card{transition:transform .2s var(--ease-out);}
    .hero-visual{transition:transform .1s linear;}
  }
  .dash-head{display:flex; align-items:center; gap:10px;}
  .dash-dots{display:flex; gap:5px;}
  .dash-dots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong); display:block;}
  .dash-title{flex:1; font-size:.8125rem; font-weight:600; color:var(--text);}
  .dash-live{
    display:inline-flex; align-items:center; gap:6px;
    font-family:var(--font-mono);
    font-size:.625rem; font-weight:700; color:var(--positive);
    letter-spacing:.06em; text-transform:uppercase;
    white-space:nowrap;
    border:1.5px solid var(--positive);
    border-radius:4px;
    padding:.25em .55em;
    transform:rotate(-2deg);
  }
  .dash-live .dot{width:6px;height:6px;border-radius:50%;background:var(--positive); display:block;}
  .dash-live.is-accent{color:var(--accent); border-color:var(--accent);}
  .dash-live.is-accent .dot{background:var(--accent-solid);}
  @media (prefers-reduced-motion:no-preference){
    .dash-live .dot{animation:pulse 1.8s ease-in-out infinite;}
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}

  .dash-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .dash-stat{
    background:transparent;
    border-bottom:1px dashed var(--border-strong);
    padding-bottom:8px;
    display:flex; flex-direction:column; gap:3px;
  }
  .dash-stat .v{font-family:var(--font-mono); font-size:1rem; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.01em;}
  .dash-stat .l{font-size:.625rem; color:var(--muted); line-height:1.3;}

  .dash-chart{display:flex; align-items:flex-end; gap:4px; height:52px;}
  .dash-chart span{flex:1; background:var(--border-strong); border-radius:2px 2px 0 0;}
  .dash-chart span.is-peak{background:var(--accent-solid);}

  .dash-funnel{display:flex; flex-direction:column; gap:10px;}
  .funnel-row{display:grid; grid-template-columns:76px 1fr 44px; align-items:center; gap:10px;}
  .funnel-row .f-label{font-size:.6875rem; color:var(--muted);}
  .funnel-row .f-bar{height:9px; border-radius:4px; background:var(--border-strong); display:block;}
  .funnel-row .f-bar.is-peak{background:var(--accent-solid);}
  .funnel-row .f-value{font-size:.75rem; font-weight:700; text-align:right; font-variant-numeric:tabular-nums;}

  .status-pill{
    font-family:var(--font-mono);
    font-size:.625rem; font-weight:700;
    letter-spacing:.04em; text-transform:uppercase;
    padding:.3em .65em; border-radius:4px;
    border:1.5px solid currentColor;
    white-space:nowrap; flex:none;
    transform:rotate(-2deg);
  }
  .status-pill--paid{background:transparent; color:var(--positive);}
  .status-pill--review{background:transparent; color:var(--muted); border-style:dashed;}

  .dash-pager{display:flex; justify-content:center; gap:8px;}
  .dash-pager-dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--border-strong);
    border:none; padding:0; cursor:pointer;
    transition:background .25s var(--ease-out), transform .25s var(--ease-out);
  }
  .dash-pager-dot.is-active{background:var(--accent-solid); transform:scale(1.3);}
  .dash-pager-dot:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

  .dash-rows{display:flex; flex-direction:column; gap:12px; padding-top:4px; border-top:1px dashed var(--border-strong);}
  .dash-row{display:flex; align-items:center; gap:10px;}
  .dash-avatar{
    width:28px;height:28px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:.625rem; font-weight:800; color:#0A0A0A;
    flex:none;
  }
  .dash-meta{flex:1; min-width:0; display:flex; flex-direction:column;}
  .dash-meta .name{font-size:.8125rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .dash-meta .platform{font-size:.6875rem; color:var(--muted);}
  .dash-delta{font-size:.8125rem; font-weight:700; color:var(--positive); font-variant-numeric:tabular-nums; white-space:nowrap;}

  /* ---------- Icon badges (shared) ---------- */
  .icon-badge{
    width:42px;height:42px;
    border-radius:9px;
    background:transparent;
    border:1px solid var(--border-strong);
    display:flex;align-items:center;justify-content:center;
    flex:none;
  }
  .icon-badge svg{width:21px;height:21px;}
  .icon-badge--warn{color:var(--accent);}
  .icon-badge--accent{color:var(--accent);}
  .icon-badge--sm{width:32px; height:32px; border-radius:7px;}
  .icon-badge--sm svg{width:16px;height:16px;}

  /* ---------- Modules ---------- */
  .module-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .module-grid .module-card:last-child{grid-column:span 2;}
  .module-grid .module-card:last-child .module-list{display:grid; grid-template-columns:1fr 1fr; column-gap:24px;}
  .module-grid .module-card:last-child .module-list li:nth-child(-n+2){padding-top:0; margin-top:0; border-top:none;}
  .module-grid .module-card:last-child .module-list li:nth-child(3){grid-column:1 / -1;}
  .module-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .module-head{display:flex; align-items:center; gap:12px;}
  .module-cat{
    font-family:var(--font-mono);
    font-size:.6875rem; font-weight:600;
    letter-spacing:.05em; text-transform:uppercase;
    color:var(--accent);
    line-height:1.3;
  }
  .module-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
  .module-list li{display:flex; flex-direction:column; gap:2px; padding-top:14px; margin-top:14px; border-top:1px solid var(--border);}
  .module-list li:first-child{padding-top:0; margin-top:0; border-top:none;}
  .m-name{font-size:.875rem; font-weight:700; color:var(--text);}
  .m-desc{font-size:.8125rem; color:var(--muted); line-height:1.45;}

  /* ---------- Pain points ---------- */
  .pain-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .pain-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-top:3px dashed var(--accent);
    border-radius:10px;
    padding:32px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .pain-card .tag{
    font-family:var(--font-mono);
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.1em;
    color:var(--accent);
  }
  .pain-card h3{font-family:var(--font-sans); font-size:1.3125rem; font-weight:700; line-height:1.3;}
  .pain-card p{color:var(--muted); font-size:1rem; line-height:1.6; margin:0;}
  .bridge{
    text-align:center;
    max-width:760px;
    margin:48px auto 0;
    font-family:var(--font-serif);
    font-size:clamp(1.375rem,1vw + 1.1rem,1.875rem);
    color:var(--accent);
    line-height:1.4;
  }

  /* ---------- Platform steps (timeline) ---------- */
  .timeline{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:20px;
    position:relative;
  }
  .timeline::before{
    content:"";
    position:absolute;
    top:16px;
    left:0; right:0;
    border-top:1.5px dashed var(--border-strong);
  }
  .timeline-step{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .timeline-node{
    width:32px; height:32px;
    border-radius:50%;
    background:var(--bg);
    border:1.5px solid var(--accent);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-mono); font-size:.75rem; font-weight:700; color:var(--accent);
    position:relative;
    z-index:1;
    flex:none;
  }
  .timeline-body{display:flex; flex-direction:column; gap:10px;}
  .timeline-body h3{
    display:flex; align-items:center; gap:8px;
    font-family:var(--font-sans); font-size:1.0625rem; font-weight:700;
  }
  .timeline-body h3 svg{width:17px; height:17px; color:var(--accent); flex:none;}
  .timeline-body p{color:var(--muted); font-size:.875rem; line-height:1.55; margin:0;}

  /* ---------- Two ways ---------- */
  .run-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .run-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:12px;
    padding:36px;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .run-top{display:flex; align-items:center; justify-content:space-between; gap:12px;}
  .badge{
    font-family:var(--font-mono);
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:.4em .9em;
    border-radius:4px;
  }
  .badge--yellow{background:var(--accent-solid); color:var(--on-accent);}
  .badge--muted{background:var(--surface-elevated); color:var(--text); border:1px solid var(--border-strong);}
  .run-card h3{font-family:var(--font-sans); font-size:1.375rem; font-weight:700;}
  .run-card p{color:var(--muted); font-size:1rem; line-height:1.65; margin:0;}
  .run-bridge{
    text-align:center;
    max-width:640px;
    margin:40px auto 0;
    color:var(--muted);
    font-family:var(--font-serif);
    font-style:italic;
    font-size:1.1875rem;
  }

  /* ---------- Intelligence ---------- */
  .intel-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .report-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  .report-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-left:3px solid var(--accent);
    border-radius:8px;
    padding:26px;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .report-card .icon{color:var(--accent); width:24px; height:24px;}
  .report-card h3{font-family:var(--font-sans); font-size:1.0625rem; font-weight:700;}
  .report-card p{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0;}

  /* ---------- Case studies ---------- */
  .case-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .case-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-top:3px solid var(--accent);
    border-radius:10px;
    padding:30px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .case-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
  .case-brand{display:flex; align-items:center; gap:12px;}
  .brand-badge{
    height:26px; width:44px;
    background:#FFFFFF;
    border-radius:6px;
    display:flex; align-items:center; justify-content:center;
    padding:4px 6px;
    flex:none;
  }
  .brand-badge img{max-height:100%; max-width:100%; object-fit:contain;}
  .case-card h3{font-family:var(--font-serif); font-size:clamp(1.25rem,.5vw + 1.1rem,1.5rem); font-weight:400;}
  .case-tag{font-family:var(--font-mono); font-size:.75rem; color:var(--muted); letter-spacing:.02em;}
  .case-card p{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0;}
  .case-stat{
    font-family:var(--font-mono);
    font-weight:600;
    color:var(--accent);
    font-size:clamp(1.125rem,.6vw + 1rem,1.375rem);
    margin-top:auto;
    padding-top:8px;
    border-top:1px dashed var(--border-strong);
    font-variant-numeric:tabular-nums;
  }

  /* ---------- Intelligence spotlight ---------- */
  .spotlight-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .spotlight-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .spotlight-thumb{
    width:100%;
    aspect-ratio:16/9;
    border-radius:8px;
    overflow:hidden;
    background:var(--surface-elevated);
  }
  .spotlight-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
  .spotlight-top{display:flex; align-items:center; justify-content:space-between; gap:10px;}
  .spotlight-type{font-family:var(--font-mono); font-size:.6875rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); text-align:right;}
  .spotlight-card h3{font-family:var(--font-sans); font-size:1.0625rem; font-weight:700; line-height:1.3;}
  .spotlight-card p{color:var(--muted); font-size:.875rem; line-height:1.55; margin:0;}

  /* ---------- Who it's for ---------- */
  .persona-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .persona-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:12px;
    padding:32px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .persona-role{font-family:var(--font-mono); font-size:.6875rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent);}
  .persona-card h3{font-family:var(--font-sans); font-size:1.1875rem; font-weight:700; line-height:1.35;}
  .persona-card p{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0;}
  .persona-uses{
    display:flex; flex-direction:column; gap:10px;
    margin-top:auto; padding-top:16px;
    border-top:1px solid var(--border);
  }
  .persona-uses-label{font-size:.6875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}
  .persona-tags{display:flex; flex-wrap:wrap; gap:7px;}
  .persona-tag{
    font-size:.75rem; font-weight:600;
    padding:.4em .75em; border-radius:6px;
    background:var(--surface-elevated); color:var(--text);
    white-space:nowrap;
  }

  /* ---------- Pricing tiers ---------- */
  .pricing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .price-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:14px;
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    gap:16px;
    position:relative;
  }
  .price-card--featured{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent);}
  .price-card-badge{
    position:absolute; top:-13px; left:28px;
    background:var(--bg); color:var(--accent);
    font-family:var(--font-mono);
    font-size:.6875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    padding:.35em .8em; border-radius:4px;
    border:1.5px solid var(--accent);
    transform:rotate(-3deg);
  }
  .price-tier-name{font-family:var(--font-sans); font-size:1.0625rem; font-weight:700;}
  .price-amount{display:flex; align-items:baseline; gap:6px;}
  .price-amount .num{font-family:var(--font-mono); font-size:1.875rem; font-weight:600; color:var(--text); line-height:1;}
  .price-amount .period{font-size:.8125rem; color:var(--muted);}
  .price-desc{font-size:.875rem; color:var(--muted); line-height:1.5; margin:0;}
  .price-ideal{font-size:.8125rem; color:var(--muted); padding-top:14px; border-top:1px solid var(--border); margin-top:auto;}
  .price-ideal strong{color:var(--text); font-weight:700; display:block; margin-bottom:4px; font-size:.6875rem; text-transform:uppercase; letter-spacing:.06em;}
  .price-card .btn{margin-top:2px; width:100%;}

  /* ---------- Add-on table ---------- */
  .addon-table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:12px;}
  .addon-table{width:100%; border-collapse:collapse; min-width:640px;}
  .addon-table th, .addon-table td{text-align:left; padding:16px 20px; font-size:.875rem;}
  .addon-table thead th{
    font-family:var(--font-mono);
    font-size:.6875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--muted); background:var(--surface-elevated); border-bottom:1px solid var(--border);
  }
  .addon-table tbody tr:not(:last-child) td{border-bottom:1px dashed var(--border-strong);}
  .addon-table tbody tr{background:var(--surface); transition:background .25s var(--ease-out);}
  .addon-table tbody tr:hover{background:var(--surface-elevated);}
  .addon-table td.addon-name{font-weight:700;}
  .addon-table td.addon-price{font-family:var(--font-mono); font-variant-numeric:tabular-nums; color:var(--accent); font-weight:600; white-space:nowrap;}

  /* ---------- Intelligence pricing ---------- */
  .intel-price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .intel-price-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-left:3px solid var(--accent);
    border-radius:8px;
    padding:26px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .intel-price-card h3{font-family:var(--font-sans); font-size:1.0625rem; font-weight:700;}
  .intel-price-card p{color:var(--muted); font-size:.875rem; line-height:1.55; margin:0;}
  .intel-price-tag{
    font-family:var(--font-mono); font-weight:600; color:var(--accent); font-size:1.125rem;
    margin-top:auto; padding-top:12px; border-top:1px dashed var(--border-strong);
  }
  .intel-price-tag span:not(.countup-num){font-family:var(--font-sans); font-size:.75rem; color:var(--muted); font-weight:400; margin-left:4px;}

  /* ---------- FAQ ---------- */
  .faq-list{display:flex; flex-direction:column;}
  .faq-item{padding-block:24px; border-bottom:1px solid var(--border);}
  .faq-item:first-child{padding-top:0;}
  .faq-item:last-child{border-bottom:none;}
  .faq-item h3{font-family:var(--font-sans); font-size:1.0625rem; font-weight:700; margin:0 0 8px;}
  .faq-item p{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0;}

  /* ---------- Final CTA ---------- */
  .final-cta{
    background:var(--bg-alt);
    text-align:center;
    padding-block:clamp(80px,10vw,130px);
  }
  .final-cta h2{
    font-size:clamp(2rem,2vw + 1.4rem,3.25rem);
    max-width:20ch;
    margin-inline:auto;
  }
  .final-cta .sub{
    max-width:52ch;
    margin:20px auto 32px;
    color:var(--muted);
    font-size:1.0625rem;
    line-height:1.6;
  }
  .reassure{
    margin-top:16px;
    color:var(--muted);
    font-size:.875rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .reassure .icon{width:15px;height:15px;color:var(--positive);}

  /* ---------- Footer ---------- */
  footer{padding-block:56px;}
  .footer-row{
    display:flex;
    justify-content:space-between;
    gap:32px;
    flex-wrap:wrap;
  }
  .footer-left .logo{display:block; margin-bottom:8px;}
  .footer-left .tag{color:var(--muted); font-size:.9375rem; margin-bottom:16px;}
  .footer-left .copy{color:var(--muted); font-size:.8125rem;}
  .footer-links{list-style:none; margin:0 0 16px; padding:0; display:flex; gap:24px; flex-wrap:wrap;}
  .footer-links a{text-decoration:none; font-size:.9375rem; color:var(--text);}
  .footer-links a:hover{color:var(--accent);}
  .footer-right{text-align:right;}
  .footer-email{
    display:inline-flex; align-items:center; gap:7px;
    color:var(--muted); font-size:.875rem;
  }
  .footer-email .icon{width:14px;height:14px;}

  /* ---------- Contact modal ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:200;
    background:rgba(0,0,0,.6);
    display:flex; align-items:center; justify-content:center;
    padding:24px;
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  }
  body.no-scroll{overflow:hidden;}
  .modal-card{
    background:var(--surface);
    border:1px solid var(--border-strong);
    border-radius:16px;
    padding:36px 32px;
    width:100%; max-width:520px;
    max-height:calc(100vh - 48px);
    overflow-y:auto;
    position:relative;
    box-shadow:var(--shadow);
  }
  .modal-close{
    position:absolute; top:16px; right:16px;
    width:32px; height:32px; border-radius:8px;
    background:transparent; border:1px solid var(--border-strong);
    color:var(--text); display:flex; align-items:center; justify-content:center;
    cursor:pointer; flex:none;
  }
  .modal-close:hover{border-color:var(--accent); color:var(--accent);}
  .modal-close svg{width:16px;height:16px;}
  .modal-card h3{font-family:var(--font-serif); font-size:1.625rem; font-weight:400; margin:0 0 6px;}
  .modal-sub{color:var(--muted); font-size:.9375rem; margin:0 0 26px; line-height:1.5;}
  .form-row{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
  .form-row label{font-size:.8125rem; font-weight:600; color:var(--text);}
  .form-row input, .form-row textarea{
    font-family:var(--font-sans);
    font-size:.9375rem;
    padding:.85em 1em;
    border-radius:8px;
    border:1px solid var(--border-strong);
    background:var(--surface-elevated);
    color:var(--text);
    resize:vertical;
  }
  .form-row input::placeholder, .form-row textarea::placeholder{color:var(--muted);}
  .form-row input:focus, .form-row textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
  .form-note{font-size:.75rem; color:var(--muted); margin:-6px 0 18px;}
  .form-note.is-error{color:var(--warning);}
  #contactSubmit{width:100%;}
  #contactSubmit:disabled{opacity:.6; cursor:not-allowed; transform:none;}
  #contactSuccess{text-align:center; padding-block:12px;}
  .success-icon{
    width:56px; height:56px; margin:0 auto 18px;
    border-radius:50%; background:color-mix(in srgb, var(--positive) 18%, transparent);
    display:flex; align-items:center; justify-content:center; color:var(--positive);
  }
  .success-icon svg{width:28px; height:28px;}
  #contactSuccess p{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0 0 26px;}

  /* ---------- Reveal animation ---------- */
  .reveal{
    opacity:1;
    transform:none;
    transition:opacity .6s ease, transform .6s ease;
  }
  @media (prefers-reduced-motion:no-preference){
    .reveal{opacity:0; transform:translateY(18px);}
    .reveal.is-visible{opacity:1; transform:none;}
  }

  /* ---------- Staggered card cascade ---------- */
  .stagger-grid > *{transition:opacity .5s ease, transform .5s ease;}
  @media (prefers-reduced-motion:no-preference){
    .stagger-grid > *{opacity:0; transform:translateY(16px);}
    .reveal.is-visible .stagger-grid > *{opacity:1; transform:none;}
    .stagger-grid > *:nth-child(2){transition-delay:.05s;}
    .stagger-grid > *:nth-child(3){transition-delay:.1s;}
    .stagger-grid > *:nth-child(4){transition-delay:.15s;}
    .stagger-grid > *:nth-child(5){transition-delay:.2s;}
    .stagger-grid > *:nth-child(6){transition-delay:.25s;}
    .stagger-grid > *:nth-child(7){transition-delay:.3s;}
    .stagger-grid > *:nth-child(8){transition-delay:.35s;}
    .stagger-grid > *:nth-child(9){transition-delay:.4s;}
  }

  /* ---------- Card hover lift ---------- */
  .module-card, .pain-card, .run-card, .case-card, .spotlight-card,
  .persona-card, .price-card, .intel-price-card, .timeline-step, .report-card{
    transition:transform .3s var(--ease-out), border-color .3s var(--ease-out);
  }
  .module-card:hover, .pain-card:hover, .run-card:hover, .case-card:hover, .spotlight-card:hover,
  .persona-card:hover, .price-card:hover, .intel-price-card:hover, .report-card:hover{
    transform:translateY(-4px);
    border-color:var(--border-strong);
  }
  .timeline-step:hover{transform:translateY(-4px);}
  .timeline-step:hover .timeline-node{border-color:var(--text);}

  /* ---------- Stamp impact ---------- */
  @media (prefers-reduced-motion:no-preference){
    .dash-live, .status-pill{
      opacity:0;
      transform:scale(1.7) rotate(-8deg);
      transition:opacity .4s ease .2s, transform .45s cubic-bezier(.34,1.56,.64,1) .2s;
    }
    body.loaded .dash-live{opacity:1; transform:scale(1) rotate(-2deg);}
    body.loaded .status-pill{opacity:1; transform:scale(1) rotate(-2deg);}
    .price-card-badge{
      opacity:0;
      transform:scale(1.7) rotate(-9deg);
      transition:opacity .4s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
    }
    .reveal.is-visible .price-card-badge{opacity:1; transform:scale(1) rotate(-3deg);}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:960px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-copy{align-items:flex-start;}
    .hero-visual{order:2; max-width:420px; margin-inline:auto;}
    .timeline{display:flex; flex-direction:column; gap:32px;}
    .timeline::before{top:0; bottom:0; left:15px; right:auto; border-top:none; border-left:1.5px dashed var(--border-strong);}
    .timeline-step{flex-direction:row; align-items:flex-start; gap:18px;}
    .report-grid{grid-template-columns:repeat(2,1fr);}
    .module-grid{grid-template-columns:repeat(2,1fr);}
    .spotlight-grid{grid-template-columns:repeat(2,1fr);}
    .pricing-grid{grid-template-columns:repeat(2,1fr);}
    .intel-price-grid{grid-template-columns:repeat(2,1fr);}
    .persona-grid{grid-template-columns:1fr;}
  }
  @media (max-width:700px){
    .pain-grid,.run-grid,.case-grid,.persona-grid{grid-template-columns:1fr;}
    .report-grid{grid-template-columns:1fr;}
    .module-grid{grid-template-columns:1fr;}
    .module-grid .module-card:last-child{grid-column:auto;}
    .module-grid .module-card:last-child .module-list{display:flex; flex-direction:column;}
    .module-grid .module-card:last-child .module-list li:nth-child(-n+2){padding-top:14px; margin-top:14px; border-top:1px solid var(--border);}
    .module-grid .module-card:last-child .module-list li:first-child{padding-top:0; margin-top:0; border-top:none;}
    .spotlight-grid{grid-template-columns:1fr;}
    .pricing-grid{grid-template-columns:1fr;}
    .intel-price-grid{grid-template-columns:1fr;}
    .footer-row{flex-direction:column;}
    .footer-right{text-align:left;}
    .trust-logos{gap:24px;}
  }
  @media (max-width:480px){
    .wrap{padding-inline:16px;}
    .nav-row{padding:14px 16px;}
    .nav-right{gap:8px;}
    .nav-right .btn--primary, .nav-right .btn--ghost{display:none;}
    .dash-stats{gap:6px;}
    .dash-stat{padding-bottom:6px;}
    .dash-stat .v{font-size:.875rem;}
    .dash-stat .l{font-size:.5625rem;}
    .funnel-row{grid-template-columns:60px 1fr 36px; gap:6px;}
    .cta-row{flex-direction:column; align-items:stretch;}
    .cta-row .btn{width:100%;}
    .modal-card{padding:28px 20px;}
    .modal-overlay{padding:12px;}
    .case-top{gap:8px;}
    .price-card{padding:28px 20px;}
    .run-card{padding:28px 20px;}
    .pain-card{padding:24px;}
  }
