:root{
  --bg:#0d1117; --bg2:#131a24; --card:#171f2b; --line:#243040;
  --tx:#e6edf3; --mut:#8b98a9; --acc:#4d8dff; --acc2:#7aa2ff;
  --radius:14px; --wrap:1080px;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#f7f9fc; --bg2:#eef2f8; --card:#fff; --line:#dfe6ef;
         --tx:#131a24; --mut:#5b6878; --acc:#1e5fd8; --acc2:#1749a8; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--tx);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--acc); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 22px}
.narrow{max-width:760px}

/* nav */
.nav{position:sticky; top:0; z-index:10; background:var(--bg);
     border-bottom:1px solid var(--line)}
.nav-inner{display:flex; align-items:center; justify-content:space-between; height:62px; gap:20px}
.brand{display:flex; align-items:center; gap:10px; color:var(--tx); font-size:19px; letter-spacing:-.2px}
.brand b{color:var(--acc)}
.brand:hover{text-decoration:none}
.brand.small{font-size:17px}
.brand-mark{width:13px; height:13px; border-radius:50%; background:var(--acc);
            box-shadow:0 0 0 5px rgba(77,141,255,.22)}
.nav nav{display:flex; gap:22px; flex-wrap:wrap}
.nav nav a{color:var(--mut); font-size:15px}
.nav nav a:hover{color:var(--tx); text-decoration:none}

/* hero */
.hero{padding:76px 0 64px; background:
  radial-gradient(900px 380px at 18% -10%, rgba(77,141,255,.16), transparent 70%), var(--bg)}
.eyebrow{display:inline-block; margin:0 0 14px; padding:5px 12px; border:1px solid var(--line);
         border-radius:999px; color:var(--mut); font-size:13px; letter-spacing:.3px}
h1{margin:0 0 18px; font-size:clamp(34px,5.4vw,58px); line-height:1.08; letter-spacing:-1.2px}
.lead{max-width:640px; margin:0 0 30px; color:var(--mut); font-size:18px}
.cta{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:46px}
.btn{display:inline-block; padding:12px 22px; border-radius:10px; background:var(--acc);
     color:#fff; font-weight:600; font-size:15px; border:1px solid var(--acc)}
.btn:hover{background:var(--acc2); border-color:var(--acc2); text-decoration:none}
.btn.ghost{background:transparent; color:var(--tx); border-color:var(--line)}
.btn.ghost:hover{border-color:var(--acc); color:var(--acc); background:transparent}
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:20px;
       padding-top:30px; border-top:1px solid var(--line)}
.stats b{display:block; font-size:26px; letter-spacing:-.5px}
.stats span{color:var(--mut); font-size:14px}

/* sections */
.section{padding:64px 0}
.section.alt{background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
h2{margin:0 0 30px; font-size:clamp(24px,3.2vw,32px); letter-spacing:-.6px}
h3{margin:0 0 8px; font-size:17px}
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px}
.card p{margin:0; color:var(--mut); font-size:15px}
.num{display:inline-block; margin-bottom:10px; color:var(--acc); font-weight:700; font-size:13px; letter-spacing:1px}
.text{color:var(--mut); margin:0 0 16px}

/* faq */
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line); padding:16px 0}
.qa summary{cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+"; color:var(--acc); font-weight:700}
.qa details[open] summary::after{content:"\2013"}
.qa p{margin:12px 0 0; color:var(--mut); font-size:15px}
.back{display:inline-block; margin-bottom:24px; color:var(--mut); font-size:15px}

/* footer */
.foot{border-top:1px solid var(--line); padding:34px 0; background:var(--bg2)}
.foot-inner{display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; align-items:center}
.muted{color:var(--mut); font-size:14px; margin:6px 0 0}
.foot-links{display:flex; gap:20px; flex-wrap:wrap; font-size:14px}
