/* Ostermann Graphit — Design-Tokens. Erzeugt aus tokens/tokens.json (scripts/build-css.py); nicht von Hand ändern. */
@font-face{font-family:"Caladea";src:url("fonts/Caladea-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Caladea";src:url("fonts/Caladea-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Carlito";src:url("fonts/Carlito-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Carlito";src:url("fonts/Carlito-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Carlito";src:url("fonts/Carlito-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--surface:#ffffff;--surface-raised:#f1f3f2;--surface-graphit:#1b1f22;--graphit-edge:#1b1f22;--ink:#1b1f22;--ink-muted:#565e62;--brand:#2e9c69;--brand-text:#1b7a4f;--on-brand:#1b1f22;--action:#1b7a4f;--on-action:#ffffff;--on-graphit:#ffffff;--on-graphit-muted:#a8b0b3;--line:#d9dedb;--focus:var(--brand-text);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--surface:#1b1f22;--surface-raised:#272c30;--surface-graphit:#111417;--graphit-edge:#3a4247;--ink:#ffffff;--ink-muted:#a8b0b3;--brand:#2e9c69;--brand-text:#3fb37f;--on-brand:#1b1f22;--action:#2e9c69;--on-action:#1b1f22;--on-graphit:#ffffff;--on-graphit-muted:#a8b0b3;--line:#3a4247;--focus:var(--brand-text);color-scheme:dark}}
:root[data-theme="dark"]{--surface:#1b1f22;--surface-raised:#272c30;--surface-graphit:#111417;--graphit-edge:#3a4247;--ink:#ffffff;--ink-muted:#a8b0b3;--brand:#2e9c69;--brand-text:#3fb37f;--on-brand:#1b1f22;--action:#2e9c69;--on-action:#1b1f22;--on-graphit:#ffffff;--on-graphit-muted:#a8b0b3;--line:#3a4247;--focus:var(--brand-text);color-scheme:dark}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--content-width:1120px;--measure:68ch;--font-display:"Caladea", Cambria, "Noto Serif", Georgia, serif;--font-sans:"Carlito", Calibri, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "Courier New", monospace}
.display{font-family:var(--font-display);font-size:64px;line-height:68px;font-weight:700}
.h1{font-family:var(--font-display);font-size:40px;line-height:46px;font-weight:700}
.h2{font-family:var(--font-display);font-size:28px;line-height:34px;font-weight:700}
.quote{font-family:var(--font-display);font-size:24px;line-height:32px;font-weight:700;font-style:italic}
.stat{font-family:var(--font-display);font-size:64px;line-height:64px;font-weight:700}
.h3{font-family:var(--font-sans);font-size:20px;line-height:26px;font-weight:700}
.lead{font-family:var(--font-sans);font-size:20px;line-height:30px;font-weight:400}
.body{font-family:var(--font-sans);font-size:16px;line-height:26px;font-weight:400}
.body-sm{font-family:var(--font-sans);font-size:14px;line-height:22px;font-weight:400}
.caption{font-family:var(--font-sans);font-size:12px;line-height:18px;font-weight:400}
.kicker{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase}
.stat-unit{font-family:var(--font-sans);font-size:16px;line-height:20px;font-weight:700}
.code{font-family:var(--font-mono);font-size:14px;line-height:22px;font-weight:400}
