:root{
    --bg:#05070F;
    --bg-2:#080C18;
    --panel:#0C1222;
    --panel-2:#111A2E;
    --line:#1C2740;
    --line-2:#26344F;
    --text:#EAF0FB;
    --muted:#8B9AB8;
    --blue:#3B82F6;
    --blue-lt:#60A5FA;
    --blue-glow:#2563EB;
    --violet:#7C5CFC;
    --cyan:#22D3EE;
    --green:#34D399;
    --red:#F87171;
    --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--bg);color:var(--text);
    font:400 17px/1.62 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
  .narrow{max-width:780px;margin:0 auto;padding:0 24px}
  section{padding:110px 0;position:relative}
  @media(max-width:760px){section{padding:72px 0}}
  .rule{border-top:1px solid var(--line)}

  h1,h2,h3{font-weight:650;letter-spacing:-.032em;line-height:1.06;margin:0;text-wrap:balance}
  h2{font-size:clamp(32px,4.8vw,52px)}
  h3{font-size:21px;letter-spacing:-.02em;line-height:1.28}
  p{margin:0 0 18px}
  a{color:inherit}

  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;
    color:var(--blue-lt);margin:0 0 24px;
    padding:8px 15px;border:1px solid var(--line-2);border-radius:999px;
    background:rgba(59,130,246,.07);
  }
  .eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--blue);display:block;
    box-shadow:0 0 0 4px rgba(59,130,246,.18)}
  .lede{font-size:clamp(18px,2.1vw,20.5px);color:var(--muted);max-width:62ch}

  /* ---------- glow ---------- */
  .glow{position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:0}
  .g1{width:640px;height:640px;background:rgba(37,99,235,.30);top:-240px;left:-140px}
  .g2{width:520px;height:520px;background:rgba(124,92,252,.22);top:60px;right:-180px}
  .g3{width:420px;height:420px;background:rgba(34,211,238,.10);bottom:-160px;left:38%}

  /* ---------- nav ---------- */
  nav{position:sticky;top:0;z-index:60;background:rgba(5,7,15,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
  .navin{display:flex;align-items:center;justify-content:space-between;gap:34px;height:68px}
  .logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:680;letter-spacing:-.03em;text-decoration:none}
  .logomark{
    width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;
    background:linear-gradient(140deg,var(--blue),var(--violet));box-shadow:0 4px 16px rgba(59,130,246,.4);
  }
  .logomark span{display:block;width:11px;height:11px;border:2.5px solid #fff;border-radius:50%;border-bottom-color:transparent;transform:rotate(-45deg)}
  .navlinks{display:flex;gap:30px;font-size:15px;margin-right:12px}
/* keep the CTA off the last nav link */
.navin>.btn{margin-left:auto;flex:none}
  .navlinks a{color:var(--muted);text-decoration:none;transition:color .15s}
  .navlinks a:hover{color:var(--text)}
  @media(max-width:900px){.navlinks{display:none}}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:14px 26px;border:0;border-radius:11px;cursor:pointer;
    font:600 15.5px/1 var(--sans);text-decoration:none;letter-spacing:-.01em;
    background:linear-gradient(180deg,var(--blue-lt),var(--blue));color:#fff;
    box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 24px rgba(37,99,235,.32);
    transition:transform .15s,box-shadow .15s,filter .15s;
  }
  .btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 12px 32px rgba(37,99,235,.45)}
  .btn:focus-visible{outline:2px solid var(--blue-lt);outline-offset:3px}
  .btn.ghost{background:rgba(255,255,255,.04);border:1px solid var(--line-2);box-shadow:none;color:var(--text)}
  .btn.ghost:hover{background:rgba(255,255,255,.08);box-shadow:none}
  .btn.sm{padding:11px 19px;font-size:14.5px}
  .btn.lg{padding:19px 34px;font-size:17px;border-radius:13px}
  .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;filter:none}

  /* ---------- HERO ---------- */
  .hero{padding:96px 0 104px;overflow:hidden}
  .herogrid{display:grid;grid-template-columns:1.08fr .92fr;gap:66px;align-items:center;position:relative;z-index:2}
  @media(max-width:980px){.herogrid{grid-template-columns:1fr;gap:52px}}
  .hero h1{font-size:clamp(40px,6.2vw,74px);letter-spacing:-.04em;line-height:1.04;max-width:15ch}
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(100deg,var(--blue-lt) 10%,var(--violet) 60%,var(--cyan));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero .lede{margin:26px 0 34px}
  .cta-row{display:flex;gap:13px;flex-wrap:wrap;align-items:center}

  .trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:42px;padding-top:26px;border-top:1px solid var(--line);
    font-size:14px;color:var(--muted)}
  .trust b{color:var(--text);font-weight:600}

  /* photo + call card */
  .shot{position:relative;padding:10px 0}
  .callcard{
    position:absolute;left:-10px;bottom:6px;z-index:5;width:min(330px,86%);
    background:rgba(12,18,34,.92);backdrop-filter:blur(18px);
    border:1px solid var(--line-2);border-radius:17px;padding:17px 19px;
    box-shadow:0 26px 60px rgba(0,0,0,.6);
  }
  @media(max-width:980px){.callcard{left:12px;bottom:20px}}
  .cc-top{display:flex;align-items:center;gap:11px;margin-bottom:13px}
  .cc-dot{width:9px;height:9px;border-radius:50%;background:var(--red);animation:pulse 1.5s infinite}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.75)}}
  .cc-label{font:600 11px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
  .cc-num{font-size:17px;font-weight:640;letter-spacing:-.02em}
  .cc-sub{font-size:13.5px;color:var(--muted);margin:3px 0 0}
  .cc-line{height:1px;background:var(--line);margin:14px 0}
  .cc-ans{display:flex;align-items:center;gap:11px}
  .cc-av{width:32px;height:32px;border-radius:50%;flex:none;background:linear-gradient(140deg,var(--blue),var(--violet))}
  .cc-ans .t{font-size:13.5px;line-height:1.4}
  .cc-ans .t b{display:block;font-size:14px;font-weight:600}
  .cc-ans .t span{color:var(--green)}

  .wave{display:flex;align-items:flex-end;gap:3px;height:22px;margin-top:13px}
  .wave i{flex:1;background:linear-gradient(180deg,var(--blue-lt),var(--blue));border-radius:2px;animation:w 1.1s ease-in-out infinite}
  @keyframes w{0%,100%{height:22%}50%{height:100%}}

  /* ---------- demo ---------- */
  .chips{display:flex;flex-wrap:wrap;gap:9px;margin:34px 0 28px}
  .chip{
    padding:11px 17px;border-radius:10px;border:1px solid var(--line-2);
    background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;
    font:500 14.5px/1 var(--sans);transition:all .15s;display:inline-flex;align-items:center;gap:8px;
  }
  .chip:hover{border-color:var(--blue);color:var(--text)}
  .chip[aria-pressed="true"]{background:linear-gradient(180deg,var(--blue-lt),var(--blue));border-color:transparent;color:#fff;font-weight:600;
    box-shadow:0 6px 18px rgba(37,99,235,.35)}
  .chip .tag{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;opacity:.7;font-weight:600}

  .demopanel{
    border:1px solid var(--line-2);border-radius:22px;padding:36px;position:relative;overflow:hidden;
    background:linear-gradient(165deg,var(--panel-2),var(--panel));
  }
  .demopanel:before{content:"";position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;
    background:rgba(59,130,246,.16);filter:blur(80px);pointer-events:none}
  .demohead{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start;margin-bottom:28px;position:relative}
  .demohead p{margin:7px 0 0;color:var(--muted);font-size:15px}
  .pill{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--sans);letter-spacing:.11em;
    text-transform:uppercase;color:var(--green);border:1px solid rgba(52,211,153,.28);border-radius:999px;
    padding:8px 13px;white-space:nowrap;background:rgba(52,211,153,.07)}
  .pill i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}
  .pill.soon{color:var(--muted);border-color:var(--line-2);background:rgba(255,255,255,.03)}
  .pill.soon i{background:var(--muted)}
  .callbtn{width:100%;max-width:330px;position:relative}
  .callbtn.live{background:linear-gradient(180deg,#FB7185,#E11D48);box-shadow:0 8px 24px rgba(225,29,72,.35)}
  .status{margin:15px 0 0;font-size:14.5px;color:var(--muted);min-height:1.5em;position:relative}
  .asks{margin:26px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;position:relative}
  .asks li{font-size:14px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:9px 13px;background:rgba(255,255,255,.02)}

  /* ---------- calculator ---------- */
  .calc{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:48px}
  @media(max-width:840px){.calc{grid-template-columns:1fr;gap:32px}}
  .field{margin-bottom:28px}
  .field label{display:flex;justify-content:space-between;font:600 14px/1 var(--sans);margin-bottom:14px}
  .field .val{color:var(--blue-lt);font-variant-numeric:tabular-nums}
  input[type=range]{width:100%;accent-color:var(--blue);height:6px}
  .result{border:1px solid var(--line-2);border-radius:22px;padding:38px;text-align:center;position:relative;overflow:hidden;
    background:linear-gradient(165deg,var(--panel-2),var(--panel))}
  .result:before{content:"";position:absolute;top:-90px;left:50%;transform:translateX(-50%);width:300px;height:300px;
    border-radius:50%;background:rgba(59,130,246,.18);filter:blur(70px)}
  .bignum{font-size:clamp(48px,8vw,70px);line-height:1;font-weight:680;letter-spacing:-.04em;
    background:linear-gradient(100deg,var(--blue-lt),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;
    font-variant-numeric:tabular-nums;margin:14px 0 6px;position:relative}
  .result .cap{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative}
  .verdict{margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:15.5px;color:var(--muted);position:relative}
  .verdict b{color:var(--text)}

  /* ---------- steps ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
  @media(max-width:880px){.steps{grid-template-columns:1fr}}
  .step{border:1px solid var(--line);border-radius:18px;padding:30px;background:linear-gradient(165deg,var(--panel),var(--bg-2))}
  .step .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;margin-bottom:18px;
    font:700 14px/1 var(--sans);color:#fff;background:linear-gradient(140deg,var(--blue),var(--violet))}
  .step p{color:var(--muted);font-size:15px;margin:11px 0 0}
  code.dial{display:inline-block;margin-top:18px;padding:13px 17px;border-radius:11px;background:rgba(59,130,246,.08);
    border:1px solid rgba(59,130,246,.28);color:var(--blue-lt);
    font:600 16.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}

  /* ---------- won't ---------- */
  .wont{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
  @media(max-width:900px){.wont{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.wont{grid-template-columns:1fr}}
  .wont div{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:rgba(255,255,255,.02)}
  .wont div b{display:block;margin-bottom:7px;font-size:16.5px;font-weight:620;letter-spacing:-.02em}
  .wont div span{color:var(--muted);font-size:14.5px;line-height:1.55}
  .wont div:before{content:"\2715";display:inline-block;color:var(--red);font-size:12px;margin-bottom:14px;
    width:24px;height:24px;line-height:24px;text-align:center;border-radius:7px;background:rgba(248,113,113,.1)}

  /* ---------- industries ---------- */
  .inds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
  @media(max-width:900px){.inds{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.inds{grid-template-columns:1fr}}
  .ind{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);text-decoration:none;display:block;
    transition:transform .18s,border-color .18s}
  .ind:hover{transform:translateY(-3px);border-color:var(--blue)}
  .ind img{width:100%;height:158px;object-fit:cover;display:block;filter:saturate(.8) brightness(.82)}
  .ind .b{padding:20px 22px}
  .ind .b b{display:block;font-size:17px;font-weight:620;letter-spacing:-.02em}
  .ind .b span{display:block;color:var(--muted);font-size:14px;margin-top:5px}

  /* ---------- quote ---------- */
  .quote{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;
    border:1px solid var(--line-2);border-radius:22px;padding:38px;background:linear-gradient(165deg,var(--panel-2),var(--panel))}
  @media(max-width:700px){.quote{grid-template-columns:1fr;gap:22px}}
  .quote img{width:104px;height:104px;border-radius:50%;object-fit:cover;border:2px solid var(--line-2)}
  .quote p{font-size:clamp(19px,2.4vw,25px);font-weight:520;letter-spacing:-.025em;line-height:1.4;margin:0 0 14px}
  .quote cite{font-style:normal;color:var(--muted);font-size:14.5px}

  /* ---------- pricing ---------- */
  .plans{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
  @media(max-width:840px){.plans{grid-template-columns:1fr}}
  .plan{border:1px solid var(--line);border-radius:22px;padding:36px;background:var(--panel);position:relative}
  .plan.feature{border-color:rgba(59,130,246,.5);background:linear-gradient(165deg,var(--panel-2),var(--panel));
    box-shadow:0 0 0 1px rgba(59,130,246,.12),0 24px 60px rgba(37,99,235,.14)}
  .plan .badge{position:absolute;top:-12px;left:36px;background:linear-gradient(140deg,var(--blue),var(--violet));color:#fff;
    font:700 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
  .price{font-size:46px;font-weight:680;letter-spacing:-.04em;margin:20px 0 3px;line-height:1}
  .price small{font-size:16px;color:var(--muted);font-weight:400;letter-spacing:0}
  .setup{color:var(--muted);font-size:14.5px;margin:0 0 26px}
  .plan ul{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px;font-size:15px;color:var(--muted)}
  .plan li{display:flex;gap:11px;align-items:flex-start}
  .plan li:before{content:"\2713";color:var(--green);font-weight:700;flex:none}

  /* ---------- table ---------- */
  .tablewrap{overflow-x:auto;margin-top:46px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
  table{border-collapse:collapse;width:100%;min-width:660px;font-size:15px}
  th,td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line)}
  thead th{background:rgba(255,255,255,.03);font:600 11.5px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
  thead th:last-child{color:var(--blue-lt)}
  tbody tr:last-child td{border-bottom:0}
  td.yes{color:var(--green);font-weight:600}
  td.no{color:var(--red)}
  th:first-child{color:var(--text);font-weight:500;font-size:15px;text-transform:none;letter-spacing:0}

  /* ---------- faq ---------- */
  details{border-bottom:1px solid var(--line);padding:24px 0}
  summary{cursor:pointer;font-size:19px;font-weight:600;letter-spacing:-.022em;list-style:none;
    display:flex;justify-content:space-between;gap:20px;align-items:center}
  summary::-webkit-details-marker{display:none}
  summary:after{content:"+";color:var(--blue-lt);font-size:24px;line-height:1;flex:none;font-weight:400}
  details[open] summary:after{content:"\2013"}
  details p{margin:15px 0 0;color:var(--muted);max-width:72ch;font-size:16px}

  /* ---------- founder ---------- */
  .founder{border:1px solid var(--line-2);border-radius:24px;padding:52px;position:relative;overflow:hidden;
    background:linear-gradient(165deg,var(--panel-2),var(--panel))}
  .founder:before{content:"";position:absolute;top:-140px;right:-60px;width:400px;height:400px;border-radius:50%;
    background:rgba(124,92,252,.18);filter:blur(90px)}
  .founder>*{position:relative}

  /* ---------- footer ---------- */
  footer{background:var(--bg-2);border-top:1px solid var(--line);padding:70px 0 40px;font-size:15px}
  .fgrid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:32px}
  @media(max-width:880px){.fgrid{grid-template-columns:1fr 1fr}}
  footer h4{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-lt);margin:0 0 18px}
  footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
  footer a{color:var(--muted);text-decoration:none;font-size:14.5px}
  footer a:hover{color:var(--text)}
  .fbot{margin-top:52px;padding-top:26px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;
    display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}

  .note{border:1px dashed var(--line-2);border-radius:13px;padding:16px 20px;color:var(--muted);font-size:14px;margin-top:28px;
    background:rgba(255,255,255,.02)}

  /* ================= WAVEFORMS ================= */
  .wf{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:100%}
  .wf b{display:block;width:3px;border-radius:99px;background:linear-gradient(180deg,var(--blue-lt),var(--blue));
    animation:wf 1.25s ease-in-out infinite;opacity:.9}
  @keyframes wf{0%,100%{height:12%}50%{height:88%}}
  .wf.violet b{background:linear-gradient(180deg,var(--violet),var(--blue))}
  .wf.cyan b{background:linear-gradient(180deg,var(--cyan),var(--blue))}
  .wf.idle b{animation-play-state:paused;height:9%;opacity:.4}
  .wf.slow b{animation-duration:2.1s}

  /* hero orb */
  .orb{position:relative;width:100%;max-width:470px;aspect-ratio:1;margin:0 auto;display:grid;place-items:center}
  .orb .ring{position:absolute;border-radius:50%;border:1px solid var(--line-2);inset:0;animation:rip 4.5s ease-out infinite}
  .orb .ring:nth-child(2){animation-delay:1.5s}
  .orb .ring:nth-child(3){animation-delay:3s}
  @keyframes rip{0%{transform:scale(.42);opacity:0}18%{opacity:.85}100%{transform:scale(1);opacity:0}}
  .orb .halo{position:absolute;width:58%;aspect-ratio:1;border-radius:50%;
    background:radial-gradient(circle,rgba(59,130,246,.42),rgba(124,92,252,.16) 55%,transparent 72%);filter:blur(26px)}
  .radial{position:absolute;inset:0;pointer-events:none}
  .radial span{position:absolute;left:50%;top:50%;width:3px;margin-left:-1.5px;transform-origin:50% 0;display:block}
  .radial span b{position:absolute;top:0;left:0;width:100%;border-radius:99px;
    background:linear-gradient(180deg,var(--blue-lt),rgba(124,92,252,.25));animation:rb 1.5s ease-in-out infinite}
  @keyframes rb{0%,100%{height:14%}50%{height:100%}}
  .orb .core{position:relative;z-index:2;width:42%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
    background:linear-gradient(165deg,rgba(17,26,46,.96),rgba(8,12,24,.96));border:1px solid var(--line-2);
    box-shadow:0 0 60px rgba(37,99,235,.32),inset 0 1px 0 rgba(255,255,255,.07)}
  .orb .core .wf{width:58%;height:34%}
  .orb .core .wf b{width:3px}
  .orb .lbl{position:absolute;bottom:15%;z-index:3;font:600 10.5px/1 var(--sans);letter-spacing:.19em;
    text-transform:uppercase;color:var(--blue-lt);opacity:.95}

  /* tiles + accents */
  .wavetile{height:158px;position:relative;overflow:hidden;display:grid;place-items:center;
    background:linear-gradient(150deg,rgba(59,130,246,.16),rgba(124,92,252,.09) 55%,rgba(8,12,24,.7))}
  .wavetile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,12,24,.75))}
  .wavetile .wf{width:78%;height:52%;position:relative;z-index:2}
  .waveavatar{width:104px;height:104px;border-radius:50%;flex:none;display:grid;place-items:center;position:relative;overflow:hidden;
    background:linear-gradient(150deg,rgba(59,130,246,.2),rgba(124,92,252,.14));border:1px solid var(--line-2)}
  .waveavatar .wf{width:62%;height:40%}
  .waveband{height:96px;position:relative;overflow:hidden;border-top:1px solid var(--line);
    background:linear-gradient(180deg,var(--bg),var(--bg-2))}
  .waveband .wf{width:100%;height:58%;position:absolute;top:21%;left:0;gap:4px}
  .waveband .wf b{opacity:.42}

  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- location pages ---------- */
.subs{display:flex;flex-wrap:wrap;gap:9px;margin-top:36px}
.subs .sub{padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);
  color:var(--muted);text-decoration:none;font-size:14.5px;transition:all .15s}
.subs .sub:hover{border-color:var(--blue);color:var(--text)}
@media(max-width:860px){
  section .wrap[style*="grid-template-columns:1.1fr"]{grid-template-columns:1fr!important;gap:32px!important}
}

/* ---------- Charlie bar ---------- */
.charliebar{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;
  border:1px solid var(--line-2);border-radius:22px;padding:30px 34px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--panel-2),var(--panel))}
