:root{
  --bg:#0b1220; --bg2:#070c16;
  --panel:rgba(255,255,255,.06); --panel2:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92); --muted:rgba(255,255,255,.70);
  --line:rgba(255,255,255,.12);
  --brand:#6ee7ff; --brand2:#a78bfa; --ok:#34d399;
  --shadow:0 18px 40px rgba(0,0,0,.35);
  --radius:18px; --max:1120px;
}

[data-theme="light"]{
  --bg:#f5f7ff; --bg2:#eef2ff;
  --panel:rgba(0,0,0,.04); --panel2:rgba(0,0,0,.06);
  --text:rgba(10,12,18,.92); --muted:rgba(10,12,18,.66);
  --line:rgba(10,12,18,.12);
  --shadow:0 18px 40px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 400px at 15% 10%, rgba(110,231,255,.22), transparent 60%),
    radial-gradient(800px 380px at 75% 15%, rgba(167,139,250,.20), transparent 60%),
    radial-gradient(1000px 600px at 50% 110%, rgba(110,231,255,.12), transparent 60%),
    linear-gradient(180deg,var(--bg),var(--bg2));
  line-height:1.55;
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(92vw,var(--max));margin:0 auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{
  left:16px;top:16px;width:auto;height:auto;overflow:visible;
  padding:10px 12px;border-radius:12px;background:var(--panel2);
  border:1px solid var(--line);z-index:9999
}

.site-header{
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(14px);
  background:color-mix(in oklab, var(--bg) 70%, transparent);
  border-bottom:1px solid var(--line);
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}
.logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:var(--shadow)}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:700}
.nav-links a.active,.nav-links a:hover{color:var(--text);background:var(--panel)}
.nav-cta{display:flex;align-items:center;gap:8px}

.icon-btn{
  width:42px;height:42px;border-radius:14px;border:1px solid var(--line);
  background:var(--panel);display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:transform .15s ease, background .15s ease
}
.icon-btn:hover{transform:translateY(-1px);background:var(--panel2)}
.mobile-toggle{display:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:11px 14px;border-radius:14px;border:1px solid var(--line);
  background:var(--panel);color:var(--text);cursor:pointer;font-weight:800;
  transition:transform .15s ease, background .15s ease, border-color .15s ease
}
.btn:hover{transform:translateY(-1px);background:var(--panel2)}
.btn.primary{
  border-color:transparent;
  background:linear-gradient(135deg,
    color-mix(in oklab, var(--brand) 90%, white 10%),
    color-mix(in oklab, var(--brand2) 90%, white 10%));
  color:color-mix(in oklab, black 85%, var(--text) 15%);
}
.btn.ghost{background:transparent}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel);color:var(--muted);font-weight:800;font-size:13px
}

.section{padding:56px 0}
.section.compact{padding:40px 0}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}

.card{
  border:1px solid var(--line);background:var(--panel);
  border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden
}
.card.pad{padding:18px}
.card h3{margin:4px 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted)}
.card .meta{color:var(--muted);font-size:13px;margin-top:10px}

.kicker{font-weight:900;letter-spacing:.35px;text-transform:uppercase;font-size:12px;color:var(--muted)}
.h2{font-size:clamp(24px,2.4vw,34px);margin:10px 0 10px;letter-spacing:-.5px}
.lead{color:var(--muted);font-size:16px;margin:0;max-width:72ch}

.hero{padding:44px 0 24px}
.hero-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;align-items:stretch}
.hero h1{font-size:clamp(34px,4.2vw,54px);line-height:1.04;letter-spacing:-1.2px;margin:12px 0}
.hero p{color:var(--muted);font-size:17px;margin:0 0 18px;max-width:65ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}
.hero-stats{display:grid;gap:12px;margin-top:14px}
.stat{padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}
.stat strong{font-size:22px;display:block}
.stat span{color:var(--muted);font-weight:700}

