:root{
  --bg:#0a0e1a;
  --panel:rgba(255,255,255,.045);
  --panel2:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.10);
  --txt:#f2f5fb;
  --mut:#93a0b8;
  --mint:#00e5a0;
  --cyan:#00c2ff;
  --grad:linear-gradient(135deg,#00e5a0,#00c2ff);
  --rad:18px;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--txt);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(900px 500px at 85% -10%,rgba(0,194,255,.14),transparent 60%),
    radial-gradient(700px 450px at -10% 15%,rgba(0,229,160,.10),transparent 55%);
  background-attachment:fixed;min-height:100vh;
}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* Header */
header.site{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);
  background:rgba(10,14,26,.72);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:19px;color:var(--txt)}
.brand:hover{text-decoration:none}
.brand img{width:34px;height:34px;border-radius:9px}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{color:var(--mut);font-size:15px}
.nav-links a:hover{color:var(--txt);text-decoration:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;
  font-weight:600;font-size:15px;background:var(--grad);color:#04121a;border:none;cursor:pointer}
.btn:hover{text-decoration:none;opacity:.92}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--line)}

/* Hero */
.hero{text-align:center;padding:86px 0 64px}
.hero .logo{width:96px;height:96px;border-radius:24px;margin:0 auto 26px;display:block}
.pill{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;
  color:var(--mint);font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:22px}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.05;font-weight:700;letter-spacing:-.02em}
.hero h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{max-width:620px;margin:20px auto 0;color:var(--mut);font-size:clamp(16px,2.4vw,20px)}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* Sections */
section{padding:60px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 44px}
.sec-head h2{font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:-.01em}
.sec-head p{color:var(--mut);margin-top:12px;font-size:17px}

/* Feature grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.card:hover{background:var(--panel2)}
.card .ic{width:44px;height:44px;border-radius:12px;background:var(--grad);display:flex;
  align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
.card h3{font-size:18px;font-weight:600;margin-bottom:8px}
.card p{color:var(--mut);font-size:15px}

/* Niche band */
.band{background:var(--panel);border:1px solid var(--line);border-radius:26px;
  padding:52px 40px;text-align:center;margin:20px 0}
.band h2{font-size:clamp(24px,3.5vw,34px);font-weight:700}
.band p{color:var(--mut);max-width:640px;margin:14px auto 0;font-size:17px}

/* Footer */
footer.site{border-top:1px solid var(--line);margin-top:40px;padding:44px 0;color:var(--mut);font-size:14px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot a{color:var(--mut);margin-right:18px}
.foot a:hover{color:var(--txt)}
.foot .co{max-width:340px;line-height:1.6}

/* Legal / reading pages */
.doc{max-width:760px;margin:0 auto;padding:56px 22px 40px}
.doc h1{font-size:34px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.doc h2{font-size:22px;font-weight:600;margin:34px 0 12px;padding-top:10px;border-top:1px solid var(--line)}
.doc h3{font-size:18px;font-weight:600;margin:22px 0 8px}
.doc p,.doc li{color:#d7deea;font-size:16px}
.doc ul,.doc ol{margin:10px 0 10px 22px}
.doc li{margin:6px 0}
.doc strong{color:var(--txt)}
.doc a{color:var(--cyan)}
.doc .back{display:inline-block;margin-bottom:26px;color:var(--mut);font-size:15px}
.doc p.sub{color:var(--mut);font-size:15px;margin-bottom:14px}

/* FAQ, rendered from faq.json. Uses <details> so it collapses without any JS. */
.faqnav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.faqnav a{padding:6px 13px;border:1px solid var(--line);border-radius:999px;
  color:var(--mut);font-size:13.5px;background:var(--panel)}
.faqnav a:hover{color:var(--txt);border-color:var(--mint);text-decoration:none}
details.faq{border:1px solid var(--line);border-radius:14px;background:var(--panel);
  margin:9px 0;overflow:hidden}
details.faq summary{cursor:pointer;padding:15px 17px;font-size:16px;font-weight:600;
  color:var(--txt);list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';color:var(--mint);font-weight:700;flex:0 0 auto}
details.faq[open] summary::after{content:'\2013'}
details.faq[open] summary{border-bottom:1px solid var(--line)}
details.faq>div{padding:14px 17px;color:#d7deea;font-size:15.5px;line-height:1.65}
details.faq>div strong{color:var(--txt)}

@media(max-width:820px){
  .grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
}
@media(max-width:560px){
  .grid{grid-template-columns:1fr}
  .foot{flex-direction:column}
}
