@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif}
p,h1,h2{margin:0}

/* Startseite (Variante B, Wortmarke) */
.home{background:#fff;color:#111}
.home a{color:#111;text-decoration:none}
.home a:hover{text-decoration:underline;text-underline-offset:4px}
.home .wrap{min-height:100vh;display:flex;flex-direction:column;gap:48px;padding:40px clamp(20px,4vw,56px) 32px;overflow:hidden}
.home main{flex-grow:1;width:100%;max-width:1080px;align-self:center;display:flex;flex-direction:column;justify-content:center;gap:40px}
.home h1{font-size:clamp(44px,7vw,104px);font-weight:800;letter-spacing:-.055em;line-height:.9;white-space:nowrap}
.home header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;border-top:1px solid #111;padding-top:28px}
.home .intro{display:flex;flex-direction:column;gap:6px;max-width:560px}
.home .claim,.home .mail{font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.03em}
.home .claim{color:#9a9a96}
.home .cols{display:flex;gap:56px;font-size:14px;line-height:1.7}
.home .col{display:flex;flex-direction:column}
.home .muted{color:#8a8a86}
.home footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#8a8a86}
.home footer nav{display:flex;gap:20px}
.home footer a{color:#8a8a86}

/* Impressum, Datenschutz, 404 */
.legal{background:#f7f6f2;color:#1b1b19}
.legal a{color:#1d4e5f;text-decoration-thickness:1px;text-underline-offset:3px}
.legal a:hover{color:#123744}
.legal .wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:72px 20px 48px;gap:40px}
.legal main{width:100%;max-width:640px;display:flex;flex-direction:column;gap:28px}
.legal .back{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:500}
.legal .card{background:#fff;border-radius:20px;box-shadow:0 0 0 1px rgba(27,27,25,.08),0 24px 48px -28px rgba(27,27,25,.25);padding:44px;display:flex;flex-direction:column;gap:24px;font-size:16px;line-height:1.6;color:#2f2e2b}
.legal h1{font-size:32px;line-height:1.15;font-weight:650;letter-spacing:-.03em;color:#1b1b19}
.legal .block{display:flex;flex-direction:column;gap:6px}
.legal h2{font-size:13px;font-weight:600;color:#5f5d57}
.legal footer{width:100%;max-width:640px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:0 8px;font-size:13px;color:#6a6862}
.legal footer nav{display:flex;gap:20px}

@media (max-width:480px){
  .legal .wrap{padding-top:40px}
  .legal .card{padding:28px 22px}
  .home .cols{gap:40px}
}
