/* shared header + footer (uses tokens from site.css or pages.css) */
.top .wrap{display:flex;align-items:center;gap:18px;height:62px}
.top .logo{margin-right:auto}
.nav{display:none;gap:22px;font-size:.93rem}
.nav a,.menu-panel a{text-decoration:none;color:var(--ink)}
.nav a:hover{color:var(--klar)}
.nav a[aria-current="page"]{color:var(--klar);font-weight:600}
@media(min-width:900px){.nav{display:flex}.menu{display:none}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:10px}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--klar-soft)}
.menu-panel{position:absolute;right:0;top:52px;z-index:40;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px;display:grid;box-shadow:0 12px 32px rgba(19,32,43,.14)}
.menu-panel a{padding:12px 14px;border-radius:8px;font-weight:500}
.menu-panel a:hover{background:var(--klar-soft)}
.top-cta{display:none}
@media(min-width:600px){.top-cta{display:inline-flex}}
.site-foot{border-top:1px solid var(--line);padding-block:40px 28px;margin-top:0;font-size:.9rem;color:var(--muted);text-align:left}
.site-foot .cols{display:grid;gap:28px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.site-foot .cols{grid-template-columns:1.4fr repeat(3,1fr)}}
.site-foot h4{margin:0 0 10px;font:600 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover{color:var(--klar)}
.site-foot .brand p{max-width:32ch;margin-top:10px}
.site-foot .legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
