*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.55;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}
.site-header{position:sticky;top:0;z-index:50;background:var(--brand);color:#fff;box-shadow:var(--shadow)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}
.logo{display:inline-flex;align-items:center;gap:var(--space-2);color:#fff;font-weight:800;letter-spacing:.2px}
.logo .mark{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#ffd84d);display:inline-flex;align-items:center;justify-content:center;color:#1a1a1a;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.logo .text{font-size:var(--fs-xl)}
.nav-toggle{display:none;background:rgba(255,255,255,.12);border:0;padding:var(--space-2) var(--space-3);border-radius:8px;color:#fff;font-size:var(--fs-sm)}
.main-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-4)}
.main-nav a{color:#fff;text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:8px}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.12);text-decoration:none}
.site-footer{background:#0f172a;color:#e2e8f0;padding:var(--space-8) 0;margin-top:var(--space-8)}
.site-footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.site-footer a{color:#cbd5e1}.copy{margin-top:var(--space-6);font-size:var(--fs-sm);opacity:.8;text-align:center}
@media (max-width:720px){
  .nav-toggle{display:inline-flex}
  .main-nav{display:none}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0}
}
