:root{--ink:#050505;--panel:#111216;--paper:#f7f6f2;--line:rgba(255,255,255,.14);--muted:#b7b8bd;--purple:#a84bff;--blue:#3b7cff;--lime:#c5ff57;--danger:#ff7e73}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#fff;font-family:Barlow,Arial,sans-serif}.topline{height:8px;background:linear-gradient(90deg,var(--purple),var(--blue),var(--lime))}nav{max-width:1180px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;height:58px;width:auto}.nav-link{color:#fff;font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:3px}.hero{padding:60px 24px 72px;background:radial-gradient(circle at 90% 0,rgba(168,75,255,.32),transparent 33%)}.wrap{max-width:1128px;margin:auto}.eyebrow{color:var(--lime);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase}h1{margin:13px 0 15px;max-width:900px;font-size:clamp(43px,6vw,76px);letter-spacing:-.055em;line-height:.92;text-transform:uppercase}h2{margin:0;text-transform:uppercase;line-height:.96;letter-spacing:-.045em;font-size:34px}.lead{max-width:700px;color:#d3d4d8;font-size:20px;line-height:1.45;margin:0}.tool{padding:68px 24px 76px;background:var(--paper);color:#101114}.grid{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:46px}.intro{margin:14px 0 28px;color:#565961;font-size:18px;line-height:1.45}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}label{display:block;margin-bottom:8px;font-size:14px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.help{display:block;margin-top:3px;color:#74767d;text-transform:none;font-size:13px;font-weight:500;letter-spacing:0}input,select{appearance:none;width:100%;padding:15px;border:1px solid #babcc2;background:#fff;border-radius:0;color:#111216;font:600 17px Barlow,Arial,sans-serif;outline:none}input:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(168,75,255,.16)}button{margin-top:26px;padding:17px 24px;border:0;background:var(--lime);color:#050505;cursor:pointer;font:800 15px Barlow,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}button:hover{background:#defe97}.result{align-self:start;position:sticky;top:20px;min-height:412px;padding:32px;background:#111216;color:#fff}.label{color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.score{margin:17px 0 7px;font-size:86px;font-weight:900;line-height:.8;letter-spacing:-.07em}.band{color:var(--lime);font-size:18px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.copy{font-size:17px;color:#d4d5d9;line-height:1.45;margin:21px 0}.breakdown{border-top:1px solid var(--line);padding-top:16px;color:#d4d5d9;line-height:1.45;font-size:15px}.sources{max-width:1128px;margin:48px auto 0;padding:29px;background:#fff;border-left:6px solid var(--purple)}.sources h3{margin:0 0 8px;font-size:21px;text-transform:uppercase}.sources p{margin:0;color:#45474e;line-height:1.5}.sources a{color:#2823b8}.family{padding:70px 24px;background:#202126}.family h2{max-width:670px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:29px}.card{display:block;padding:20px;background:rgba(255,255,255,.05);border-top:2px solid var(--lime);color:#fff;text-decoration:none}.card:hover{background:rgba(255,255,255,.1)}.card strong{display:block;font-size:18px;text-transform:uppercase}.card span{display:block;margin-top:8px;color:#c7c8cd;line-height:1.35;font-size:14px}.cta{padding:78px 24px;text-align:center;background:linear-gradient(115deg,#8e31f5,#2757d8)}.cta h2{max-width:720px;margin:auto;font-size:clamp(34px,5vw,57px)}.cta p{max-width:560px;margin:16px auto 0;font-size:19px;line-height:1.45;color:#f1edff}.cta a{display:inline-block;margin-top:25px;padding:16px 23px;background:var(--lime);color:#050505;text-decoration:none;font-size:15px;font-weight:800;text-transform:uppercase}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1180px;margin:auto;padding:27px 24px;color:#a2a4aa;font-size:14px}@media(max-width:840px){.grid{grid-template-columns:1fr}.result{position:static}.cards{grid-template-columns:1fr 1fr}}@media(max-width:520px){nav,.hero,.tool,.family,.cta{padding-left:20px;padding-right:20px}.nav-link{display:none}.fields,.cards{grid-template-columns:1fr}.field.full{grid-column:auto}.brand img{height:48px}h1{font-size:48px}}
