/* 24db IT+pro-audio – Stylesheet. Schriften lokal eingebunden (keine Google-Server, DSGVO). */
@font-face{font-family:"Chakra Petch";font-weight:500;font-display:swap;src:url(fonts/chakra-petch-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-weight:700;font-display:swap;src:url(fonts/chakra-petch-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
:root{
  --ground:#CFD8DE;--surface:#EDF1F3;--ink:#0F1E2B;--muted:#46596B;--line:#B7C4CD;
  --accent:#9A6A00;--accent-strong:#F2B233;--logo-gold:#C98A00;--panel:#0F1E2B;--panel-ink:#EEF2F4;--panel-muted:#9DB0BE;
  --display:"Chakra Petch","Segoe UI",sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.6 var(--body);padding-inline:20px}
.wrap{max-width:1080px;margin:0 auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--surface);padding:8px 12px;z-index:9}
header.site{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:block;line-height:0}
.brand svg{width:170px;height:auto}
.logo-tag{fill:var(--muted)}.logo-curve{stroke:var(--logo-gold)}.logo-24{fill:var(--ink)}.logo-db{fill:var(--logo-gold)}
nav ul{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:15px}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover,nav a[aria-current]{color:var(--ink)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-block:64px 56px}
.eyebrow{font:500 12px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0}
h1{font-family:var(--display);font-weight:700;font-size:clamp(36px,6vw,62px);line-height:1.04;letter-spacing:-1.2px;margin:14px 0 20px;text-wrap:balance}
h1 em{font-style:normal;color:var(--logo-gold)}
.lead{font-size:18px;color:var(--muted);max-width:54ch;margin:0 0 28px}
.btn{display:inline-block;background:var(--ink);color:var(--ground);padding:12px 20px;border-radius:4px;text-decoration:none;font-weight:600}
.btn:hover{background:var(--accent-strong);color:#0F1E2B}
.scope{background:var(--panel);color:var(--panel-ink);border-radius:10px;padding:22px 22px 14px;margin:0}
.scope-head{display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:1px;color:var(--panel-muted);text-transform:uppercase;margin-bottom:8px}
.scope svg{width:100%;height:auto;display:block}
.scope figcaption{font:500 14px var(--body);color:var(--panel-ink);padding:14px 2px 6px;border-top:1px solid #2A4052;margin-top:12px}
.scope text{font-family:var(--mono);font-size:10px;fill:var(--panel-muted)}
.curve{stroke-dasharray:600;animation:draw 1.6s ease-out}
@keyframes draw{from{stroke-dashoffset:600}}
@media (prefers-reduced-motion:reduce){.curve{animation:none}html{scroll-behavior:auto}}
section{padding-block:56px;border-top:1px solid var(--line)}
h2{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.4px;margin:6px 0 10px;text-wrap:balance}
h3{font-family:var(--display);font-size:22px;margin:0 0 4px}
.intro{color:var(--muted);max-width:62ch;margin:0 0 32px}
.contact{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--panel);color:var(--panel-ink);border-radius:10px;padding:36px}
.contact h2{margin-top:0}
.contact p{color:var(--panel-muted);margin:0}
.contact .eyebrow{color:var(--panel-muted)}
.contact address{font-style:normal;display:grid;gap:6px;font:500 18px var(--mono)}
.contact address a{color:var(--accent-strong);text-decoration:none;border-bottom:1px solid currentColor;justify-self:start}
footer.site{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:28px 40px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
footer.site ul{font-size:13px;gap:18px}
/* Rechtstexte */
.legal{max-width:72ch;padding-block:48px 64px}
.legal h1{font-size:clamp(32px,5vw,44px)}
.legal h2{font-size:22px;margin-top:36px}
.legal h3{font-size:18px;margin-top:22px}
.legal p,.legal li{color:var(--ink)}
.legal address{font-style:normal}
.todo{background:#FFE08A;color:#3A2A00;padding:0 4px;border-radius:2px;font-weight:600}
@media (max-width:760px){
  .hero,.contact{grid-template-columns:1fr}
  .hero{padding-block:40px;gap:32px}
  .contact{padding:26px}
}
.lang{display:flex;gap:8px;align-items:center;font:500 12px var(--mono);color:var(--muted);letter-spacing:1px}
.lang a{text-decoration:none}
.lang a[aria-current]{color:var(--ink);border-bottom:2px solid var(--logo-gold)}
.head-right{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.legal .note{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 16px;font-size:14px;color:var(--muted)}