.hero-art{
  border-radius:var(--radius);border:1px solid var(--line);
  background:
    radial-gradient(340px 160px at 20% 25%, rgba(110,231,255,.25), transparent 60%),
    radial-gradient(320px 180px at 85% 20%, rgba(167,139,250,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;justify-content:space-between
}
.hero-art .mini{
  border:1px solid var(--line);background:rgba(255,255,255,.05);
  border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center
}
.pill{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand2))}
.small{color:var(--muted);font-size:13px}

.feature{display:flex;gap:12px;align-items:flex-start}
.feature .dot{
  width:42px;height:42px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(167,139,250,.16));
  display:flex;align-items:center;justify-content:center
}
.feature svg{width:18px;height:18px;opacity:.9}
.feature h4{margin:2px 0 4px}
.feature p{margin:0;color:var(--muted)}

.project{position:relative;padding:18px;min-height:170px;overflow:hidden}
.project::before{
  content:"";position:absolute;inset:-40px;
  background:radial-gradient(280px 160px at 20% 25%, rgba(110,231,255,.18), transparent 60%),
             radial-gradient(260px 160px at 85% 20%, rgba(167,139,250,.16), transparent 60%);
  transform:rotate(4deg)
}
.project>*{position:relative}
.project .tag{
  display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);color:var(--muted);font-weight:900;font-size:12px
}
.project h3{margin-top:10px}
.project .link{margin-top:12px;display:inline-flex;gap:8px;align-items:center;font-weight:900}
.project .link span{color:var(--muted);font-weight:800}

.quote{padding:18px}
.quote p{margin:0 0 12px;color:var(--text);font-weight:700}
.quote .who{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:800}
.avatar{
  width:40px;height:40px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(167,139,250,.16))
}

.cta{padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.cta h3{margin:0;font-size:20px}
.cta p{margin:4px 0 0;color:var(--muted)}
.cta .actions{display:flex;gap:10px;flex-wrap:wrap}

.form{display:grid;gap:12px}
.field{display:grid;gap:6px}
label{font-weight:900;color:var(--muted);font-size:13px}
input,textarea,select{
  width:100%;border-radius:14px;border:1px solid var(--line);
  background:var(--panel);color:var(--text);padding:12px 12px;font:inherit;outline:none
}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{
  border-color:color-mix(in oklab, var(--brand) 70%, var(--line) 30%);
  box-shadow:0 0 0 4px color-mix(in oklab, var(--brand) 20%, transparent 80%);
}
.form-note{color:var(--muted);font-size:13px;margin:0}
.alert{padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.alert.ok{
  border-color:color-mix(in oklab, var(--ok) 45%, var(--line) 55%);
  background:color-mix(in oklab, var(--ok) 12%, var(--panel) 88%);
  color:color-mix(in oklab, var(--ok) 35%, var(--text) 65%);
}

.page-head{padding:30px 0 10px}
.breadcrumb{color:var(--muted);font-weight:800;font-size:13px}
.page-title{margin:10px 0 8px;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.9px}
.page-sub{margin:0;color:var(--muted);max-width:75ch}

.footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);margin-top:30px}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-links{display:flex;gap:10px;flex-wrap:wrap}
.footer-links a{padding:8px 10px;border-radius:12px;border:1px solid transparent}
.footer-links a:hover{border-color:var(--line);background:var(--panel)}

@media (max-width:920px){
  .hero-wrap{grid-template-columns:1fr}
  .grid.three{grid-template-columns:1fr 1fr}
  .grid.four{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-links{
    position:fixed;inset:70px 12px auto 12px;
    flex-direction:column;align-items:stretch;gap:6px;
    padding:10px;border:1px solid var(--line);
    background:color-mix(in oklab, var(--bg) 70%, transparent);
    border-radius:18px;box-shadow:var(--shadow);
    transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity .15s ease, transform .15s ease
  }
  .nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto}
  .mobile-toggle{display:inline-flex}
  .grid.two,.grid.three,.grid.four{grid-template-columns:1fr}
  .cta{flex-direction:column;align-items:flex-start}
}
