  :root{
    --ink:#151c26; --body:#48566a; --muted:#78889c; --line:#e4e8ef;
    --bg:#fff; --tint:#f6f8fc; --accent:#1f5eff; --accent-ink:#fff; --ok:#118a4e;
    --radius:14px; --shadow:0 1px 2px rgba(21,28,38,.05),0 12px 32px -12px rgba(21,28,38,.16);
  }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{
    background:var(--bg); color:var(--body);
    font:400 17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{color:var(--ink); margin:0; letter-spacing:-.021em; font-weight:680}
  h1{font-size:clamp(30px,7.4vw,42px); line-height:1.12}
  h2{font-size:clamp(22px,5vw,27px); line-height:1.2}
  h3{font-size:18px; line-height:1.3}
  p{margin:0}
  a{color:var(--accent)}
  .wrap{max-width:580px; margin:0 auto; padding:0 22px}
  header{padding:22px 0 8px}
  .brand{display:flex; align-items:center; gap:9px; font-weight:680; color:var(--ink); letter-spacing:-.02em; font-size:17px}
  .brand i{width:11px; height:11px; border-radius:50%; background:var(--accent); display:block; flex:none}
  .stage{display:none; animation:in .34s ease both}
  .stage.on{display:block}
  .lp .stage{display:block; animation:none}
  @keyframes in{from{opacity:0; transform:translateY(9px)} to{opacity:1; transform:none}}
  @media (prefers-reduced-motion:reduce){.stage{animation:none}}

  .hero{padding:26px 0 4px}
  .eyebrow{color:var(--muted); font-size:14.5px; font-weight:560; margin-bottom:13px}
  .sub{margin-top:15px; font-size:17.5px}
  form{margin:26px 0 0}
  .field{display:flex; flex-direction:column; gap:9px}
  label{font-size:14.5px; font-weight:560; color:var(--ink)}
  input{
    width:100%; padding:15px 16px; font:inherit; color:var(--ink);
    border:1.5px solid var(--line); border-radius:12px; background:#fff; outline:none;
  }
  input:focus{border-color:var(--accent); box-shadow:0 0 0 4px rgba(31,94,255,.11)}
  button{
    width:100%; margin-top:11px; padding:16px 18px; font:inherit; font-weight:640;
    color:var(--accent-ink); background:var(--accent); border:0; border-radius:12px; cursor:pointer;
  }
  button:hover{filter:brightness(1.07)}
  button[disabled]{opacity:.55; cursor:default; filter:none}
  .ghost{background:transparent; color:var(--body); border:1.5px solid var(--line); font-weight:560}
  .micro{margin-top:13px; font-size:14px; color:var(--muted); text-align:center}
  .err{margin-top:11px; font-size:14.5px; color:#c0341d; display:none}
  .err.on{display:block}

  .block{margin-top:44px; padding-top:34px; border-top:1px solid var(--line)}
  .list{margin:18px 0 0; padding:0; list-style:none; display:grid; gap:15px}
  .list li{display:flex; gap:12px; font-size:16.5px}
  .list li b{color:var(--ink); font-weight:640}
  .num{
    flex:none; width:25px; height:25px; border-radius:50%; background:var(--tint); color:var(--ink);
    font-size:13.5px; font-weight:660; display:grid; place-items:center; margin-top:2px
  }
  .dash{flex:none; color:var(--muted)}

  .facts{margin:20px 0 0; padding:0; list-style:none; display:grid; gap:11px}
  .facts li{display:flex; gap:11px; align-items:baseline; font-size:16.5px; opacity:0; animation:in .3s ease both}
  .facts li .tick{flex:none; color:var(--ok); font-weight:700}
  .facts li .k{color:var(--muted)}
  .facts li .v{color:var(--ink); font-weight:620}
  .shot{
    margin-top:22px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    box-shadow:var(--shadow); background:var(--tint); min-height:120px; display:none;
  }
  .shot.on{display:block}
  .shot img{display:block; width:100%; height:auto}
  .shot .bar{display:flex; align-items:center; gap:7px; padding:10px 13px; border-bottom:1px solid var(--line); background:#fbfcfe}
  .shot .bar span{width:9px; height:9px; border-radius:50%; background:#dfe4ec; display:block}
  .shot .bar em{font-style:normal; font-size:13px; color:var(--muted); margin-left:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

  .prog{display:flex; align-items:center; gap:11px; margin:22px 0 20px}
  .prog .track{flex:1; height:4px; background:var(--line); border-radius:99px; overflow:hidden}
  .prog .fill{height:100%; background:var(--accent); border-radius:99px; transition:width .3s ease}
  .prog em{font-style:normal; font-size:13.5px; color:var(--muted); font-weight:560; flex:none}
  .opts{display:grid; gap:10px; margin-top:20px}
  .opt{
    display:block; width:100%; text-align:left; margin:0; padding:15px 17px; font:inherit;
    color:var(--ink); background:#fff; border:1.5px solid var(--line); border-radius:12px; cursor:pointer;
  }
  .opt:hover{border-color:var(--accent); background:#f8faff; filter:none}
  .back{margin-top:20px; font-size:14.5px; color:var(--muted); background:none; border:0; padding:0; width:auto; cursor:pointer; font-weight:500}

  .done{padding:36px 0 0}
  .queue{margin-top:22px; padding:18px 20px; background:var(--tint); border-radius:var(--radius); border:1px solid var(--line)}
  .queue b{color:var(--ink)}
  footer{margin:52px 0 0; padding:22px 0 34px; border-top:1px solid var(--line); font-size:13.5px; color:var(--muted)}
  footer a{color:var(--muted)}
  .spin{display:inline-block; width:15px; height:15px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:sp .7s linear infinite; vertical-align:-2px; margin-right:8px}
  @keyframes sp{to{transform:rotate(360deg)}}

  .build{padding:44px 0 0}
  .adcard{
    border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    box-shadow:var(--shadow); background:#fff;
  }
  .ad-img{position:relative; height:186px; background:linear-gradient(115deg,#e8edf7,#f4f7fd,#e4ebf9); overflow:hidden}
  .ad-img i{
    position:absolute; inset:0; display:block;
    background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.9) 50%,transparent 82%);
    transform:translateX(-100%); animation:sweep 1.15s ease-in-out infinite;
  }
  @keyframes sweep{to{transform:translateX(100%)}}
  .ad-body{padding:17px 18px 20px}
  .ln{height:11px; border-radius:99px; background:var(--line); width:0}
  .ln.l2{margin-top:13px; animation:grow .5s 1.15s ease both; --w:74%}
  .ln.l3{margin-top:11px; animation:grow .5s 1.7s ease both; --w:52%}
  .typed{min-height:23px; font-size:17.5px; font-weight:640; color:var(--ink); letter-spacing:-.015em}
  .caret{display:inline-block; width:2px; height:17px; background:var(--accent); vertical-align:-2px; margin-left:1px; animation:blink .62s steps(1) infinite}
  @keyframes blink{50%{opacity:0}}
  @keyframes grow{from{width:0; opacity:.3} to{width:var(--w); opacity:1}}
  .ad-cta{
    margin-top:19px; height:38px; border-radius:9px; background:var(--accent);
    opacity:0; transform:scale(.94); animation:pop .42s 2.05s cubic-bezier(.2,1.5,.4,1) both;
  }
  @keyframes pop{to{opacity:1; transform:scale(1)}}
  .status{margin-top:22px; text-align:center; font-size:16px; color:var(--muted)}
  @media (prefers-reduced-motion:reduce){
    .ad-img i{animation:none}
    .ln{width:var(--w); animation:none}
    .ad-cta{opacity:1; transform:none; animation:none}
  }

  h1.legal{color:var(--ink); font-size:clamp(26px,6vw,34px); line-height:1.15; letter-spacing:-.021em; margin:30px 0 0; font-weight:680}
  .legal-body h2{font-size:17px; line-height:1.3; margin:34px 0 0; font-weight:660}
  .legal-body p, .legal-body ul{margin:11px 0 0}
  .legal-body ul{padding-left:20px}
  .legal-body li{margin-top:5px}
  .backlink{margin-top:40px; padding-top:22px; border-top:1px solid var(--line); font-size:14.5px}

  .ghostlink{
    display:block; width:100%; margin-top:10px; padding:16px 18px; text-align:center;
    font-weight:560; color:var(--body); background:transparent; text-decoration:none;
    border:1.5px solid var(--line); border-radius:12px;
  }
  .ghostlink:hover{border-color:var(--accent); color:var(--accent)}
