:root{
  --bg: #0d1117; --surface: #161b22; --text: #e6edf3; --muted: #9fb0c3;
  --brand: #2bb0ed; --brand-2:#22c55e; --danger:#ef4444;
  --shadow: 0 10px 30px rgba(0,0,0,.25); --radius: 14px; --maxw: 1080px;
}
:root[data-theme="light"]{ --bg:#f8fafc; --surface:#ffffff; --text:#0f172a; --muted:#475569; --brand:#0ea5e9; --brand-2:#16a34a; --danger:#dc2626; --shadow:0 10px 30px rgba(2,6,23,.08); }
@media (prefers-color-scheme: light){ :root:not([data-theme]){ --bg:#f8fafc; --surface:#fff; --text:#0f172a; --muted:#475569; --brand:#0ea5e9; --brand-2:#16a34a; --danger:#dc2626; --shadow:0 10px 30px rgba(2,6,23,.08);} }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:
  radial-gradient(1200px 600px at 80% -10%, color-mix(in oklab, var(--brand) 20%, transparent), transparent 60%),
  radial-gradient(900px 400px at -10% 20%, color-mix(in oklab, var(--brand-2) 18%, transparent), transparent 60%), var(--bg);line-height:1.6}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.container{width:min(100% - 2rem,var(--maxw));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:.5rem 1rem;background:var(--brand);color:#002233;border-radius:.5rem}

/* Header: menu left, brand right */
header{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in oklab, var(--text) 8%, transparent)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;gap:.75rem}
.nav-left{display:flex;align-items:center;gap:.5rem}
.nav-right{display:flex;align-items:center;gap:.5rem}
.logo{width:36px;height:36px;border-radius:10px;background:conic-gradient(from 210deg, var(--brand), var(--brand-2));box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:700;letter-spacing:.3px;color:var(--text)}
.brand:hover{text-decoration:none}
nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;align-items:center}
nav a{color:var(--text);padding:.5rem .75rem;border-radius:.5rem}
nav a:hover, nav a[aria-current="page"], nav a.active{background:color-mix(in oklab, var(--text) 8%, transparent);text-decoration:none}
.nav-cta{display:inline-flex;background:var(--brand);color:#062234;padding:.5rem .75rem;border-radius:.5rem;font-weight:700}
.theme-toggle,.menu-toggle{background:none;border:1px solid color-mix(in oklab, var(--text) 18%, transparent);color:var(--text);border-radius:.6rem;padding:.45rem .6rem}
.theme-toggle{display:inline-flex;align-items:center;gap:.5rem}
.menu-toggle{display:none}
.theme-toggle:focus,.menu-toggle:focus{outline:2px solid var(--brand);outline-offset:2px}
@media (max-width: 900px){ nav ul{position:absolute;left:1rem;top:64px;background:color-mix(in oklab, var(--bg) 98%, transparent);border:1px solid color-mix(in oklab, var(--text) 10%, transparent);border-radius:.8rem;padding:.5rem;box-shadow:var(--shadow);flex-direction:column;gap:.25rem;min-width:220px;display:none}
  nav ul.open{display:flex}
  .menu-toggle{display:inline-flex}
}
@media (min-width: 901px){ .menu-toggle{display:none} nav ul{position:static;display:flex !important;background:transparent;border:none;box-shadow:none} }

/* Hero / content */
.hero{padding:clamp(3rem,6vw,6rem) 0}
.hero-card{background:linear-gradient(180deg,color-mix(in oklab,var(--text) 3%,transparent),color-mix(in oklab,var(--text) 2%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1.25rem}
.eyebrow{color:var(--brand-2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
h1{font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.2;margin:.25rem 0 .5rem}
.lead{color:var(--muted);font-size:clamp(1rem,2.2vw,1.15rem);max-width:65ch}
.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand);color:#062234;border:none;font-weight:700;padding:.75rem 1rem;border-radius:.7rem;cursor:pointer}
.btn.secondary{background:transparent;color:var(--text);border:1px solid color-mix(in oklab,var(--text) 18%, transparent)}
.meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.95rem;margin-top:.25rem}
section{padding:clamp(2rem,5vw,3.5rem) 0}
.section-title{font-size:clamp(1.4rem,3.5vw,2rem);margin-bottom:.5rem}
.section-lead{color:var(--muted);max-width:65ch}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(12,minmax(0,1fr))}
.col-12{grid-column:span 12}
@media (min-width:800px){.col-6{grid-column:span 6}.col-4{grid-column:span 4}}
.card{background:linear-gradient(180deg,color-mix(in oklab,var(--text) 2%,transparent),color-mix(in oklab,var(--text) 1%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:var(--radius);padding:1rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);background:color-mix(in oklab,var(--text) 8%,transparent);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);padding:.25rem .5rem;border-radius:999px}
.checklist{list-style:none;padding:0;margin:.5rem 0 0}
.checklist li{margin:.4rem 0;padding-left:1.5rem;position:relative}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--brand-2);font-weight:900}
.stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}
.stat{background:color-mix(in oklab,var(--text) 6%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);padding:.8rem 1rem;border-radius:.8rem}
.stat strong{font-size:1.2rem;display:block}
form{display:grid;gap:.75rem}
label{font-weight:600}
input,textarea{width:100%;padding:.7rem .8rem;border-radius:.6rem;border:1px solid color-mix(in oklab,var(--text) 18%, transparent);background:color-mix(in oklab,var(--text) 4%,transparent);color:var(--text)}
input::placeholder,textarea::placeholder{color:color-mix(in oklab,var(--text) 45%,transparent)}
.inline{display:grid;gap:.75rem}
@media (min-width:700px){.inline{grid-template-columns:1fr 1fr}}
.form-note{color:var(--muted);font-size:.9rem}
.error{color:var(--danger);font-size:.9rem}
footer{border-top:1px solid color-mix(in oklab,var(--text) 8%,transparent);padding:1.25rem 0 2rem;color:var(--muted);font-size:.95rem}
.footer-grid{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.social a{color:var(--muted);margin-right:.6rem}.social a:hover{color:var(--text)}

/* Modal (Privacy) */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);display:none;z-index:90}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100}
.modal.open,.modal-backdrop.open{display:flex}
.modal-card{width:min(100% - 2rem, 860px); max-height: min(90vh, 900px); overflow:auto; background:var(--surface); color:var(--text); border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:14px; box-shadow:var(--shadow);}
.modal-header{display:flex;align-items:center;justify-content:space-between; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid color-mix(in oklab, var(--text) 10%, transparent)}
.modal-title{font-size:1.25rem; font-weight:700; margin:0}
.modal-body{padding:1rem 1.25rem;}
.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid color-mix(in oklab, var(--text) 10%, transparent)}
.modal-close{background:none;border:1px solid color-mix(in oklab, var(--text) 18%, transparent); color:var(--text); border-radius:.5rem; padding:.45rem .7rem; cursor:pointer}
.modal-close.primary{background:var(--brand); color:#062234; border:none}
.modal-body h3{margin:1rem 0 .4rem;font-size:1.1rem}
.modal-body p{margin:.35rem 0}
.modal-body ul{margin:.35rem 0 .6rem 1.25rem}
.modal-body li{margin:.25rem 0}
.small{font-size:.9rem;color:var(--muted)}
