.container{width:min(var(--container),calc(100% - 2*var(--space-5)));margin-inline:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 var(--space-6);border-radius:var(--radius-chip);font-weight:700;border:1.5px solid transparent;cursor:pointer;transition:transform .12s ease,background .16s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{color:#fff;background:var(--ink)}
.btn-primary:hover{background:var(--ink-dark)}

.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) 0}
.topnav{display:flex;gap:var(--space-5);margin-left:auto;font-weight:600}
.topnav a{color:var(--ink);border-radius:var(--radius-nav);padding:var(--space-1) var(--space-2)}
.topnav a:hover{color:var(--accent)}
.topnav a[aria-current="page"]{color:var(--accent)}

.nav-toggle{display:none;margin-left:auto;flex-direction:column;gap:4px;background:none;border:0;padding:var(--space-2);cursor:pointer;border-radius:var(--radius-nav)}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink)}
.mobilenav{display:none;flex-direction:column;padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--line);background:var(--card)}
.mobilenav a{padding:var(--space-3) 0;font-weight:600;border-bottom:1px solid var(--line)}
.mobilenav[hidden]{display:none}

.site-footer{margin-top:var(--space-7);background:var(--ink);color:var(--line)}
.footer-inner{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);align-items:center;padding:var(--space-7) 0}
.footer-brand{font-family:var(--font-heading);font-weight:800;margin:0}
.footer-nav{display:flex;gap:var(--space-5);margin-left:auto}
.footer-nav a:hover{color:#fff}
.footer-legal{width:100%;color:var(--muted);font-size:var(--text-small);margin:var(--space-4) 0 0}

@media (max-width:820px){
  .topnav{display:none}
  .header-inner .btn-primary{display:none}
  .nav-toggle{display:flex}
  .mobilenav:not([hidden]){display:flex}
}