.charliebar:before{content:"";position:absolute;top:-140px;left:-60px;width:360px;height:360px;border-radius:50%;
  background:rgba(124,92,252,.20);filter:blur(80px);pointer-events:none}
.charlieav{width:74px;height:74px;flex:none;position:relative;z-index:2;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(59,130,246,.28),rgba(124,92,252,.20));
  border:1px solid var(--line-2);box-shadow:0 0 34px rgba(37,99,235,.28)}
.charlieav .charliering{position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(96,165,250,.35);
  animation:charliering 2.8s ease-out infinite}
@keyframes charliering{0%{transform:scale(.86);opacity:0}25%{opacity:.9}100%{transform:scale(1.12);opacity:0}}
.charlieav .wf{width:46%;height:38%;gap:3px}
.charlieav .wf b{width:3px}
.charliecopy{position:relative;z-index:2}
.charliecopy h3{margin:0 0 6px}
.charliecopy p{margin:0;color:var(--muted);font-size:15px;max-width:56ch}
.charliecta{position:relative;z-index:2;text-align:right}
.charliecta .status{margin:10px 0 0;font-size:13.5px}
.charliecta .btn.live{background:linear-gradient(180deg,#FB7185,#E11D48);box-shadow:0 8px 24px rgba(225,29,72,.35)}
@media(max-width:900px){
  .charliebar{grid-template-columns:1fr;gap:22px;text-align:left}
  .charliecta{text-align:left}
  .charliecta .btn{width:100%}
  .charlieav{width:60px;height:60px}
}

/* ---------- AI sparkle ---------- */
.spark{width:18px;height:18px;flex:none;fill:currentColor}
.spark .spark-sm{opacity:.85;animation:twinkle 2.6s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}
.btn.sm .spark{width:15px;height:15px}

/* ---------- journey ---------- */
.journey{list-style:none;margin:44px 0 0;padding:0;position:relative}
.journey:before{content:"";position:absolute;left:19px;top:14px;bottom:44px;width:2px;
  background:linear-gradient(180deg,var(--blue),var(--violet),rgba(124,92,252,.08))}
.journey li{display:grid;grid-template-columns:40px 1fr;gap:24px;position:relative;padding-bottom:34px}
.journey li:last-child{padding-bottom:0}
.jn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;z-index:2;
  font:700 16px/1 var(--sans);color:#fff;background:linear-gradient(140deg,var(--blue),var(--violet));
  box-shadow:0 0 0 5px var(--bg),0 6px 18px rgba(37,99,235,.35)}
.jb{padding-top:4px}
.jb h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 8px}
.jt{font:600 11.5px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--blue-lt);
  border:1px solid var(--line-2);border-radius:999px;padding:6px 11px;background:rgba(59,130,246,.07)}
