
:root{
  --bg:#0a0f1a; --surface:#101827; --card:#0f172a; --text:#e8eef9; --muted:#9fb0d0;
  --brand:#5eead4; --brand-2:#93c5fd; --accent:#c7d2fe;
  --ring: rgba(94,234,212,.45); --radius:18px; --shadow:0 12px 40px rgba(0,0,0,.28); --max:1200px;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#f6f7fb; --surface:#ffffff; --card:#ffffff; --text:#0b1220; --muted:#4b5563; --brand:#14b8a6; --brand-2:#2563eb; --accent:#dbeafe; --ring:rgba(20,184,166,.35); --shadow:0 8px 24px rgba(0,0,0,.08); }
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);
  background:
    radial-gradient(1000px 600px at 5% -10%, rgba(94,234,212,.15), transparent 60%),
    radial-gradient(1200px 800px at 110% -20%, rgba(147,197,253,.12), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg));
  line-height:1.65;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 1rem}

/* Header */
.header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 85%, transparent);backdrop-filter:saturate(120%) blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:38px;height:38px}
.brand-name{font-weight:800;letter-spacing:.2px}
.nav{display:flex;gap:1.25rem;align-items:center}
.nav a{color:var(--text);opacity:.92}
.nav a.active{color:var(--brand)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:14px;background:var(--brand);color:#003134;border:none;box-shadow:var(--shadow);cursor:pointer}
.btn:hover{filter:brightness(1.04)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.35);color:var(--text)}

/* Mobile */
.burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--text)}
.mobile{display:none;}
@media (max-width: 920px){
  .nav{display:none}
  .burger{display:flex}
  .mobile{display:none;position:fixed;inset:0;z-index:60;background:color-mix(in srgb,var(--bg) 92%, transparent)}
  .mobile.open{display:block}
  .mobile .panel{max-width:var(--max);margin:0 auto;padding:1rem}
  .mobile a{display:block;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text)}
}

/* Hero */
.hero{padding:2.4rem 0 1rem}
.kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .6rem;border-radius:999px;background:rgba(94,234,212,.16);color:var(--brand);font-size:.85rem;letter-spacing:.2px}
h1{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.2;margin:.6rem 0}
.sub{color:var(--muted);max-width:75ch}

/* Grid & cards */
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(12,1fr)}
.col-3{grid-column:span 3}
.col-4{grid-column:span 4}
.col-6{grid-column:span 6}
.col-12{grid-column:span 12}
@media (max-width: 860px){ .col-3,.col-4,.col-6{grid-column:span 12} }
.card{position:relative;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);transition:transform .18s ease, box-shadow .18s ease}
.card:hover{transform:translateY(-2px)}
.card .title{font-weight:800;font-size:1.05rem;margin:.3rem 0 .6rem}
.card .meta{color:var(--muted);font-size:.85rem}
.excerpt{color:var(--text);opacity:.94}
.badges{display:flex;gap:.4rem;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.74rem;border:1px solid rgba(255,255,255,.14);opacity:.98;background:rgba(147,197,253,.18)}

/* Prose */
.prose{max-width:75ch}
.prose h2{font-size:1.4rem;margin:1.4rem 0 .6rem}
.prose p{margin:.9rem 0}
.sep{height:1px;background:rgba(255,255,255,.1);margin:1rem 0}

/* Forms */
.form{max-width:720px}
label{display:block;margin-top:.75rem}
input,textarea,select{width:100%;padding:.65rem .75rem;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:color-mix(in srgb,var(--bg) 85%, transparent);color:var(--text)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--ring);border-color:transparent}

/* Footer */
.footer{margin-top:2rem;border-top:1px solid rgba(255,255,255,.06);background:color-mix(in srgb,var(--bg) 85%, transparent)}
.foot-grid{display:grid;gap:1rem;grid-template-columns:repeat(12,1fr);padding:1.2rem 0}
.foot-col{grid-column:span 4}
@media (max-width: 860px){ .foot-col{grid-column:span 12} }
.small{color:var(--muted);font-size:.92rem}

/* Cookie banner */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;background:#0b1324;color:#fff;padding:1rem;z-index:70;border-top:1px solid rgba(255,255,255,.2)}
.cookie-bar .btn{background:var(--brand);color:#003134}
.cookie-bar .btn-outline{border-color:rgba(255,255,255,.65);color:#fff}
.cookie-bar a{color:#fff;text-decoration:underline}

/* Accessibility */
.skip-link{position:absolute;left:8px;top:-100px;padding:.6rem .8rem;background:var(--brand);color:#003134;border-radius:10px}
.skip-link:focus{top:8px}
