/* Theme */
:root{
  --bg:#0b0b10; --surface:#11121a; --text:#e9ecf1; --muted:#a7afbd;
  --border:1px solid rgba(255,255,255,.08);
  --accent:#7aa2ff; --accent-2:#63d3c6;
  --radius:18px; --shadow:0 10px 30px rgba(0,0,0,.25); --maxw:1100px;
  color-scheme: dark light;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#f6f7fb; --surface:#fff; --text:#111; --muted:#475469;
         --border:1px solid rgba(0,0,0,.08); --accent:#0b5fff; --accent-2:#007b6e;
         --shadow:0 8px 24px rgba(0,0,0,.08); }
}
[data-theme="light"]{ color-scheme: light; }
[data-theme="dark"]{ color-scheme: dark; }

/* Base */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Segoe UI Emoji";}
a{color:var(--accent);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:var(--maxw);margin:0 auto;padding:24px}

/* Header & Nav */
.site-header{
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(122,162,255,.20), transparent 60%),
    radial-gradient(900px 500px at 95% 0%, rgba(99,211,198,.18), transparent 60%);
  border-bottom:var(--border);
}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--text);letter-spacing:.2px}
.logo{display:inline-block;border-radius:8px}
.nav-actions{justify-self:end;display:flex;gap:8px;align-items:center}
.nav-toggle,.theme-toggle{background:transparent;color:var(--text);border:var(--border);border-radius:12px;padding:8px 10px}
.links{grid-column:1/-1;display:flex;gap:14px;justify-content:center;padding:12px 0}
.links a{color:var(--muted);padding:6px 10px;border-radius:10px}
.links a:hover,.links a:focus{color:var(--text);background:rgba(255,255,255,.06);text-decoration:none}
.nav-toggle{display:none}

/* Hero */
.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;padding:40px 0 64px}
.hero h1{font-size:clamp(32px,6vw,56px);line-height:1.1;margin:0 0 12px}
.hero h1 span{color:var(--accent-2)}
.hero p{color:var(--muted);max-width:720px;margin:0}
.cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.badges{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:14px 0 0;list-style:none}
.badges li{background:rgba(255,255,255,.06);border:var(--border);padding:6px 10px;border-radius:999px;font-size:.9rem}
.hero-photo{display:flex;align-items:center;justify-content:center}
.hero-photo img{border-radius:20px;border:var(--border);box-shadow:var(--shadow)}

/* Sections */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:24px 0 40px}
.card{background:var(--surface);border:var(--border);border-radius:var(--radius);padding:22px}
.card h2,.card h3{margin-top:0}
.card-hover{transition:transform .18s ease,box-shadow .18s ease}
.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.list{padding-left:18px}
.pubs .pub-list{margin:10px 0 0;padding-left:18px}
.logos .logo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:8px}
.logo-box{display:flex;align-items:center;justify-content:center;height:56px;border:var(--border);border-radius:12px;background:rgba(255,255,255,.05);color:var(--muted);font-weight:700}
.note{color:var(--muted);font-size:.95rem}
.contact{display:grid;gap:6px}

/* Footer */
.site-footer{border-top:var(--border);margin-top:28px}
.site-footer .container{text-align:center;color:var(--muted)}

/* A11y & mobile */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:24px;top:10px;width:auto;height:auto;padding:8px 12px;background:var(--accent);color:#001;border-radius:10px}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-photo{order:2}}
@media (max-width:760px){
  .links{display:none}
  .nav-toggle{display:inline-block}
  .links.open{display:flex;flex-direction:column;text-align:center;padding-bottom:16px}
}

/* Buttons */
.button{background:var(--accent);color:#001;border:none;border-radius:var(--radius);padding:12px 18px;font-weight:700;display:inline-block;box-shadow:var(--shadow);transform:translateY(0);transition:transform .2s ease}
.button:hover,.button:focus{filter:brightness(1.05);text-decoration:none;transform:translateY(-1px)}
.button.ghost{background:transparent;color:var(--accent);outline:1px solid var(--accent);box-shadow:none}
.small{padding:8px 12px;font-size:.9rem}
