  /* ---------- typography: Poppins via Google Fonts ---------- */

  /* ---------- tokens ---------- */
  :root{
    --bg:          #0a0a0f;
    --bg-card:     #0d0d14;
    --bg-card-hi:  #11111c;
    --ink:         #f0eee8;
    --ink-dim:     #a29c91;
    --ink-faint:   #6b665e;
    --line:        rgba(240,238,232,.10);
    --line-soft:   rgba(240,238,232,.06);
    --accent:      #8b7cf8;
    --accent-dim:  rgba(139,124,248,.55);
    --accent-line: rgba(139,124,248,.30);
    --accent-glow: rgba(124,108,240,.12);

    --font-display:"Poppins","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
    --font-body:   "Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
    --font-mono:   "Cascadia Code","SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;
  }

  *,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{ background:rgba(139,124,248,.35); color:var(--ink); }

  a{ color:inherit; text-decoration:none; }
  :focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
    border-radius:2px;
  }

  .num{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }

  /* ---------- nav ---------- */
  .nav{
    position:relative; z-index:5;
    display:flex; align-items:center; justify-content:space-between;
    gap:24px;
    padding:0 clamp(20px,4vw,56px);
    height:62px;
    border-bottom:1px solid var(--line-soft);
    background:var(--bg);
  }
  .wordmark{ display:flex; align-items:center; gap:11px; white-space:nowrap; }
  .mark{
    position:relative; width:22px; height:22px; flex:none;
    border:1px solid var(--ink-dim); border-radius:50%;
  }
  .mark::before{ /* orbit dot — the "pilot" */
    content:""; position:absolute; top:-3px; left:50%; margin-left:-3px;
    width:6px; height:6px; border-radius:50%; background:var(--accent);
  }
  .mark::after{ /* crosshair line */
    content:""; position:absolute; inset:50% auto auto 4px;
    width:14px; height:1px; background:var(--line);
  }
  .wordmark strong{
    font-family:var(--font-display); font-weight:600;
    font-size:15px; letter-spacing:-.01em;
  }
  .wordmark span{ color:var(--ink-faint); font-size:15px; letter-spacing:-.01em; }

  .nav-links{ display:flex; gap:clamp(18px,3vw,38px); list-style:none; }
  .nav-links a{
    font-size:13.5px; color:var(--ink-dim);
    letter-spacing:.01em;
    transition:color .18s ease;
  }
  .nav-links a:hover{ color:var(--ink); }

  .nav-cta{
    font-size:13px; font-weight:600; letter-spacing:.02em;
    color:var(--ink);
    border:1px solid var(--line);
    padding:8px 16px; border-radius:3px;
    transition:border-color .18s ease, color .18s ease;
    white-space:nowrap;
  }
  .nav-cta:hover{ border-color:var(--accent-dim); color:var(--accent); }

  .nav-toggle{
    display:none;
    flex-direction:column; justify-content:center; align-items:stretch; gap:5px;
    width:40px; height:38px; padding:0 9px; flex:none;
    background:none; border:1px solid var(--line); border-radius:3px;
    cursor:pointer;
  }
  .nav-toggle span{
    display:block; height:1.5px; width:100%;
    background:var(--ink-dim); border-radius:1px;
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav.open .nav-toggle span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  .nav.open .nav-toggle span:nth-child(2){ opacity:0; }
  .nav.open .nav-toggle span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

  @media (max-width:780px){
    .nav{ gap:14px; }
    .nav-cta{ margin-left:auto; }
    .nav-toggle{ display:flex; }
    .nav-links{
      display:none;
      position:absolute; top:62px; left:0; right:0;
      flex-direction:column; gap:0;
      background:var(--bg);
      border-bottom:1px solid var(--line);
      padding:6px 0 10px;
      z-index:40;
    }
    .nav.open .nav-links{ display:flex; }
    .nav-links a{
      display:block;
      padding:12px clamp(20px,4vw,56px);
      font-size:15px;
    }
  }

  /* ---------- hero shell ---------- */
  .hero{
    position:relative;
    overflow:hidden;
    padding:clamp(24px,3.5vh,40px) clamp(20px,4vw,56px) clamp(40px,6vh,64px);
    background:
      radial-gradient(1100px 520px at 78% 8%, rgba(124,108,240,.055), transparent 65%),
      radial-gradient(800px 600px at 4% 96%, rgba(240,238,232,.02), transparent 60%);
  }
  .hero-inner{ max-width:1240px; margin:0 auto; position:relative; z-index:2; }

  /* concentric line art */
  .rings{ position:absolute; inset:0; z-index:0; pointer-events:none; }
  .ring{
    position:absolute; border-radius:50%;
    border:1px solid rgba(240,238,232,.045);
    transform:translate(-50%,-50%);
  }
  .rings-a{ left:82%; top:58%; }
  .rings-a .ring:nth-child(1){ width:340px; height:340px; }
  .rings-a .ring:nth-child(2){ width:560px; height:560px; }
  .rings-a .ring:nth-child(3){ width:800px; height:800px; }
  .rings-a .ring:nth-child(4){ width:1080px;height:1080px; opacity:.7; }
  .rings-b{ left:6%; top:4%; }
  .rings-b .ring:nth-child(1){ width:260px; height:260px; }
  .rings-b .ring:nth-child(2){ width:440px; height:440px; opacity:.6; }

  /* ---------- headline block ---------- */
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-mono);
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-dim);
    margin-bottom:14px;
    white-space:nowrap;
  }
  .eyebrow::before{
    content:""; width:24px; height:1px; background:var(--ink-faint); flex:none;
  }
  .eyebrow .num{ color:var(--ink); }

  h1{
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(2.15rem,4.7vw,4rem);
    line-height:1.08;
    letter-spacing:-.03em;
    margin-bottom:14px;
    text-wrap:balance;
  }
  h1 .struck{
    text-decoration:line-through;
    text-decoration-color:var(--ink-faint);
    text-decoration-thickness:.06em;
  }

  .lede{
    max-width:80ch;
    color:var(--ink-dim);
    font-size:clamp(1rem,1.25vw,1.125rem);
    line-height:1.65;
    margin-bottom:clamp(22px,3vh,34px);
  }
  .lede strong{ color:var(--ink); font-weight:600; }
  .hero .lede{ margin-bottom:clamp(48px,6vh,68px); }

  /* ---------- comparison ---------- */
  .compare{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1.06fr);
    gap:clamp(16px,2.2vw,28px);
    align-items:stretch;
  }

  .card{
    position:relative;
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:22px 24px 18px;
  }

  /* Figma-style selection handles */
  .handle{
    position:absolute; width:7px; height:7px;
    background:var(--bg); border:1px solid var(--ink-faint);
    z-index:3;
  }
  .card-build .handle{ border-color:var(--accent); }
  .h-tl{ top:-4px; left:-4px; }  .h-tr{ top:-4px; right:-4px; }
  .h-bl{ bottom:-4px; left:-4px; } .h-br{ bottom:-4px; right:-4px; }

  /* Figma-style layer tag */
  .layer-tag{
    position:absolute; top:-23px; left:-1px;
    font-family:var(--font-mono); font-size:10px; letter-spacing:.08em;
    padding:3px 8px 4px;
    border:1px solid var(--line);
    color:var(--ink-faint);
    background:var(--bg);
    white-space:nowrap;
  }
  .card-build .layer-tag{
    border-color:var(--accent);
    background:var(--accent);
    color:#0a0a0f; font-weight:600;
  }

  .card-head{
    display:flex; align-items:baseline; justify-content:space-between; gap:12px;
    margin-bottom:14px;
  }
  .card-eyebrow{
    font-family:var(--font-mono);
    font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-dim);
  }
  .card-build .card-eyebrow{ color:var(--accent); }
  .card-note{
    font-family:var(--font-mono); font-size:10px; letter-spacing:.06em;
    color:var(--ink-faint);
    border:1px solid var(--line-soft);
    padding:3px 7px;
    white-space:nowrap;
  }

  /* --- left: the ledger (dense, itemized, a bill) --- */
  .ledger{ list-style:none; }
  .row{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    column-gap:12px;
    padding:7px 0;
    border-bottom:1px solid var(--line-soft);
  }
  .tile{
    width:24px; height:24px;
    display:grid; place-items:center;
    border:1px solid var(--line);
    font-family:var(--font-mono); font-size:12px;
    color:var(--ink-dim);
    background:rgba(240,238,232,.02);
  }
  .tool-cat{
    min-width:0;
    font-family:var(--font-mono);
    font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--ink);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .price{
    font-family:var(--font-mono); font-size:13.5px;
    color:var(--ink-dim); text-align:right; white-space:nowrap;
  }
  .price em{ font-style:normal; font-size:10px; color:var(--ink-faint); }

  .total{
    display:flex; align-items:baseline; justify-content:space-between; gap:12px;
    padding-top:10px; margin-top:2px;
  }
  .total-label{
    font-family:var(--font-mono); font-size:10.5px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim);
  }
  .total-figure{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(26px,2.6vw,32px); letter-spacing:-.02em; color:var(--ink);
    white-space:nowrap;
  }
  .total-figure em{
    font-style:normal; font-family:var(--font-mono);
    font-size:12px; font-weight:400; color:var(--ink-faint); letter-spacing:0;
  }
  .yearly{
    margin-top:5px; text-align:right;
    font-size:12.5px; color:var(--ink-faint); line-height:1.5;
  }
  .yearly .num{ color:var(--ink-dim); }
  .stack-note{
    margin-top:10px; padding-top:9px;
    border-top:1px dashed var(--line-soft);
    font-family:var(--font-mono); font-size:10px;
    letter-spacing:.06em; color:var(--ink-faint);
  }

  /* --- right: the product (singular, confident) --- */
  .card-build{
    background:linear-gradient(180deg,var(--bg-card-hi),var(--bg-card) 70%);
    border-color:var(--accent-line);
    box-shadow:0 0 70px var(--accent-glow);
    display:flex; flex-direction:column;
    padding:24px 28px 22px;
  }
  .build-title{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(17px,1.6vw,20px); letter-spacing:-.015em;
    margin:2px 0 8px;
  }
  .zero{
    display:flex; align-items:baseline; gap:14px;
    margin:2px 0 14px;
  }
  .zero-figure{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(52px,5.6vw,76px);
    line-height:.95; letter-spacing:-.04em; color:var(--ink);
  }
  .zero-caption{
    font-family:var(--font-mono); font-size:11px; line-height:1.7;
    letter-spacing:.08em; text-transform:uppercase; color:var(--ink-dim);
  }
  .zero-caption b{ color:var(--accent); font-weight:600; display:block; }

  .includes{
    list-style:none;
    display:grid; grid-template-columns:1fr 1fr;
    column-gap:18px; row-gap:5px;
    padding:11px 0;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    margin-bottom:14px;
  }
  .includes li{
    display:flex; align-items:baseline; gap:9px;
    font-size:13px; color:var(--ink-dim);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .includes li::before{
    content:"\2713";
    font-family:var(--font-mono); font-size:11px;
    color:var(--accent); flex:none;
  }
  .includes li.more{ color:var(--ink-faint); }
  .includes li.more::before{ content:"+"; color:var(--ink-faint); }

  .ownership{
    display:flex; flex-wrap:wrap; gap:8px;
    margin-bottom:14px;
  }
  .ownership span{
    font-family:var(--font-mono); font-size:10px; letter-spacing:.03em;
    color:var(--ink-dim);
    border:1px solid var(--line);
    padding:4px 9px;
    white-space:nowrap;
  }

  .cta-row{
    margin-top:auto;
    display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  }
  .btn-primary{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--accent); color:#0a0a0f;
    font-family:var(--font-display); font-weight:600;
    font-size:14.5px; letter-spacing:0;
    padding:13px 22px; border-radius:3px;
    transition:background .18s ease, transform .18s ease;
  }
  .btn-primary .arr{ transition:transform .18s ease; font-family:var(--font-body); }
  .btn-primary:hover{ background:#a195fa; }
  .btn-primary:hover .arr{ transform:translateX(4px); }
  .btn-quiet{
    font-size:13.5px; color:var(--ink-dim);
    border-bottom:1px solid var(--line);
    padding-bottom:2px;
    transition:color .18s ease, border-color .18s ease;
  }
  .btn-quiet:hover{ color:var(--ink); border-color:var(--ink-dim); }

  .cta-note{
    margin-top:11px;
    font-family:var(--font-mono);
    font-size:10.5px; letter-spacing:.04em;
    color:var(--ink-faint);
  }

  /* --- connector --- */
  .connector{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px; padding:0 2px;
  }
  .connector .disc{
    width:46px; height:46px; border-radius:50%;
    border:1px solid var(--line);
    display:grid; place-items:center;
    font-size:18px; color:var(--accent);
    background:var(--bg);
  }
  .connector .lbl{
    font-family:var(--font-mono); font-size:9.5px;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--ink-faint);
    writing-mode:vertical-rl;
  }
  .arrow-v{ display:none; }

  /* --- dimension lines under cards --- */
  .dim{
    display:flex; align-items:center; gap:12px;
    margin-top:14px;
    font-family:var(--font-mono); font-size:10px;
    letter-spacing:.14em; text-transform:uppercase;
    color:var(--ink-faint);
    white-space:nowrap;
  }
  .dim::before,.dim::after{
    content:""; flex:1; height:8px; margin-top:-8px;
  }
  .dim::before{ border-bottom:1px solid var(--line); border-left:1px solid var(--line); }
  .dim::after{ border-bottom:1px solid var(--line); border-right:1px solid var(--line); }

  .col{ display:flex; flex-direction:column; }

  /* ---------- motion ---------- */
  @media (prefers-reduced-motion:no-preference){
    .row{ opacity:0; transform:translateY(7px); animation:rise .5s ease forwards; }
    .row:nth-child(1){ animation-delay:.12s; } .row:nth-child(2){ animation-delay:.19s; }
    .row:nth-child(3){ animation-delay:.26s; } .row:nth-child(4){ animation-delay:.33s; }
    .row:nth-child(5){ animation-delay:.40s; } .row:nth-child(6){ animation-delay:.47s; }
    .row:nth-child(7){ animation-delay:.54s; } .row:nth-child(8){ animation-delay:.61s; }
    .col-build{ opacity:0; transform:translateY(10px); animation:rise .7s ease .5s forwards; }
    @keyframes rise{ to{ opacity:1; transform:none; } }
  }

  /* ---------- responsive ---------- */
  @media (max-width:920px){
    .compare{ grid-template-columns:1fr; row-gap:36px; }
    .connector{ flex-direction:row; padding:6px 0; }
    .connector .lbl{ writing-mode:horizontal-tb; }
    .arrow-h{ display:none; }
    .arrow-v{ display:block; }
    .layer-tag{ top:-22px; }
    .eyebrow{ white-space:normal; }
  }
  @media (max-width:600px){
    h1 br{ display:none; }
  }
  @media (max-width:480px){
    .includes{ grid-template-columns:1fr; }
    .card{ padding:20px 18px 16px; }
    .card-build{ padding:22px 20px 20px; }
    .card-note{ display:none; }
    .cta-row{ gap:16px; }
  }

  /* ---------- contact ---------- */
  .contact{
    position:relative;
    padding:clamp(48px,8vh,100px) clamp(20px,4vw,56px);
    background:
      radial-gradient(900px 450px at 12% 100%, rgba(124,108,240,.05), transparent 60%),
      var(--bg);
    border-top:1px solid var(--line-soft);
  }
  .contact-inner{ max-width:1240px; margin:0 auto; }
  .contact-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(30px,4.5vw,72px);
    align-items:start;
  }
  .contact h1, .contact h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px;
  }
  .contact .lede{ color:var(--ink-dim); margin-bottom:26px; }

  /* left: what the free plan includes */
  .plan-includes{ list-style:none; display:grid; row-gap:10px; margin:0 0 24px; }
  .plan-includes li{
    display:flex; align-items:baseline; gap:10px;
    font-size:14.5px; color:var(--ink-dim); line-height:1.55;
  }
  .plan-includes li::before{
    content:"\2713";
    font-family:var(--font-mono); font-size:12px;
    color:var(--accent); flex:none;
  }
  .plan-includes li strong{ color:var(--ink); font-weight:600; }
  .assure{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
  .assure span{
    font-family:var(--font-mono); font-size:10px; letter-spacing:.03em;
    color:var(--ink-dim);
    border:1px solid var(--line);
    padding:4px 9px; white-space:nowrap;
  }
  .contact-note{
    font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em;
    color:var(--ink-faint); line-height:1.7; max-width:44ch;
  }

  /* right: the form card */
  .form-card{
    position:relative;
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:26px 26px 24px;
  }
  .form-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:15px 16px;
  }
  .field{ display:flex; flex-direction:column; gap:7px; }
  .field.full{ grid-column:1 / -1; }
  .field label{
    font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--ink-dim);
  }
  .field input, .field textarea{
    background:var(--bg); color:var(--ink);
    border:1px solid var(--line); border-radius:3px;
    padding:12px 14px; font-size:15px;
    transition:border-color .18s ease, background .18s ease;
  }
  .field input:focus, .field textarea:focus{
    outline:none; border-color:var(--accent-dim); background:var(--bg-card-hi);
  }
  .field textarea{ min-height:110px; resize:vertical; }

  /* plan picker */
  .plan-picker{
    display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px;
  }
  .plan-picker input{ position:absolute; opacity:0; pointer-events:none; }
  .plan-picker label{
    display:block; text-align:center; cursor:pointer;
    font-family:var(--font-mono); font-size:11px; letter-spacing:.06em;
    text-transform:none;
    color:var(--ink-dim);
    border:1px solid var(--line); border-radius:3px;
    padding:9px 6px;
    transition:border-color .18s ease, color .18s ease, background .18s ease;
  }
  .plan-picker label:hover{ border-color:var(--accent-line); color:var(--ink); }
  .plan-picker input:checked + label{
    border-color:var(--accent); color:var(--accent);
    background:var(--accent-glow);
  }
  .plan-picker input:focus-visible + label{
    outline:2px solid var(--accent); outline-offset:3px;
  }

  .btn-submit{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--accent); color:#0a0a0f;
    font-family:var(--font-display); font-weight:600;
    font-size:14.5px; border:0; border-radius:3px;
    padding:13px 24px; cursor:pointer;
    transition:background .18s ease, transform .18s ease;
  }
  .btn-submit:hover{ background:#a195fa; }
  .btn-submit:disabled{ opacity:.6; cursor:not-allowed; }
  .status{
    margin-top:14px; font-size:14px; min-height:22px;
  }
  .status.ok{ color:#7ee787; }
  .status.err{ color:#ff9090; }
  @media (max-width:920px){ .contact-grid{ grid-template-columns:1fr; } }
  @media (max-width:600px){ .form-grid{ grid-template-columns:1fr; } }
  @media (max-width:520px){ .plan-picker{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

  /* ---------- problem ---------- */
  .problem{
    position:relative;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px);
    border-top:1px solid var(--line-soft);
  }
  .problem-inner{ max-width:1240px; margin:0 auto; }
  .problem-head{ max-width:760px; margin-bottom:clamp(28px,4vh,44px); }
  .problem h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px;
  }
  .pain-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:clamp(14px,1.8vw,22px);
  }
  .pain{
    position:relative;
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:22px 24px 20px;
    transition:border-color .18s ease, transform .18s ease;
  }
  .pain:hover{ border-color:var(--accent-line); transform:translateY(-2px); }
  .pain-num{
    font-family:var(--font-mono); font-size:11px; letter-spacing:.16em;
    color:var(--accent);
  }
  .pain h3{
    font-family:var(--font-display); font-weight:600;
    font-size:17px; letter-spacing:-.01em;
    margin:8px 0 6px;
  }
  .pain p{ font-size:14px; color:var(--ink-dim); line-height:1.65; }
  .problem-close{
    margin-top:clamp(26px,4vh,40px);
    border-left:2px solid var(--accent);
    padding-left:18px;
    font-family:var(--font-display); font-weight:500;
    font-size:clamp(1.05rem,1.5vw,1.25rem);
    color:var(--ink); max-width:64ch;
  }
  @media (max-width:760px){ .pain-grid{ grid-template-columns:1fr; } }

  /* ---------- solution ---------- */
  .solution{
    position:relative; overflow:hidden;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px);
    border-top:1px solid var(--line-soft);
    background:
      radial-gradient(900px 500px at 80% 0%, rgba(124,108,240,.07), transparent 60%),
      var(--bg);
  }
  .solution-inner{ max-width:1240px; margin:0 auto; position:relative; z-index:2; }
  .solution-head{ max-width:800px; margin-bottom:clamp(28px,4vh,44px); }
  .solution h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px; text-wrap:balance;
  }
  .solution h2 .acc{ color:var(--accent); }
  .steps{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:clamp(14px,1.8vw,22px);
    margin-bottom:clamp(26px,4vh,40px);
  }
  .step{
    position:relative;
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:22px 24px 20px;
    transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .step:hover{
    border-color:var(--accent-line);
    transform:translateY(-2px);
    box-shadow:0 0 40px var(--accent-glow);
  }
  .step-num{
    display:block;
    font-family:var(--font-mono); font-size:11px; letter-spacing:.16em;
    color:var(--accent);
  }
  .step h3{
    font-family:var(--font-display); font-weight:600;
    font-size:17px; letter-spacing:-.01em;
    margin:8px 0 6px;
  }
  .step p{ font-size:14px; color:var(--ink-dim); line-height:1.65; }

  /* result card — echoes the hero's card-build */
  .result{
    position:relative;
    border:1px solid var(--accent-line);
    background:linear-gradient(180deg,var(--bg-card-hi),var(--bg-card) 70%);
    box-shadow:0 0 70px var(--accent-glow);
    padding:clamp(24px,3vw,34px) clamp(24px,3vw,36px);
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(20px,3vw,44px);
    align-items:center;
  }
  .result-figure{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
  .result-zero{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(56px,6.5vw,88px); line-height:.95; letter-spacing:-.04em;
  }
  .result-caption{
    font-family:var(--font-mono); font-size:11px; line-height:1.7;
    letter-spacing:.08em; text-transform:uppercase; color:var(--ink-dim);
  }
  .result-caption b{ color:var(--accent); font-weight:600; display:block; }
  .result-note{
    margin-top:10px; font-size:13px; color:var(--ink-faint); line-height:1.6;
  }
  .result-includes{
    list-style:none;
    display:grid; grid-template-columns:1fr 1fr;
    column-gap:18px; row-gap:8px;
  }
  .result-includes li{
    display:flex; align-items:baseline; gap:9px;
    font-size:13.5px; color:var(--ink-dim);
  }
  .result-includes li::before{
    content:"\2713";
    font-family:var(--font-mono); font-size:11px;
    color:var(--accent); flex:none;
  }
  .solution-cta{
    margin-top:clamp(26px,4vh,40px);
    display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  }
  @media (max-width:920px){
    .steps{ grid-template-columns:1fr; }
    .result{ grid-template-columns:1fr; }
  }
  @media (max-width:480px){ .result-includes{ grid-template-columns:1fr; } }

  /* ---------- support & work model ---------- */
  .support{
    position:relative;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px);
    border-top:1px solid var(--line-soft);
    background:
      radial-gradient(900px 500px at 8% 0%, rgba(124,108,240,.05), transparent 60%),
      var(--bg);
  }
  .support-inner{ max-width:1240px; margin:0 auto; position:relative; z-index:2; }
  .support-head{ max-width:800px; margin-bottom:clamp(32px,5vh,52px); }
  .support h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px; text-wrap:balance;
  }
  .timeline{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:clamp(18px,2.4vw,32px);
    margin-bottom:clamp(26px,4vh,40px);
  }
  .timeline::before{
    content:""; position:absolute;
    top:8px; left:0; right:0; height:1px;
    background:var(--line);
  }
  .phase{ position:relative; padding-top:30px; }
  .phase::before{
    content:""; position:absolute;
    top:4px; left:0; width:9px; height:9px; border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 12px var(--accent-dim);
  }
  .phase-tag{
    display:block;
    font-family:var(--font-mono); font-size:10.5px;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--accent);
    margin-bottom:8px;
  }
  .phase h3{
    font-family:var(--font-display); font-weight:600;
    font-size:16.5px; letter-spacing:-.01em;
    margin-bottom:6px;
  }
  .phase p{ font-size:13.5px; color:var(--ink-dim); line-height:1.65; }
  .phase .chip{
    display:inline-block;
    font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em;
    color:var(--accent);
    border:1px solid var(--accent-line);
    padding:3px 8px; margin-top:10px;
    white-space:nowrap;
  }
  .support-close{
    border-left:2px solid var(--accent);
    padding-left:18px;
    font-family:var(--font-display); font-weight:500;
    font-size:clamp(1.05rem,1.5vw,1.25rem);
    color:var(--ink); max-width:68ch;
  }
  @media (max-width:920px){
    .timeline{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .timeline::before{ display:none; }
    .phase{ padding-top:0; padding-left:26px; }
    .phase::before{ top:5px; }
  }
  @media (max-width:600px){ .timeline{ grid-template-columns:1fr; } }

  /* ---------- pricing ---------- */
  .pricing{
    position:relative;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px);
    border-top:1px solid var(--line-soft);
    background:
      radial-gradient(900px 500px at 85% 8%, rgba(124,108,240,.06), transparent 60%),
      var(--bg);
  }
  .pricing-inner{ max-width:1240px; margin:0 auto; position:relative; z-index:2; }
  .pricing-head{ max-width:800px; margin-bottom:clamp(32px,5vh,52px); }
  .pricing h1, .pricing h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px; text-wrap:balance;
  }
  .tiers{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:clamp(14px,1.8vw,22px);
    align-items:stretch;
  }
  .tier{
    position:relative;
    display:flex; flex-direction:column;
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:24px 26px 22px;
    transition:border-color .18s ease, transform .18s ease;
  }
  .tier:hover{ border-color:var(--accent-line); transform:translateY(-2px); }
  .tier-feature{
    background:linear-gradient(180deg,var(--bg-card-hi),var(--bg-card) 70%);
    border-color:var(--accent-line);
    box-shadow:0 0 70px var(--accent-glow);
  }
  .tier-feature .tier-eyebrow{ color:var(--accent); }
  .tier-feature .layer-tag{
    border-color:var(--accent);
    background:var(--accent);
    color:#0a0a0f; font-weight:600;
  }
  .tier-eyebrow{
    display:block;
    font-family:var(--font-mono);
    font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-dim);
  }
  .tier-name{
    font-family:var(--font-display); font-weight:600;
    font-size:18px; letter-spacing:-.01em;
    margin:8px 0 5px;
  }
  .tier-desc{
    font-size:13.5px; color:var(--ink-dim); line-height:1.6;
    margin-bottom:18px;
  }
  .tier-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
  .tier-figure{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(34px,3vw,42px); line-height:1; letter-spacing:-.03em;
  }
  .tier-figure em{
    font-style:normal; font-family:var(--font-mono);
    font-size:12px; font-weight:400; letter-spacing:.04em;
    color:var(--ink-faint);
  }
  .tier-sub{
    margin:7px 0 15px;
    font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em;
    color:var(--ink-faint);
  }
  .tier-list{
    list-style:none;
    display:grid; row-gap:7px;
    padding:13px 0;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    margin-bottom:18px;
  }
  .tier-list li{
    display:flex; align-items:baseline; gap:9px;
    font-size:13.5px; color:var(--ink-dim);
  }
  .tier-list li::before{
    content:"\2713";
    font-family:var(--font-mono); font-size:11px;
    color:var(--accent); flex:none;
  }
  .tier-list li.no{ color:var(--ink-faint); }
  .tier-list li.no::before{ content:"\2013"; color:var(--ink-faint); }
  .tier-cta{ margin-top:auto; }
  .pricing-close{
    margin-top:clamp(26px,4vh,40px);
    border-left:2px solid var(--accent);
    padding-left:18px;
    font-family:var(--font-display); font-weight:500;
    font-size:clamp(1.05rem,1.5vw,1.25rem);
    color:var(--ink); max-width:64ch;
  }
  @media (max-width:920px){ .tiers{ grid-template-columns:1fr; } }

  /* ---------- shared page chrome ---------- */
  .nav-links a[aria-current="page"]{ color:var(--ink); }

  .page-head{
    position:relative;
    padding:clamp(48px,8vh,90px) clamp(20px,4vw,56px) clamp(36px,5vh,56px);
    border-bottom:1px solid var(--line-soft);
    background:
      radial-gradient(1000px 480px at 80% 0%, rgba(124,108,240,.06), transparent 60%),
      var(--bg);
  }
  .page-head-inner{ max-width:1240px; margin:0 auto; }
  .page-head h1{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.1; letter-spacing:-.03em;
    margin-bottom:12px; text-wrap:balance;
  }
  .page-head .lede{ margin-bottom:0; }

  .section{
    position:relative;
    padding:clamp(48px,8vh,90px) clamp(20px,4vw,56px);
  }
  .section + .section{ border-top:1px solid var(--line-soft); }
  .section-inner{ max-width:1240px; margin:0 auto; }
  .section-head{ max-width:760px; margin-bottom:clamp(26px,4vh,40px); }
  .section h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px; text-wrap:balance;
  }

  /* ---------- footer ---------- */
  .footer{
    border-top:1px solid var(--line-soft);
    padding:clamp(36px,6vh,56px) clamp(20px,4vw,56px) 34px;
    background:var(--bg);
  }
  .footer-inner{
    max-width:1240px; margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);
    gap:clamp(24px,4vw,64px);
  }
  .footer-tag{
    margin-top:12px; max-width:32ch;
    font-size:13px; color:var(--ink-faint); line-height:1.6;
  }
  .footer-col h4{
    font-family:var(--font-mono); font-weight:400;
    font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-faint); margin-bottom:12px;
  }
  .footer-col ul{ list-style:none; display:grid; row-gap:8px; }
  .footer-col a{ font-size:13.5px; color:var(--ink-dim); transition:color .18s ease; }
  .footer-col a:hover{ color:var(--ink); }
  .footer-base{
    max-width:1240px; margin:clamp(28px,4vh,40px) auto 0;
    padding-top:18px; border-top:1px solid var(--line-soft);
    display:flex; justify-content:space-between; gap:12px 24px; flex-wrap:wrap;
    font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em;
    color:var(--ink-faint);
  }
  @media (max-width:760px){
    .footer-inner{ grid-template-columns:1fr 1fr; }
    .footer-brand{ grid-column:1 / -1; }
  }
  @media (max-width:480px){ .footer-inner{ grid-template-columns:1fr; } }

  /* ---------- end CTA (home) ---------- */
  .endcta{
    position:relative;
    padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px);
    border-top:1px solid var(--line-soft);
    background:
      radial-gradient(900px 500px at 85% 100%, rgba(124,108,240,.07), transparent 60%),
      var(--bg);
  }
  .endcta-inner{ max-width:1240px; margin:0 auto; }
  .endcta h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.9rem,3.4vw,2.75rem);
    line-height:1.12; letter-spacing:-.025em;
    margin-bottom:14px; text-wrap:balance;
  }
  .endcta-row{
    display:flex; align-items:center; gap:22px; flex-wrap:wrap;
    margin-top:26px;
  }

  /* ---------- faq ---------- */
  .faq{
    margin-top:clamp(30px,5vh,48px);
    display:grid; gap:12px;
    max-width:800px;
  }
  .qa{
    border:1px solid var(--line);
    background:var(--bg-card);
    padding:18px 22px 16px;
  }
  .qa h3{
    font-family:var(--font-display); font-weight:600;
    font-size:15.5px; letter-spacing:-.01em;
    margin-bottom:6px;
  }
  .qa p{ font-size:13.5px; color:var(--ink-dim); line-height:1.65; }

  /* ---------- legal ---------- */
  .legal{ padding:clamp(40px,7vh,80px) clamp(20px,4vw,56px); }
  .legal-inner{ max-width:760px; margin:0 auto; }
  .legal-updated{
    font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
    color:var(--ink-faint); margin-bottom:28px;
  }
  .legal h3{
    font-family:var(--font-display); font-weight:600;
    font-size:17px; letter-spacing:-.01em;
    margin:26px 0 8px;
  }
  .legal p{ font-size:14px; color:var(--ink-dim); line-height:1.7; }
  .legal ul{
    list-style:disc; padding-left:20px;
    display:grid; row-gap:4px; margin-top:6px;
  }
  .legal li{ font-size:14px; color:var(--ink-dim); line-height:1.7; }
  .legal a{ color:var(--accent); border-bottom:1px solid var(--accent-line); }

  .assure.spaced{ margin-top:26px; }

  /* ---------- direct contact (contact page) ---------- */
  .direct{
    margin-top:26px; padding-top:22px;
    border-top:1px solid var(--line-soft);
    display:grid; row-gap:8px;
  }
  .direct-label{
    font-family:var(--font-mono);
    font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:2px;
  }
  .direct a{
    font-size:14px; color:var(--ink-dim);
    transition:color .18s ease;
    width:fit-content;
  }
  .direct a:hover{ color:var(--accent); }

  /* ---------- services: custom-scope highlight + "something else" card ---------- */
  .canbuild{
    position:relative;
    border:1px solid var(--accent-line);
    background:var(--bg-card);
    padding:clamp(26px,4.5vw,44px) clamp(22px,4vw,48px);
  }
  .canbuild h2{
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(1.55rem,2.8vw,2.2rem);
    line-height:1.14; letter-spacing:-.02em;
    margin-bottom:12px; text-wrap:balance;
  }
  .canbuild p{
    font-size:15px; color:var(--ink-dim); line-height:1.65;
    max-width:66ch; margin-bottom:22px;
  }
  .canbuild .layer-tag{
    border-color:var(--accent); background:var(--accent);
    color:#0a0a0f; font-weight:600;
  }
  .canbuild .handle{ border-color:var(--accent); }

  .pain-else{ grid-column:1 / -1; border-color:var(--accent-line); }
  .pain-else:hover{ border-color:var(--accent-dim); }
  .pain-else-link{
    display:inline-block; margin-top:10px;
    font-size:14px; color:var(--accent);
  }
  .pain-else-link:hover{ border-bottom:1px solid var(--accent-line); }

  .grid-note{
    margin-top:18px;
    font-family:var(--font-mono); font-size:11px; letter-spacing:.06em;
    color:var(--ink-faint);
  }

  /* temporary — review-only placement labels, removed after approval */
  .opt-tag{
    margin-bottom:34px;
    font-family:var(--font-mono); font-size:11px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--accent);
  }

  /* ---------- honeypot — visually removed, present for bots ---------- */
  .hp{
    position:absolute !important;
    left:-9999px; top:auto;
    width:1px; height:1px; overflow:hidden;
  }
