:root{--bg:#000;--surface:#0d0d0d;--surface-2:#161616;--border:#262626;--fg:#e9d5ff;--text:#f4ecff;--muted:#a3a3a3;--muted-2:#737373;--accent:#e9d5ff;--on-accent:#000;--r-lg:1.25rem;--r-md:.9rem;--r-sm:.6rem}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:400 1rem/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100dvh;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:-20vmax;z-index:-1;background:radial-gradient(40vmax 40vmax at 15% 5%,rgba(233,213,255,.16),transparent 60%),radial-gradient(35vmax 35vmax at 90% 85%,rgba(168,120,255,.13),transparent 60%);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(3vmax,2vmax,0) scale(1.06)}}
.wrap{width:min(1080px,100% - 2rem);margin-inline:auto;padding-block:1.25rem 4rem}
header.top{display:flex;justify-content:space-between;align-items:center;padding-block:.5rem 2rem}
.brand{font-weight:700;letter-spacing:.02em;color:var(--fg);text-decoration:none}
.brand span{color:var(--muted);font-weight:500}
.pill{display:inline-block;padding:.3rem .8rem;border:1px solid var(--border);border-radius:99px;font-size:.8rem;color:var(--muted);background:var(--surface)}
h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;letter-spacing:-.03em;font-weight:800;margin-block:1rem .8rem}
h1 em{font-style:normal;color:var(--accent)}
h2{font-size:clamp(1.3rem,3.4vw,1.8rem);line-height:1.15;letter-spacing:-.02em;font-weight:700}
.lead{color:var(--muted);font-size:1.1rem;max-width:40rem}
.card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--r-lg);padding:1.4rem}
.btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;background:var(--accent);color:var(--on-accent);padding:.95rem 1.4rem;border-radius:99px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;transition:transform .15s,box-shadow .25s,opacity .2s;box-shadow:0 0 0 rgba(233,213,255,0)}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(233,213,255,.28)}
.btn:disabled{opacity:.5;cursor:wait;transform:none}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}
.btn.ghost:hover{border-color:var(--fg);box-shadow:none}
.grid{display:grid;gap:1rem}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
a.tile{display:block;color:inherit;text-decoration:none;transition:transform .2s,border-color .2s}
a.tile:hover{transform:translateY(-4px);border-color:var(--fg)}
.tile .num{font-size:2.4rem;font-weight:800;color:var(--accent)}
.tile p{color:var(--muted);margin-block:.4rem 1rem}
label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.35rem}
input[type=text],input[type=email],input[type=tel],input[type=number],select{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:.75rem .9rem;outline:0;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{border-color:var(--fg);box-shadow:0 0 0 3px rgba(233,213,255,.18)}
input[type=range]{width:100%;accent-color:var(--accent);height:1.6rem}
.field{margin-bottom:1.15rem}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.row output{font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}
.hint{font-size:.8rem;color:var(--muted-2);margin-top:.2rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.legal{font-size:.75rem;color:var(--muted-2);margin-top:.7rem}
.fade{animation:fade .45s ease both}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.err{color:#ff9db1;font-size:.85rem;margin-top:.5rem;min-height:1.2em}
.cta-final{margin-top:1.4rem;border:1px solid var(--fg);background:rgba(233,213,255,.06)}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}}