.jb p{color:var(--muted);font-size:15.5px;margin:0;max-width:66ch}
.jb .dial{margin-top:14px}
@media(max-width:640px){
  .journey{margin-top:34px}
  .journey li{grid-template-columns:34px 1fr;gap:16px}
  .jn{width:34px;height:34px;font-size:14px}
  .journey:before{left:16px}
}

/* ---------- a day on the tools ---------- */
.day{margin-top:44px;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.dayrow{display:grid;grid-template-columns:112px 1fr;gap:24px;padding:22px 26px;
  border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.dayrow:last-child{border-bottom:0}
.dt{font:600 12.5px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);padding-top:2px}
.dayrow b{display:block;font-size:16.5px;font-weight:620;letter-spacing:-.02em;margin-bottom:5px}
.dayrow div span{color:var(--muted);font-size:15px;line-height:1.55}
.dayrow.now{background:linear-gradient(90deg,rgba(59,130,246,.15),rgba(124,92,252,.05))}
.dayrow.now .dt{color:var(--blue-lt)}
@media(max-width:640px){.dayrow{grid-template-columns:1fr;gap:6px;padding:18px 20px}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:800px){.stats{grid-template-columns:1fr}}
.stats>div{border:1px solid var(--line);border-radius:18px;padding:30px;text-align:center;
  background:linear-gradient(165deg,var(--panel),var(--bg-2))}
.stats b{display:block;font-size:clamp(34px,5vw,46px);line-height:1;font-weight:680;
  letter-spacing:-.04em;margin-bottom:12px;
  background:linear-gradient(100deg,var(--blue-lt),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--muted);font-size:15px;line-height:1.5}
.src{margin:22px 0 0;font-size:13.5px;color:var(--muted);opacity:.82;max-width:72ch}

/* ---------- inbox mock ---------- */
.inbox{border:1px solid var(--line-2);border-radius:20px;overflow:hidden;
  background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.ihead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:22px 28px;
  border-bottom:1px solid var(--line);background:rgba(248,113,113,.07)}
.itag{font:700 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:var(--red);padding:8px 12px;border-radius:999px}
.isub{color:var(--muted);font-size:14px}
.itable{width:100%;border-collapse:collapse;font-size:15.5px}
.itable td{padding:14px 28px;border-bottom:1px solid var(--line);vertical-align:top}
.itable td:first-child{color:var(--muted);width:190px;font-size:14.5px}
.isum{margin:0;padding:22px 28px;color:var(--muted);font-size:15.5px;line-height:1.6;
  border-bottom:1px solid var(--line)}
.isum b{color:var(--text)}
.iplay{margin:0;padding:18px 28px;color:var(--blue-lt);font-size:14.5px;font-weight:600}
@media(max-width:640px){
  .itable td{padding:12px 18px}
  .itable td:first-child{width:120px}
  .ihead,.isum,.iplay{padding-left:18px;padding-right:18px}
}

/* ---------- straight answers ---------- */
.straight{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
@media(max-width:840px){.straight{grid-template-columns:1fr}}
.straight>div{border:1px solid var(--line);border-radius:18px;padding:28px 30px;
  background:rgba(255,255,255,.02)}
.straight h3{margin:0 0 12px;color:var(--blue-lt);font-size:18.5px}
.straight p{color:var(--muted);font-size:15.5px;margin:0 0 12px}
.straight p:last-child{margin:0}

/* ---------- service + blog pages ---------- */
.svcsec{margin-bottom:38px}
.svcsec h2{font-size:clamp(24px,3.2vw,32px);margin-bottom:14px}
.svcsec p{color:var(--muted);font-size:16.5px;line-height:1.68;margin:0}
.post h2{font-size:clamp(22px,2.9vw,29px);margin:38px 0 12px}
.post h2:first-child{margin-top:0}
.post p{color:var(--muted);font-size:17px;line-height:1.72;margin:0}
.postgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
@media(max-width:820px){.postgrid{grid-template-columns:1fr}}
.postcard{display:block;border:1px solid var(--line);border-radius:18px;padding:28px 30px;
  background:linear-gradient(165deg,var(--panel),var(--bg-2));text-decoration:none;
  transition:transform .18s,border-color .18s}
.postcard:hover{transform:translateY(-3px);border-color:var(--blue)}
.pmeta{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue-lt);margin-bottom:14px}
.postcard b{display:block;font-size:19px;font-weight:620;letter-spacing:-.022em;line-height:1.3;margin-bottom:10px}
.pex{display:block;color:var(--muted);font-size:15px;line-height:1.55}

/* ---------- transcript ---------- */
.tscript{border:1px solid var(--line-2);border-radius:20px;padding:12px 10px;
  background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.tline{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:11px 18px;align-items:start}
.tline .who{font:600 11px/1.7 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tline p{margin:0;font-size:15.5px;line-height:1.6}
.tline.us .who{color:var(--blue-lt)}
.tline.us p{color:var(--text)}
.tline.them p{color:var(--muted)}
.tline.us{background:rgba(59,130,246,.06);border-radius:12px}
@media(max-width:600px){
  .tline{grid-template-columns:1fr;gap:3px;padding:10px 14px}
  .tline .who{line-height:1.2}
}

/* ---------- mobile navigation ---------- */
.navtoggle{display:none;background:rgba(255,255,255,.04);border:1px solid var(--line-2);
  border-radius:10px;padding:10px 11px;cursor:pointer;flex:none}
.navtoggle span{display:block;width:17px;height:2px;background:var(--text);border-radius:2px}
.navtoggle span+span{margin-top:4px}
.navlinks-cta{display:none}
.btn-label{display:inline}
/* one flex item, so the button's gap cannot open up before the comma */
.btn-more{display:inline}
@media(max-width:1120px){ .btn-more{display:none} }
@media(max-width:900px){
  .navtoggle{display:block}
  .navlinks{
    display:none;position:absolute;top:68px;left:0;right:0;z-index:70;
    flex-direction:column;gap:0;padding:6px 24px 16px;
    background:rgba(5,7,15,.985);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.5);
  }
  .navlinks.open{display:flex}
  .navlinks a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px;color:var(--text)}
  .navlinks a:last-child{border-bottom:0}
  .navlinks-cta{display:block;color:var(--blue-lt)!important;font-weight:600}
  .navin{gap:14px}
}
@media(max-width:560px){
  .navin>.btn{padding:10px 14px;font-size:13.5px}
  .navin>.btn .spark{width:14px;height:14px}
}

/* ---------- included-in-every-plan grid ---------- */
.incl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
@media(max-width:900px){.incl{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.incl{grid-template-columns:1fr}}
.incl>div{border:1px solid var(--line);border-left:3px solid var(--green);border-radius:12px;
  padding:18px 20px;background:rgba(255,255,255,.02)}
.incl b{display:block;font-size:16px;font-weight:620;letter-spacing:-.02em;margin-bottom:5px}
.incl span{color:var(--muted);font-size:14.5px;line-height:1.55}

/* ---------- ready to start ---------- */
.twoway{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:820px){.twoway{grid-template-columns:1fr}}
.way{border:1px solid var(--line-2);border-radius:20px;padding:32px;
  background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.waynum{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;
  color:var(--blue-lt);border:1px solid var(--line-2);border-radius:999px;padding:7px 12px;margin-bottom:18px}
.way h3{margin:0 0 12px;font-size:23px}
.way p{color:var(--muted);font-size:15.5px;margin:0 0 24px}

/* ---------- form ---------- */
.formwrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}
@media(max-width:900px){.formwrap{grid-template-columns:1fr;gap:34px}}
.startform{border:1px solid var(--line-2);border-radius:20px;padding:34px;
  background:linear-gradient(165deg,var(--panel-2),var(--panel));display:grid;gap:18px}
.startform label{display:block;font:600 14.5px/1.4 var(--sans);color:var(--text)}
.startform .opt{color:var(--muted);font-weight:400;font-size:13px}
.startform small{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-top:7px}
.startform input,.startform select,.startform textarea{
  width:100%;margin-top:9px;padding:13px 15px;border-radius:11px;
  border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--text);
  font:400 15.5px/1.4 var(--sans);}
.startform input::placeholder,.startform textarea::placeholder{color:#5d6c8a}
.startform input:focus,.startform select:focus,.startform textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.18)}
.startform select{appearance:none;cursor:pointer}
.startform select option{background:var(--panel);color:var(--text)}
.startform textarea{resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.formnote{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55;text-align:center}
.hp{position:absolute;left:-9999px}

/* three tiers now, so let them breathe */
@media(min-width:821px){ .plans{grid-template-columns:repeat(3,1fr)} }
.allow{margin:0 0 22px;padding:12px 14px;border-radius:10px;font-size:14.5px;color:var(--muted);
  background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.2)}
