
  :root{
    --bg:#ffffff;
    --surface:#f7faf9;
    --surface-2:#eef6f3;
    --border:#e3ebe8;
    --border-strong:#cfe6dd;
    --mint:#2dd4a7;
    --mint-dark:#12765b;
    --mint-dim:#e5f9f2;
    --ink:#0d1f1a;
    --text-muted:#5b6b66;
    --text-dim:#65736d;
    --display:'Poppins',sans-serif;
    --sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --container:900px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
    display:flex;
    flex-direction:column;
  }
  a{color:inherit;}
  .container{max-width:var(--container);margin:0 auto;padding:0 24px;width:100%;}

  /* ================= NAV ================= */
  .nav{padding:26px 0;border-bottom:1px solid var(--border);}
  .nav .container{display:flex;align-items:center;justify-content:center;}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
  .brand-mark{width:34px;height:34px;flex-shrink:0;}
  .brand-text{display:flex;flex-direction:column;line-height:1.15;}
  .brand-text b{font-family:var(--display);font-size:16.5px;font-weight:700;color:var(--ink);}
  .brand-text span{font-size:9.5px;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;}

  /* ================= MAIN ================= */
  main{flex:1;display:flex;align-items:center;}
  .confirm{padding:70px 0 60px;width:100%;}
  .confirm-inner{max-width:560px;margin:0 auto;text-align:center;}

  .check-badge{
    width:84px;height:84px;margin:0 auto 32px;
    border-radius:50%;
    background:var(--mint-dim);
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .check-badge::before{
    content:'';
    position:absolute;inset:-8px;
    border-radius:50%;
    border:1px solid var(--border-strong);
    animation:ring 2.2s ease-out infinite;
  }
  @keyframes ring{
    0%{transform:scale(0.92);opacity:0.9;}
    100%{transform:scale(1.28);opacity:0;}
  }
  .check-badge svg{position:relative;z-index:1;}
  .check-path{
    stroke-dasharray:28;
    stroke-dashoffset:28;
    animation:draw 0.55s 0.25s ease-out forwards;
  }
  @keyframes draw{to{stroke-dashoffset:0;}}

  .eyebrow{
    font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mint-dark);
    font-weight:600;margin-bottom:14px;
  }
  .confirm h1{
    font-family:var(--display);font-weight:700;letter-spacing:-0.01em;
    font-size:clamp(28px,4.2vw,40px);line-height:1.15;margin-bottom:16px;
  }
  .confirm p.lede{font-size:16px;color:var(--text-muted);line-height:1.65;max-width:460px;margin:0 auto 30px;}

  .plan-pill{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--surface);border:1px solid var(--border-strong);
    border-radius:100px;padding:9px 18px 9px 10px;
    font-size:13.5px;color:var(--ink);font-weight:600;
    margin-bottom:38px;
  }
  .plan-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);}
  .plan-pill .tag{
    font-family:var(--sans);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--mint-dark);background:var(--mint-dim);padding:3px 9px;border-radius:100px;font-weight:700;
  }

  .btn-primary{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--ink);color:#fff;font-weight:600;font-size:16px;
    padding:16px 30px;border-radius:10px;text-decoration:none;border:none;cursor:pointer;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .btn-primary:hover{background:var(--mint-dark);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(31,166,130,0.45);}
  .btn-primary svg{transition:transform .2s ease;}
  .btn-primary:hover svg{transform:translateX(3px);}

  .cta-note{font-size:12.5px;color:var(--text-dim);margin-top:16px;}

  /* ================= NEXT STEPS ================= */
  .next{padding:48px 0 70px;border-top:1px solid var(--border);}
  .next-head{text-align:center;margin-bottom:30px;}
  .next-head span{font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-dim);font-weight:600;}
  .next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .next-card{
    background:var(--surface);border:1px solid var(--border);border-radius:14px;
    padding:22px 20px;text-align:left;
  }
  .next-num{
    font-family:var(--display);font-size:13px;font-weight:700;color:var(--mint-dark);
    width:26px;height:26px;border-radius:7px;background:var(--mint-dim);
    display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  }
  .next-card h4{font-size:14.5px;font-weight:700;margin-bottom:6px;}
  .next-card p{font-size:13px;color:var(--text-muted);line-height:1.6;}

  /* ================= FOOTER ================= */
  footer{border-top:1px solid var(--border);padding:34px 0;}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .footer-links{display:flex;gap:22px;font-size:13px;color:var(--text-muted);}
  .footer-links a{text-decoration:none;}
  .footer-links a:hover{color:var(--mint-dark);}
  .footer-copy{font-size:12px;color:var(--text-dim);}

  @media (max-width:640px){
    .next-grid{grid-template-columns:1fr;}
    .confirm{padding:48px 0 40px;}
    .footer-inner{flex-direction:column;align-items:flex-start;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;}
  }

[hidden]{display:none!important;}
button,input{font:inherit;}
button:disabled{opacity:.6;cursor:wait;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--mint-dark);outline-offset:3px;}
.signup-inner{max-width:460px;margin:auto;}
.signup-inner h1{margin-bottom:16px;}
.signup-inner .lede{text-align:left;}
.trial-step{display:flex;flex-direction:column;gap:12px;}
.trial-step h2{font-family:var(--display);font-size:20px;margin-bottom:4px;}
.trial-step form{display:flex;flex-direction:column;gap:10px;}
.trial-step form>label{font-size:14px;font-weight:600;margin-top:8px;}
.trial-step form>input{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:12px;background:white;color:var(--ink);}
#password-confirm-fields{display:flex;flex-direction:column;gap:10px;}
#password-confirm-fields[hidden]{display:none;}
#password-confirm-fields label{font-size:14px;font-weight:600;margin-top:8px;}
#password-confirm-fields input{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:12px;background:white;color:var(--ink);}
#trial-code{font-size:22px;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;}
.field-note{font-size:12px;color:var(--text-muted);}
.trial-step .terms{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;margin:12px 0;}
.terms input{margin-top:3px;flex-shrink:0;}
.terms a{color:var(--mint-dark);}
.trial-step .btn-primary{justify-content:center;width:100%;}
.step-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;}
.text-button{border:0;background:transparent;color:var(--mint-dark);font-weight:600;padding:6px 0;cursor:pointer;text-align:left;}
.text-button:hover{text-decoration:underline;}
.status-message{margin:20px auto;color:var(--text-muted);font-size:14px;max-width:560px;padding:0 24px;overflow-wrap:anywhere;}
.signup-inner .status-message{padding:0;}
.social-separator{text-align:center;color:var(--text-muted);font-size:12px;margin:24px 0 12px;}
.btn-secondary{border:1px solid var(--border-strong);border-radius:8px;padding:12px 16px;background:white;color:var(--ink);cursor:pointer;display:block;width:100%;font-weight:600;}
.recovery{padding-top:70px;padding-bottom:70px;max-width:600px;text-align:center;}
.recovery p{margin:20px 0;}
.next{width:100%;}
main{flex-direction:column;align-items:stretch;}
@media(prefers-reduced-motion:reduce){.check-path{stroke-dashoffset:0;}}
