:root{--bg:#08080a;--card:#101013;--fg:#f5f5f7;--mut:#9a9aa6;--line:rgba(255,255,255,.09);--acc:#eb3a6d;--r:16px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--fg);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.muted,.mut{color:var(--mut)}
.mono{font:500 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}

/* nav */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:rgba(8,8,10,.7);border-bottom:1px solid var(--line)}
.nav .row{height:64px}
.nav nav{display:flex;gap:28px;font-size:14px;color:var(--mut)}
.nav nav a:hover{color:var(--fg)}
.logo{font-weight:700;font-size:20px;letter-spacing:-.02em}.logo i{color:var(--acc);font-style:normal}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--acc);background:var(--acc);color:#fff;font:600 15px Inter,sans-serif;padding:12px 22px;border-radius:999px;cursor:pointer;transition:.2s}
.btn:hover{filter:brightness(1.12);box-shadow:0 0 28px rgba(235,58,109,.45)}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--fg)}
.btn.ghost:hover{border-color:#fff4;box-shadow:none}
.btn.sm{padding:8px 16px;font-size:14px}
.btn:disabled{opacity:.5;cursor:wait}

/* hero */
.hero{position:relative;padding:120px 0 100px;text-align:center;overflow:hidden;
  background:radial-gradient(60% 50% at 50% 0%,rgba(235,58,109,.25),transparent 70%),
  linear-gradient(var(--line) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/64px 64px}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,transparent 20%,var(--bg) 75%);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.pill{display:inline-block;border:1px solid var(--line);background:#ffffff08;border-radius:999px;padding:6px 14px;font-size:13px;color:var(--mut);margin-bottom:28px}
h1{font-size:clamp(38px,6vw,68px);line-height:1.08;letter-spacing:-.03em;font-weight:700;max-width:860px;margin:0 auto 24px}
h1 em{font-style:normal;background:linear-gradient(90deg,#ff7a9c,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:640px;margin:0 auto 36px;color:var(--mut);font-size:18px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* sections */
section.s{padding:88px 0;border-top:1px solid var(--line)}
.head{margin-bottom:44px;max-width:620px}
h2{font-size:clamp(28px,4vw,40px);letter-spacing:-.02em;line-height:1.15;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.card{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:.25s}
a.card:hover{border-color:rgba(235,58,109,.5);transform:translateY(-3px);box-shadow:0 12px 40px -12px rgba(235,58,109,.35)}
.card h3{font-size:19px;margin:10px 0 6px;letter-spacing:-.01em}
.card p{color:var(--mut);font-size:15px}
.arrow{display:inline-block;margin-top:16px;color:var(--acc);font-size:14px;font-weight:600}
.art{height:150px;border-radius:12px;border:1px solid var(--line);margin-bottom:18px;
  background:radial-gradient(120% 120% at 20% 0%,hsl(var(--h) 85% 60%/.55),transparent 60%),
  linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(135deg,#17171c,#0d0d10)}
.big .art{height:220px}
.award{display:flex;gap:16px;align-items:flex-start}
.award b{font-size:28px;line-height:1}
.quote{font-size:16px;color:#d6d6de}
.who{margin-top:18px;font-size:14px}.who span{color:var(--mut);display:block}
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stats .card b{font-size:32px;letter-spacing:-.02em;display:block}

/* questionnaire */
.quiz{max-width:640px;padding:72px 24px;min-height:70vh}
.bar{height:4px;background:var(--line);border-radius:4px;margin-bottom:24px;overflow:hidden}
.bar b{display:block;height:100%;background:var(--acc);transition:width .35s}
.quiz h2{margin:14px 0 8px}
.field{margin:28px 0 12px;display:grid;gap:12px}
.two{display:grid;grid-template-columns:1fr 160px;gap:12px}
.in{width:100%;background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:14px 16px;font:16px Inter,sans-serif;outline:none;transition:.2s}
.in:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(235,58,109,.18)}
select.in option{background:#101013}
.opt{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:14px 16px;font:500 15px Inter,sans-serif;cursor:pointer;transition:.2s}
.opt:hover{border-color:#fff3}
.opt.on{border-color:var(--acc);background:rgba(235,58,109,.1)}
.opt.on:after{content:"✓";color:var(--acc)}
.err{color:#ff6b6b;font-size:14px;min-height:22px}
.row2{display:flex;justify-content:space-between;margin-top:16px}

/* product page */
.prod{padding:56px 0 96px}
.back{color:var(--mut);font-size:14px;display:inline-block;margin-bottom:24px}
.pcols{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}
.pcols h1{font-size:clamp(32px,4.5vw,48px);text-align:left;margin:12px 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--mut)}
.chip.on{border-color:var(--acc);color:var(--fg)}
ul.tick{list-style:none;padding:0;display:grid;gap:8px;margin:16px 0 28px}
ul.tick li:before{content:"→ ";color:var(--acc)}
.file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.file div{display:flex;gap:14px;font-size:14px;font-weight:600;color:var(--acc)}
.sticky{position:sticky;top:88px}
.sum{font-size:14px;color:var(--mut);display:grid;gap:4px;margin:12px 0 20px}.sum b{color:var(--fg);font-weight:500}
.est{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:6px 0}
.note{font-size:12px;color:var(--mut)}
footer{border-top:1px solid var(--line);padding:32px 0;font-size:14px}

@media(max-width:820px){.nav nav{display:none}.pcols,.about{grid-template-columns:1fr}.sticky{position:static}.hero{padding:80px 0 70px}}
