/* — ds/tokens/fonts.css — */
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('/ds/assets/fonts/Lato-300.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('/ds/assets/fonts/Lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('/ds/assets/fonts/Lato-700.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('/ds/assets/fonts/Lato-900.woff2') format('woff2');}
/* — ds/tokens/colors.css — */
:root{
/* Brand core — sampled from folder (Doppelseiten PDF) */
--navy-900:#101E31;--navy-800:#182B44;--navy-700:#223B5A;--navy-600:#2C4A70;--navy-500:#3A5D88;--navy-400:#5B7BA3;--navy-300:#8FA6C2;--navy-200:#BCCADD;--navy-100:#DCE4EE;--navy-50:#F0F4F9;
--white:#FFFFFF;--paper:#F7F9FC;
/* Champagne accent — intentional addition (folder is navy+white only); use sparingly */
--gold-600:#A88A50;--gold-500:#BC9E63;--gold-400:#CDB37E;--gold-100:#F2EADA;
/* Semantic aliases */
--brand:var(--navy-700);--brand-deep:var(--navy-900);--accent:var(--gold-500);
--text-body:#2A3B52;--text-heading:var(--navy-800);--text-muted:#6B7C93;--text-inverse:var(--white);--text-inverse-muted:rgba(255,255,255,.72);
--surface-page:var(--white);--surface-tint:var(--navy-50);--surface-card:var(--white);--surface-navy:var(--navy-700);--surface-navy-deep:var(--navy-900);
--border-subtle:var(--navy-100);--border-strong:var(--navy-300);--border-inverse:rgba(255,255,255,.25);
--link:var(--navy-600);--link-hover:var(--navy-800);
}
/* — ds/tokens/typography.css — */
:root{
--font-sans:'Lato',-apple-system,'Segoe UI',sans-serif;
--font-serif:'Cormorant Garamond',Georgia,serif;
/* Scale (px @ 16 base) */
--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--text-4xl:3.5rem;--text-5xl:4.5rem;
/* Weights */
--weight-light:300;--weight-regular:400;--weight-bold:700;--weight-black:900;
/* Tracking — wide letterspacing is a core brand motif */
--tracking-tight:0;--tracking-wide:0.08em;--tracking-wider:0.16em;--tracking-widest:0.3em;
--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.6;
}
/* — ds/tokens/spacing.css — */
: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;--space-10:128px;--space-11:160px;
--container-max:1200px;--container-narrow:760px;
}
/* — ds/tokens/effects.css — */
:root{
/* Corners: the brand is rectilinear — default sharp */
--radius-none:0;--radius-sm:2px;--radius-md:4px;
--shadow-sm:0 1px 3px rgba(16,30,49,.08);
--shadow-md:0 6px 24px rgba(16,30,49,.10);
--shadow-lg:0 16px 48px rgba(16,30,49,.16);
--shadow-navy:0 12px 40px rgba(34,59,90,.35);
--ease-brand:cubic-bezier(.25,.6,.3,1);/* @kind other */
--dur-fast:150ms;/* @kind other */
--dur-med:300ms;/* @kind other */
--dur-slow:600ms;/* @kind other */
/* Hexagon motif clip path (flat-top) */
--hex-clip:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);/* @kind other */
}
/* — ds/styles.css — */
@import url('tokens/fonts.css');
@import url('tokens/colors.css');
@import url('tokens/typography.css');
@import url('tokens/spacing.css');
@import url('tokens/effects.css');

/* — Navigations-Raster (kritisch, dupliziert aus cookie-cd.css) — */
nav { max-width: 1296px !important; margin-left: auto !important; margin-right: auto !important; }
aside nav { max-width: none !important; }
/* Navigation traegt die Wortmarke OHNE Claim (logo-white.svg, Verhaeltnis 678:197):
   die Claim-Zeile des Lockups rendert bei Leistengroesse nur ~7 px hoch und wirkt
   dadurch unscharf. Claim bleibt im Footer. !important noetig, weil die NavBar-
   Komponente die Hoehe inline ans Bild schreibt. */
[data-nav-sticky] nav > a > img { width: 155px !important; height: 45px !important; }
/* 901-1100 px: dort stehen Lockup, Menuepunkte und CTA gemeinsam in der Leiste */
@media (min-width: 901px) and (max-width: 1100px) {
  [data-nav-sticky] nav > a > img { width: 131px !important; height: 38px !important; }
}
/* Burger-Overlay: das Menü nutzt die volle Inhaltsbreite — die generische
   nav-Zentrierung (1296px + auto-Margins) gilt nur für die Leisten-Navigation */
[data-menu] nav { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
[data-menu] nav a { padding-top: 12px !important; padding-bottom: 12px !important; }
/* CTA im Burger-Menü: schmaleres Seitenpolster, damit „Kostenlose Erstberatung"
   einzeilig bleibt; zentrierter Text als Fallback für sehr schmale Geräte */
[data-menu] > div:last-child a { width: 100% !important; box-sizing: border-box !important; padding-left: 16px !important; padding-right: 16px !important; text-align: center !important; }