.allow b{color:var(--text);font-weight:620}
.plan .price{font-size:40px}

/* ---------- readability pass ---------- */
/* --muted at 13-14px with extra opacity was well under a comfortable contrast
   ratio on this dark ground. Lift the small text and drop the opacity tricks. */
:root{ --muted-2:#A9B6CE; }

.src{color:var(--muted-2);opacity:1;font-size:14px;line-height:1.6}
.formnote{color:var(--muted-2);font-size:14px;line-height:1.6}
.startform small{color:var(--muted-2);font-size:13.5px}
.startform input::placeholder,.startform textarea::placeholder{color:#7d8ca8}
.status{color:var(--muted-2)}
.charliecta .status{font-size:14px}
.isub,.iplay{color:var(--muted-2)}
.dayrow div span{color:var(--muted-2)}
.stats span,.incl span,.wont div span{color:var(--muted-2)}
.tline.them p{color:var(--muted-2)}
footer a{color:var(--muted-2)}
.navlinks a{color:var(--muted-2)}

/* long-form paragraphs read better with a capped measure */
.svcsec p,.post p{max-width:68ch}
.straight p{max-width:none}

/* ---------- agreement + welcome ---------- */
.agreebox{border:1px solid var(--line-2);border-radius:20px;padding:32px;
  background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.terms{display:grid;gap:14px;margin-top:22px}
.term{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:rgba(255,255,255,.02)}
.term h3{margin:0 0 8px;font-size:17.5px;color:var(--blue-lt)}
.term p{margin:0;color:var(--muted-2);font-size:15.5px;line-height:1.65}
.tickrow{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;
  color:var(--muted-2)!important;font-size:15px!important;line-height:1.55}
.tickrow input{width:auto!important;margin:2px 0 0!important;flex:none;accent-color:var(--blue);
  width:18px!important;height:18px!important}
#ivybtn.live{background:linear-gradient(180deg,#FB7185,#E11D48);box-shadow:0 8px 24px rgba(225,29,72,.35)}
