:root{
  --bg: #0b0d10;
  --bg-elev: #10141a;
  --text: #e6e8eb;
  --muted: #a7b0ba;
  --brand: #6ea8fe; /* soft blue */
  --brand-2: #9dffad; /* mint accent */
  --card: #0f1318;
  --border: #222831;
  --shadow: 0 10px 24px rgba(0,0,0,.35);
  --radius: 16px;
  --maxw: 1120px;
}

@media (prefers-color-scheme: light){
  :root{ --bg:#f7f8fa; --bg-elev:#fff; --text:#0e1117; --muted:#49515a; --card:#fff; --border:#e5e7eb; --shadow:0 8px 20px rgba(0,0,0,.06);}
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background:var(--bg); color:var(--text);
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
a{color:inherit; text-decoration:none}
a:hover{color:var(--brand)}
img{max-width:100%; height:auto;}
.container{max-width:var(--maxw); margin-inline:auto; padding:0 20px}
.btn{display:inline-block; padding:10px 16px; border:1px solid var(--border); border-radius:10px; background:linear-gradient(180deg,var(--bg-elev),var(--card)); box-shadow:var(--shadow); color:var(--text); font-weight:600}
.btn:hover{border-color:transparent; outline:1px solid color-mix(in oklab, var(--brand) 70%, #fff 0%);
  transform:translateY(-1px); transition:transform .15s ease}

/* --- Header ----------------------------------------------------------- */
header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(120%) blur(6px); background:color-mix(in oklab, var(--bg) 90%, transparent); border-bottom:1px solid var(--border)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px}
.brand{display:flex; align-items:center; gap:10px; font-weight:800}
.brand svg{width:28px; height:28px}
nav ul{display:flex; gap:14px; list-style:none; margin:0; padding:0}

/* Mobile nav using details/summary for zero JS */
.mobile{display:none}
@media (max-width:760px){
  nav ul{display:none}
  .mobile{display:block}
  details{position:relative}
  summary{list-style:none; cursor:pointer; padding:8px 10px; border:1px solid var(--border); border-radius:10px}
  details[open] summary{border-bottom-left-radius:0; border-bottom-right-radius:0}
  details ul{position:absolute; right:0; margin:0; padding:8px; background:var(--bg-elev); border:1px solid var(--border); border-top:none; border-bottom-left-radius:10px; border-bottom-right-radius:10px; box-shadow:var(--shadow)}
  details ul li{padding:6px 4px}
}

/* --- Hero ------------------------------------------------------------- */
.hero{padding:64px 0; background:radial-gradient(600px 300px at 80% -40%, color-mix(in oklab, var(--brand) 35%, transparent) , transparent 60%), radial-gradient(500px 240px at 10% -30%, color-mix(in oklab, var(--brand-2) 25%, transparent), transparent 60%)}
.hero h1{font-size:clamp(28px, 6vw, 56px); line-height:1.05; margin:0 0 14px}
.hero p{max-width:60ch; color:var(--muted); margin:0 0 22px}
.cta{display:flex; gap:10px; flex-wrap:wrap}

/* --- Sections --------------------------------------------------------- */
section{padding:56px 0; border-top:1px solid var(--border)}
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.grid{grid-template-columns:1fr}}
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow)}
.card h3{margin:4px 0 8px; font-size:1.05rem}
.meta{color:var(--muted); font-size:.9rem}

/* --- Footer ----------------------------------------------------------- */
footer{padding:36px 0; border-top:1px solid var(--border); color:var(--muted)}

/* --- Motion preferences ---------------------------------------------- */
@media (prefers-reduced-motion: reduce){ *, *::before, *::after{ animation:none!important; transition:none!important } }
