/* ku-theme.css — Pack-Theme Dr. Kusenack (css_mode components)
   Quelle: source/assets/css (Kit-Build relaunch/4-componentsystem, eingefroren laut source/FREEZE.md)
   = core.cd3322e5.css + reihenfolgetreue Vereinigung von 45 Seiten-CSS (pack/bin/build-theme-css.py).
   Font-URLs pack-relativ (../fonts/). Nicht von Hand bearbeiten — bei neuem Kit-Build neu erzeugen. */
/* ===========================================================================
   Schicht 1 — Tokens
   Drei Ebenen: Primitive (Rohwerte) → Semantic (Zweck) → Kontext (je Fläche).
   Komponenten- und Block-CSS lesen AUSSCHLIESSLICH die Semantic-Ebene.

   Primitive = Gefäßpraxis-CI (2-designsystem/ci/tailwind-config.js + brand.css,
   Stand ?v=2026101315). Zuordnung und Begründungen: MAPPING.md.
   Semantic-Namen NICHT umbenennen — Kit-Komponenten und die Gates hängen daran.
   =========================================================================== */

/* --- Ebene 1: Primitive ---------------------------------------------------- */
:root {
  /* CI-Farben, Namen wie in der Tailwind-Konfiguration des Layoutentwurfs */
  --prose-max: 100%;    /* Lesebreite: Prosa füllt ihre Spalte (Entscheid Chris 15.10.). Historie: E97 / Judge 14.10. hatte 35rem ≈ 75 Zeichen je Zeile gesetzt, auf der Testinstanz verworfen */
  --ku-paper-50:  #ffffff;  --ku-paper-100: #f4f8fa;
  --ku-cream-200: #e9eff2;  --ku-cream-300: #dbe4e9;
  --ku-ink-950: #0a1b24;  --ku-ink-900: #0f2733;  --ku-ink-800: #163847;  --ku-ink-700: #1d4659;
  --ku-steel-700: #0e5978; --ku-steel-600: #126e97; --ku-steel-500: #2e82a8;
  --ku-steel-400: #4c97bc; --ku-steel-300: #8fbfd6; --ku-steel-100: #dcebf3; --ku-steel-50: #edf5f9;
  --ku-bluegray-600: #5a6872; --ku-bluegray-500: #7f8c94; --ku-bluegray-400: #919da4;
  --ku-bluegray-200: #c6cdd1; --ku-bluegray-100: #e1e5e8;
  --ku-success-600: #2f7d5b;  --ku-error-600: #a63d2f;

  /* Flächentöne aus brand.css (System 2) */
  --ku-tone-a:      #fbfdfe;   /* Standard-Sektion „Ton A“ */
  --ku-tone-steel:  #e8f1f8;   /* Mesh „Horizont“ und Seitenkopf, Grundfarbe */
  --ku-tone-edge:   #dfebf3;   /* Oberkante des Mesh */
  --ku-tone-mesh-1: #e3eef5;
  --ku-tone-mesh-2: #e1ecf4;
  --ku-toc-hover:   #f4f9fb;   /* Inhaltsverzeichnis Hover */
  --ku-toc-active:  #f0f7fb;   /* Inhaltsverzeichnis aktiv */
  --ku-mask-voll:   #000;      /* Maskenbasis: nur der Alphakanal zählt, nie als Farbe sichtbar */
  --ku-star:        #f5a623;   /* Bewertungssterne */
  --ku-tone-browser:#e2ecf2;   /* Kartenreihe: Browser-Leiste */
  --ku-tone-chip:   #eaf3f8;   /* Chip, Formular-Symbole: Verlaufsende */
  --ku-error-field: #b4423b;   /* Formular: Fehlerzustand */
  --ku-line-print:  #d7e6f0;   /* Druck: Kartenkontur */
  --ku-slate-600:   #44525c;   /* Druck- und Hinweistext */
  --ku-steel-200:   #bbd9ea;   /* Akzentwort auf dunkler Fläche */
  --ku-bluegray-50: #eef1f3;   /* Hinweisplakette */
  --ku-google-blue: #4285f4;   /* Marken-Wortmarke Google (G-o-o-g-l-e) */
  --ku-google-red:  #ea4335;
  --ku-google-yellow:#fbbc05;
  --ku-google-green:#34a853;
  --ku-portal-jameda:#0f615c;  /* Marken-Wortmarke jameda */
  --ku-portal-provenexpert:#6e5520;  /* Marken-Wortmarke ProvenExpert */
  --ku-logo-grey:   #545c61;   /* Wortmarke Kopfzeile */

  /* Kit-Schnittstelle: Markenskala 50–950 und Neutrals auf die CI gelegt */
  --brand-50:  var(--ku-steel-50);  --brand-100: var(--ku-steel-100); --brand-200: var(--ku-steel-300);
  --brand-300: var(--ku-steel-300); --brand-400: var(--ku-steel-400); --brand-500: var(--ku-steel-500);
  --brand-600: var(--ku-steel-600); --brand-700: var(--ku-steel-700); --brand-800: var(--ku-ink-800);
  --brand-900: var(--ku-ink-900);   --brand-950: var(--ku-ink-950);
  --n-0:   var(--ku-paper-50);  --n-50:  var(--ku-tone-a);       --n-100: var(--ku-paper-100);
  --n-200: var(--ku-cream-200); --n-300: var(--ku-bluegray-200); --n-500: var(--ku-bluegray-500);
  --n-600: var(--ku-bluegray-600); --n-700: var(--ku-ink-700);   --n-900: var(--ku-ink-900);

  /* Status */
  --status-danger-raw:  var(--ku-error-600);
  --status-success-raw: var(--ku-success-600);

  /* Abstands-Skala (rem, 4-px-Raster) — Kit-Stufen; Sektions- und Kartenmaße unten */
  --space-0: 0;      --space-1: .25rem; --space-2: .5rem;  --space-3: 1rem;
  --space-4: 1.5rem; --space-5: 2rem;   --space-6: 3rem;   --space-7: 4.5rem;
  --space-8: 6rem;

  /* Radien */
  --radius-sm: .375rem;          /* Fokusring 6 px, Chips */
  --radius-md: 1rem;             /* Bild im Fotorahmen */
  --radius-lg: 1.25rem;          /* Karten */
  --radius-xl: 1.35rem;          /* Fotorahmen außen */
  --radius-pill: 999px;          /* Buttons, Badges */

  /* Elevation (alle Schatten in Ink, nie Schwarz) */
  --elevation-1: 0 24px 48px -20px rgba(15, 39, 51, .16);                 /* Karte */
  --elevation-2: 0 40px 74px -34px rgba(15, 39, 51, .26);                 /* Karte Hover */
  --elevation-fest: 0 24px 48px -20px rgba(15, 39, 51, .16);              /* Video, Newsletter, Wege-Trenner: auf jeder Fläche gleich */
  --elevation-frame: 0 40px 80px -24px rgba(15, 39, 51, .22);             /* Fotorahmen */
  --elevation-card-white: 0 0 0 1px rgba(15, 39, 51, .08), 0 30px 60px -36px rgba(15, 39, 51, .22);
  --elevation-panel: 0 40px 90px -34px rgba(15, 39, 51, .26), 0 10px 28px -18px rgba(15, 39, 51, .14);
  --elevation-header: 0 10px 28px -20px rgba(15, 39, 51, .26);
  --elevation-btn: 0 18px 36px -18px rgba(18, 110, 151, .45);
  --elevation-btn-hover: 0 18px 36px -18px rgba(18, 110, 151, .52);

  /* Bewegung */
  --ease: cubic-bezier(.32, .72, 0, 1);            /* premium: Buttons, Lift */
  --ease-out: cubic-bezier(.33, 1, .68, 1);
  --ease-out-quint: cubic-bezier(.22, 1, .36, 1);  /* Reveal */
  --dur-fast: 220ms;     /* Farbwechsel */
  --dur-base: 300ms;     /* Lift, Druck */
  --dur-slow: 600ms;
  --dur-reveal: 720ms;
  --dur-clip: 820ms;
  --stagger: 90ms;

  /* Maße */
  --container-max: 1320px;
  --container-wide: 1560px;
  --container-pad: 1.25rem;          /* ab 640: 2rem, ab 1024: 3rem (unten) */
  --content-measure: 44rem;          /* Prosa */
  --lead-measure: 62ch;
  --tap-min: 44px;
  --btn-min-h: 52px;
  /* Button-Kanon (E91): eine Höhe, ein Innenabstand für jede Pille. Chip 32 px + 2 × 10 px = --btn-min-h */
  --btn-pad-y: .625rem;  --btn-pad-x: var(--space-4);  --btn-pad-chip: .625rem;  --btn-chip: 2rem;

  /* Sektionsrhythmus (Mobil, Desktop-Stufe unten) */
  --section-y: 6.6rem;  --section-y-tight: 5.5rem;  --section-y-wide: 7.7rem;  --section-y-prose: 4.4rem;
  --hero-pt: 8rem;      --hero-pb: 5rem;
  --gap-lead: .25rem;   --gap-block: 2rem;   /* mobil: Kopf → Inhalt war 48 px (Chris 13.10.2026: „riesen Abstand“) */

  /* Karten */
  --card-pad: 1.75rem;  --card-pad-sm: 1.6rem;  --card-gap: .5rem;  --card-title-gap: .6rem;
  --frame-pad: .375rem;
}
@media (max-width: 767.98px) {
  :root {   /* E92: Sektionsabstände mobil kompakter (≈ −15 %) */
    --section-y: 5.6rem;  --section-y-tight: 4.7rem;  --section-y-wide: 6.5rem;  --section-y-prose: 3.8rem;
    --hero-pt: 7rem;      --hero-pb: 4.3rem;
  }
}
@media (min-width: 640px) {
  :root { --container-pad: 2rem; }
}
@media (min-width: 1024px) {
  :root {
    --container-pad: 3rem;
    --section-y: 8.8rem;  --section-y-tight: 7.7rem;  --section-y-wide: 11rem;  --section-y-prose: 6.6rem;
    --hero-pt: 10rem;     --hero-pb: 6rem;
    --gap-block: 4rem;
    --card-pad: 2.4rem;   --card-pad-sm: 2.1rem;
  }
}

/* --- Ebene 2: Semantic — Namen fest, Zuordnung projektspezifisch ----------- */
:root {
  /* Text */
  --text-strong:    var(--ku-ink-900);
  --text-body:      color-mix(in srgb, var(--ku-ink-900) 80%, transparent);
  --text-muted:     color-mix(in srgb, var(--ku-ink-900) 70%, transparent);
  --text-soft:      color-mix(in srgb, var(--ku-ink-900) 75%, transparent);   /* Fließtext leicht zurückgenommen (Entwurf: ink-900/75) */
  --border-preflight: #e5e7eb;   /* Grundkontur ohne Gestaltungsabsicht (Rahmen erst mit border-width sichtbar) */
  --text-placeholder: #9ca3af;
  --text-on-brand:  var(--ku-paper-100);
  --text-link:      var(--ku-steel-700);
  --text-link-hover:var(--ku-ink-900);
  /* Ergänzungen (Lücken des Kit-Satzes, siehe MAPPING.md) */
  --text-accent:    var(--ku-steel-600);   /* Zitatzeichen, Kartenmeta, Akzentlinks */
  --text-meta:      var(--ku-bluegray-600);
  --text-logo:      var(--ku-logo-grey);

  /* Flächen */
  --surface-page:   var(--ku-tone-a);
  --surface-card:   var(--ku-paper-50);
  --surface-muted:  var(--ku-tone-steel);
  --surface-hover:  var(--ku-steel-50);
  --surface-brand:  var(--ku-ink-950);
  /* Ergänzung: Struktur der Fläche (Mesh, Verläufe). Eine Fläche setzt Farbe UND Struktur. */
  --surface-texture: radial-gradient(60% 50% at 20% 10%, #ffffff 0%, rgba(255, 255, 255, 0) 60%),
                     radial-gradient(56% 50% at 86% 82%, rgba(76, 151, 188, .11) 0%, rgba(76, 151, 188, 0) 64%);

  /* Linien */
  --border-default:     color-mix(in srgb, var(--ku-ink-900) 14%, transparent);
  --border-strong:      color-mix(in srgb, var(--ku-ink-900) 20%, transparent);
  --border-interactive: var(--ku-steel-600);
  --border-hair:        rgba(18, 110, 151, .10);   /* Kartenkante (card-edge) */

  /* Interaktion */
  --interactive:       var(--ku-steel-600);
  --interactive-hover: var(--ku-steel-700);
  --interactive-press: var(--ku-ink-800);
  --interactive-fg:    var(--ku-paper-50);
  --interactive-fill:       linear-gradient(120deg, #0e5978 0%, #126e97 42%, #2e82a8 100%);   /* Primärbutton */
  --interactive-fill-hover: linear-gradient(120deg, #0e5978 0%, #126e97 100%);
  --disabled-bg:       var(--ku-bluegray-100);
  --disabled-fg:       var(--ku-bluegray-600);

  /* Fokus */
  --focus-ring:        var(--ku-steel-500);
  --focus-ring-width:  3px;
  --focus-ring-offset: 3px;

  /* Status */
  --status-danger:  var(--status-danger-raw);
  --status-success: var(--status-success-raw);
}

/* --- Ebene 3: Kontext-Tokens je Fläche ------------------------------------
   Eine Fläche belegt Tokens um. Sie schreibt KEINE Regeln für ihre Kinder — und
   Komponenten brauchen KEINE Kontextklasse: wer auf der Fläche liegt, liest
   automatisch die umbelegten Tokens. Jede Fläche belegt die VOLLSTÄNDIGE Familie um.
   ACHTUNG: immer das Endtoken setzen, nie ein Zwischentoken.

   Flächen der Gefäßpraxis:
   (Standard)            Ton A — hell, Weiß-Steel-Licht
   .ku-section--paper    Weiß (tone-white) — Formulare, Newsletter, Karten mit Kontur
   .ku-section--muted    Mesh „Horizont“ (tone-b/tone-steel) — der dunklere Hellton
   .ku-section--hero     Seitenkopf Steel (pagehero) — nur Kopf der Unterseiten
   .ku-section--brand    Ink-Bühne (on-ink) — Startseite, fixiertes Foto
   -------------------------------------------------------------------------- */
.ku-section--paper {
  --surface-page:    var(--ku-paper-50);
  --surface-texture: none;
  --surface-card:    var(--ku-paper-50);
  --surface-hover:   var(--ku-steel-50);
  --text-strong:     var(--ku-ink-900);
  --text-body:       color-mix(in srgb, var(--ku-ink-900) 80%, transparent);
  --text-muted:      color-mix(in srgb, var(--ku-ink-900) 70%, transparent);
  --text-soft:      color-mix(in srgb, var(--ku-ink-900) 75%, transparent);
  --text-link:       var(--ku-steel-700);
  --text-link-hover: var(--ku-ink-900);
  --border-default:  color-mix(in srgb, var(--ku-ink-900) 14%, transparent);
  --interactive:     var(--ku-steel-600);
  --interactive-fg:  var(--ku-paper-50);
  --focus-ring:      var(--ku-steel-500);
  --elevation-1:     var(--elevation-card-white);   /* Karten auf Weiß tragen eine Kontur statt nur Schatten */
}
.ku-section--muted {
  --surface-page:    var(--ku-tone-steel);
  --surface-texture: linear-gradient(to bottom, #dfebf3 0%, rgba(223, 235, 243, .96) 8%, rgba(223, 235, 243, 0) 22%),
                     radial-gradient(42% 46% at 6% 48%, rgba(255, 255, 255, .82), rgba(255, 255, 255, 0) 70%),
                     radial-gradient(70% 55% at 86% 100%, rgba(46, 130, 168, .22), rgba(46, 130, 168, 0) 70%),
                     linear-gradient(180deg, #e3eef5 0%, #e8f1f8 40%, #e1ecf4 100%);
  --surface-card:    var(--ku-paper-50);
  --surface-hover:   var(--ku-steel-100);   /* eine Stufe dunkler als die Fläche, sonst wäre Hover unsichtbar */
  --text-strong:     var(--ku-ink-900);
  --text-body:       color-mix(in srgb, var(--ku-ink-900) 80%, transparent);
  --text-muted:      color-mix(in srgb, var(--ku-ink-900) 70%, transparent);
  --text-soft:      color-mix(in srgb, var(--ku-ink-900) 75%, transparent);
  --text-link:       var(--ku-steel-700);
  --text-link-hover: var(--ku-ink-900);
  --border-default:  color-mix(in srgb, var(--ku-ink-900) 14%, transparent);
  --interactive:     var(--ku-steel-600);
  --interactive-fg:  var(--ku-paper-50);
  --focus-ring:      var(--ku-steel-500);   /* 3,77:1 auf Steel, Nicht-Text-Schwelle 3:1 */
}
.ku-section--hero {
  --surface-page:    var(--ku-tone-steel);
  --surface-texture: radial-gradient(55% 62% at 76% 26%, rgba(76, 151, 188, .26), rgba(76, 151, 188, 0) 62%),
                     radial-gradient(52% 58% at 14% 88%, rgba(18, 110, 151, .18), rgba(18, 110, 151, 0) 66%),
                     radial-gradient(46% 42% at 22% 6%, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 98%);
  --surface-card:    var(--ku-paper-50);
  --surface-hover:   var(--ku-steel-100);
  --text-strong:     var(--ku-ink-900);
  --text-body:       color-mix(in srgb, var(--ku-ink-900) 80%, transparent);
  --text-muted:      color-mix(in srgb, var(--ku-ink-900) 70%, transparent);
  --text-soft:      color-mix(in srgb, var(--ku-ink-900) 75%, transparent);
  --text-link:       var(--ku-steel-700);
  --text-link-hover: var(--ku-ink-900);
  --border-default:  color-mix(in srgb, var(--ku-ink-900) 14%, transparent);
  --interactive:     var(--ku-steel-600);
  --interactive-fg:  var(--ku-paper-50);
  --focus-ring:      var(--ku-steel-500);   /* 3,77:1 auf Steel, Nicht-Text-Schwelle 3:1 */
}
.ku-section--brand {
  /* Flächen */
  --surface-page:    var(--ku-ink-950);
  --surface-texture: none;
  --surface-card:    color-mix(in srgb, var(--ku-paper-100) 10%, transparent);
  --surface-hover:   color-mix(in srgb, var(--ku-paper-100) 14%, transparent);
  /* Text */
  --text-strong:     var(--ku-paper-100);
  --text-body:       color-mix(in srgb, var(--ku-paper-100) 86%, transparent);
  --text-muted:      color-mix(in srgb, var(--ku-paper-100) 72%, transparent);
  --text-soft:      color-mix(in srgb, var(--ku-paper-100) 80%, transparent);
  --text-link:       var(--ku-paper-100);
  --text-link-hover: var(--ku-steel-300);
  --text-accent:     var(--ku-steel-300);
  --text-meta:       color-mix(in srgb, var(--ku-paper-100) 72%, transparent);
  /* Linien */
  --border-default:     color-mix(in srgb, var(--ku-paper-100) 40%, transparent);
  --border-strong:      var(--ku-paper-100);
  --border-interactive: var(--ku-paper-100);
  --border-hair:        color-mix(in srgb, var(--ku-paper-100) 16%, transparent);
  /* Interaktion: Vordergrund und Fläche tauschen die Rollen */
  --interactive:       var(--ku-paper-100);
  --interactive-hover: var(--ku-steel-100);
  --interactive-press: var(--ku-steel-300);
  --interactive-fg:    var(--ku-ink-950);
  --interactive-fill:       var(--ku-paper-100);
  --interactive-fill-hover: var(--ku-steel-100);
  --disabled-bg:       color-mix(in srgb, var(--ku-paper-100) 18%, transparent);
  --disabled-fg:       color-mix(in srgb, var(--ku-paper-100) 55%, transparent);
  /* Fokus */
  --focus-ring:      var(--ku-steel-300);
}

/* ===========================================================================
   Schicht 2 — Schriften
   Self-hosted woff2 (DSGVO, kein Google-CDN), Dateien in assets/fonts/.
   Playfair Display = Überschriften, Plus Jakarta Sans = Text, Montserrat = Wortmarke.
   Variable Schnitte über einen font-weight-Bereich je Datei; die Fallback-Faces mit
   Metrik-Angleichung halten das Layout beim Schriftwechsel stabil (kein Sprung).
   Preload: playfair-display-variable-normal-latin + plus-jakarta-sans-variable-latin.
   =========================================================================== */

@font-face {
  font-family: 'Playfair Display Fallback';
  src: local('Georgia');
  size-adjust: 101.65%; ascent-override: 106.25%; descent-override: 24.6%; line-gap-override: 0%;
}
@font-face {
  font-family: 'Plus Jakarta Sans Fallback';
  src: local('Helvetica Neue'), local('Arial');
  size-adjust: 104.65%; ascent-override: 99.38%; descent-override: 21.02%; line-gap-override: 0%;
}
@font-face {
  font-family: 'Montserrat Fallback';
  src: local('Arial');
  size-adjust: 112.61%; ascent-override: 85.96%; descent-override: 22.29%; line-gap-override: 0%;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/playfair-display-variable-normal-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: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/playfair-display-variable-normal-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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/playfair-display-variable-italic-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: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/playfair-display-variable-italic-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;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-variable-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-variable-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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/montserrat-variable-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: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/montserrat-variable-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;
}

:root {
  --font-display: 'Playfair Display', 'Playfair Display Fallback', Georgia, serif;
  --font-body:    'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', 'Helvetica Neue', Arial, sans-serif;
  --font-logo:    'Montserrat', 'Montserrat Fallback', Arial, sans-serif;

  /* Typo-Skala (System 2, E54/E76) — Desktop-Werte; Mobilstufe ≤ 767,98 px unten.
     Alle Überschriften Playfair 400, Laufweite 0 (bewusst, aus den Feedback-Runden). */
  --h1-size: clamp(2.6rem, 6.4vw, 5.5rem);   --h1-lh: 1.05; --h1-weight: 400; --h1-tracking: 0;   /* kurze Unterseiten-H1 = Display */
  --h2-size: clamp(2.1rem, 5vw, 4.25rem);    --h2-lh: 1.1;  --h2-weight: 400; --h2-tracking: 0;   /* jede Sektions-Hauptüberschrift */
  --h3-size: clamp(1.6rem, 3.9vw, 3.25rem);  --h3-lh: 1.14; --h3-weight: 400; --h3-tracking: 0;   /* Untersektion, große Karte */
  --h4-size: clamp(1.35rem, 1.9vw, 1.65rem); --h4-lh: 1.22; --h4-weight: 400; --h4-tracking: 0;   /* Kartentitel */
  --h5-size: 1.1875rem;                      --h5-lh: 1.3;  --h5-weight: 400; --h5-tracking: 0;
  --h6-size: 1.0625rem;                      --h6-lh: 1.4;  --h6-weight: 400; --h6-tracking: 0;
  --body-size: 1.0625rem; --body-lh: 1.75; --body-weight: 400;
  --caption-size: .85rem; --caption-lh: 1.5; --caption-weight: 400; --caption-tracking: 0;

  /* Ergänzungen der Skala (Lücken des Kit-Satzes, siehe MAPPING.md) */
  --display-size: clamp(2.6rem, 6.4vw, 5.5rem); --display-lh: 1.05;   /* Hero-H1 und Bühne */
  --h1-long-size: clamp(2.6rem, 4.6vw, 4.4rem); --h1-long-lh: 1.08;   /* Artikeltitel — E93: eine Stufe größer, mobil = Display */
  --lead-size: clamp(1.125rem, .98rem + .3vw, 1.25rem);       --lead-lh: 1.6;
  --lead-stage-size: clamp(1.1875rem, .98rem + .55vw, 1.5rem); --lead-stage-lh: 1.55;
  --sm-size: .95rem;
  --faq-frage-size: var(--h5-size);   /* FAQ-Fragen; mobil eigener Wert (E94) */
  --meta-size: .85rem; --meta-weight: 600;
  --quote-size: clamp(1.3rem, 2vw, 1.7rem); --quote-lh: 1.5;
  --prose-size: 1.0625rem; --prose-lh: 1.8;
  --prose-h2-size: clamp(1.5rem, 2.6vw, 1.95rem);
  --btn-size: var(--sm-size); --btn-weight: 600;   /* E91: jede Button-Beschriftung in der Stufe der mobilen Leiste (Desktop .95 rem, mobil 13 px) */
  --display-pad: .04em .14em .34em 0;   /* Playfair-Unterlängen und Kursiv-Überhang nicht abschneiden */
}

@media (max-width: 767.98px) {
  :root {
    --h1-size: 2.6rem; /* E93: = Display */ --h2-size: 2.31rem; /* E91 +10 % */ --h3-size: 1.6rem; --h4-size: 1.38rem; --h5-size: 1.265rem; /* E92 Box-Titel +15 % (h4 und h5 stehen nur in Boxen) */
    --body-size: .875rem; --body-lh: 1.7; --caption-size: .8rem;   /* 14 px: meistgenutzter Fließtext mobil (Chris, Annotator 13.10.2026) */
    --display-size: 2.6rem; --h1-long-size: 2.6rem; /* E93: Artikel-H1 mobil = Startseiten-H1 */
    --lead-size: 1.0125rem; --lead-stage-size: 1.07rem;   /* E92 Intro −10 % */
    --sm-size: .8125rem; --meta-size: .8rem; --quote-size: 1.15rem;
    --faq-frage-size: 1rem;   /* FAQ-Fragen mobil 16 px — eine Stufe über dem Fließtext (Chris 14.10.2026, E94) */
    --prose-size: .875rem; --prose-h2-size: 1.35rem;
  }
}

/* ===========================================================================
   Schicht 3 — Basis
   Element-Grundwerte, Typo-Skala als Klassen, Fokus, Container, Flächen.
   Liest nur Tokens. Die Element-Grundwerte entsprechen dem Stand, auf dem der
   abgenommene Entwurf gebaut ist (Parität), danach folgen die CI-Regeln.
   =========================================================================== */

*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: var(--border-preflight); }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; font-family: var(--font-body); }
body {
  margin: 0;
  line-height: inherit;
  background: var(--ku-paper-100);
  color: var(--text-strong);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
hr { height: 0; color: inherit; border-top-width: 1px; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
button, input, optgroup, select, textarea {
  font-family: inherit; font-feature-settings: inherit; font-variation-settings: inherit;
  font-size: 100%; font-weight: inherit; line-height: inherit; letter-spacing: inherit;
  color: inherit; margin: 0; padding: 0;
}
button, select { text-transform: none; }
button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) { -webkit-appearance: button; background-color: transparent; background-image: none; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: var(--text-placeholder); }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden]:where(:not([hidden="until-found"])) { display: none; }

/* --- Typo-Skala als Klassen -----------------------------------------------
   Die HTML-Ebene (h1…h6) folgt der Bedeutung, die Klasse der Größe.
   Alle Überschriften: Playfair 400, Laufweite 0 (E54/E76). Zeilenhöhen je Stufe;
   eine h3 mit Kartengröße steht enger (Unterlängen-Schutz über die Innenabstände). */
.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6 { font-weight: 400; color: var(--text-strong); }

/* --- Text-Stufen ---------------------------------------------------------- */
.ku-body { font-size: var(--body-size); }
.ku-small { font-size: var(--sm-size); }
.ku-caption { font-size: var(--caption-size); }
@media (max-width: 767.98px) {
  :root .ku-body { line-height: var(--body-lh); }
}

/* --- Layout --------------------------------------------------------------- */
.ku-container { width: 100%; max-width: var(--container-max); margin-inline: auto; }
.ku-container--wide { max-width: var(--container-wide); }

/* Die Section löst Farbe UND Fläche selbst auf: Kontext-Tokens der Fläche
   (Farbe + Struktur) und der Sektionsrhythmus (--section-y). */
.ku-section {
  position: relative;
  padding-block: var(--section-y);
  background-color: var(--surface-page);
  background-image: var(--surface-texture);
  color: var(--text-strong);
}

/* --- Icon-Sprite: liegt im DOM, nimmt keinen Platz --- */
.ku-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* --- Nur für Screenreader ------------------------------------------------- */
.ku-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;
}

/* --- Sprungmarke zum Inhalt (erst bei Tastaturfokus sichtbar) -------------- */
.ku-skiplink {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;
}
.ku-skiplink:focus {
  position: absolute; top: 1rem; left: 1rem; z-index: 60;
  width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal;
  padding: 0.75rem 1.25rem; border-radius: var(--radius-pill);
  background-color: var(--ku-ink-900); color: var(--ku-paper-50);
}
/* Hoch- und Tiefstellung ohne Zeilensprung (wie die Grundstellung des Entwurfs) */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

:root { --ease-out: cubic-bezier(0.33, 1, 0.68, 1);; --ease-premium: cubic-bezier(0.32, 0.72, 0, 1); --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);; }
html { scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: hidden; }
body { background: var(--ku-paper-100); font-family: var(--font-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { font-family: var(--font-display); letter-spacing: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--ku-steel-500); outline-offset: 3px; border-radius: 6px; }
:focus:not(:focus-visible) { outline: none; }
:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { line-height: 1.12; }
h1:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)), :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) h1, h2 :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)), :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)).ku-h2 { line-height: 1.12; }
h3:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { line-height: 1.1; }
h2:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { padding: 0.04em 0.14em 0.34em; }
.ku-h1 { font-size: clamp(2.6rem, 6vw, 4.75rem); line-height: 1.05; letter-spacing: 0; }
.ku-h2 { font-size: clamp(2.3rem, 4.8vw, 3.9rem); line-height: 1.14; letter-spacing: 0; }
.ku-h3 { font-size: 1.375rem; line-height: 1.25; letter-spacing: 0; }
.ku-h4 { font-size: clamp(1.35rem, 1.9vw, 1.65rem); line-height: 1.22; letter-spacing: 0; }
.ku-h5 { font-size: 1.1875rem; line-height: 1.3; letter-spacing: 0; }
:root { --ku-lh-body: 1.75; }
@media (max-width: 767.98px) {
  :root { --ku-lh-body: 1.7; }
}
:root .ku-h1 { font-size: var(--h1-size); line-height: 1.05; }
:root .ku-h2 { font-size: var(--h2-size); line-height: 1.1; }
:root .ku-h3 { font-size: var(--h3-size); line-height: 1.14; }
:root .ku-h4 { font-size: var(--h4-size); }
:root .ku-h5 { font-size: var(--h5-size); }
:root { --ku-frame-x: 0.75rem; --ku-frame-r: 1rem; }
@media (min-width: 640px) {
  :root { --ku-frame-x: 1.25rem; }
}
@media (min-width: 1024px) {
  :root { --ku-frame-x: 2rem; --ku-frame-r: 1.25rem; }
}
:root { --ku-dock-shadow: 0 -28px 110px -30px color-mix(in srgb, var(--ku-ink-900) 10%, transparent); }
:root body::after { content: ''; position: fixed; inset: 0; background: var(--ku-paper-50); z-index: 39; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 260ms var(--ease-out, cubic-bezier(0.32,0.72,0,1)), visibility 260ms; }
@media (prefers-reduced-motion: reduce) {
  :root body::after { transition: none; }
}
html:root, html:root body { overflow-x: clip; overflow-y: visible; }
[data-ku-cat][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@media print {
  details { display: block; }
  details > summary { display: none; }
  details > * { display: block !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: var(--ku-slate-600); }
}
iframe:focus-visible { outline: 3px solid var(--ku-steel-600); outline-offset: 2px; }
:root { --ku-logo-h: 22px; }
@media (max-width: 379.98px) {
  :root { --ku-logo-h: 18px; }
}
@media (min-width: 640px) {
  :root { --ku-logo-h: 26px; }
}
@media (min-width: 1024px) {
  :root { --ku-logo-h: 32px; }
}

/* --- Flächen und Sektionsrhythmus -----------------------------------------
   Die Fläche selbst kommt aus den Kontext-Tokens (tokens.css); hier stehen nur
   Rhythmus, Innenabstand und die Nahtregeln (Ton-Kanon E85/E86). */
.ku-section { padding-inline: 1.25rem; }
@media (min-width: 640px) {
  .ku-section { padding-inline: var(--space-5); }
}
@media (min-width: 1024px) {
  .ku-section { padding-inline: var(--space-6); }
}
.ku-section--tight { --section-y: var(--section-y-tight); }
.ku-section--wide { --section-y: var(--section-y-wide); }
.ku-section--prose { --section-y: var(--section-y-prose); }
.ku-section--flush-top { padding-top: calc(var(--section-y) / 2); }
.ku-section--flush-bottom { padding-bottom: calc(var(--section-y) / 2); }
.ku-section.ku-section--flush-top { --ku-tone-edge: none; }
.ku-section--hero { padding-top: var(--hero-pt); padding-bottom: var(--hero-pb); }

.ku-section--brand .ku-punkt { color: var(--ku-steel-300); }
.ku-section--brand a:focus-visible, .ku-section--brand button:focus-visible, .ku-section--brand summary:focus-visible { outline-color: var(--ku-steel-300); }
.ku-section--paper .ku-card { box-shadow: var(--elevation-card-white); }
.ku-section--muted .ku-haken { background: color-mix(in srgb, var(--ku-steel-600) 10%, transparent); color: var(--text-link); }

/* Auslauf: die Sektion endet in Weiß, wenn eine weiße Sektion folgt (Flush-Paar) */
.ku-section--auslauf { isolation: isolate; }
.ku-section--auslauf::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 28%; z-index: -1; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--ku-paper-50)); }

@media print {
  .ku-section { background: var(--ku-paper-50) !important; box-shadow: none !important; }
}

.ku-punkt { color: var(--text-accent); }
.ku-bild { filter: saturate(1.06) contrast(1.06) brightness(1.02); }
.ku-frame { background: var(--ku-paper-50); padding: 0.375rem; border-radius: 1.35rem; box-shadow: 0 40px 80px -24px color-mix(in srgb, var(--ku-ink-900) 22%, transparent); }
.ku-frame > img { border-radius: 1rem; display: block; }
.ku-card { border: 1px solid color-mix(in srgb, var(--ku-steel-600) 10%, transparent); }
.ku-grain::before { content: ''; position: fixed; inset: 0; z-index: 5; pointer-events: none; opacity: 0.022; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
@media (prefers-reduced-motion: no-preference) {
  :is(.ku-btn--primary, .ku-btn--ghost) { transition: transform 150ms var(--ease-out), box-shadow 200ms var(--ease-out); }
  :is(.ku-btn--primary, .ku-btn--ghost):hover { transform: translateY(-2px); }
  :is(.ku-btn--primary, .ku-btn--ghost):active { transform: scale(0.98); }
  :is(.ku-btn--primary, .ku-btn--ghost) .ku-btn__icon:where(:where(.ku-btn--primary) *) { transition: transform 220ms var(--ease-out), background-color 220ms var(--ease-out); }
  :is(.ku-btn--primary, .ku-btn--ghost):hover .ku-btn__icon:where(:where(.ku-btn--primary) *) { transform: translate(3px,-2px); background-color: color-mix(in srgb, var(--ku-paper-50) 28%, transparent); }
  .ku-card--link { transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out); }
  .ku-btn__pfeil { transition: transform 300ms var(--ease-out); }
  :is(a, button):hover .ku-btn__pfeil { transform: translateX(5px); }
}
.ku-btn--primary { background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 42%, var(--ku-steel-500) 100%); box-shadow: 0 18px 36px -18px color-mix(in srgb, var(--ku-steel-600) 45%, transparent); }
.ku-btn--primary:hover { background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 100%); box-shadow: 0 26px 54px -18px color-mix(in srgb, var(--ku-steel-600) 52%, transparent); }
:is(.ku-btn--primary, .ku-btn--ghost):active { transform: scale(0.98); }
html.ku-pointer :focus, html.ku-pointer :focus-visible { outline: none; }
.ku-logo__wrap { position: relative; display: inline-flex; align-items: center; }
.ku-akzent { font-family: var(--font-display); font-style: italic; color: var(--text-accent); padding: 0 0.14em; margin: 0 -0.08em 0 -0.14em;; background: linear-gradient(100deg, var(--ku-steel-700) 0%, var(--ku-steel-500) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ku-akzent--hell { font-family: var(--font-display); font-style: italic; color: var(--ku-steel-200); padding: 0 0.14em; margin: 0 -0.08em 0 -0.14em;; background: linear-gradient(100deg, var(--ku-steel-300) 0%, var(--ku-steel-100) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ku-btn--secondary { display:inline-flex; align-self:flex-start; width:max-content; max-width:100%; align-items:center; gap:0.6rem; border-radius:9999px; font-weight:600; background:var(--ku-steel-50); color:var(--text-link); border:1px solid color-mix(in srgb, var(--ku-steel-600) 16%, transparent); padding:var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); min-height:var(--btn-min-h); font-size:var(--btn-size); line-height:1.3; }
.ku-btn--secondary .ku-btn__icon:where(:where(.ku-btn--secondary) *) { display:grid; place-items:center; width:var(--btn-chip); height:var(--btn-chip); border-radius:9999px; background:color-mix(in srgb, var(--ku-steel-600) 12%, transparent); color:var(--text-accent); flex:none; }
@media (prefers-reduced-motion: no-preference) {
  .ku-btn--secondary { transition: background-color .2s var(--ease-out), transform .15s var(--ease-out), border-color .2s var(--ease-out); }
  .ku-btn--secondary:hover { background:var(--ku-steel-100); transform:translateY(-2px); }
  .ku-btn--secondary .ku-btn__icon:where(:where(.ku-btn--secondary) *) svg { transition: transform .22s var(--ease-out); }
  .ku-btn--secondary:hover .ku-btn__icon:where(:where(.ku-btn--secondary) *) svg { transform: translateX(2px); }
}
.ku-display { font-size: clamp(2.6rem, 5.8vw, 5rem); line-height: 1.08; letter-spacing: 0; }
:root :is(.ku-display) { font-size: var(--display-size); line-height: 1.05; }
:root .ku-lead { font-size: var(--lead-size); text-wrap: balance; }
:root .ku-lead--stage { font-size: var(--lead-stage-size); }
:root .ku-body { font-size: var(--body-size); }
:root .ku-small { font-size: var(--sm-size); }
:root .ku-caption { font-size: var(--caption-size); }
:root :is(.ku-head--center) > p { text-wrap: balance; }
@media (max-width: 767.98px) {
  :root .ku-body { line-height: var(--body-lh); }
}
:root :is(.ku-display, .ku-h1, .ku-h2, .ku-h3) { padding: 0.04em 0.14em 0.34em 0; text-wrap: balance; }
/* E93: lange Einzelwörter (Bauchaortenaneurysma …) brechen statt überzulaufen; Trennstellen setzt das Markup per &shy; */
:root :is(.ku-display, .ku-h1) { overflow-wrap: anywhere; hyphens: manual; -webkit-hyphens: manual; }
.ku-lead { font-size: clamp(1.0625rem, 0.98rem + 0.3vw, 1.25rem); line-height: 1.6; max-width: 62ch; text-wrap: pretty; }
:is(.ku-display, .ku-h1, .ku-h2, .ku-h3) + :is(p, .ku-lead) { margin-top: var(--gap-lead); }
.ku-lead--stage { font-size: clamp(1.15rem, 0.98rem + 0.55vw, 1.5rem); line-height: 1.55; text-wrap: balance; }
.ku-lead + .ku-lead { margin-top: 0.85rem; }
.ku-head { margin-bottom: var(--gap-block); max-width: 50rem; }
:root .ku-head { max-width: none; }
.ku-head--center { margin-inline: auto; text-align: center; }
.ku-head--center .ku-lead { margin-inline: auto; text-wrap: balance; }
.ku-head--row { max-width: none; }
.ku-card--info { background: var(--ku-paper-50); border-radius: 1.25rem; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
:where(.ku-card--info) .ku-card__media { aspect-ratio: 16/9; overflow: hidden; }
:where(.ku-card--info) .ku-card__media img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1024px) {
  .ku-card__media--fill { aspect-ratio: auto; flex: 1; min-height: 130px; }
}
:where(.ku-card--info) .ku-card__body { padding: var(--space-4) 1.6rem 1.7rem; display: flex; flex-direction: column; gap: 0.35rem; flex: 1; }
.ku-card__body--sm { padding: 1.15rem 1.3rem 1.35rem; }
:root .ku-card--info { border-radius: var(--radius-lg); }
:root .ku-card__body:where(:where(.ku-card--info) *) { padding: var(--card-pad); gap: var(--card-gap); }
:root .ku-card__body--sm { padding: var(--card-pad-sm); }
:root .ku-card__body:where(:where(.ku-card--info) *) > :is(.ku-h4, .ku-h5) { margin-bottom: var(--card-title-gap); }
:root .ku-btn__pfeil { transition: transform .3s var(--ease-out); }
:root .ku-card__gruppe { padding-top: var(--space-4); }
:root .ku-card__body:where(:where(.ku-card--info) *) > .ku-card__gruppe { margin-top: 1.4rem; }
.ku-card__gruppe { margin-top: auto; padding-top: 1.1rem; border-top: 1px solid color-mix(in srgb, var(--ku-ink-900) 9%, transparent); }
.ku-liste { display: grid; gap: 0.45rem; margin-top: 0.55rem; }
.ku-liste li { position: relative; padding-left: 1.1rem; font-size: 0.93rem; line-height: 1.55; color: color-mix(in srgb, var(--ku-ink-900) 72%, transparent); }
.ku-liste li::before { content: ''; position: absolute; left: 0; top: 0.62em; width: 0.4rem; height: 0.4rem; border-radius: 999px; background: var(--ku-steel-500); }
/* E92: große Kartentitel (h3-Stufe in Karten, z. B. Newsletter-Karte) mobil +15 % */
@media (max-width: 767.98px) {
  :root .ku-card .ku-h3 { font-size: calc(var(--h3-size) * 1.15); }
}
/* E91: Punktlisten in Infokarten mobil in Fließtextgröße */
@media (max-width: 767.98px) {
  :root .ku-liste li { font-size: var(--body-size); line-height: var(--body-lh); }
}
.ku-body { font-size: 1.0625rem; }
.ku-small { font-size: 0.95rem; }
.ku-caption { font-size: 0.85rem; }
.ku-meta { font-size: 0.85rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.ku-quote { font-size: clamp(1.3rem, 2vw, 1.7rem); line-height: 1.5; font-style: italic; }
.ku-chip { background: linear-gradient(180deg, var(--ku-paper-50) 0%, var(--ku-tone-chip) 100%); border: 1px solid color-mix(in srgb, var(--ku-steel-600) 20%, transparent); color: var(--text-link); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ku-paper-50) 70%, transparent); }
.ku-prose { max-width: 44rem; }
.ku-prose h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: 0; color: var(--text-strong); font-size: clamp(1.5rem, 2.6vw, 1.95rem); line-height: 1.25; margin: 2.75rem 0 var(--space-3); scroll-margin-top: 8.5rem; }
.ku-prose h2:first-child { margin-top: 0; }
.ku-prose h3 { font-weight: 500; color: var(--text-strong); font-size: var(--h5-size); line-height: var(--h5-lh); margin: var(--space-5) 0 0.75rem; }
.ku-prose strong, .ku-prose b { color: var(--text-strong); font-weight: 700; }
.ku-prose a:not([class]) { color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--ku-steel-600) 35%, transparent); }
.ku-prose a:not([class]):hover { text-decoration-color: var(--ku-steel-700); }
.ku-prose ul, .ku-prose ol { margin: 0 0 1.25rem; display: grid; gap: var(--space-2); }
.ku-prose ul li { position: relative; padding-left: 1.6rem; font-size: 1.0625rem; line-height: 1.7; color: var(--text-body); }
.ku-prose ul li::before { content: ''; position: absolute; left: 0.25rem; top: 0.65em; width: 8px; height: 8px; border-radius: 999px; background: var(--ku-steel-400); }
.ku-prose ol { counter-reset: art; }
.ku-prose ol li { position: relative; padding-left: var(--space-5); font-size: 1.0625rem; line-height: 1.7; color: var(--text-body); counter-increment: art; }
.ku-prose ol li::before { content: counter(art); position: absolute; left: 0; top: 0.1em; width: 1.4rem; height: 1.4rem; border-radius: 999px; display: grid; place-items: center; font-size: 0.72rem; font-weight: 700; background: color-mix(in srgb, var(--ku-steel-600) 10%, transparent); color: var(--text-link); }
.ku-prose h2, .ku-autor { clear: both; }
.ku-card__flag { display: inline-flex; align-self: flex-start; align-items: center; gap: 0.4rem; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: 0.85rem; font-weight: 600; background: var(--ku-bluegray-50); color: var(--ku-slate-600); margin-bottom: 0.9rem; }
.ku-card__flag--lead { background: var(--ku-steel-50); color: var(--text-link); }
.ku-btn--link { margin-top: auto; padding-top: 1.1rem; display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; font-size: var(--btn-size); color: var(--text-accent); }
.ku-btn--link:hover { color: var(--text-link); }
.ku-autor { display: flex; gap: var(--space-4); align-items: flex-start; background: var(--ku-paper-50); border-radius: 1.25rem; padding: 1.75rem 1.9rem; margin-top: var(--space-6); box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
.ku-autor__foto { flex: none; width: 104px; height: 104px; border-radius: 999px; overflow: hidden; border: 3px solid color-mix(in srgb, var(--ku-steel-600) 30%, transparent); }
.ku-autor__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.ku-autor__name { font-family: var(--font-display); font-weight: 500; color: var(--text-strong); font-size: 1.35rem; line-height: 1.2; }
.ku-autor__rolle { margin-top: var(--space-1); font-size: 0.85rem; letter-spacing: 0; text-transform: none; font-weight: 700; color: var(--text-accent); }
.ku-autor__bio { margin-top: 0.7rem; font-size: 0.95rem; line-height: 1.7; color: color-mix(in srgb, var(--ku-ink-900) 72%, transparent); }
@media (max-width: 560px) {
  .ku-autor { flex-direction: column; }
}
:root .ku-autor--card { margin-top: 0; height: 100%; flex-direction: column; gap: 1.25rem; padding: var(--card-pad); border-radius: var(--radius-lg); box-shadow: var(--elevation-fest); }
.ku-prose :is(h2, h3)[id] { scroll-margin-top: 8.5rem; }
.ku-haken { flex: none; width: 1.65rem; height: 1.65rem; border-radius: 999px; display: grid; place-items: center; background: color-mix(in srgb, var(--ku-steel-600) 8%, transparent); color: var(--text-accent); margin-top: 0.1rem; }
.ku-prose__more > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: var(--space-2); font-weight: 600; color: var(--text-accent); margin: var(--space-2) 0 var(--space-3); }
.ku-prose__more > summary::-webkit-details-marker { display: none; }
.ku-prose__more > summary::after { content: ''; width: 0.55rem; height: 0.55rem; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 220ms var(--ease-out, ease); }
.ku-prose__more[open] > summary::after { transform: rotate(-135deg) translateY(-1px); }
.ku-prose__more > summary:hover { color: var(--text-link); }
.ku-prose__more > summary:focus-visible { outline: 2px solid var(--ku-steel-600); outline-offset: 3px; border-radius: 0.3rem; }
@media print {
  .ku-prose { max-width: none; }
}
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-logo__wrap { min-height: 44px; }
  :root .ku-btn--link { min-height: 44px; }
  :root main :not(p, li, label, summary) > a:is([href^="tel:"], [href^="mailto:"], a.ku-body):not(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary) { display: inline-flex; align-items: center; min-height: 44px; }
  :root .ku-check { min-height: 44px; padding-block: var(--space-2); }
}
html.ku-menu-open { overflow: hidden !important; }
html:not(.ku-pointer) iframe:focus:focus { outline: 3px solid var(--ku-steel-600); outline-offset: 2px; }
:root .ku-logo { display: inline-flex; align-items: center; gap: calc(var(--ku-logo-h) * 0.3735); height: var(--ku-logo-h); color: #545C61; white-space: nowrap; line-height: 1; }
:root .ku-logo__emblem { display: block; flex: none; height: calc(var(--ku-logo-h) * 0.975); width: auto; }
:root .ku-logo__text { display: block; font-family: 'Montserrat', 'Montserrat Fallback', 'Helvetica Neue', Arial, sans-serif; font-weight: 400; text-transform: uppercase; font-size: calc(var(--ku-logo-h) * 0.696); letter-spacing: 0; line-height: 1; }
:root .ku-logo--full { --ku-logo-w: 200px; display: inline-grid; justify-items: center; width: var(--ku-logo-w); height: auto; gap: 0; color: var(--text-meta); }
:root .ku-logo--full .ku-logo__mark { display: flex; align-items: flex-end; width: 100%; gap: 0; }
:root .ku-logo--full .ku-logo__mark::before, :root .ku-logo--full .ku-logo__mark::after { content: ''; flex: 1; height: max(1px, calc(var(--ku-logo-w) * 0.0073)); background: currentColor; }
:root .ku-logo--full .ku-logo__emblem { height: calc(var(--ku-logo-w) * 0.182); margin: 0 calc(var(--ku-logo-w) * 0.1004) 0 calc(var(--ku-logo-w) * 0.1161); }
:root .ku-logo--full .ku-logo__text { font-size: calc(var(--ku-logo-w) * 0.1303); letter-spacing: 0.004em; margin: calc(var(--ku-logo-w) * 0.0304) -0.004em 0 0; }
:root .ku-logo__sub { display: block; font-family: 'Montserrat', 'Montserrat Fallback', 'Helvetica Neue', Arial, sans-serif; font-weight: 500; text-transform: uppercase; font-size: calc(var(--ku-logo-w) * 0.0533); letter-spacing: 0.13em; margin: calc(var(--ku-logo-w) * 0.0163) -0.13em 0 0; line-height: 1; color: var(--text-meta); }
:root .ku-logo__sub > span { color: var(--text-accent); }
:root .ku-btn--primary { position: relative; isolation: isolate; }
:root .ku-btn--primary::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 100%); opacity: 0; transition: opacity 300ms var(--ease); }
:root .ku-btn--primary:hover { background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 42%, var(--ku-steel-500) 100%); }
:root .ku-btn--primary:hover::before { opacity: 1; }
:root .ku-btn--link svg { flex: none; }
@media (prefers-reduced-motion: no-preference) {
  :root .ku-btn--link svg { transition: transform 300ms var(--ease); }
  :root .ku-btn--secondary .ku-btn__icon:where(:where(.ku-btn--secondary) *) svg, :root .ku-btn--secondary:hover .ku-btn__icon:where(:where(.ku-btn--secondary) *) svg { transition: none; transform: none; }
  @media (hover: hover) {
    :root .ku-btn--link:hover svg { transform: translate(2px, -1px); }
  }
}
@media (prefers-reduced-motion: reduce) {
  :root .ku-btn--primary::before { transition: none; }
}
:is(.ku-btn--primary, .ku-btn--ghost) { display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 999px; padding: var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); min-height: var(--btn-min-h); font-size: var(--btn-size); font-weight: 600; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.ku-btn--primary { color: var(--ku-paper-50); }
:root aside .ku-card__body:where(:where(.ku-card--info) *) > a:is(.ku-btn--primary, .ku-btn--ghost) .ku-btn__icon:where(:where(.ku-btn--primary) *) { flex: none; }
:root .ku-quote { --ku-quote-mark: 2.6em; --ku-quote-color: var(--ku-steel-600); position: relative; padding-top: 1.05em; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: var(--quote-size); line-height: 1.5; color: color-mix(in srgb, var(--ku-ink-900) 90%, transparent); quotes: none; }
:root .ku-quote::before { content: '\201E'; position: absolute; left: -0.04em; top: 0; font-size: var(--ku-quote-mark); line-height: 1; height: 0.4em; overflow: visible; color: var(--ku-quote-color); font-style: normal; transform: translateY(-0.6em); pointer-events: none; }
:root .ku-quote::after, :root .ku-quote > p:last-of-type::after { content: '\201C'; color: var(--ku-quote-color); margin-left: 0.04em; }
:root .ku-quote:has(> p)::after { content: none; }
:root .ku-quote > p { margin: 0; }
:root .ku-quote > p + p { margin-top: 0.75em; }
:root .ku-quote--hero { font-size: var(--body-size); line-height: 1.45; }
:root .ku-card--info.ku-card--bild { position: relative; }
:root .ku-card--bild > .ku-card__media:where(:where(.ku-card--info) *) { aspect-ratio: 16 / 10; overflow: hidden; display: block; margin: 0; }
:root .ku-card--bild > .ku-card__media:where(:where(.ku-card--info) *) img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
:root .ku-card--bild .ku-btn--link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :root .ku-card--info.ku-card--bild:hover { transform: translateY(-5px); box-shadow: 0 40px 74px -34px color-mix(in srgb, var(--ku-ink-900) 26%, transparent); }
  :root .ku-card--bild:hover > .ku-card__media:where(:where(.ku-card--info) *) img { transform: scale(1.05); }
}
:root .ku-card__grafik { aspect-ratio: 4 / 3; display: grid; place-items: center; background: var(--ku-steel-50); overflow: hidden; }
:root .ku-card__grafik > svg { width: auto; height: 86%; max-width: 86%; display: block; overflow: visible; }
:root .ku-frame--split { aspect-ratio: 4 / 5; align-self: start; width: 100%; }
:root .ku-frame--split > img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023.98px) {
  :root .ku-frame--split { aspect-ratio: 4 / 3; }
}
:root .ku-frame--hero > img, :root .ku-frame--hero > picture > img { width: 100%; height: 300px; object-fit: cover; }
:root .ku-frame--artikel > img { width: 100%; height: 280px; object-fit: cover; }
@media (min-width: 640px) {
  :root .ku-frame--hero > img, :root .ku-frame--hero > picture > img { height: 420px; }
  :root .ku-frame--artikel > img { height: 360px; }
}
:root .ku-prose h2 { font-size: var(--prose-h2-size); }
:root .ku-portal__mark { display: inline-flex; align-items: baseline; font-family: var(--font-body); font-weight: 700; font-size: 0.95rem; letter-spacing: -0.01em; line-height: 1; color: var(--text-strong); white-space: nowrap; }
:root .ku-portal__mark[data-ku-portal="google"] > :nth-child(1), :root .ku-portal__mark[data-ku-portal="google"] > :nth-child(4) { color: var(--ku-google-blue); }
:root .ku-portal__mark[data-ku-portal="google"] > :nth-child(2), :root .ku-portal__mark[data-ku-portal="google"] > :nth-child(6) { color: var(--ku-google-red); }
:root .ku-portal__mark[data-ku-portal="google"] > :nth-child(3) { color: var(--ku-google-yellow); }
:root .ku-portal__mark[data-ku-portal="google"] > :nth-child(5) { color: var(--ku-google-green); }
:root .ku-portal__mark[data-ku-portal="jameda"] { color: var(--ku-portal-jameda); }
:root .ku-portal__mark[data-ku-portal="provenexpert"] > span { color: var(--ku-portal-provenexpert); }
:root .ku-portal { display: inline-flex; align-items: center; gap: 0.6rem; font-size: var(--sm-size); font-weight: 500; color: var(--text-accent); }
:root .ku-portal > .ku-portal__text { border-bottom: 1px solid color-mix(in srgb, var(--ku-steel-600) 30%, transparent); padding-bottom: 0.125rem; transition: border-color 220ms var(--ease-out); }
:root .ku-portal:hover > .ku-portal__text { border-color: var(--ku-steel-600); }
:root .ku-portal svg.ku-gg { width: 18px; height: 18px; flex: none; }
:root .ku-prose--leistung > h2 { font-size: var(--h3-size); line-height: var(--h3-lh); margin-top: var(--space-6); }
:root .ku-prose h3[id] { font-family: var(--font-display); font-weight: 400; letter-spacing: 0; color: var(--text-strong); font-size: var(--h4-size); line-height: var(--h4-lh); margin: 2.6rem 0 0.9rem; }
/* E93: Hierarchie im Fließtext von Leistungs-Detail und Ratgeber — Sektions-H2 > Prosa-H2 (Stufe h3) > Prosa-H3 mit Anker (h4) > Zwischentitel (h5) */
:root .ku-inhalt .ku-prose--leistung > h2 { font-size: var(--h3-size); line-height: var(--h3-lh); font-weight: 400; }
:root .ku-prose h3:not([id]) { font-weight: 500; font-size: var(--h5-size); line-height: var(--h5-lh); }
:root :is(.ku-akzent, .ku-akzent--hell) { margin-right: -0.14em; }
:root .ku-card__body:where(:where(.ku-card--info) *) > .ku-card__meta + :is(.ku-h3, .ku-h4, .ku-h5) { margin-top: calc(0.6rem - var(--card-gap)); }
:root .ku-prose ol li::before { font-size: var(--caption-size); }
:root .ku-field__label { display: block; margin-bottom: 0.45rem; font-size: var(--sm-size); font-weight: 600; line-height: 1.4; color: var(--text-strong); }
:root .ku-field::placeholder { color: var(--text-meta); opacity: 1; }
:root .ku-field[aria-invalid="true"] { border-color: var(--ku-error-600); }
:root .ku-field__error { margin-top: 0.4rem; font-size: var(--caption-size); font-weight: 600; line-height: 1.45; color: var(--ku-error-600); }
:root .ku-field__error[hidden] { display: none; }
@media (max-width: 767.98px) {
  a:is(.ku-btn--primary, .ku-btn--ghost), button:is(.ku-btn--primary, .ku-btn--ghost), a.ku-btn--secondary, button.ku-btn--secondary { width: 100%; justify-content: center; }
}
:where(.ku-start) .ku-field { width: 100%; border-radius: 0.9rem; border: 1px solid color-mix(in srgb, var(--ku-ink-900) 14%, transparent); background: var(--ku-paper-50); padding: 0.85rem 1.05rem; font-size: 1rem; color: var(--text-strong); transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
:where(.ku-start) .ku-field:focus { outline: none; border-color: var(--ku-steel-500); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ku-steel-500) 14%, transparent); }
:where(.ku-start) .ku-check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.82rem; color: var(--ku-slate-600); line-height: 1.5; }
:where(.ku-start) .ku-check input { margin-top: 0.15rem; width: 1.05rem; height: 1.05rem; accent-color: var(--ku-steel-600); flex: none; }
:where(.ku-start) :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { text-wrap: balance; }
html:where(:has(> .ku-kontakt)), body:where(.ku-kontakt) { overflow-x: clip; overflow-y: visible; }
:where(.ku-kontakt) :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { text-wrap: balance; }
:where(.ku-kontakt) .ku-check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.82rem; color: var(--text-meta); line-height: 1.5; }
:where(.ku-kontakt) .ku-check input { margin-top: 0.15rem; width: 1.05rem; height: 1.05rem; accent-color: var(--ku-steel-600); flex: none; }

/* --- Button-Kanon: Maße der Varianten ------------------------------------
   Pille mit Chip. Primary = Verlauf + Chip, Ghost = Kontur (Telefon), Secondary =
   tonale Pille, Link = Textlink mit Pfeil. Seit E91 eine Größe: 52 px (--btn-min-h), --lg ohne eigene Maße.
   Steht hinter den CI-Regeln, gleiche Spezifität: die Maße gewinnen wie im Entwurf. */
.ku-btn--primary { padding: var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); font-weight: 600; color: var(--ku-paper-50); }
.ku-btn--ghost {
  border-width: 1px;
  border-color: color-mix(in srgb, var(--ku-ink-900) 20%, transparent);
  padding-left: var(--btn-pad-x);
  padding-right: var(--btn-pad-x);
  font-weight: 500;
  color: var(--text-strong);
}
.ku-btn--ghost:hover { border-color: var(--ku-steel-600); }
.ku-btn--lg { font-size: var(--btn-size); }   /* E91: --lg ist nur noch Alias der Standardgröße */
:where(.ku-btn--primary) .ku-btn__icon {
  display: grid;
  place-items: center;
  width: var(--btn-chip);
  height: var(--btn-chip);
  border-radius: var(--radius-pill);
  background-color: color-mix(in srgb, var(--ku-paper-50) 15%, transparent);
}

/* --- UI-Kit: Reihe für Knopf-Beispiele (nur Musterseite) --- */
.ku-uikit__reihe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-4); }
/* „Weiterlesen“ in Bild-Karten ist kein eigenes Tippziel (die ganze Karte ist der Link): keine Mindesthöhe */
:root :where(.ku-card--artikel, .ku-themen__karte) .ku-btn--link { min-height: 0; }
/* E91 Button-Kanon: jede Pille mit gleicher Schrift (--btn-size, Maßstab mobile Leiste), gleicher Höhe
   (--btn-min-h) und gleichen Innenabständen; Chip rechts immer --btn-chip. :root hebt die Regel über die
   Block-Regeln (Hero, Seitenkopf, Abschluss, Footer, Newsletter). Ausgenommen: der kompakte Header-Knopf. */
:root :is(.ku-btn--primary, .ku-btn--ghost, .ku-btn--secondary, .ku-footer__btn):not(.ku-header__btn--desktop) { min-height: var(--btn-min-h); height: auto; padding: var(--btn-pad-y) var(--btn-pad-x); font-size: var(--btn-size); line-height: 1.3; }
:root :is(.ku-btn--primary, .ku-btn--secondary, .ku-footer__btn, .ku-btn--ghost:has(.ku-btn__icon)):not(.ku-header__btn--desktop) { padding-right: var(--btn-pad-chip); gap: .625rem; }
:root :is(.ku-btn--primary, .ku-btn--ghost, .ku-btn--secondary, .ku-footer__btn):not(.ku-header__btn--desktop) :is(.ku-btn__icon, .ku-footer__btn-icon) { width: var(--btn-chip); height: var(--btn-chip); }
/* Pille mit 1-px-Rand und Chip: Rand aus dem Innenabstand nehmen, damit die Höhe bei --btn-min-h bleibt */
:root .ku-btn--secondary:not(.ku-header__btn--desktop) { padding-top: calc(var(--btn-pad-y) - 1px); padding-bottom: calc(var(--btn-pad-y) - 1px); }

/* --- Regeln mit Kern-Wurzel aus den Block-Quellen (Fläche, Typo-Stufe, Button im Kontext) --- */
@media (prefers-reduced-motion: no-preference) {
  .ku-header [data-ku-seq="nav"] { animation: ku-navdrop 640ms var(--ease-out) both; }
}@media (prefers-reduced-motion: no-preference) {
  .ku-seitenkopf__inner [data-ku-seq="kick"] { animation: ku-fade 620ms var(--ease-out) both; animation-delay: 60ms; }
}@media (prefers-reduced-motion: no-preference) {
  .ku-seitenkopf__inner [data-ku-seq="w1"] { animation: ku-word 520ms var(--ease-out) both; animation-delay: 140ms; }
}@media (prefers-reduced-motion: no-preference) {
  .ku-seitenkopf__inner [data-ku-seq="sub"] { animation: ku-fade 560ms var(--ease-out) both; animation-delay: 500ms; }
}@media (prefers-reduced-motion: no-preference) {
  .ku-seitenkopf__inner [data-ku-seq="img"] { animation: ku-clip 760ms var(--ease) both; animation-delay: 150ms; }
}
@media (prefers-reduced-motion: reduce) {
  .ku-seitenkopf__inner [class^="seq-"], .ku-seitenkopf__inner [class*=" seq-"] { animation: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
}:root .ku-h1.ku-h1--long { font-size: var(--h1-long-size); line-height: var(--h1-long-lh); }
:root .ku-section--muted { --ku-tone-edge: linear-gradient(to bottom, #DFEBF3 0%, rgba(223,235,243,0.96) 8%, rgba(223,235,243,0) 22%); background-color: #E8F1F8; background-image: var(--ku-tone-edge), radial-gradient(42% 46% at 6% 48%, color-mix(in srgb, var(--ku-paper-50) 82%, transparent), transparent 70%), radial-gradient(70% 55% at 86% 100%, color-mix(in srgb, var(--ku-steel-500) 22%, transparent), transparent 70%), linear-gradient(180deg, #E3EEF5 0%, #E8F1F8 40%, #E1ECF4 100%); }
:root :is(.ku-card__meta, :where(.ku-kartenreihe__presse) .ku-card__meta) { text-transform: none !important; letter-spacing: 0 !important; font-size: 0.85rem !important; }
:root :is(.ku-card__meta, :where(.ku-kartenreihe__presse) .ku-card__meta) { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: var(--text-accent); }
:root :is(.ku-kartenreihe__url, .ku-hero__badge-text) { font-size: var(--caption-size); letter-spacing: 0; }:root :is(.ku-card--info, .ku-card--artikel, .ku-themen__karte, .ku-kartenreihe__bewertung, .ku-kartenreihe__presse) { box-shadow: var(--elevation-fest); }:root :is(.ku-card--artikel, .ku-themen__karte) { position: relative; display: flex; flex-direction: column; height: 100%; padding: 0; border-radius: var(--radius-lg); overflow: hidden; background: var(--ku-paper-50); transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out); }:root :is(:where(.ku-card--artikel) .ku-card__media, :where(.ku-themen__karte) .ku-card__media) { display: block; margin: 0; border-radius: 0; overflow: hidden; aspect-ratio: 16/10; }:root :is(:where(.ku-card--artikel) .ku-card__media, :where(.ku-themen__karte) .ku-card__media) img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }@media (hover: hover) {
  :root :is(.ku-card--artikel, .ku-themen__karte):hover { transform: translateY(-5px); box-shadow: 0 40px 74px -34px color-mix(in srgb, var(--ku-ink-900) 26%, transparent); }
}@media (hover: hover) {
  :root :is(.ku-card--artikel, .ku-themen__karte):hover :is(:where(.ku-card--artikel) .ku-card__media, :where(.ku-themen__karte) .ku-card__media) img { transform: scale(1.05); }
}
:root .ku-card__body:where(:where(.ku-card--artikel, .ku-themen__karte) *) { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: var(--card-pad-sm); }
:root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-card__body, .ku-kartenreihe__meta) > :is(.ku-card__meta, :where(.ku-kartenreihe__presse) .ku-card__meta) + :is(.ku-h4, .ku-h5) { margin-top: 0.6rem; }
:root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-card__body, .ku-kartenreihe__meta) > :is(.ku-h4, .ku-h5) { margin-bottom: calc(var(--card-title-gap) + 0.15rem); }
:root .ku-btn--link:where(:where(.ku-card--artikel, .ku-themen__karte) *) { margin-top: auto; padding-top: 1.25rem; }
:root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-card__body, :where(.ku-card--info) .ku-card__body, .ku-kartenreihe__meta) > :is(.ku-h3, .ku-h4, .ku-h5) { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 12 5 4; overflow-wrap: break-word; }
@media print {
  .ku-card--info, .ku-card--artikel, .ku-kartenreihe__bewertung, .ku-inhalt__verzeichnis, .ku-autor { box-shadow: none !important; border: 1px solid var(--ku-line-print) !important; break-inside: avoid; }
}
.ku-prose p, .ku-lead, :where(.ku-card--info) .ku-card__body p, :where(.ku-card--artikel, .ku-themen__karte) .ku-card__body p, blockquote p { text-wrap: pretty; }
:root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-btn--link, .ku-btn--link, .ku-kartenreihe__link) { display: inline-flex; align-items: center; gap: 0.4rem; font-size: var(--btn-size); font-weight: 600; line-height: 1.4; color: var(--text-accent); }
:root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-btn--link, .ku-btn--link, .ku-kartenreihe__link) svg { width: 15px; height: 15px; flex: none; }
section[id], [id].ku-section, #ku-termin, .ku-faq { scroll-margin-top: 6rem; }
:root aside .ku-card__body:where(:where(.ku-card--info) *) > a:is(.ku-btn--primary, .ku-btn--ghost) { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: var(--space-2); margin: 1.1rem 0 0; padding: var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); min-height: var(--btn-min-h); border-left: 0; border-radius: 999px; color: var(--ku-paper-50); font-size: var(--btn-size); font-weight: 600; line-height: 1.3; white-space: normal; }
:root aside .ku-card__body:where(:where(.ku-card--info) *) > a:is(.ku-btn--primary, .ku-btn--ghost):hover { color: var(--ku-paper-50); background-color: transparent; background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 100%); }
.ku-preise dt:is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { font-family: var(--font-body); font-weight: 600; letter-spacing: 0; }
.ku-prose :is(p:not([class]), :is(.ku-faq, .ku-inhalt__faq) details > p) { font-size: 1.0625rem; line-height: 1.8; color: var(--text-body); margin-bottom: 1.15rem; }
:root .ku-prose :is(p:not([class]), :is(.ku-faq, .ku-inhalt__faq) details > p, ul li, ol li) { font-size: var(--prose-size); }
@media print {
  .ku-stickybar, .ku-vid__play, .ku-lesefortschritt, .ku-inhalt__teilen { display: none !important; }
}
@media (prefers-reduced-motion: no-preference) {
  :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn, .ku-btn--link, .ku-stickybar a) { transition: transform 300ms var(--ease), box-shadow 300ms var(--ease), background-color 220ms var(--ease-out), border-color 220ms var(--ease-out), color 220ms var(--ease-out); }
}
@media (prefers-reduced-motion: no-preference) {
  :root :is(:where(.ku-btn--primary) .ku-btn__icon, :where(.ku-btn--secondary) .ku-btn__icon, .ku-footer__btn-icon) { transition: transform 300ms var(--ease), background-color 220ms var(--ease-out); }
}
@media (prefers-reduced-motion: no-preference) {
  @media (hover: hover) {
    :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn, .ku-btn--link):hover { transform: translateY(-2px); }
  }
}
@media (prefers-reduced-motion: no-preference) {
  @media (hover: hover) {
    :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn):hover :is(:where(.ku-btn--primary) .ku-btn__icon, :where(.ku-btn--secondary) .ku-btn__icon, .ku-footer__btn-icon) { transform: translate(2px, -1px) scale(1.05); }
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn, .ku-btn--link, .ku-stickybar a):active { transform: scale(0.98); }
}
@media (prefers-reduced-motion: reduce) {
  :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn, .ku-btn--link, .ku-stickybar a) { transition: background-color 220ms var(--ease-out), color 220ms var(--ease-out); }
}
@media (prefers-reduced-motion: reduce) {
  :root :is(:is(.ku-btn--primary, .ku-btn--ghost), .ku-btn--secondary, .ku-footer__btn, .ku-btn--link):is(:hover, :active) { transform: none; }
}
.ku-footer__btn.ku-btn--ghost { border-width: 0; font-weight: 600; }@media (prefers-reduced-motion: no-preference) {
  .ku-card--link:hover { transform: translateY(-4px); box-shadow: 0 40px 72px -32px color-mix(in srgb, var(--ku-ink-900) 22%, transparent); }
}

.ku-header__link { position: relative; font-size: 1rem; }
.ku-header__link::after { content: ''; position: absolute; left: 0; bottom: -5px; width: 0; height: 1.5px; background: var(--ku-steel-300); transition: width 220ms var(--ease-out); }
.ku-header__link:hover::after, .ku-header__link[aria-current="page"]::after { width: 100%; }
.ku-header { transition: transform 400ms var(--ease-out), padding 360ms var(--ease); }
.ku-header__leiste { background-color: transparent; border: 1px solid transparent; transition: background-color 320ms var(--ease-out), border-color 320ms var(--ease-out), box-shadow 320ms var(--ease-out), backdrop-filter 320ms var(--ease-out), border-radius 360ms var(--ease), max-width 360ms var(--ease); }
.ku-header.is-scrolled { padding: 0.7rem var(--space-3) 0; }
.ku-header.is-scrolled .ku-header__leiste { max-width: var(--container-wide); margin: 0 auto; border-radius: 9999px; background-color: color-mix(in srgb, var(--ku-paper-50) 85%, transparent); -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); border-color: color-mix(in srgb, var(--ku-ink-900) 8%, transparent); box-shadow: 0 14px 34px -20px color-mix(in srgb, var(--ku-ink-900) 30%, transparent); }
.ku-header.is-scrolled nav { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.ku-header.is-scrolled .ku-header__leiste .ku-header__link { color: var(--ku-ink-700); }
.ku-header.is-scrolled .ku-header__leiste .ku-header__link:hover, .ku-header.is-scrolled .ku-header__leiste .ku-header__link[aria-expanded="true"] { color: var(--text-strong); }
.ku-header.is-scrolled .ku-header__leiste .ku-header__link::after { background: var(--ku-steel-600); }
.ku-header .ku-header__burger-linie { background: var(--ku-paper-50); transition: background-color 300ms var(--ease-out), transform 320ms var(--ease), opacity 200ms var(--ease-out); }
.ku-header.is-scrolled .ku-header__burger-linie { background: var(--ku-ink-900); }
[data-ku-burger][aria-expanded="true"] .ku-header__burger-linie:nth-child(1) { transform: translateY(7px) rotate(45deg); }
[data-ku-burger][aria-expanded="true"] .ku-header__burger-linie:nth-child(2) { opacity: 0; }
[data-ku-burger][aria-expanded="true"] .ku-header__burger-linie:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.ku-header__icon { color: var(--ku-steel-100); transition: color .2s var(--ease-out), background-color .2s var(--ease-out); }
.ku-header__icon:hover { background-color: color-mix(in srgb, var(--ku-paper-50) 10%, transparent); color: var(--ku-paper-50); }
.ku-header.is-scrolled .ku-header__icon { color: var(--ku-ink-700); }
.ku-header.is-scrolled .ku-header__icon:hover { background-color: color-mix(in srgb, var(--ku-steel-600) 8%, transparent); color: var(--text-strong); }
.ku-header__zeiten-panel { position: absolute; right: 0; top: calc(100% + 12px); width: 240px; opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none; background-color: color-mix(in srgb, var(--ku-ink-900) 94%, transparent); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid color-mix(in srgb, var(--ku-paper-50) 10%, transparent); border-radius: 1rem; box-shadow: 0 30px 70px -28px rgba(0,0,0,0.65); padding: 1.05rem 1.2rem; z-index: 46; transition: opacity .22s var(--ease-out), transform .26s var(--ease), visibility .22s; }
.ku-header__zeiten-panel.is-active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.ku-header__zeiten-kopf { color: var(--ku-steel-300); }
.ku-header__zeiten-tag { color: var(--ku-steel-100); font-size: 0.95rem; font-weight: 600; }
.ku-header__zeiten-zeit { color: var(--ku-bluegray-200); font-size: 0.9rem; }
.ku-header__zeiten-tel { color: var(--ku-steel-300); }
.ku-header__zeiten-tel:hover { color: var(--ku-paper-50); }
.ku-header.is-scrolled .ku-header__zeiten-panel { background-color: color-mix(in srgb, var(--ku-paper-50) 97%, transparent); border-color: color-mix(in srgb, var(--ku-ink-900) 8%, transparent); box-shadow: 0 30px 70px -28px color-mix(in srgb, var(--ku-ink-900) 28%, transparent); }
.ku-header.is-scrolled .ku-header__zeiten-kopf { color: var(--text-accent); }
.ku-header.is-scrolled .ku-header__zeiten-tag { color: var(--text-strong); }
.ku-header.is-scrolled .ku-header__zeiten-zeit { color: var(--text-meta); }
.ku-header.is-scrolled .ku-header__zeiten-tel { color: var(--text-accent); }
.ku-header.is-scrolled .ku-header__zeiten-tel:hover { color: var(--text-strong); }
.ku-header__mega-hover { background: none; border: 0; cursor: pointer; }
.ku-header__caret { transition: transform 240ms var(--ease-out); }
.ku-header__mega-hover[aria-expanded="true"] .ku-header__caret { transform: rotate(180deg); }
.ku-header__mega { --fm-inset: 1.5rem; position: fixed; top: var(--fm-top, 5.5rem); left: var(--fm-inset); right: var(--fm-inset); z-index: 40; max-height: calc(100dvh - var(--fm-top, 5.5rem) - 1.5rem); display: flex; background: var(--ku-paper-50); border-radius: 1.5rem; overflow: hidden; box-shadow: 0 40px 90px -34px color-mix(in srgb, var(--ku-ink-900) 34%, transparent), 0 8px 24px -16px color-mix(in srgb, var(--ku-ink-900) 20%, transparent); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity 260ms var(--ease-out), transform 320ms var(--ease), visibility 260ms; }
@media (min-width: 640px) {
  .ku-header__mega { --fm-inset: 2rem; }
}
.ku-header__mega.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.ku-header__mega-raster { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr; }
@media (min-width: 1024px) {
  .ku-header__mega-raster { grid-template-columns: 42% 58%; }
}
.ku-header__mega-panel { position: relative; overflow-y: auto; -webkit-overflow-scrolling: touch; min-height: 0; background-color: var(--ku-paper-50); background-image: radial-gradient(70% 55% at 4% 100%, color-mix(in srgb, var(--ku-steel-600) 6%, transparent), transparent 60%), radial-gradient(60% 50% at 100% 0%, color-mix(in srgb, var(--ku-steel-400) 6%, transparent), transparent 60%); border-right: 1px solid color-mix(in srgb, var(--ku-ink-900) 6%, transparent); }
.ku-header__mega-leistung { display: flex; align-items: baseline; gap: .8rem; padding: .5rem 0; color: var(--ku-ink-800); border-left: 2px solid transparent; transition: color .2s var(--ease-out), padding-left .25s var(--ease-out), border-color .2s var(--ease-out); }
.ku-header__mega-leistung:hover, .ku-header__mega-leistung:focus-visible { color: var(--text-accent); padding-left: .8rem; border-left-color: var(--ku-steel-600); outline: none; }
.ku-header__mega-neben { color: var(--text-meta); transition: color .18s var(--ease-out); }
.ku-header__mega-neben:hover { color: var(--text-strong); }
.ku-header__mega-bildfeld { position: relative; overflow: hidden; background-color: var(--ku-cream-200); }
.ku-header__mega-bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s var(--ease-out); }
.ku-header__mega-bild.is-active { opacity: 1; }
.ku-header__mega [data-ku-r] { opacity: 0; transform: translateY(18px); transition: opacity .55s var(--ease-out), transform .55s var(--ease-out); }
.ku-header__mega.is-open [data-ku-r] { opacity: 1; transform: none; transition-delay: calc(var(--i,0) * 55ms); }
@media (prefers-reduced-motion: reduce) {
  .ku-header__mega { transition: opacity .2s linear, visibility .2s; }
  .ku-header__mega [data-ku-r], .ku-header__mega-bild { transition: none; }
  .ku-header__mega.is-open [data-ku-r] { transform: none; transition-delay: 0ms; }
}
:root .ku-header.is-scrolled { padding: 0; }
:root .ku-header__mega { --fm-inset: var(--ku-frame-x); }
:root .ku-header.is-scrolled .ku-header__leiste { max-width: none; background-color: var(--ku-paper-50); -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: 0; border-color: transparent; border-bottom-color: color-mix(in srgb, var(--ku-ink-900) 8%, transparent); box-shadow: 0 10px 28px -20px color-mix(in srgb, var(--ku-ink-900) 26%, transparent); }
@media (min-width: 1024px) {
  :root .ku-header.is-scrolled nav { padding: 0.95rem 1.25rem 0.75rem; }
}
.ku-header__mega-liste { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.35; }
.ku-header__mega-bildtitel { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
:root body:has(.ku-header.is-mega-open)::after, :root body:has(.ku-header__mega.is-open)::after { opacity: 1; visibility: visible; }
@media print {
  .ku-header, .ku-header__mega, .ku-header__mega, .ku-header__zeiten-panel { display: none !important; }
}
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-header .ku-header__icon { position: relative; isolation: isolate; width: 2.75rem; height: 2.75rem; background-color: transparent; }
  :root .ku-header .ku-header__icon::before { content: ''; position: absolute; inset: 0.375rem; z-index: -1; border-radius: 999px; background-color: transparent; transition: background-color .2s var(--ease-out); }
  :root .ku-header .ku-header__icon:hover { background-color: transparent; }
  :root .ku-header.is-scrolled .ku-header__icon:hover::before { background-color: color-mix(in srgb, var(--ku-steel-600) 8%, transparent); }
  :root .ku-header:not(.is-scrolled) .ku-header__icon:hover::before { background-color: color-mix(in srgb, var(--ku-paper-50) 10%, transparent); }
  :root .ku-header__mega a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 399.98px) {
  :root .ku-header.is-scrolled nav { gap: var(--space-1); padding-left: 0.75rem; padding-right: var(--space-2); }
  :root .ku-header nav > div { gap: 0; }
  :root .ku-header .ku-header__icons { margin-right: 0; }
}
@media (max-width: 339.98px) {
  :root .ku-header .ku-header__icons > a[href^="mailto:"] { display: none; }
}
.ku-header__mega-panel { overscroll-behavior: contain; }
@media (max-height: 420px) {
  .ku-header { position: static; }
}
:root .ku-header .ku-header__burger-linie { background: var(--ku-ink-900); }
:root .ku-header__icon { color: var(--ku-ink-700); }
:root .ku-header__icon:hover { background-color: color-mix(in srgb, var(--ku-steel-600) 8%, transparent); color: var(--text-strong); }
:root .ku-header__zeiten-panel { background-color: color-mix(in srgb, var(--ku-paper-50) 97%, transparent); border-color: color-mix(in srgb, var(--ku-ink-900) 8%, transparent); box-shadow: 0 30px 70px -28px color-mix(in srgb, var(--ku-ink-900) 28%, transparent); }
:root .ku-header__zeiten-kopf { color: var(--text-accent); }
:root .ku-header__zeiten-tag { color: var(--text-strong); }
:root .ku-header__zeiten-zeit { color: var(--text-meta); }
:root .ku-header__zeiten-tel { color: var(--text-accent); }
:root .ku-header__zeiten-tel:hover { color: var(--text-strong); }
:root .ku-header__link::after { bottom: calc(0.5rem - 0.05em); background: var(--ku-steel-600); width: 100%; transform: scaleX(0); transform-origin: left center; transition: transform 320ms var(--ease); }
:root :is(.ku-header__link:hover, .ku-header__link[aria-current="page"])::after { transform: scaleX(1); }
:root .ku-header__mega { box-shadow: 0 40px 90px -34px color-mix(in srgb, var(--ku-ink-900) 26%, transparent), 0 10px 28px -18px color-mix(in srgb, var(--ku-ink-900) 14%, transparent); }
:root .ku-header__mega .ku-header__mega-leistung { position: relative; border-left: 0; padding-left: 0; transition: color 320ms var(--ease), padding-left 320ms var(--ease), opacity .55s var(--ease-out), transform .55s var(--ease-out); }
:root .ku-header__mega.is-open .ku-header__mega-leistung { transition: color 320ms var(--ease) 0ms, padding-left 320ms var(--ease) 0ms, opacity .55s var(--ease-out) calc(var(--i, 0) * 55ms), transform .55s var(--ease-out) calc(var(--i, 0) * 55ms); }
:root .ku-header__mega-leistung::before { content: ''; position: absolute; left: 0; top: calc(50% + 0.06em); width: 0.7rem; height: 2px; border-radius: 2px; background: var(--ku-steel-600); transform: scaleX(0); transform-origin: left center; transition: transform 320ms var(--ease); }
:root .ku-header__mega-leistung:is(:hover, :focus-visible) { padding-left: 1.2rem; color: var(--text-accent); }
:root .ku-header__mega-leistung:is(:hover, :focus-visible)::before { transform: scaleX(1); }
@media (max-width: 1279.98px) {
  :root .ku-header__mega [data-ku-fm-panel] .ku-header__mega-liste { font-size: 1.2rem; line-height: 1.55; }
}
@media (prefers-reduced-motion: reduce) {
  :root .ku-header__mega .ku-header__mega-leistung, :root .ku-header__mega.is-open .ku-header__mega-leistung { transition: color 200ms var(--ease-out); }
  :root .ku-header__mega-leistung::before, :root .ku-header__link::after { transition: none; }
}
:root :is(.ku-header, .ku-header .ku-header__leiste) { transition: none; }
.ku-header__mega [data-ku-fm-panel] { display: none; }
.ku-header__mega [data-ku-fm-panel].is-active { display: block; }
.ku-header__mega-mobilkopf { display: none; }
.ku-header__mega .ku-header__mega-aktion { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.ku-header__mega .ku-header__mega-aktion .ku-btn--secondary { margin-left: 0; }
@media (max-width: 1023.98px) {
  .ku-header nav { padding-left: var(--space-3); padding-right: var(--space-3); gap: var(--space-2); }
  .ku-header .ku-header__icon { width: 2rem; height: 2rem; }
  .ku-header .ku-header__icons { gap: 0; margin-right: 0.15rem; }
  .ku-header.is-scrolled nav { padding-left: var(--space-3); padding-right: 0.75rem; }
}
@media (max-width: 1279.98px) {
  .ku-header__mega .ku-header__mega-raster { grid-template-columns: 1fr; }
  .ku-header__mega-mobilkopf { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); width: 100%; padding: 1.05rem 0; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--ku-ink-900) 10%, transparent); background: none; cursor: pointer; text-align: left; text-decoration: none; font-family: 'Playfair Display', serif; font-weight: 500; font-size: 1.5rem; line-height: 1.2; color: var(--text-strong); }
  .ku-header__mega-mobilkopf .ku-header__caret--mobil { flex: none; color: var(--text-accent); transition: transform .26s var(--ease-out, ease); }
  .ku-header__mega-mobilkopf[aria-expanded="true"] .ku-header__caret--mobil { transform: rotate(180deg); }
  .ku-header__mega [data-ku-fm-panel].is-active { display: none; }
  .ku-header__mega [data-ku-fm-panel].is-acc-open { display: block; margin: var(--space-2) 0 1.2rem; }
  .ku-header__mega [data-ku-fm-panel] :is(.ku-h5) { display: none; }
  .ku-header__mega .ku-header__mega-nebenreihe { display: none; }
}
@media (min-width: 1280px) and (max-width: 1535.98px) {
  .ku-header .ku-header__link { font-size: .95rem; }
}
@media (min-width: 1280px) {
  .ku-header__mega .ku-header__mega-raster { min-height: 26rem; }
}
:where(.ku-kontakt) .ku-header__mega [data-ku-fm-panel] { display: none; }
:where(.ku-kontakt) .ku-header__mega[data-ku-panel="leistungen"] [data-ku-fm-panel="leistungen"], :where(.ku-kontakt) .ku-header__mega[data-ku-panel="ratgeber"] [data-ku-fm-panel="ratgeber"] { display: block; }
@media (max-width: 1023.98px) {
  :where(.ku-kontakt) .ku-header__mega [data-ku-fm-panel] { display: block !important; }
  :where(.ku-kontakt) .ku-header__mega [data-ku-fm-panel="ratgeber"] { margin-top: 2.25rem; }
}
.ku-header__icon { display: grid; place-items: center; border-radius: 9999px; }
.ku-header__sprite { position: absolute; }
.ku-header__icon--mail { display: none; }
.ku-header { position: fixed; left: 0px; right: 0px; top: 0px; z-index: 50; }
.ku-header__leiste { width: 100%; }
.ku-header__nav { display: flex; width: 100%; align-items: center; justify-content: space-between; }
.ku-header__link { display: inline-flex; align-items: center; gap: 0.375rem; padding-top: var(--space-2); padding-bottom: var(--space-2); }
.ku-header__logo { flex-shrink: 0; }
.ku-header__mega-tel { font-weight: 500; color: var(--text-accent); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-header__mega-tel:hover { color: var(--text-strong); }
.ku-header__liste { display: none; align-items: center; gap: 1.25rem; font-weight: 500; }
.ku-header__reihe { display: flex; flex-shrink: 0; align-items: center; }
.ku-header__zeiten-reihe { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.ku-header__mega-inner { display: flex; min-height: 100%; flex-direction: column; padding-left: var(--space-4); padding-right: var(--space-4); padding-top: var(--space-5); padding-bottom: var(--space-5); }
.ku-header__mega-fuell { flex: 1 1 0%; }
.ku-header__mega-fuss { margin-top: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.ku-header__icons { display: flex; align-items: center; }
.ku-header__box { position: relative; }
.ku-header__zeiten-kopf { margin-bottom: 0.625rem; }
.ku-header__text { margin-bottom: var(--space-3); color: var(--text-accent); }
.ku-header__zeiten-text { margin-top: var(--space-2); color: var(--text-muted); }
.ku-header__bild-text { margin-top: var(--space-1); color: color-mix(in srgb, var(--ku-paper-100) 80%, transparent); }
.ku-header__zeiten-tel { margin-top: 0.875rem; display: inline-flex; align-items: center; gap: 0.375rem; font-weight: 500; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-header__btn--desktop { display: none; min-height: 44px; gap: var(--space-2); padding-left: var(--space-3); padding-right: var(--space-2); font-weight: 500; }
.ku-header__zeile { display: none; }
.ku-header__bild-zeile { color: var(--ku-steel-300); }
.ku-header__knopf { display: grid; height: 2.75rem; width: 2.75rem; place-items: center; border-radius: 9999px; }
.ku-header__gruppe { position: relative; display: block; height: 1rem; width: 1.25rem; }
.ku-header__burger-linie--oben { position: absolute; left: 0px; top: 0px; height: 1.5px; width: 100%; border-radius: 0.25rem; }
.ku-header__burger-linie--mitte { position: absolute; left: 0px; top: 50%; height: 1.5px; width: 100%; transform: translate(0, -50%); border-radius: 0.25rem; }
.ku-header__burger-linie--unten { position: absolute; bottom: 0px; left: 0px; height: 1.5px; width: 100%; border-radius: 0.25rem; }
.ku-header__mega-aktion { margin-top: var(--space-5); }
.ku-header__mega-nebenreihe { margin-top: var(--space-5); flex-wrap: wrap; align-items: center; column-gap: var(--space-5); row-gap: var(--space-2); }
.ku-header__mega-bildfeld { display: none; }
.ku-header__ebene { position: absolute; inset: 0px; background: linear-gradient(to top, color-mix(in srgb, var(--ku-ink-950) 72%, transparent), color-mix(in srgb, var(--ku-ink-950) 4%, transparent) 45%, transparent); }
.ku-header__bild-unterschrift { position: absolute; bottom: 2.25rem; left: 2.25rem; right: 2.25rem; color: var(--ku-paper-50); }
@media (min-width: 340px) {
  .ku-header__icon--mail { display: grid; }
}
@media (min-width: 400px) {
  .ku-header__reihe { gap: var(--space-2); }
}
@media (min-width: 640px) {
  .ku-header__mega-inner { padding-left: var(--space-6); padding-right: var(--space-6); }
  .ku-header__mega-fuss { margin-top: 2.5rem; }
  .ku-header__btn--desktop { padding-left: 1.25rem; }
  .ku-header__mega-aktion { margin-top: 2.25rem; }
  .ku-header__mega-nebenreihe { margin-top: 2.25rem; }
}
@media (min-width: 768px) {
  .ku-header__btn-icon { height: 2rem; width: 2rem; }
  .ku-header__btn--desktop { padding-top: var(--space-2); padding-bottom: var(--space-2); }
}
@media (min-width: 1024px) {
  .ku-header__icon { height: 2.5rem; width: 2.5rem; }
  .ku-header__nav { gap: var(--space-3); }
  .ku-header__mega-inner { padding-left: 3.5rem; padding-right: 3.5rem; }
  .ku-header__icons { margin-right: var(--space-1); gap: 0.125rem; }
}
@media (min-width: 1280px) {
  .ku-header__liste { display: flex; }
  .ku-header__btn--desktop { display: flex; }
  .ku-header__knopf { display: none; }
  .ku-header__mega-nebenreihe { display: flex; }
  .ku-header__mega-bildfeld { display: block; }
}
/* E92/E93: Logo mobil +10 % und +7,5 % (Emblem und Wortmarke hängen an --ku-logo-h) */
@media (max-width: 767.98px) {
  :root .ku-header { --ku-logo-h: 26px; }
}
@media (max-width: 379.98px) {
  :root .ku-header { --ku-logo-h: 21.3px; }
}
@media (min-width: 640px) and (max-width: 767.98px) {
  :root .ku-header { --ku-logo-h: 30.7px; }
}
/* Marke Gefäßpraxis (Logopaket 15.10.2026): Emblem als SVG, „DR. KUSENACK“ und „GEFÄSSPRAXIS“
   als Text in Montserrat 400/600. Jedes Maß ist ein Anteil der Emblemhöhe --ku-marke-h, abgenommen
   aus Dr-Kusenack-Gefaesspraxis-Farbe.svg (Emblemhöhe 84,04 Einheiten, Wortmarke 39 auf Grundlinie 44,
   Unterzeile 19 auf Grundlinie 76, Textursprung x 116). Ab 100 px Scrolltiefe (is-kompakt) tritt die
   Unterzeile zurück und die Wortmarke gleitet auf die Grundlinie der Dachmarke (56): mittig zum Emblem.
   Die Leistenhöhe bleibt in beiden Zuständen gleich. */
:root .ku-header { --ku-marke-h: 36px; }
@media (max-width: 379.98px) {
  :root .ku-header { --ku-marke-h: 35px; }
}
@media (min-width: 640px) {
  :root .ku-header { --ku-marke-h: 38px; }
}
@media (min-width: 1024px) {
  :root .ku-header { --ku-marke-h: 40px; }
}
:root .ku-header .ku-logo--marke {
  --marke-wort: 0.46408;          /* Schriftgröße Wortmarke 39 / 84,04 */
  --marke-sub: 0.22609;           /* Schriftgröße Unterzeile 19 / 84,04 */
  --marke-luecke: 0.2694;         /* Emblemkante bis Textursprung (116 − 93,36) / 84,04 */
  --marke-wort-oben: 0.12516;     /* Zeilenbox Wortmarke, Grundlinie 44 (Grundlinie in der Box: 0,8585 em) */
  --marke-wort-gleiten: 0.14279;  /* Grundlinie 44 → 56 (Dachmarke) = 12 / 84,04 */
  --marke-sub-oben: 0.71026;      /* Zeilenbox Unterzeile, Grundlinie 76 */
  --marke-sub-einzug: 0.0119;     /* Unterzeile beginnt eine Einheit weiter rechts (x 117) */
  --marke-sub-laufweite: 0.0789em; /* 1,5 Einheiten bei Schriftgröße 19 */
  align-items: flex-start;
  gap: calc(var(--ku-marke-h) * var(--marke-luecke));
  height: var(--ku-marke-h);
}
:root .ku-header .ku-logo--marke .ku-logo__emblem { height: var(--ku-marke-h); width: auto; }
.ku-logo__zeilen { display: grid; height: var(--ku-marke-h); align-items: start; }
.ku-logo__zeilen > * { grid-area: 1 / 1; }
:root .ku-header .ku-logo--marke .ku-logo__text { margin-top: calc(var(--ku-marke-h) * var(--marke-wort-oben)); font-size: calc(var(--ku-marke-h) * var(--marke-wort)); font-kerning: none; letter-spacing: 0; color: var(--text-logo); transition: transform 460ms var(--ease); }
.ku-logo__unterzeile { display: block; margin: calc(var(--ku-marke-h) * var(--marke-sub-oben)) calc(var(--marke-sub-laufweite) * -1) 0 calc(var(--ku-marke-h) * var(--marke-sub-einzug)); font-family: 'Montserrat', 'Montserrat Fallback', 'Helvetica Neue', Arial, sans-serif; font-weight: 600; font-size: calc(var(--ku-marke-h) * var(--marke-sub)); font-kerning: none; letter-spacing: var(--marke-sub-laufweite); line-height: 1; text-transform: uppercase; color: var(--text-accent); clip-path: inset(0 0 0 0); transition: opacity 340ms var(--ease-out) 120ms, clip-path 420ms var(--ease) 90ms, transform 420ms var(--ease) 90ms; }
:root .ku-header.is-kompakt .ku-logo--marke .ku-logo__text { transform: translateY(calc(var(--ku-marke-h) * var(--marke-wort-gleiten))); }
:root .ku-header.is-kompakt .ku-logo__unterzeile { opacity: 0; clip-path: inset(100% 0 0 0); transform: translateY(calc(var(--ku-marke-h) * 0.06)); transition: opacity 200ms var(--ease-out), clip-path 260ms var(--ease-out), transform 260ms var(--ease-out); }
@media (prefers-reduced-motion: reduce) {
  :root .ku-header .ku-logo--marke .ku-logo__text, :root .ku-header .ku-logo__unterzeile, :root .ku-header.is-kompakt .ku-logo__unterzeile { transition: none; }
}
/* E92: Icons der Kopfzeile mobil enger — Tippfläche bleibt 44 × 44 px, die Flächen überlappen um 13 px */
@media (max-width: 767.98px) {
  :root .ku-header .ku-header__icons > * + *, :root .ku-header .ku-header__knopf { margin-left: -0.8125rem; }
}
/* E93: Höhe der festen Kopfzeile (gemessen 62 px, 360–1440 px) — Anschlag für klebende Leisten darunter */
:root { --header-h: 62px; }
/* Chris 16.10.: mobiles Menü (modal, unter 1280 px) ohne Box — kein Hintergrund, Rahmen, Radius, Schatten oder
 * Innenabstand der Box; die Einträge liegen direkt auf der Fläche (body::after). Die Box reicht von der Kopfzeile bis zum
 * unteren Browserrand (bisher max-height 100dvh − Oberkante − 1.5rem: 24 px Lücke); die Liste scrollt in sich.
 * Seitlicher Abstand der Einträge wie der Inhalt der Kopfzeile, unten Luft plus sichere Zone. Desktop-Megamenü unverändert. */
@media (max-width: 1279.98px) {
  :root .ku-header__mega { --ku-menu-x: var(--space-3); left: 0; right: 0; bottom: 0; max-height: none; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  :root .ku-header__mega .ku-header__mega-raster { grid-template-rows: minmax(0, 1fr); }
  :root .ku-header__mega .ku-header__mega-panel { background: none; border-right: 0; overflow-y: auto; overscroll-behavior: contain; }
  :root .ku-header__mega .ku-header__mega-inner { padding: var(--space-2) var(--ku-menu-x) calc(var(--space-6) + env(safe-area-inset-bottom, 0px)); }
  /* Klebeleiste und FAB liegen gleichauf mit dem Menü und warfen ihren Schatten über den unteren Rand — bei offenem Menü aus */
  :root.ku-menu-open :is(.ku-stickybar, [data-ku-stickybar], [data-ku-fab]) { visibility: hidden; }
}
@media (max-width: 399.98px) {
  :root .ku-header__mega { --ku-menu-x: 0.75rem; }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  :root .ku-header__mega { --ku-menu-x: 1.25rem; }
}

.ku-footer__rahmen { padding: 0 var(--ku-frame-x, 0.75rem); background: var(--ku-paper-50); }
.ku-footer__rahmen { position: relative; z-index: 1; }
.ku-footer { --ft-fg: var(--ku-ink-900); --ft-mute: color-mix(in srgb, var(--ku-ink-900) 70%, transparent); --ft-line: color-mix(in srgb, var(--ku-ink-900) 11%, transparent); --ft-accent: var(--ku-steel-600); background: var(--ku-steel-50); color: var(--ft-fg); border-radius: calc(var(--ku-frame-r, 1rem) * 1.6) calc(var(--ku-frame-r, 1rem) * 1.6) 0 0; box-shadow: var(--ku-dock-shadow), inset 0 0 0 1px color-mix(in srgb, var(--ku-ink-900) 5%, transparent); padding: 3.5rem 1.25rem 7rem; }
@media (min-width: 640px) {
  .ku-footer { padding: var(--space-7) var(--space-5) 7rem; }
}
@media (min-width: 1024px) {
  .ku-footer { padding: var(--space-8) var(--space-6) 2.5rem; }
}
:root .ku-footer__rahmen { padding: 0; }
:root .ku-footer { background: var(--ku-paper-50); border-radius: 0; box-shadow: none; border-top: 1px solid var(--ft-line); }
.ku-footer__inner { max-width: var(--container-wide); margin: 0 auto; }
.ku-footer a { color: inherit; text-decoration: none; transition: color 220ms var(--ease-out, cubic-bezier(0.32,0.72,0,1)); }
.ku-footer a:focus-visible { outline: 2px solid var(--ft-accent); outline-offset: 3px; border-radius: 4px; }
.ku-footer__kopf { color: var(--ft-accent); margin: 0 0 1.1rem; font-family: var(--font-display); font-weight: 500; }
.ku-footer__oben { display: grid; gap: 2.75rem; padding-bottom: var(--space-6); border-bottom: 1px solid var(--ft-line); }
@media (min-width: 768px) {
  .ku-footer__oben { grid-template-columns: 1fr 1fr; column-gap: var(--space-6); }
  .ku-footer__panel { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .ku-footer__oben { grid-template-columns: minmax(0,6fr) minmax(0,3.2fr) minmax(0,2.8fr); column-gap: 4rem; padding-bottom: var(--space-7); }
  .ku-footer__panel { grid-column: auto; }
}
.ku-footer__telefon { display: block; font-family: var(--font-display); font-weight: 400; font-size: clamp(2.2rem, 1.2rem + 3.4vw, 4.4rem); line-height: 1.05; letter-spacing: -0.01em; font-variant-numeric: lining-nums; white-space: nowrap; }
.ku-footer__telefon:hover { color: var(--ft-accent); }
.ku-footer__mail { display: inline-block; margin-top: 0.9rem; font-size: 1.05rem; color: var(--ft-mute); }
.ku-footer__mail:hover { color: var(--ft-fg); }
.ku-footer__aktionen { margin-top: var(--space-5); }
.ku-footer__btn { display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 999px; background: var(--ku-steel-600); color: var(--ku-paper-50) !important; font-weight: 600; transition: transform 300ms var(--ease, cubic-bezier(0.32,0.72,0,1)), background-color 220ms; }
.ku-footer__btn:hover { background: var(--ku-steel-700); }
.ku-footer__btn:active { transform: scale(0.98); }
.ku-footer__btn-icon { display: grid; place-items: center; width: var(--btn-chip); height: var(--btn-chip); border-radius: 999px; background: color-mix(in srgb, var(--ku-paper-50) 16%, transparent); color: var(--ku-paper-50); transition: transform 300ms var(--ease, cubic-bezier(0.32,0.72,0,1)); }
.ku-footer__btn:hover .ku-footer__btn-icon { transform: translate(2px,-1px) scale(1.05); }
.ku-footer__tage { margin: 0; display: grid; }
.ku-footer__tag { display: flex; justify-content: space-between; gap: var(--space-3); padding: 0.55rem 0; border-bottom: 1px solid var(--ft-line); font-size: 0.95rem; }
.ku-footer__tag:first-child { border-top: 1px solid var(--ft-line); }
.ku-footer__tag dt { color: var(--ft-mute); }
.ku-footer__tag dd { margin: 0; font-variant-numeric: tabular-nums; }
.ku-footer__tag.is-today dt, .ku-footer__tag.is-today dd { color: var(--ft-fg); font-weight: 600; }
.ku-footer__tag.is-today dt::after { content: 'heute'; margin-left: 0.6rem; padding: 0.1rem var(--space-2); border-radius: 999px; font-size: 0.72rem; font-weight: 600; color: var(--ku-paper-50); background: var(--ft-accent); vertical-align: 0.1em; }
.ku-footer__notiz { margin-top: 0.8rem; font-size: 0.88rem; color: var(--ft-mute); }
.ku-footer__ort address { font-style: normal; font-size: 0.95rem; line-height: 1.75; color: var(--ft-mute); }
.ku-footer__route { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-3); font-size: 0.92rem; font-weight: 600; color: var(--ft-accent) !important; }
.ku-footer__route:hover { color: var(--ft-fg) !important; }
.ku-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem var(--space-4); padding: var(--space-6) 0; border-bottom: 1px solid var(--ft-line); }
@media (min-width: 1024px) {
  .ku-footer__links { grid-template-columns: repeat(3, minmax(0,1fr)) minmax(0,1.35fr); gap: var(--space-6) 4rem; padding: 4rem 0; }
}
.ku-footer__spalte ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.ku-footer__spalte a { font-size: 0.95rem; color: var(--ft-mute); }
.ku-footer__spalte a:hover { color: var(--ft-fg); }
.ku-footer__spalte--bewertung { grid-column: 1 / -1; }
@media (min-width: 1024px) {
  .ku-footer__spalte--bewertung { grid-column: auto; }
}
.ku-footer__bewertungen { gap: 0 !important; }
.ku-footer__bewertung { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: var(--space-3); align-items: baseline; padding: 0.8rem 0; border-bottom: 1px solid var(--ft-line); }
.ku-footer__bewertungen li:first-child .ku-footer__bewertung { border-top: 1px solid var(--ft-line); }
.ku-footer__bewertung-name { font-size: 0.95rem; font-weight: 600; color: var(--ft-fg); }
.ku-footer__bewertung-wert { grid-row: span 2; align-self: center; font-family: var(--font-display); font-size: 1.9rem; line-height: 1; color: var(--ft-fg); font-variant-numeric: lining-nums; }
.ku-footer__bewertung-meta { display: flex; align-items: center; gap: var(--space-2); font-size: 0.8rem; color: var(--ft-mute); }
.ku-footer__sterne { display: inline-flex; gap: 1px; color: var(--ku-star); }
.ku-footer__stern { width: 12px; height: 12px; }
.ku-footer__bewertung:hover .ku-footer__bewertung-name { color: var(--ft-accent); }
.ku-footer__basis { display: flex; flex-direction: column; gap: 1.1rem; padding-top: 2.25rem; font-size: 0.85rem; color: var(--ft-mute); }
@media (min-width: 1024px) {
  .ku-footer__basis { flex-direction: row; align-items: center; gap: var(--space-5); }
  .ku-footer__rechtliches { margin-left: auto; }
}
.ku-footer__copy { margin: 0; }
.ku-footer__rechtliches { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.ku-footer__rechtliches a:hover { color: var(--ft-fg); }
@media (prefers-reduced-motion: reduce) {
  .ku-footer__btn, .ku-footer__btn-icon { transition: none; }
}
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-footer__telefon { display: flex; align-items: center; min-height: 44px; }
  :root .ku-footer__mail { display: inline-flex; align-items: center; min-height: 44px; margin-top: calc(0.9rem - 10px); }
  :root .ku-footer__route { min-height: 44px; margin-top: calc(1rem - 11px); }
  :root .ku-footer__spalte ul { gap: 0; }
  :root .ku-footer__spalte li > a:not(.ku-footer__bewertung) { display: flex; align-items: center; min-height: 44px; }
  :root .ku-footer__rechtliches { row-gap: 0; }
  :root .ku-footer__rechtliches a { display: inline-flex; align-items: center; min-height: 44px; }
}
:root .ku-footer__basis .ku-logo--full { align-self: flex-start; }
@media (max-width: 1023.98px) {
  :root .ku-footer__basis .ku-logo--full { --ku-logo-w: 180px; }
}
@media (prefers-reduced-motion: no-preference) {
}
@media (max-width: 767.98px) {
  :root .ku-footer__telefon { font-size: clamp(2.185rem, 1.38rem + 3.9vw, 2.53rem); }   /* E93: +15 % */
  :root .ku-footer__bewertung-wert { font-size: 1.6rem; }
}
:root .ku-footer__bewertung-name .ku-portal__mark { font-size: 1rem; }
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-footer__spalte li > a:not(.ku-footer__bewertung) { display: block; min-height: 0; padding-block: 0.4rem; line-height: 1.4; }
}
:root .ku-footer__tag.is-today dt::after { font-size: var(--caption-size); }
.ku-footer__icon { position: absolute; }
.ku-footer__reihe { left: 0px; right: 0px; bottom: 0px; z-index: 40; display: flex; align-items: center; gap: 0.75rem; border-top-width: 1px; border-color: color-mix(in srgb, var(--ku-ink-900) 10%, transparent); background-color: color-mix(in srgb, var(--ku-paper-50) 95%, transparent); padding-left: var(--space-3); padding-right: var(--space-3); padding-top: 0.75rem; padding-bottom: 0.75rem; backdrop-filter: blur(12px); }
.ku-footer__link { display: inline-flex; min-height: 48px; flex: 1 1 0%; align-items: center; justify-content: center; gap: var(--space-2); border-radius: 9999px; background-color: var(--ku-steel-600); padding-top: 0.75rem; padding-bottom: 0.75rem; font-weight: 500; color: var(--ku-paper-50); }
.ku-footer__link--sekundaer { display: inline-flex; min-height: 48px; flex: 1 1 0%; align-items: center; justify-content: center; gap: var(--space-2); border-radius: 9999px; border-width: 1px; border-color: color-mix(in srgb, var(--ku-ink-900) 15%, transparent); padding-top: 0.75rem; padding-bottom: 0.75rem; font-weight: 500; color: var(--text-strong); }
@media (min-width: 321px) {
  .ku-footer__reihe { position: fixed; }
}
@media (min-width: 1024px) {
  .ku-footer__reihe { display: none; }
}
.ku-footer__btn { gap: 0.625rem; padding: var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); min-height: var(--btn-min-h); font-size: var(--btn-size); line-height: 1.3; }
/* E93: Linkspalten mobil kleiner und enger */
@media (max-width: 1023.98px) {
  :root .ku-footer__spalte a:not(.ku-footer__bewertung) { font-size: var(--sm-size); }
  :root .ku-footer__links .ku-footer__kopf { margin-bottom: 0.7rem; }
}

.ku-stickybar { box-shadow: 0 -18px 40px -24px color-mix(in srgb, var(--ku-ink-900) 35%, transparent); }
@media (max-width: 320px) {
  .ku-stickybar { position: static !important; }
}
@media (max-height: 420px) {
  .ku-stickybar { display: none !important; }
}
.ku-stickybar { transform: translateY(115%); transition: transform .38s var(--ease-out, cubic-bezier(0.32,0.72,0,1)); will-change: transform; }
.ku-stickybar.is-visible { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .ku-stickybar { transition: none; }
}
@media (max-width: 320px) {
  .ku-stickybar { transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes ku-word    { from { transform: translateY(24px); opacity: 0.01; } to { transform: translateY(0); opacity: 1; } }
  @keyframes ku-fade    { from { transform: translateY(16px); opacity: 0; }    to { transform: translateY(0); opacity: 1; } }
  @keyframes ku-scale   { from { transform: scale(0.97); opacity: 0; }         to { transform: scale(1); opacity: 1; } }
  @keyframes ku-clip    { from { clip-path: inset(0 0 100% 0); }               to { clip-path: inset(0 0 0% 0); } }
  @keyframes ku-clip-up { from { clip-path: inset(100% 0 0 0); opacity: 0.01; } to { clip-path: inset(0 0 0 0); opacity: 1; } }
  @keyframes ku-navdrop { from { transform: translateY(-14px); opacity: 0; }   to { transform: translateY(0); opacity: 1; } }
  :root:where(:not(.no-js)) [data-ku-reveal] { opacity: 0; transition: opacity 720ms var(--ease-out-quint), transform 720ms var(--ease-out-quint); }
  :root:where(:not(.no-js)) [data-ku-reveal="trail"] { transform: translateY(22px); }
  :root:where(:not(.no-js)) [data-ku-reveal="lead"] { transform: translateY(14px); }
  :root:where(:not(.no-js)) [data-ku-reveal="from-left"] { transform: translateX(-34px); }
  :root:where(:not(.no-js)) [data-ku-reveal="from-right"] { transform: translateX(34px); }
  :root:where(:not(.no-js)) [data-ku-reveal="clip"] { opacity: 1;; clip-path: inset(0 0 14% 0); transition: clip-path 820ms var(--ease), transform 820ms var(--ease-out-quint); }
  :root:where(:not(.no-js)) [data-ku-reveal].is-in { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }
  :root:where(:not(.no-js)) [data-ku-reveal].is-in { will-change: auto; }
  :root:where(:not(.no-js)) [data-ku-reveal].ku-card--link:hover { transform: translateY(-4px); box-shadow: 0 40px 72px -32px color-mix(in srgb, var(--ku-ink-900) 22%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  :root:where(:not(.no-js)) [data-ku-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
}
@media (prefers-reduced-motion: no-preference) {
  [data-ku-seq] [data-ku-seq="w1"] { animation: ku-word 680ms var(--ease-out) both; animation-delay: 60ms; }
  [data-ku-seq] [data-ku-seq="sub"] { animation: ku-fade 680ms var(--ease-out) both; animation-delay: 260ms; }
  [data-ku-seq] [data-ku-seq="cta"] { animation: ku-scale 560ms var(--ease-out) both; animation-delay: 420ms; }
  :root:where(:not(.no-js)) [data-ku-seq=""]:not(.seq-run) [data-ku-seq] { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
  [data-ku-seq] [data-ku-seq], [data-ku-seq] [data-ku-seq] { animation: none !important; opacity: 1 !important; transform: none !important; }
}
html:root:not(.no-js) [data-ku-reveal]:not([data-ku-reveal="clip"]).is-in { clip-path: none; }
@media print {
  [data-ku-reveal], [data-ku-reveal] * { opacity: 1 !important; transform: none !important; clip-path: none !important; filter: none !important; transition: none !important; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :root .ku-card--info.ku-card--bild, :root .ku-card--info.ku-card--bild.is-in { transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), opacity .72s var(--ease-out-quint); transition-delay: 0s; }
  @keyframes ku-kt-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.18); opacity: 0.75; } }
}
@keyframes ku-tl-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ku-tl-dot  { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: none; } }
@keyframes ku-tl-draw-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ku-tl-draw-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }
html:root:not(.no-js) [data-ku-reveal="clip"].is-in { clip-path: inset(-3.5rem -4rem -7rem -4rem); }
@keyframes kuMsEin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
[data-ku-delay="280ms"] { animation-delay: 280ms !important; }
[data-ku-delay="560ms"] { animation-delay: 560ms !important; }
[data-ku-delay="660ms"] { animation-delay: 660ms !important; }

@media (prefers-reduced-motion: no-preference) {
  .ku-hero [data-ku-seq="nav"] { animation: ku-navdrop 640ms var(--ease-out) both; }
  .ku-hero [data-ku-seq="kick"] { animation: ku-fade 620ms var(--ease-out) both; animation-delay: 60ms; }
  .ku-hero [data-ku-seq="w1"] { animation: ku-word 520ms var(--ease-out) both; animation-delay: 140ms; }
  .ku-hero [data-ku-seq="w2"] { animation: ku-word 520ms var(--ease-out) both; animation-delay: 260ms; }
  .ku-hero [data-ku-seq="w3"] { animation: ku-word 520ms var(--ease-out) both; animation-delay: 380ms; }
  .ku-hero [data-ku-seq="sub"] { animation: ku-fade 560ms var(--ease-out) both; animation-delay: 500ms; }
  .ku-hero [data-ku-seq="cta"] { animation: ku-scale 500ms var(--ease-out) both; animation-delay: 600ms; }
  .ku-hero [data-ku-seq="img"] { animation: ku-clip 760ms var(--ease) both; animation-delay: 150ms; }
  .ku-hero [data-ku-seq="img2"] { animation: ku-clip-up 700ms var(--ease) both; animation-delay: 520ms; }
}
@media (prefers-reduced-motion: reduce) {
  .ku-hero [class^="seq-"], .ku-hero [class*=" seq-"] { animation: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
.ku-hero__bild { position: absolute; top: 0; bottom: 0; right: 0; width: 48%; display: none; }
@media (min-width: 1024px) {
  .ku-hero__bild { display: block; }
}
.ku-hero__bild > picture { display: block; width: 100%; height: 100%; }
.ku-hero__bild > img, .ku-hero__bild > picture > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--ku-bleed-pos, 72% 22%); -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.55) 22%, var(--ku-mask-voll) 46%); mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.55) 22%, var(--ku-mask-voll) 46%); }
.ku-hero__zitat { position: absolute; left: 34%; bottom: clamp(2.5rem, 7vh, 5rem); width: min(340px, 44%); margin: 0; }
@media (min-width: 1024px) {
  :root .ku-hero .ku-hero__inner { padding-top: 9.5rem; padding-bottom: var(--space-8); }
}
:root .ku-hero__badges { display: flex; flex-wrap: wrap; gap: var(--space-3) 2.4rem; }
:root .ku-hero__badge { display: inline-grid; grid-template-columns: auto auto; column-gap: 0.65rem; row-gap: 0.15rem; align-items: center; justify-content: start; }
:root .ku-hero__badge-sterne { display: inline-flex; gap: 2px; }
:root .ku-hero__badge-sterne svg { width: 14px; height: 14px; }
:root .ku-hero__badge-text { grid-column: 1 / -1; font-size: 0.72rem; letter-spacing: 0.02em; }
@media (max-width: 767.98px) {
  .ku-hero .ku-hero__media { display: none; }
  .ku-hero .ku-hero__inner { padding-top: 8.5rem; padding-bottom: var(--space-7); }
  .ku-hero [data-ku-seq="cta"] > a:is(.ku-btn--primary, .ku-btn--ghost) { width: 100%; justify-content: center; }
  .ku-hero__badges { position: relative; display: block; min-height: 3.05rem; }
  .ku-hero__badges > .ku-hero__badge { position: absolute; left: 0; top: 0; opacity: 0; visibility: hidden; transition: opacity .45s var(--ease-out), visibility 0s linear .45s; }
  .ku-hero__badges > .ku-hero__badge.is-shown { opacity: 1; visibility: visible; transition: opacity .45s var(--ease-out) .45s, visibility 0s linear .45s; }
  .ku-hero [data-ku-seq="cta"] { align-items: center; text-align: center; }
  .ku-hero [data-ku-seq="cta"] > span { max-width: none; }
  .ku-hero .ku-hero__badges { display: flex; justify-content: center; }
  .ku-hero .ku-hero__badges > .ku-hero__badge { left: 50%; transform: translateX(-50%); justify-content: center; }
  .ku-hero .ku-hero__badges > .ku-hero__badge .ku-hero__badge-text { justify-self: center; }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .ku-hero__badges > .ku-hero__badge, .ku-hero__badges > .ku-hero__badge.is-shown { transition: none; }
}
:root .ku-hero + .ku-section:not(.ku-section--flush-top) { box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ku-ink-900) 10%, transparent); }
:root .ku-hero.ku-section--muted { background-image: radial-gradient(55% 62% at 76% 26%, color-mix(in srgb, var(--ku-steel-400) 26%, transparent), transparent 62%), radial-gradient(52% 58% at 14% 88%, color-mix(in srgb, var(--ku-steel-600) 18%, transparent), transparent 66%), radial-gradient(46% 42% at 22% 6%, var(--ku-paper-50), transparent 98%); }
.ku-hero { position: relative; display: flex; min-height: 100dvh; flex-direction: column; overflow: hidden; color: var(--text-strong); }
.ku-hero__zitat-text { margin-left: 1.25rem; margin-right: 1.25rem; margin-top: 1.25rem; }
.ku-hero__bildtext { padding-left: 1.25rem; padding-right: 1.25rem; padding-bottom: 1.25rem; padding-top: 0.75rem; color: var(--text-meta); }
.ku-hero__inner { position: relative; z-index: 10; display: flex; width: 100%; flex: 1 1 0%; align-items: center; padding-left: 1.25rem; padding-right: 1.25rem; }
.ku-hero__box { width: 100%; }
.ku-hero__aktion { margin-top: 2.25rem; }
.ku-hero__titel { font-weight: 400; color: var(--text-strong); }
.ku-hero__text { max-width: 36rem; color: var(--text-body); }
.ku-hero__zusatz { margin-top: var(--space-3); max-width: 36rem; line-height: 1.6; color: var(--text-muted); }
.ku-hero__reihe { margin-top: 2.25rem; display: flex; flex-direction: column; gap: 1.25rem; }
.ku-hero__zeile { line-height: 1.625; color: var(--text-meta); }
.ku-hero__link { white-space: nowrap; font-weight: 500; color: var(--text-link); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-hero__link:hover { color: var(--text-strong); }
.ku-hero__badge-text { color: var(--text-meta); }
@media (min-width: 640px) {
  .ku-hero__inner { padding-left: var(--space-5); padding-right: var(--space-5); }
  .ku-hero__reihe { flex-direction: row; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .ku-hero__inner { padding-top: var(--space-8); padding-bottom: var(--space-8); }
}
@media (min-width: 768px) {
  .ku-hero__reihe { align-items: center; }
  .ku-hero__btn { width: max-content; }
  .ku-hero__zeile { max-width: 15rem; }
}
@media (min-width: 1024px) {
  .ku-hero__inner { padding-left: var(--space-6); padding-right: var(--space-6); }
  .ku-hero__box { max-width: 50rem; }
}
.ku-hero { padding: 0; }
:root .ku-hero__badge-text { font-size: var(--caption-size); letter-spacing: 0; }
:root .ku-vollbild { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 100vh; min-height: 100svh; overflow: hidden; clip-path: inset(0); background: var(--ku-ink-950); }
:root .ku-vollbild__media { position: fixed; inset: 0; z-index: -2; margin: 0; }
:root .ku-vollbild__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 40% 28%; }
:root .ku-vollbild__scrim { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(120% 90% at 50% 6%, color-mix(in srgb, var(--ku-ink-950) 30%, transparent), color-mix(in srgb, var(--ku-ink-950) 74%, transparent) 74%), linear-gradient(180deg, color-mix(in srgb, var(--ku-ink-950) 58%, transparent) 0%, color-mix(in srgb, var(--ku-ink-950) 40%, transparent) 40%, color-mix(in srgb, var(--ku-ink-950) 82%, transparent) 100%); }
:root .ku-vollbild__claim { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--space-8) var(--space-4); }
@media (max-width: 960px), (prefers-reduced-motion: reduce) {
  :root .ku-vollbild__media { position: absolute; }
}
.ku-vollbild__titel { font-weight: 400; color: var(--ku-paper-50); }
.ku-vollbild__text { max-width: 42rem; color: var(--ku-bluegray-100); }
.ku-vollbild { padding: 0; }
.ku-fotopaar { position: relative; }
.ku-fotopaar__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 3.5rem; }
.ku-fotopaar__bildraster { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: var(--space-3); }
.ku-fotopaar__spalte--breit { position: relative; }
.ku-fotopaar__foto-breit { grid-column: span 3 / span 3; }
.ku-fotopaar__foto-schmal { grid-column: span 2 / span 2; align-self: flex-end; }
.ku-fotopaar__bild { height: 280px; width: 100%; object-fit: cover; }
.ku-fotopaar__bild-klein { height: 220px; width: 100%; object-fit: cover; object-position: center 20%; }
.ku-fotopaar__text { max-width: 65ch; line-height: 1.7; color: var(--text-soft); }
.ku-fotopaar__text + .ku-fotopaar__text { margin-top: 1.25rem; }
.ku-fotopaar__btn { margin-top: var(--space-5); }
@media (min-width: 640px) {
  .ku-fotopaar__bildraster { gap: 1.25rem; }
  .ku-fotopaar__bild { height: 420px; }
  .ku-fotopaar__bild-klein { height: 280px; }
}
@media (min-width: 1024px) {
  .ku-fotopaar__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--space-5); }
  .ku-fotopaar__spalte { grid-column: span 5 / span 5; }
  .ku-fotopaar__spalte--breit { grid-column: span 7 / span 7; }
  .ku-fotopaar__foto-schmal { margin-bottom: -3rem; }
}
.ku-schwerpunkte__liste { display: grid; gap: 0.85rem; }
.ku-schwerpunkte__zeile { display: flex; gap: 0.8rem; align-items: flex-start; }
@media (min-width: 1024px) {
  .ku-schwerpunkte__kopf { position: sticky; top: 7rem; grid-column: span 6 / span 6; }
}
.ku-schwerpunkte__zeile a { color: var(--text-strong); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--ku-steel-600) 35%, transparent); transition: text-decoration-color .2s var(--ease-out, ease); }
.ku-schwerpunkte__zeile a:hover { text-decoration-color: var(--ku-steel-600); }
.ku-schwerpunkte__zeile .ku-small { margin-top: 0.2rem; }
.ku-schwerpunkte { position: relative; overflow: hidden; }
.ku-schwerpunkte__raster { margin-top: 4rem; display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 2.5rem; }
.ku-schwerpunkte__raster--flach { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 2.5rem; }
.ku-schwerpunkte__kopf--rechts { order: 1; }
.ku-schwerpunkte__text { max-width: 36rem; line-height: 1.75; color: var(--text-soft); }
.ku-schwerpunkte__text--kompakt { line-height: 1.6; color: var(--text-muted); }
.ku-schwerpunkte__liste { margin-top: 1.75rem; max-width: 32rem; }
.ku-schwerpunkte__zeilentext { color: var(--text-body); }
/* E91: Hakenliste mobil in Fließtextgröße */
@media (max-width: 767.98px) {
  :root .ku-schwerpunkte__zeile { font-size: var(--body-size); line-height: var(--body-lh); }
}
.ku-schwerpunkte__box { margin-top: var(--space-5); }
.ku-schwerpunkte__spalte--links { order: 2; }
.ku-schwerpunkte__bild { object-position: center 30%; }
.ku-schwerpunkte__link:hover { text-decoration-color: var(--ku-steel-600); }
@media (min-width: 768px) {
  .ku-schwerpunkte__icon { height: 2rem; width: 2rem; }
}
@media (min-width: 1024px) {
  .ku-schwerpunkte__raster { margin-top: var(--space-8); grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-schwerpunkte__raster--flach { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-schwerpunkte__kopf--rechts { order: 2; grid-column: span 6 / span 6; }
  .ku-schwerpunkte__spalte { grid-column: span 6 / span 6; }
  .ku-schwerpunkte__spalte--links { order: 1; grid-column: span 6 / span 6; }
}
.ku-zitat__punkte { display: grid; gap: var(--space-3); }
.ku-zitat__punkt { display: flex; gap: 0.8rem; align-items: flex-start; }
:root .ku-zitat__punkte { gap: var(--space-4); }
:root .ku-zitat__punkt { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: var(--space-3); align-items: start; }
:root .ku-zitat__punkt > .ku-haken { width: 2.4rem; height: 2.4rem; margin-top: 0; }
:root .ku-zitat__punkt > .ku-haken svg { width: 20px; height: 20px; }
:root .ku-zitat__punkt > p { font-size: var(--sm-size); line-height: 1.6; padding-top: 0.1rem; }
:root .ku-zitat__punkt > p > strong:first-child { display: block; margin-bottom: 0.2rem; font-size: var(--body-size); line-height: 1.45; }
/* E91: Hakenliste mobil in Fließtextgröße */
@media (max-width: 767.98px) {
  :root .ku-zitat__punkt > p { font-size: var(--body-size); line-height: var(--body-lh); }
}
.ku-zitat { position: relative; }
.ku-zitat__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: 2.5rem; }
.ku-zitat__figur { padding-left: var(--space-4); }
.ku-zitat__bildtext { margin-top: var(--space-3); color: var(--text-accent); }
.ku-zitat__box { margin-top: 2.5rem; }
.ku-zitat__punkte { margin-top: var(--space-5); }
.ku-zitat__text { color: var(--text-body); }
.ku-zitat__betont { font-weight: 600; color: var(--text-strong); }
@media (min-width: 1024px) {
  .ku-zitat__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-zitat__spalte { grid-column: span 5 / span 5; }
  .ku-zitat__spalte--breit { grid-column: span 7 / span 7; }
}
.ku-seitenkopf__medien { position: absolute; top: 0; bottom: 0; right: 0; width: 48%; display: none; }
@media (min-width: 1024px) {
  .ku-seitenkopf__medien { display: block; }
}
.ku-seitenkopf__medien > picture { display: block; width: 100%; height: 100%; }
.ku-seitenkopf__medien > img, .ku-seitenkopf__medien > picture > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--ku-bleed-pos, 72% 22%); -webkit-mask-image: linear-gradient(to right, transparent 0%, color-mix(in srgb, var(--ku-ink-900) 55%, transparent) 22%, var(--ku-ink-900) 46%); mask-image: linear-gradient(to right, transparent 0%, color-mix(in srgb, var(--ku-ink-900) 55%, transparent) 22%, var(--ku-ink-900) 46%); }
:root .ku-seitenkopf__inner .ku-h1--long { font-size: var(--h1-long-size); line-height: var(--h1-long-lh); }
.ku-seitenkopf__bild--soft { pointer-events: none; }
.ku-seitenkopf__bild--soft > img, .ku-seitenkopf__bild--soft > picture > img { opacity: 0.6; object-position: center 40%; -webkit-mask-image: linear-gradient(to right, transparent 0%, color-mix(in srgb, var(--ku-ink-900) 90%, transparent) 45%, var(--ku-ink-900) 72%); mask-image: linear-gradient(to right, transparent 0%, color-mix(in srgb, var(--ku-ink-900) 90%, transparent) 45%, var(--ku-ink-900) 72%); }
.ku-seitenkopf__byline { display: flex; align-items: center; gap: 0.85rem; }
.ku-seitenkopf__byline img { width: 46px; height: 46px; border-radius: 999px; object-fit: cover; object-position: center 18%; border: 2px solid color-mix(in srgb, var(--ku-steel-600) 35%, transparent); }
:root .ku-seitenkopf__inner .ku-h1--long { font-size: var(--h1-long-size); line-height: var(--h1-long-lh); hyphens: manual; -webkit-hyphens: manual; }
:root .ku-section--muted:not(.ku-seitenkopf) { --ku-tone-edge: linear-gradient(to bottom, #DFEBF3 0%, rgba(223,235,243,0.96) 8%, rgba(223,235,243,0) 22%); background-color: var(--ku-tone-steel); background-image: var(--ku-tone-edge), radial-gradient(42% 46% at 6% 48%, color-mix(in srgb, var(--ku-paper-50) 82%, transparent), transparent 70%), radial-gradient(70% 55% at 86% 100%, color-mix(in srgb, var(--ku-steel-500) 22%, transparent), transparent 70%), linear-gradient(180deg, var(--ku-tone-mesh-1) 0%, var(--ku-tone-steel) 40%, var(--ku-tone-mesh-2) 100%); }
:root .ku-seitenkopf + .ku-section:not(.ku-section--flush-top) { box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ku-ink-900) 10%, transparent); }
:root .ku-seitenkopf.ku-section--muted { background-image: radial-gradient(55% 62% at 76% 26%, color-mix(in srgb, var(--ku-steel-400) 26%, transparent), transparent 62%), radial-gradient(52% 58% at 14% 88%, color-mix(in srgb, var(--ku-steel-600) 18%, transparent), transparent 66%), radial-gradient(46% 42% at 22% 6%, var(--ku-paper-50), transparent 98%); }
.ku-seitenkopf--kontakt::after { content: ''; position: absolute; inset: auto 0 0; height: 7rem; background: linear-gradient(to bottom, transparent, var(--ku-paper-100)); pointer-events: none; z-index: 1; }
.ku-seitenkopf { position: relative; overflow: hidden; color: var(--text-strong); }
.ku-seitenkopf__container { position: relative; }
.ku-seitenkopf__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 2.5rem; }
.ku-seitenkopf__titel { margin-top: var(--space-4); }
.ku-seitenkopf__text { color: var(--text-soft); }
.ku-seitenkopf__autor { font-weight: 600; color: var(--text-strong); }
.ku-seitenkopf__meta { margin-top: 0.125rem; color: var(--text-meta); }
.ku-seitenkopf__absatz { margin-top: var(--space-4); }
.ku-seitenkopf__einleitung { max-width: 42rem; color: var(--text-muted); }
.ku-seitenkopf__nachsatz { margin-top: var(--space-3); max-width: 36rem; line-height: 1.7; color: var(--text-soft); }
.ku-seitenkopf__reihe { margin-top: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.ku-seitenkopf__aktionen { margin-top: 2.25rem; display: flex; flex-direction: column; gap: var(--space-3); }
.ku-seitenkopf__icon { color: var(--text-accent); }
.ku-seitenkopf__icon-chip { display: grid; height: var(--btn-chip); width: var(--btn-chip); place-items: center; border-radius: 9999px; background-color: color-mix(in srgb, var(--ku-steel-600) 10%, transparent); color: var(--text-accent); }
.ku-seitenkopf__box { overflow: hidden; }
.ku-seitenkopf__byline { margin-top: 1.75rem; }
.ku-seitenkopf__bild { object-position: center 20%; }
.ku-seitenkopf__ebene { position: absolute; inset: 0px; background: linear-gradient(180deg, color-mix(in srgb, var(--ku-tone-steel) 40%, transparent) 0%, color-mix(in srgb, var(--ku-tone-steel) 8%, transparent) 45%, color-mix(in srgb, var(--ku-tone-steel) 62%, transparent) 100%); }
@media (min-width: 640px) {
  .ku-seitenkopf__aktionen { flex-direction: row; align-items: center; }
}
@media (min-width: 768px) {
  .ku-seitenkopf__btn { width: max-content; }
  .ku-seitenkopf__btn--mit-icon { width: max-content; }
}
@media (min-width: 1024px) {
  .ku-seitenkopf__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 3.5rem; }
  .ku-seitenkopf__spalte { grid-column: span 7 / span 7; }
  .ku-seitenkopf__spalte-bild { grid-column: span 5 / span 5; }
}
.ku-seitenkopf--artikel .ku-breadcrumb + .ku-seitenkopf__titel { margin-top: 1.5rem; }
/* E91: Kontur-Pille mit Chip folgt dem Button-Kanon (Chip-Abstand rechts, Rand aus dem Innenabstand) */
:root .ku-btn--ghost.ku-seitenkopf__btn--mit-icon { gap: .625rem; padding-top: calc(var(--btn-pad-y) - 1px); padding-bottom: calc(var(--btn-pad-y) - 1px); padding-right: var(--btn-pad-chip); }
.ku-ratgeber { position: relative; }
.ku-ratgeber__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
@media (min-width: 640px) {
  .ku-ratgeber__raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-ratgeber__raster { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--space-4); }
}
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-anfrage__option { min-height: 44px; }
  :root .ku-anfrage__aktion { min-height: 44px; }
  :root .ku-anfrage__pille { display: inline-flex; align-items: center; min-height: 44px; }
  :root :is(.ku-anfrage__feld label, .ku-anfrage__label) { display: flex; align-items: center; min-height: 44px; margin-top: -0.75rem; margin-bottom: calc(0.35rem - 0.75rem); }
}
@media (max-width: 767.98px) {
  .ku-anfrage__nav a:is(.ku-btn--primary, .ku-btn--ghost), .ku-anfrage__nav button:is(.ku-btn--primary, .ku-btn--ghost) { width: auto; }
}
.ku-anfrage__karte { background: var(--ku-paper-50); border-radius: 1.75rem; box-shadow: 0 44px 90px -40px color-mix(in srgb, var(--ku-ink-900) 28%, transparent); padding: clamp(1.4rem, 3vw, 2.4rem); }
.ku-anfrage__kopf { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.ku-anfrage__meta { display: flex; align-items: center; gap: 0.9rem; min-width: 0; }
.ku-anfrage__nr { flex: none; width: 46px; height: 46px; border-radius: 0.9rem; display: grid; place-items: center; background: linear-gradient(180deg, var(--ku-paper-50) 0%, var(--ku-tone-chip) 100%); border: 1px solid color-mix(in srgb, var(--ku-steel-600) 22%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ku-paper-50) 70%, transparent); color: var(--text-link); font-weight: 700; font-size: 1.05rem; }
.ku-anfrage__schritt { display: block; font-size: 0.85rem; letter-spacing: 0; text-transform: none; font-weight: 700; color: var(--text-accent); }
.ku-anfrage__hinweis { display: block; margin-top: 2px; font-weight: 600; color: var(--text-strong); font-size: 0.98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ku-anfrage__leiste { margin-top: 1.1rem; height: 6px; border-radius: 999px; background: color-mix(in srgb, var(--ku-steel-600) 10%, transparent); overflow: hidden; }
.ku-anfrage__leiste > span { display: block; height: 100%; border-radius: 999px; transform-origin: left center; background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 42%, var(--ku-steel-500) 100%); transform: scaleX(var(--ku-anfrage-fortschritt, 0.25)); transition: transform .45s var(--ease-out); }
.ku-anfrage__notiz { display: flex; align-items: flex-start; gap: 0.7rem; margin-top: var(--space-3); padding: 0.85rem var(--space-3); border-radius: 0.9rem; background: #F0F7FB; border: 1px solid color-mix(in srgb, var(--ku-steel-600) 18%, transparent); color: var(--text-link); font-size: 0.9rem; line-height: 1.5; }
.ku-anfrage__notiz[hidden] { display: none; }
.ku-anfrage__notiz a { font-weight: 700; white-space: nowrap; color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; }
.ku-anfrage__notiz svg { flex: none; margin-top: 2px; }
.ku-anfrage__panel { margin-top: 1.4rem; min-height: 300px; }
.ku-anfrage__frage { font-family: 'Playfair Display', serif; font-weight: 500; color: var(--text-strong); font-size: clamp(1.35rem, 2.4vw, 1.8rem); line-height: 1.2; letter-spacing: 0; outline: none; }
.ku-anfrage__info { margin-top: var(--space-2); color: color-mix(in srgb, var(--ku-ink-900) 62%, transparent); font-size: 0.93rem; line-height: 1.6; max-width: 60ch; }
.ku-anfrage__eingabe { animation: kuMsEin .45s var(--ease-out) both; }
.ku-anfrage__optionen { display: grid; gap: 0.75rem; margin-top: 1.25rem; }
.ku-anfrage__optionen[data-ku-spalten="3"] { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ku-anfrage__optionen[data-ku-spalten="2"] { grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 860px) {
  .ku-anfrage__optionen[data-ku-spalten="3"] { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .ku-anfrage__optionen[data-ku-spalten="3"], .ku-anfrage__optionen[data-ku-spalten="2"] { grid-template-columns: 1fr; }
}
.ku-anfrage__option { position: relative; text-align: left; background: var(--ku-paper-50); border: 1.5px solid color-mix(in srgb, var(--ku-ink-900) 10%, transparent); border-radius: 1rem; padding: 1.05rem 1.1rem 1.1rem; cursor: pointer; display: flex; flex-direction: column; gap: 0.3rem; transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out), background-color .25s var(--ease-out); }
@media (hover:hover) {
  .ku-anfrage__option:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--ku-ink-900) 25%, transparent); border-color: color-mix(in srgb, var(--ku-steel-600) 35%, transparent); }
}
.ku-anfrage__option[aria-checked="true"] { border-color: var(--ku-steel-600); background: #F4F9FB; box-shadow: 0 20px 44px -24px color-mix(in srgb, var(--ku-steel-600) 35%, transparent); }
.ku-anfrage__zahl { position: absolute; top: 0.7rem; right: 2.6rem; font-size: 0.7rem; font-weight: 700; color: color-mix(in srgb, var(--ku-ink-900) 30%, transparent); letter-spacing: 0.04em; }
.ku-anfrage__haken { position: absolute; top: 0.55rem; right: 0.55rem; width: 22px; height: 22px; border-radius: 999px; display: grid; place-items: center; background: var(--ku-steel-600); color: var(--ku-paper-50); opacity: 0; transform: scale(0.6); transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); }
.ku-anfrage__option[aria-checked="true"] .ku-anfrage__haken { opacity: 1; transform: none; }
.ku-anfrage__option-icon { width: 46px; height: 46px; border-radius: 0.85rem; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 0.45rem; background: linear-gradient(180deg, var(--ku-paper-50) 0%, var(--ku-tone-chip) 100%); border: 1px solid color-mix(in srgb, var(--ku-steel-600) 20%, transparent); color: var(--text-link); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ku-paper-50) 70%, transparent); }
.ku-anfrage__option-icon svg { width: 22px; height: 22px; }
.ku-anfrage__option[aria-checked="true"] .ku-anfrage__option-icon { background: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 60%, var(--ku-steel-500) 100%); color: var(--ku-paper-50); border-color: transparent; }
.ku-anfrage__option-titel { font-weight: 700; color: var(--text-strong); font-size: 0.98rem; line-height: 1.3; padding-right: 1.6rem; }
.ku-anfrage__option-text { color: color-mix(in srgb, var(--ku-ink-900) 74%, transparent); font-size: 0.83rem; line-height: 1.45; }
.ku-anfrage__form { display: grid; gap: 1.05rem; margin-top: 1.25rem; }
.ku-anfrage__feldreihe { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
@media (max-width: 560px) {
  .ku-anfrage__feldreihe { grid-template-columns: 1fr; }
}
.ku-anfrage__feld label, .ku-anfrage__label { display: block; font-size: 0.83rem; font-weight: 600; color: var(--text-soft); margin-bottom: 0.35rem; }
.ku-anfrage__feld input, .ku-anfrage__feld textarea { width: 100%; border-radius: 0.9rem; border: 1px solid color-mix(in srgb, var(--ku-ink-900) 14%, transparent); background: var(--ku-paper-50); padding: 0.8rem var(--space-3); font-size: 1rem; color: var(--text-strong); transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.ku-anfrage__feld input:focus, .ku-anfrage__feld textarea:focus { outline: none; border-color: var(--ku-steel-500); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ku-steel-500) 14%, transparent); }
.ku-anfrage__feld :is(input, textarea)[aria-invalid="true"]:not(:focus) { border-color: var(--ku-error-field); }
.ku-anfrage__fehler { margin-top: 0.3rem; font-size: 0.8rem; color: var(--ku-error-field); }
.ku-anfrage__pillen { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ku-anfrage__pille { border: 1.5px solid color-mix(in srgb, var(--ku-ink-900) 12%, transparent); background: var(--ku-paper-50); border-radius: 999px; padding: var(--space-2) var(--space-3); font-size: 0.88rem; font-weight: 600; color: var(--text-muted); cursor: pointer; transition: border-color .2s var(--ease-out), background-color .2s var(--ease-out), color .2s var(--ease-out); }
.ku-anfrage__pille[aria-checked="true"] { border-color: var(--ku-steel-600); background: #F4F9FB; color: var(--text-link); }
.ku-anfrage__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: 1.6rem; padding-top: 1.25rem; border-top: 1px solid color-mix(in srgb, var(--ku-ink-900) 8%, transparent); }
.ku-anfrage__prev { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--btn-size); font-weight: 600; line-height: 1.3; color: var(--text-link); background: var(--ku-paper-50); border: 1.5px solid color-mix(in srgb, var(--ku-steel-600) 30%, transparent); border-radius: 999px; cursor: pointer; padding: var(--btn-pad-y) 1.25rem var(--btn-pad-y) var(--space-3); min-height: var(--btn-min-h); transition: border-color .2s var(--ease-out), background-color .2s var(--ease-out); }
.ku-anfrage__prev:hover { border-color: var(--ku-steel-600); background: #F0F7FB; }
.ku-anfrage__prev:disabled { opacity: 0.35; cursor: default; }
.ku-anfrage__punkte { display: flex; align-items: center; gap: 0.4rem; }
.ku-anfrage__punkt { width: 8px; height: 8px; border-radius: 999px; background: color-mix(in srgb, var(--ku-ink-900) 14%, transparent); border: 0; padding: 0; cursor: default; transition: width .3s var(--ease-out), background-color .3s var(--ease-out); }
.ku-anfrage__punkt[data-ku-zustand="aktiv"] { width: 22px; background: var(--ku-steel-600); }
.ku-anfrage__punkt[data-ku-zustand="fertig"] { background: color-mix(in srgb, var(--ku-steel-600) 45%, transparent); cursor: pointer; }
@media (max-width: 480px) {
  .ku-anfrage__nav { gap: 0.6rem; }
  .ku-anfrage__punkte { display: none; }
  .ku-anfrage__prev { padding: var(--btn-pad-y) var(--space-3) var(--btn-pad-y) 0.85rem; }
}
.ku-anfrage__next:disabled { opacity: 0.45; cursor: default; }
.ku-anfrage__fertig { text-align: center; padding: 2.5rem var(--space-3) var(--space-4); }
.ku-anfrage__fertig-icon { width: 62px; height: 62px; margin: 0 auto 1.2rem; border-radius: 999px; display: grid; place-items: center; color: var(--ku-paper-50); background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 42%, var(--ku-steel-500) 100%); box-shadow: 0 22px 46px -18px color-mix(in srgb, var(--ku-steel-600) 60%, transparent); }
.ku-anfrage__datenschutz { margin-top: 0.4rem; font-size: 0.78rem; color: color-mix(in srgb, var(--ku-ink-900) 50%, transparent); line-height: 1.5; }
@media (prefers-reduced-motion: reduce) {
  .ku-anfrage__eingabe { animation: none; }
  .ku-anfrage__leiste > span, .ku-anfrage__option, .ku-anfrage__haken, .ku-anfrage__punkt { transition: none; }
}
.ku-anfrage { position: relative; }
.ku-anfrage__raster { margin-bottom: var(--space-4); display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-4); }
.ku-anfrage__raster--split { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: flex-start; gap: var(--space-4); }
.ku-anfrage__icon { margin-bottom: var(--space-3); display: grid; height: 42px; width: 42px; place-items: center; border-radius: 0.8rem; }
.ku-anfrage__link { white-space: nowrap; font-weight: 700; color: var(--text-link); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-anfrage__link:hover { color: var(--text-strong); }
.ku-anfrage__link--mail { word-break: break-all; font-weight: 700; color: var(--text-link); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-anfrage__link--mail:hover { color: var(--text-strong); }
.ku-anfrage__link--umbruch { font-weight: 700; color: var(--text-link); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.ku-anfrage__link--umbruch:hover { color: var(--text-strong); }
.ku-anfrage__aktion { display: inline-flex; align-items: center; margin-top: var(--space-2); gap: var(--space-2); font-weight: 600; color: var(--text-accent); }
.ku-anfrage__text { line-height: 1.6; color: var(--text-muted); }
.ku-anfrage__box { min-width: 0px; }
.ku-anfrage__adresse { font-style: normal; line-height: 1.8; color: var(--text-soft); }
.ku-anfrage__reihe { display: flex; flex-direction: column; }
.ku-anfrage__bild { object-position: center 60%; }
@media (min-width: 640px) {
  .ku-anfrage__raster { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-anfrage__raster { margin-bottom: var(--space-5); gap: var(--space-5); }
  .ku-anfrage__raster--split { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--space-5); }
  .ku-anfrage__spalte { grid-column: span 7 / span 7; }
  .ku-anfrage__spalte--rechts { position: relative; grid-column: span 5 / span 5; align-self: stretch; }
  .ku-anfrage__reihe { position: absolute; inset: 0px; }
  .ku-anfrage__fuell { min-height: 0px; flex: 1 1 0%; }
}
.ku-anfrage__karte [hidden] { display: none; }
.ku-anfrage__fertig .ku-anfrage__info { margin-inline: auto; }
.ku-anfrage__fertig .ku-anfrage__datenschutz { margin-top: var(--space-3); }
.ku-anfrage__ds-link { color: var(--text-accent); text-decoration: underline; }
.ku-anfrage .ku-check:has(input[aria-invalid="true"]) { color: var(--ku-error-field); }
.ku-anfrage .ku-check:has(input[aria-invalid="true"]) a { color: inherit; }
:root:not(.no-js) .ku-anfrage__karte:not([data-ku-bereit]) .ku-anfrage__schrittfeld ~ .ku-anfrage__schrittfeld { display: none; }
.no-js .ku-anfrage__kopf, .no-js .ku-anfrage__leiste, .no-js .ku-anfrage__nav { display: none; }
.no-js .ku-anfrage__panel { margin-top: 0; min-height: 0; }
.no-js .ku-anfrage__schrittfeld + .ku-anfrage__schrittfeld { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid color-mix(in srgb, var(--ku-ink-900) 8%, transparent); }
.ku-textbild { position: relative; }
.ku-textbild__text { line-height: 1.6; color: var(--text-muted); }
.ku-textbild__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 2.5rem; }
.ku-textbild__raster--oben { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: flex-start; gap: 2.5rem; }
.ku-textbild__karten { margin-top: var(--space-5); display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-textbild__karten--vier { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-textbild__raster--folge { margin-top: var(--space-6); display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: center; gap: 2.5rem; }
.ku-textbild__box { overflow: hidden; }
.ku-textbild__bild { height: 300px; width: 100%; object-fit: cover; }
.ku-textbild__bild--links { object-position: 35% center; }
.ku-textbild__titel { margin-top: 4rem; }
.ku-textbild__liste { display: grid; gap: 1.25rem; }
@media (min-width: 640px) {
  .ku-textbild__karten { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-textbild__karten--vier { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-textbild__bild { height: 380px; }
}
@media (min-width: 1024px) {
  .ku-textbild__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-textbild__raster--oben { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-textbild__karten { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-textbild__karten--vier { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-textbild__raster--folge { margin-top: 5rem; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-textbild__spalte { grid-column: span 5 / span 5; }
  .ku-textbild__spalte--breit { grid-column: span 7 / span 7; }
  .ku-textbild__titel { margin-top: var(--space-8); }
  .ku-textbild__liste { grid-column: span 7 / span 7; gap: var(--space-4); }
}
.ku-textkarte { position: relative; }
.ku-textkarte__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: flex-start; gap: 2.5rem; }
.ku-textkarte__raster--gestreckt { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: var(--space-4); }
.ku-textkarte__text { line-height: 1.6; color: var(--text-muted); }
.ku-textkarte__text--lesebreite { max-width: 65ch; line-height: 1.7; color: var(--text-soft); }
.ku-textkarte__text--lesebreite + .ku-textkarte__text--lesebreite { margin-top: 1.25rem; }
.ku-textkarte__btn { margin-top: var(--space-5); }
.ku-textkarte__liste { margin-top: var(--space-3); }
@media (min-width: 1024px) {
  .ku-textkarte__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 4rem; }
  .ku-textkarte__raster--gestreckt { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--space-5); }
  .ku-textkarte__spalte { grid-column: span 7 / span 7; }
  .ku-textkarte__leiste { grid-column: span 5 / span 5; }
  .ku-textkarte__leiste--fixiert { position: sticky; top: 7rem; grid-column: span 5 / span 5; }
}
/* E97 (Judge Runde 3): Lesebreite der Prosa neben der Infokarte */
:root .ku-textkarte__spalte.ku-prose { max-width: var(--prose-max); }
:root .ku-videos { background-color: var(--ku-paper-50); background-image: none; }
:root .ku-videos figcaption, :root .ku-videos .ku-vid__hinweis { text-align: center; }
:root .ku-videos figcaption > * { margin-inline: auto; }
.ku-videos { position: relative; overflow: hidden; }
.ku-videos__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-5); }
.ku-videos__paar { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-5); }
.ku-videos__bildtext { margin-top: 1.25rem; }
.ku-videos__text { margin-top: var(--space-4); color: var(--text-muted); }
.ku-videos__box { margin-left: auto; margin-right: auto; max-width: 56rem; }
@media (min-width: 768px) {
  .ku-videos__paar { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-videos__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 2.5rem; }
  .ku-videos__paar { gap: 2.5rem; }
  .ku-videos__spalte { grid-column: span 8 / span 8; grid-column-start: 3; }
}
:root .ku-videos--links figcaption, :root .ku-videos--links .ku-vid__hinweis { text-align: start; }
:root .ku-videos--links figcaption > * { margin-inline: 0; }
.ku-zeitleiste__bild { margin: 2.1rem 0; border-radius: 1.25rem; overflow: hidden; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
.ku-zeitleiste__bild img { width: 100%; height: auto; display: block; }
.ku-zeitleiste__bild--seite { float: right; width: min(46%, 340px); margin: 0.35rem 0 1.15rem 1.75rem; }
@media (max-width: 640px) {
  .ku-zeitleiste__bild--seite { float: none; width: 100%; margin: var(--space-4) 0; }
}
:root .ku-zeitleiste__rahmen { --tl-dot: 14px; --tl-step: 200ms; --tl-bleed: 0.75rem; --tl-year: max(1.6rem, calc(var(--h3-size) * 0.8)); margin-block: var(--gap-block); }
:root .ku-zeitleiste__kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
:root .ku-zeitleiste__nav { display: none; gap: 0.75rem; padding-bottom: var(--space-2); }
:root .ku-zeitleiste__spur { list-style: none; margin: 0; padding: 0; }
:root .ku-zeitleiste__eintrag { position: relative; }
:root .ku-zeitleiste__jahr { display: block; font-family: var(--font-display); font-weight: 400; font-size: var(--tl-year); line-height: 1; letter-spacing: 0; font-variant-numeric: lining-nums proportional-nums; color: var(--text-link); transition: color 300ms var(--ease-out), translate 300ms var(--ease-out); }
:root .ku-zeitleiste__knoten { position: relative; display: block; }
:root .ku-zeitleiste__knoten::before { content: ''; position: absolute; background: var(--ku-steel-300); }
:root .ku-zeitleiste__eintrag:last-child .ku-zeitleiste__knoten::before { content: none; }
:root .ku-zeitleiste__knoten::after { content: ''; position: absolute; left: 0; top: 0; width: var(--tl-dot); height: var(--tl-dot); border-radius: 50%; background: var(--ku-steel-600); box-shadow: 0 0 0 6px color-mix(in srgb, var(--ku-steel-600) 12%, transparent); transition: box-shadow 300ms var(--ease-out); }
:root .ku-zeitleiste__body { transition: translate 300ms var(--ease-out); }
:root .ku-zeitleiste__body > .ku-h4 { margin: 0 0 0.4rem; }
:root .ku-zeitleiste__body > .ku-meta { margin: 0 0 0.6rem; font-size: var(--sm-size); }
:root .ku-zeitleiste__body > .ku-small { margin: 0; font-size: var(--body-size); line-height: 1.6; color: color-mix(in srgb, var(--ku-ink-900) 78%, transparent); text-wrap: pretty; }
:root .ku-zeitleiste__body > :last-child { margin-bottom: 0; }
@media (max-width: 1023.98px) {
  :root .ku-zeitleiste__eintrag { padding-left: calc(var(--tl-dot) + 1.25rem); padding-bottom: 2.25rem; }
  :root .ku-zeitleiste__eintrag:last-child { padding-bottom: 0; }
  :root .ku-zeitleiste__jahr { margin-bottom: 0.6rem; }
  :root .ku-zeitleiste__knoten { position: absolute; left: 0; top: calc(var(--tl-year) / 2 - var(--tl-dot) / 2); width: var(--tl-dot); height: 100%; }
  :root .ku-zeitleiste__knoten::before { left: calc(var(--tl-dot) / 2 - 1px); top: calc(var(--tl-dot) / 2); width: 2px; height: 100%; transform-origin: center top; }
}
@media (min-width: 1024px) {
  :root .ku-zeitleiste__nav { display: flex; }
  :root .ku-zeitleiste__spur { --tl-n: 2.34; display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; margin-right: calc(50% - 50vw); padding-inline-end: calc(50vw - 50%); padding-inline-start: var(--tl-bleed); margin-inline-start: calc(-1 * var(--tl-bleed)); scroll-padding-inline-start: var(--tl-bleed); padding-block: 0.75rem; margin-block: -0.75rem; -webkit-mask-image: linear-gradient(to right, transparent 0, transparent calc(var(--tl-bleed) - 0.5rem), var(--ku-mask-voll) var(--tl-bleed)); mask-image: linear-gradient(to right, transparent 0, transparent calc(var(--tl-bleed) - 0.5rem), var(--ku-mask-voll) var(--tl-bleed)); }
  :root .ku-zeitleiste__spur::-webkit-scrollbar { display: none; }
  :root .ku-zeitleiste__eintrag { flex: 0 0 calc((50% + 50vw) / var(--tl-n)); scroll-snap-align: start; }
  :root .ku-zeitleiste__eintrag > :is(.ku-zeitleiste__jahr, .ku-zeitleiste__body) { padding-right: 2.5rem; }
  :root .ku-zeitleiste__knoten { height: var(--tl-dot); margin: 1.15rem 0 1.6rem; }
  :root .ku-zeitleiste__knoten::before { left: calc(var(--tl-dot) / 2); top: calc(var(--tl-dot) / 2 - 1px); width: 100%; height: 2px; transform-origin: left center; }
}
@media (min-width: 1280px) {
  :root .ku-zeitleiste__spur { --tl-n: 3.34; }
}
@media (prefers-reduced-motion: no-preference) {
  html:root:not(.no-js) .ku-zeitleiste__eintrag:not(.is-in) :is(.ku-zeitleiste__jahr, .ku-zeitleiste__body), html:root:not(.no-js) .ku-zeitleiste__eintrag:not(.is-in) .ku-zeitleiste__knoten::after { opacity: 0; }
  html:root:not(.no-js) .ku-zeitleiste__eintrag:not(.is-in) .ku-zeitleiste__knoten::before { transform: scaleY(0); }
  html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in { --tl-t: calc(var(--tl-k, 0) * var(--tl-step)); }
  html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in .ku-zeitleiste__knoten::after { animation: ku-tl-dot 420ms var(--ease-out) both; animation-delay: var(--tl-t); }
  html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in .ku-zeitleiste__knoten::before { animation: ku-tl-draw-y 560ms var(--ease-out-quint) both; animation-delay: calc(var(--tl-t) + 80ms); }
  html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in .ku-zeitleiste__jahr { animation: ku-tl-rise 640ms var(--ease-out-quint) both; animation-delay: calc(var(--tl-t) + 40ms); }
  html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in .ku-zeitleiste__body { animation: ku-tl-rise 640ms var(--ease-out-quint) both; animation-delay: calc(var(--tl-t) + 120ms); }
  @media (min-width: 1024px) {
    html:root:not(.no-js) .ku-zeitleiste__eintrag:not(.is-in) .ku-zeitleiste__knoten::before { transform: scaleX(0); }
    html:root:not(.no-js) .ku-zeitleiste__eintrag.is-in .ku-zeitleiste__knoten::before { animation-name: ku-tl-draw-x; }
  }
  @media (hover: hover) {
    :root .ku-zeitleiste__eintrag:hover :is(.ku-zeitleiste__jahr, .ku-zeitleiste__body) { translate: 0 -4px; }
    :root .ku-zeitleiste__eintrag:hover .ku-zeitleiste__jahr { color: var(--text-accent); }
    :root .ku-zeitleiste__eintrag:hover .ku-zeitleiste__knoten::after { box-shadow: 0 0 0 9px color-mix(in srgb, var(--ku-steel-600) 16%, transparent); }
  }
}
@media (prefers-reduced-motion: reduce) {
  :root .ku-zeitleiste__spur { scroll-behavior: auto; }
  :root .ku-zeitleiste__eintrag :is(.ku-zeitleiste__jahr, .ku-zeitleiste__body), :root .ku-zeitleiste__knoten::before, :root .ku-zeitleiste__knoten::after { animation: none !important; opacity: 1 !important; transform: none !important; transition: none; }
}
.ku-zeitleiste { position: relative; }
.ku-zeitleiste__text { color: var(--text-link); }
/* Chris 16.10.: zweite Fließtextspalte (Widget-Feld prosa_2). Ab 768 px zwei gleich breite Spalten über die volle
 * Inhaltsbreite der Zeitleiste — die Lesebreite der Prosa gilt hier nicht, jede Spalte füllt ihre Rasterzelle; Bilder
 * im Fließtext bleiben spaltenbreit. Darunter laufen beide Blöcke untereinander wie ein Text. */
:root .ku-zeitleiste__spalten { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 0; }
:root .ku-zeitleiste__spalten > .ku-prose { max-width: none; min-width: 0; }
@media (min-width: 768px) {
  :root .ku-zeitleiste__spalten { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); align-items: start; }
}
.ku-news__karte { background: var(--ku-paper-50); box-shadow: var(--elevation-fest, 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent)); }
:root .ku-news__form .ku-check { min-height: 44px; padding-block: 0.4rem; cursor: pointer; }
:root .ku-news__form .ku-check input { width: 1.15rem; height: 1.15rem; }
.ku-news__ok { display: none; margin-top: var(--space-4); align-items: center; gap: 0.75rem; color: var(--text-body); }
.ku-news__karte.is-sent .ku-news__form { display: none; }
.ku-news__karte.is-sent .ku-news__ok { display: flex; }
.ku-news { position: relative; }
.ku-news__text { line-height: 1.6; color: var(--text-muted); }
.ku-news__text--schmal { max-width: 32rem; line-height: 1.7; color: var(--text-soft); }
.ku-news__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); overflow: hidden; border-radius: 1.75rem; }
.ku-news__media { position: relative; min-height: 320px; }
.ku-news__bild { position: absolute; inset: 0px; height: 100%; width: 100%; object-fit: cover; }
.ku-news__reihe { display: flex; flex-direction: column; justify-content: center; padding: var(--space-5); }
.ku-news__liste { margin-top: 1.25rem; }
.ku-news__liste--raster { margin-top: var(--space-6); display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-news__box { margin-top: var(--space-5); }
.ku-news__form { margin-top: 1.25rem; max-width: 28rem; }
.ku-news__form > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; margin-bottom: 0; }
.ku-news__feld { display: block; width: 100%; border-radius: 0.75rem; border-width: 1px; border-color: color-mix(in srgb, var(--ku-ink-900) 15%, transparent); background-color: var(--ku-paper-50); padding-left: var(--space-3); padding-right: var(--space-3); padding-top: 0.75rem; padding-bottom: 0.75rem; }
.ku-news__check { margin-top: 0.125rem; flex-shrink: 0; }
.ku-news__label { display: flex; align-items: flex-start; gap: 0.625rem; line-height: 1.5; color: var(--text-muted); }
.ku-news__link { color: var(--text-accent); text-decoration-line: underline; }
.ku-news__haken { width: 2.2rem; height: 2.2rem; }
@media (min-width: 640px) {
  .ku-news__liste--raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 768px) {
  .ku-news__icon { height: 2rem; width: 2rem; }
}
@media (min-width: 1024px) {
  .ku-news__raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-news__reihe { padding: var(--space-6); }
  .ku-news__liste--raster { margin-top: 4rem; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: var(--space-4); }
}
@media (max-width: 767.98px) {
  :where(.ku-start) button.ku-news__knopf { font-size: var(--btn-size); line-height: 1.3; }
}
:root .ku-playlist__haupt { position: relative; overflow: hidden; border-radius: var(--radius-lg); aspect-ratio: 16 / 9; cursor: pointer; background: var(--ku-ink-950); }
:root .ku-playlist__haupt img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
:root .ku-playlist__haupt:hover img { transform: scale(1.03); }
:root .ku-playlist__haupt-play { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
:root .ku-playlist__haupt-chip { width: 84px; height: 84px; border-radius: 999px; display: grid; place-items: center; color: var(--text-strong); background: color-mix(in srgb, var(--ku-paper-50) 92%, transparent); box-shadow: 0 24px 60px -20px rgba(0,0,0,0.55); transition: transform .3s var(--ease), background-color .3s var(--ease-out); }
:root .ku-playlist__haupt:hover .ku-playlist__haupt-chip { transform: scale(1.06); background: var(--ku-paper-50); }
:root .ku-playlist__haupt-scrim { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, color-mix(in srgb, var(--ku-ink-950) 5%, transparent) 40%, color-mix(in srgb, var(--ku-ink-950) 72%, transparent)); }
:root .ku-playlist__haupt-kategorie { position: absolute; left: 1.25rem; top: 1.1rem; z-index: 3; font-size: 0.8rem; font-weight: 700; color: var(--ku-steel-100); background: color-mix(in srgb, var(--ku-ink-950) 50%, transparent); border: 1px solid color-mix(in srgb, var(--ku-steel-300) 28%, transparent); padding: 0.3rem 0.65rem; border-radius: 999px; }
:root .ku-playlist__liste { display: flex; flex-direction: column; gap: 0.4rem; max-height: 452px; overflow-y: auto; padding: 0 0.4rem var(--space-6) 0; -webkit-mask-image: linear-gradient(to bottom, var(--ku-mask-voll) 74%, transparent); mask-image: linear-gradient(to bottom, var(--ku-mask-voll) 74%, transparent); }
@media (min-width: 1024px) {
  :root .ku-playlist__spalte { position: relative; grid-column: span 4 / span 4; grid-column-start: 9; grid-row-start: 1; }
  :root .ku-playlist__liste { position: absolute; inset: 0; max-height: none; }
}
:root .ku-playlist__liste::-webkit-scrollbar { width: 6px; }
:root .ku-playlist__liste::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--ku-steel-600) 28%, transparent); border-radius: 999px; }
:root .ku-playlist__eintrag { display: flex; gap: 0.85rem; align-items: center; width: 100%; padding: 0.55rem; border-radius: 0.9rem; cursor: pointer; text-align: left; background: transparent; border: 1px solid transparent; transition: background-color 220ms var(--ease-out), border-color 220ms var(--ease-out); }
:root .ku-playlist__eintrag:hover { background: color-mix(in srgb, var(--ku-steel-600) 6%, transparent); }
:root .ku-playlist__kategorie { color: var(--text-link); transition: color 220ms var(--ease-out); }
:root .ku-playlist__titel { color: var(--text-strong); transition: color 220ms var(--ease-out); }
:root .ku-playlist__eintrag[aria-current="true"] { background: var(--ku-ink-900); border-color: var(--ku-ink-900); }
:root .ku-playlist__eintrag[aria-current="true"]:hover { background: var(--ku-ink-800); }
:root .ku-playlist__eintrag[aria-current="true"] .ku-playlist__kategorie { color: var(--ku-bluegray-200); }
:root .ku-playlist__eintrag[aria-current="true"] .ku-playlist__titel { color: var(--ku-paper-100); }
:root .ku-playlist__thumb { position: relative; flex: none; width: 108px; aspect-ratio: 16 / 9; border-radius: 0.55rem; overflow: hidden; background: var(--ku-ink-950); }
:root .ku-playlist__thumb img { width: 100%; height: 100%; object-fit: cover; }
:root .ku-playlist__play { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; color: var(--ku-paper-50); opacity: 0; background: color-mix(in srgb, var(--ku-ink-950) 30%, transparent); transition: opacity 220ms var(--ease-out); }
:root .ku-playlist__eintrag:hover .ku-playlist__play, :root .ku-playlist__eintrag[aria-current="true"] .ku-playlist__play { opacity: 1; }
.ku-playlist { position: relative; overflow: hidden; }
.ku-playlist__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-5); }
.ku-playlist__text { margin-top: var(--space-2); max-width: 42rem; color: var(--text-muted); }
.ku-playlist__gruppe { min-width: 0px; flex: 1 1 0%; }
.ku-playlist__kategorie { display: block; }
.ku-playlist__titel { margin-top: 0.125rem; display: block; font-weight: 500; line-height: 1.375; }
@media (min-width: 768px) {
  .ku-playlist__text { line-height: 1.625; }
}
@media (min-width: 1024px) {
  .ku-playlist__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 2.5rem; row-gap: 1.25rem; }
  .ku-playlist__spalte-haupt { grid-column: span 8 / span 8; grid-row-start: 1; }
  .ku-playlist__spalte-info { grid-column: span 8 / span 8; grid-row-start: 2; }
}
.ku-ablauf__achse { position: relative; display: grid; gap: var(--space-5); }
.ku-ablauf__achse::before { content: ''; position: absolute; left: calc(0.55rem - 1px); top: 0.6rem; bottom: 0.6rem; width: 2px; border-radius: 2px; background: linear-gradient(to bottom, var(--ku-steel-600), color-mix(in srgb, var(--ku-steel-600) 18%, transparent)); }
.ku-ablauf__achse > li { position: relative; padding-left: 2.4rem; }
.ku-ablauf__achse > li::before { content: ''; position: absolute; left: 0; top: 0.3rem; width: 1.1rem; height: 1.1rem; border-radius: 999px; background: var(--ku-paper-50); border: 2px solid var(--ku-steel-600); }
.ku-ablauf__achse > li:last-child::before { background: var(--ku-steel-600); }
.ku-ablauf__achse > li > .ku-h5 { display: block; }
.ku-ablauf__achse > li > p { margin-top: var(--space-2); max-width: 34ch; }
@media (min-width: 1024px) {
  .ku-ablauf__achse { grid-template-columns: repeat(var(--ku-axis-n, 7), minmax(0, 1fr)); gap: var(--space-4); }
  .ku-ablauf__achse::before { left: 0.55rem; right: 0.55rem; top: calc(0.55rem - 1px); bottom: auto; width: auto; height: 2px; background: linear-gradient(to right, var(--ku-steel-600), color-mix(in srgb, var(--ku-steel-600) 18%, transparent)); }
  .ku-ablauf__achse > li { padding-left: 0; padding-top: 2.6rem; }
  .ku-ablauf__achse > li::before { top: 0; }
}
.ku-ablauf { position: relative; overflow: hidden; }
.ku-ablauf__text { line-height: 1.6; color: var(--text-muted); }
.ku-ablauf__hinweis { margin-top: var(--space-4); color: var(--text-muted); }
.ku-ablauf__achse--vier { --ku-axis-n: 4; }
.ku-ablauf__achse--fuenf { --ku-axis-n: 5; }
.ku-ablauf__achse--sieben { --ku-axis-n: 7; }
.ku-ablauf__raster { margin-top: 4rem; display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: flex-start; gap: var(--space-4); }
.ku-ablauf__videoraster { margin-top: 4rem; display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-5); }
.ku-ablauf__box { overflow: hidden; }
.ku-ablauf__bild { object-position: center 30%; }
.ku-ablauf__liste { margin-top: var(--space-3); }
.ku-ablauf__bildtext { margin-top: 1.25rem; }
@media (min-width: 768px) {
  .ku-ablauf__videoraster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-ablauf__raster { margin-top: var(--space-8); grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--space-5); }
  .ku-ablauf__videoraster { margin-top: var(--space-8); gap: 2.5rem; }
  .ku-ablauf__spalte { grid-column: span 8 / span 8; }
  .ku-ablauf__spalte--schmal { grid-column: span 5 / span 5; }
  .ku-ablauf__leiste { grid-column: span 7 / span 7; }
}
.ku-karten--zwei-wege:not(section) { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: stretch; }
@media (min-width: 900px) {
  .ku-karten--zwei-wege:not(section) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
}
.ku-karten__oder { display: grid; place-items: center; justify-self: center; width: 3.5rem; height: 3.5rem; border-radius: 999px; background: var(--ku-ink-900); color: var(--ku-paper-50); font-family: var(--font-display); font-style: italic; font-size: 1.1rem; box-shadow: var(--elevation-fest, 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent)); }
@media (min-width: 900px) {
  .ku-karten__oder { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; }
}
.ku-karten { position: relative; }
.ku-karten__text { line-height: 1.6; color: var(--text-muted); }
.ku-karten__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-karten__raster--zwei { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-karten__raster--drei { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-karten__box { margin-top: var(--space-6); }
@media (min-width: 640px) {
  .ku-karten__raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-karten__raster--zwei { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 768px) {
  .ku-karten__raster--drei { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-karten__raster { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-karten__raster--zwei { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-karten__raster--drei { gap: var(--space-4); }
  .ku-karten__box { margin-top: 4rem; }
}
.ku-verweise { position: relative; }
.ku-verweise__reihe { display: flex; flex-direction: column; gap: var(--space-4); }
.ku-verweise__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-verweise__raster--zweispaltig { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-verweise__text { line-height: 1.6; color: var(--text-muted); }
@media (min-width: 768px) {
  .ku-verweise__raster { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-verweise__reihe { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .ku-verweise__raster { gap: var(--space-4); }
  .ku-verweise__raster--zweispaltig { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--space-4); }
}
.ku-kartenreihe__bewertung { flex: 0 0 clamp(300px, 80vw, 360px); scroll-snap-align: start; }
:root .ku-kartenreihe__bewertung { padding: var(--card-pad-sm); border-radius: var(--radius-lg); }
:root .ku-kartenreihe__presse { border-radius: var(--radius-lg); }
:root .ku-kartenreihe__meta { padding: var(--card-pad-sm); }
.ku-kartenreihe__initial { font-size: 1.1rem; }
.ku-kartenreihe__mehr summary { cursor: pointer; list-style: none; margin-top: 0.6rem; font-weight: 600; color: var(--text-accent); }
.ku-kartenreihe__mehr summary::-webkit-details-marker { display: none; }
.ku-kartenreihe__mehr summary:hover { color: var(--text-link); }
.ku-kartenreihe__mehr summary:focus-visible { outline: 2px solid var(--ku-steel-600); outline-offset: 2px; border-radius: 0.3rem; }
.ku-kartenreihe__mehr[open] summary { display: none; }
.ku-kartenreihe__mehr > p { margin-top: 0.6rem; }
:root .ku-kartenreihe__presse { scroll-snap-align: start; display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); overflow: hidden; background: color-mix(in srgb, var(--ku-paper-50) 55%, transparent); text-decoration: none; transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background-color .3s var(--ease-out); }
@media (hover: hover) {
  :root .ku-kartenreihe__presse:hover { transform: translateY(-5px); background: color-mix(in srgb, var(--ku-paper-50) 82%, transparent); box-shadow: 0 40px 72px -32px color-mix(in srgb, var(--ku-ink-900) 24%, transparent); }
  :root .ku-kartenreihe__presse:hover .ku-btn__pfeil { transform: translateX(4px) translateY(-2px); }
  :root .ku-kartenreihe__presse:hover .ku-kartenreihe__shot img { transform: scale(1.03); }
}
:root .ku-kartenreihe__presse .ku-btn__pfeil { transition: transform .3s var(--ease-out); }
:root .ku-kartenreihe__browser { display: flex; flex-direction: column; align-self: center; justify-self: stretch; margin: 1.1rem 0 1.1rem 1.1rem; border-radius: 0.9rem; overflow: hidden; background: color-mix(in srgb, var(--ku-tone-browser) 95%, transparent); padding: var(--space-2) var(--space-2) 0; box-shadow: 0 16px 34px -20px color-mix(in srgb, var(--ku-ink-900) 28%, transparent); }
:root .ku-kartenreihe__chrome { display: flex; align-items: center; gap: 0.6rem; padding: 0.15rem 0.9rem 0.55rem 0.4rem; }
:root .ku-kartenreihe__dots { display: inline-flex; gap: 5px; flex: none; }
:root .ku-kartenreihe__dots > span { width: 8px; height: 8px; border-radius: 999px; background: color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
:root .ku-kartenreihe__url { flex: 1; min-width: 0; text-align: center; font-size: 0.7rem; letter-spacing: 0.02em; color: var(--text-meta); background: var(--ku-paper-50); border: 1px solid color-mix(in srgb, var(--ku-ink-900) 8%, transparent); border-radius: 999px; padding: 0.22rem 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root .ku-kartenreihe__shot { display: block; overflow: hidden; border-radius: 0.45rem 0.45rem 0 0; background: var(--ku-paper-50); }
:root .ku-kartenreihe__shot img { display: block; width: 100%; height: auto; transition: transform .6s var(--ease-out); }
:root .ku-kartenreihe__meta { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
@media (max-width: 639.98px) {
  :root .ku-kartenreihe__presse { grid-template-columns: 1fr; }
  :root .ku-kartenreihe__browser { margin: 0.9rem 0.9rem 0; }
}
:root .ku-kartenreihe__link { margin-top: 1.25rem; }
@media (max-width: 1023.98px) {
  :root .ku-kartenreihe__presse { grid-template-columns: minmax(0, 1fr); }
  :root .ku-kartenreihe__browser { margin: 0.9rem 0.9rem 0; }
}
@media (min-width: 1024px) {
  :root .ku-kartenreihe__presse { grid-template-columns: minmax(0, 1fr) calc(16rem + 2 * var(--card-pad-sm)); }
}
.ku-kartenreihe { position: relative; }
.ku-kartenreihe__box { position: relative; }
.ku-kartenreihe__box--oben { align-items: flex-start; }
.ku-kartenreihe__gesamtsterne { margin-bottom: 1.25rem; }
.ku-kartenreihe__bewertung { display: flex; flex-direction: column; background-color: var(--ku-paper-50); }
.ku-kartenreihe__reihe { display: flex; align-items: center; gap: 0.875rem; }
.ku-kartenreihe__reihe--mitte { margin-top: var(--space-5); display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.ku-kartenreihe__reihe-text { min-width: 0px; flex: 1 1 0%; }
.ku-kartenreihe__reihe--spalte { display: flex; flex-direction: column; align-items: center; }
.ku-kartenreihe__fussreihe { margin-top: 2.75rem; display: flex; flex-direction: column; align-items: center; justify-content: center; column-gap: 2.25rem; row-gap: var(--space-3); text-align: center; }
.ku-kartenreihe__zeile { display: grid; height: 2.75rem; width: 2.75rem; flex-shrink: 0; place-items: center; border-radius: 9999px; background-color: var(--ku-steel-100); color: var(--text-link); }
.ku-kartenreihe__auszug { line-height: 1.625; color: color-mix(in srgb, var(--ku-ink-900) 65%, transparent); }
.ku-kartenreihe__bildtext { font-weight: 600; color: var(--text-strong); }
.ku-kartenreihe__zitat { margin-top: var(--space-3); flex: 1 1 0%; line-height: 1.65; color: var(--text-soft); }
.ku-kartenreihe__text { font-weight: 600; color: var(--text-strong); }
.ku-kartenreihe__datum { margin-top: var(--space-3); color: var(--text-muted); }
.ku-kartenreihe__vorspann--schmal { margin-left: auto; margin-right: auto; max-width: 28rem; color: color-mix(in srgb, var(--ku-ink-900) 65%, transparent); }
.ku-kartenreihe__vorspann { color: var(--text-muted); }
.ku-kartenreihe__initial { display: grid; height: 2.75rem; width: 2.75rem; flex-shrink: 0; place-items: center; border-radius: 9999px; background-color: var(--ku-steel-100); color: var(--text-link); }
.ku-kartenreihe__icon { height: 15px; width: 15px; }
.ku-kartenreihe__sterne { margin-top: var(--space-1); display: flex; align-items: center; gap: 0.125rem; }
.ku-kartenreihe__logo { height: 1.25rem; width: 1.25rem; flex-shrink: 0; align-self: flex-start; }
@media (min-width: 640px) {
  .ku-kartenreihe__fussreihe { flex-direction: row; }
}
.ku-kartenreihe__gesamtsterne { display: inline-flex; gap: 0.35rem; }
.ku-kartenreihe__gesamtsterne svg { width: 26px; height: 26px; filter: drop-shadow(0 3px 8px color-mix(in srgb, var(--ku-star) 35%, transparent)); }
:where(.ku-start) .ku-kartenreihe--bewertungen:not(.ku-section--muted, .ku-section--hero, .ku-section--brand, .ku-section--paper) { background-image:
  radial-gradient(60% 52% at 50% 6%, var(--ku-paper-50) 0%, color-mix(in srgb, var(--ku-paper-50) 0%, transparent) 58%),
  radial-gradient(46% 44% at 88% 88%, rgba(76, 151, 188, 0.055) 0%, rgba(76, 151, 188, 0) 60%); }
:root .ku-kartenreihe__url { font-size: var(--caption-size); letter-spacing: 0; }
.ku-kartenreihe__initial--klein { font-size: 1rem; }
@media (max-width: 767.98px) {
  .ku-teaser--start .ku-head--row > div { text-align: center; }
  .ku-teaser--start .ku-teaser__rahmen { display: flex; flex-direction: column; }
  .ku-teaser--start .ku-head--row { display: contents; }
  .ku-teaser--start .ku-head--row > div { margin-bottom: 2.5rem; }
  .ku-teaser--start a.ku-teaser__aktion { order: 3; margin-top: 2.25rem; width: 100%; justify-content: center; }
}
.ku-teaser { position: relative; }
.ku-teaser__reihe { display: flex; flex-direction: column; gap: var(--space-4); }
.ku-teaser__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-teaser__raster--drei { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-teaser__raster--zwei { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: 1.25rem; }
.ku-teaser__raster--drei-frueh { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: stretch; gap: var(--space-4); }
@media (min-width: 640px) {
  .ku-teaser__raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-teaser__raster--drei { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .ku-teaser__raster--zwei { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 768px) {
  .ku-teaser__raster--drei-frueh { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-teaser__reihe { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .ku-teaser__raster { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-teaser__raster--drei { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--space-4); }
  .ku-teaser__raster--zwei { gap: var(--space-4); }
  .ku-teaser__raster--drei-frueh { gap: var(--space-5); }
}
:where(.ku-start) .ku-teaser--start:not(.ku-section--muted, .ku-section--hero, .ku-section--brand, .ku-section--paper) { background-image:
  radial-gradient(58% 48% at 82% 12%, var(--ku-paper-50) 0%, color-mix(in srgb, var(--ku-paper-50) 0%, transparent) 60%),
  radial-gradient(50% 46% at 10% 80%, rgba(76, 151, 188, 0.05) 0%, rgba(76, 151, 188, 0) 62%); }
/* E93: „Alle Beiträge“ steht mobil in jeder Variante unter den Beiträgen und füllt die Breite */
@media (max-width: 767.98px) {
  .ku-teaser:not(.ku-teaser--start) > .ku-container:has(> .ku-teaser__reihe) { display: flex; flex-direction: column; }
  .ku-teaser:not(.ku-teaser--start) .ku-teaser__reihe { display: contents; }
  .ku-teaser:not(.ku-teaser--start) .ku-teaser__reihe > div { order: 1; margin-bottom: var(--gap-block); }
  .ku-teaser:not(.ku-teaser--start) .ku-container > [class*="ku-teaser__raster"] { order: 2; }
  .ku-teaser:not(.ku-teaser--start) .ku-teaser__reihe > a.ku-btn { order: 3; width: 100%; margin-top: 2.25rem; justify-content: center; }
}
@media (hover: hover) {
  :root .ku-themen__karte:hover .ku-btn__pfeil { transform: translateX(5px); }
}
@media print {
  .ku-themen__karte { box-shadow: none !important; border: 1px solid var(--ku-line-print) !important; break-inside: avoid; }
}
.ku-themen { position: relative; }
.ku-themen__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: 1.25rem; }
.ku-themen__zeile { flex: 1 1 0%; color: var(--text-muted); }
@media (min-width: 640px) {
  .ku-themen__raster { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .ku-themen__raster { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: var(--space-4); }
}
.ku-preise__tabelle { display: grid; }
.ku-preise__zeile { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); padding: 1.2rem 0; border-top: 1px solid color-mix(in srgb, var(--ku-ink-900) 9%, transparent); }
.ku-preise__zeile:first-child { border-top: 0; padding-top: 0.2rem; }
.ku-preise__zeile:last-child { padding-bottom: 0; }
.ku-preise__zeile > div > .ku-h5 + p { margin-top: 0.3rem; }
.ku-preise__wert { flex: none; font-weight: 600; color: var(--text-strong); white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
  .ku-preise__zeile { flex-direction: column; align-items: flex-start; gap: 0.4rem; }
  .ku-preise__wert { white-space: normal; }
}
.ku-preise { scroll-margin-top: 6rem; }
.ku-preise { position: relative; }
.ku-preise__text { line-height: 1.6; color: var(--text-muted); }
.ku-preise__raster { display: grid; grid-template-columns: repeat(1, minmax(0px, 1fr)); align-items: flex-start; gap: var(--space-4); }
.ku-preise__spalte--schmal { display: grid; gap: var(--space-4); }
.ku-preise__box { margin-top: var(--space-5); }
@media (min-width: 1024px) {
  .ku-preise__raster { grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--space-5); }
  .ku-preise__spalte--schmal { grid-column: span 5 / span 5; gap: var(--space-5); }
  .ku-preise__spalte { grid-column: span 7 / span 7; }
  .ku-preise__spalte--voll { grid-column: span 12 / span 12; }
}
/* E97 (Judge Runde 3): Hinweise unter den Preisen in Lesebreite */
:root .ku-preise .ku-liste { max-width: var(--prose-max); }
.ku-inhalt__preise { display: grid; }
.ku-inhalt__preis-zeile { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); padding: 1.2rem 0; border-top: 1px solid color-mix(in srgb, var(--ku-ink-900) 9%, transparent); }
.ku-inhalt__preis-zeile:first-child { border-top: 0; padding-top: 0.2rem; }
.ku-inhalt__preis-zeile:last-child { padding-bottom: 0; }
.ku-inhalt__preis-zeile > div > .ku-h5 + p { margin-top: 0.3rem; }
.ku-inhalt__preis-wert { flex: none; font-weight: 600; color: var(--text-strong); white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
  .ku-inhalt__preis-zeile { flex-direction: column; align-items: flex-start; gap: 0.4rem; }
}
@media (max-width: 767.98px) {
  .ku-inhalt__preis-wert { white-space: normal; }
}
.ku-inhalt__faq details { border-bottom: 1px solid color-mix(in srgb, var(--ku-ink-900) 10%, transparent); }
.ku-inhalt__faq summary { list-style: none; cursor: pointer; }
.ku-inhalt__faq summary::-webkit-details-marker { display: none; }
.ku-inhalt__faq summary .ku-inhalt__faq-plus { transition: transform 260ms var(--ease-out); }
.ku-inhalt__faq details[open] summary .ku-inhalt__faq-plus { transform: rotate(45deg); }
.ku-inhalt__faq summary :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { font-family: var(--font-body); font-weight: 600; letter-spacing: 0; }
:root .ku-inhalt__faq summary > :first-child { transition: color 220ms var(--ease-out); }
:root .ku-inhalt__faq summary:hover > :first-child, :root .ku-inhalt__faq details[open]:not(.is-closing) > summary > :first-child { color: var(--text-accent); }
:root .ku-inhalt__faq .ku-inhalt__faq-plus { border: 1px solid color-mix(in srgb, var(--ku-ink-900) 14%, transparent); background: var(--ku-paper-50); color: var(--text-accent); transition: border-color 220ms var(--ease-out), background-color 220ms var(--ease-out), color 220ms var(--ease-out); }
:root .ku-inhalt__faq details summary .ku-inhalt__faq-plus, :root .ku-inhalt__faq details[open] summary .ku-inhalt__faq-plus { transform: none; }
:root .ku-inhalt__faq .ku-inhalt__faq-plus svg { transition: transform 320ms var(--ease); }
:root .ku-inhalt__faq summary:hover .ku-inhalt__faq-plus { border-color: color-mix(in srgb, var(--ku-steel-600) 45%, transparent); }
:root .ku-inhalt__faq details[open]:not(.is-closing) .ku-inhalt__faq-plus { background: var(--ku-steel-600); border-color: var(--ku-steel-600); color: var(--ku-paper-50); }
:root .ku-inhalt__faq details[open]:not(.is-closing) .ku-inhalt__faq-plus svg { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
  :root .ku-inhalt__faq .ku-inhalt__faq-plus svg, :root .ku-inhalt__faq .ku-inhalt__faq-plus, :root .ku-inhalt__faq summary > :first-child { transition: none; }
}
.ku-inhalt__faq { position: relative; }
.ku-inhalt__raster { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 1023.98px) {
  .ku-inhalt__raster { grid-template-columns: 1fr; }
}
.ku-inhalt__leiste { position: sticky; top: var(--ku-sidebar-top); display: flex; flex-direction: column; gap: 1.25rem; }
@media (max-width: 1023.98px) {
  .ku-inhalt__leiste { position: static; }
}
.ku-inhalt__verzeichnis { background: var(--ku-paper-50); border-radius: 1.15rem; padding: 1.3rem 1.4rem; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
.ku-inhalt__verzeichnis ol { margin-top: 0.8rem; display: grid; gap: 0.15rem; counter-reset: toc; }
.ku-inhalt__verzeichnis a { display: block; padding: 0.4rem 0.6rem; margin-inline: -0.6rem; border-radius: 0.6rem; font-size: 0.88rem; line-height: 1.4; color: color-mix(in srgb, var(--ku-ink-900) 65%, transparent); border-left: 2px solid transparent; transition: color .2s var(--ease-out), background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
.ku-inhalt__verzeichnis a:hover { color: var(--text-link); background: var(--ku-toc-hover); }
.ku-inhalt__verzeichnis a.is-active { color: var(--text-link); font-weight: 600; background: var(--ku-toc-active); border-left-color: var(--ku-steel-600); }
.ku-inhalt__bild { margin: 2.1rem 0; border-radius: 1.25rem; overflow: hidden; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); }
.ku-inhalt__bild img { width: 100%; height: auto; display: block; }
.ku-inhalt__bild--seite { float: right; width: min(46%, 340px); margin: 0.35rem 0 1.15rem 1.75rem; }
@media (max-width: 640px) {
  .ku-inhalt__bild--seite { float: none; width: 100%; margin: var(--space-4) 0; }
}
@media (max-width: 1023.98px) {
  .ku-inhalt__leiste--desktop { display: none; }
}
.ku-inhalt__verzeichnis ol + .ku-h5 { margin-top: 1.1rem; }
.ku-inhalt__teilen { background: var(--ku-paper-50); border-radius: 1.15rem; padding: 1.1rem 1.4rem 1.25rem; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent); position: relative; }
.ku-inhalt__teilen-reihe { display: flex; gap: var(--space-2); margin-top: 0.7rem; }
.ku-inhalt__teilen-btn { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; background: var(--ku-toc-hover); color: var(--text-link); border: 1px solid color-mix(in srgb, var(--ku-steel-600) 16%, transparent); cursor: pointer; transition: background-color .2s var(--ease-out), transform .2s var(--ease-out); }
.ku-inhalt__teilen-btn:hover { background: var(--ku-tone-steel); transform: translateY(-2px); }
.ku-inhalt__toast { position: absolute; right: 1rem; bottom: 0.75rem; font-size: 0.75rem; font-weight: 700; color: var(--text-link); opacity: 0; transition: opacity .3s var(--ease-out); }
.ku-inhalt__toast.is-in { opacity: 1; }
@media (max-width: 1023.98px), (pointer: coarse) {
  :root .ku-inhalt__teilen-btn { width: 44px; height: 44px; }
  :root .ku-inhalt__verzeichnis a { display: flex; align-items: center; min-height: 44px; }
}
:root .ku-inhalt__verzeichnis a:is(.ku-btn--primary, .ku-btn--ghost) { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: var(--space-2); margin: 1.1rem 0 0; padding: var(--btn-pad-y) var(--btn-pad-chip) var(--btn-pad-y) var(--btn-pad-x); min-height: var(--btn-min-h); border-left: 0; border-radius: 999px; color: var(--ku-paper-50); font-size: var(--btn-size); font-weight: 600; line-height: 1.3; white-space: normal; }
:root .ku-inhalt__verzeichnis a:is(.ku-btn--primary, .ku-btn--ghost):hover { color: var(--ku-paper-50); background-color: transparent; background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 100%); }
:root .ku-inhalt__raster > .ku-prose { max-width: var(--prose-max); }
:root :is(.ku-inhalt__verzeichnis, .ku-inhalt__teilen) { border-radius: var(--radius-lg); padding: var(--card-pad-sm); }
:root .ku-inhalt__verzeichnis-kopf > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
:root .ku-inhalt__verzeichnis-kopf > summary::-webkit-details-marker { display: none; }
@media (min-width: 1024px) {
  :root .ku-inhalt__verzeichnis-kopf > summary { pointer-events: none; cursor: default; }
}
@media (max-width: 1023.98px) {
  :root .ku-inhalt__verzeichnis:has(> .ku-inhalt__verzeichnis-kopf) { padding-block: calc(var(--card-pad-sm) - 0.9rem); }
  :root .ku-inhalt__verzeichnis-kopf > summary { min-height: 44px; cursor: pointer; }
  :root .ku-inhalt__verzeichnis-kopf > summary::after { content: ''; flex: none; width: 0.55rem; height: 0.55rem; margin-right: 0.3rem; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-0.15rem) rotate(45deg); transition: transform 320ms var(--ease); }
  :root .ku-inhalt__verzeichnis-kopf[open] > summary::after { transform: translateY(0.15rem) rotate(-135deg); }
  :root .ku-inhalt__verzeichnis-kopf > ol { margin-bottom: var(--space-2); }
}
:root .ku-prose > .ku-inhalt__teilen { margin-top: var(--space-6); }
:root .ku-prose > .ku-inhalt__teilen + .ku-autor { margin-top: 1.25rem; }
.ku-inhalt { position: relative; --ku-sidebar-top: 7.5rem; }
.ku-inhalt__text { color: var(--text-accent); }
.ku-inhalt__text--polster { padding-bottom: var(--space-4); padding-right: var(--space-6); }
.ku-inhalt__hinweis { line-height: 1.6; color: var(--text-muted); }
.ku-inhalt__frage-kopf { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-4); padding-bottom: var(--space-4); }
.ku-inhalt__verzeichnis-titel { color: var(--text-accent); }
.ku-inhalt__box { margin-top: var(--space-1); line-height: 1.625; color: var(--text-muted); }
.ku-inhalt__box--abgesetzt { margin-top: var(--space-5); margin-bottom: var(--space-5); }
.ku-inhalt__icon { display: grid; height: 2rem; width: 2rem; flex-shrink: 0; place-items: center; border-radius: 9999px; }
.ku-inhalt__link { margin-top: 0.75rem; display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--text-accent); }
.ku-inhalt__bildtext { color: var(--text-muted); }
/* E93/E95: Fragen im Text wie cb16 — Größe an der Frage selbst; eine Spalte (das Verzeichnis links ist die zweite Spalte) */
:root .ku-inhalt__faq summary { font-size: var(--faq-frage-size); line-height: var(--h5-lh); }
:root .ku-inhalt__faq summary > * { font-size: inherit; line-height: inherit; }
/* E93: Ratgeber-Verzeichnis mobil als randlose Leiste direkt unter dem Seitenkopf, klebt unter der Kopfzeile */
@media (max-width: 1023.98px) {
  :root .ku-inhalt--artikel { --ku-bleed: 1.25rem; padding-top: 0; }
  :root .ku-inhalt--artikel aside.ku-inhalt__leiste { position: sticky; top: var(--ku-header-h, var(--header-h)); z-index: 30; margin-inline: calc(-1 * var(--ku-bleed)); }
  :root .ku-inhalt--artikel .ku-inhalt__verzeichnis { border-radius: 0; box-shadow: none; border-style: solid; border-width: 0 0 1px; border-color: color-mix(in srgb, var(--ku-ink-900) 10%, transparent); padding-inline: var(--ku-bleed); }
  :root .ku-inhalt--artikel .ku-inhalt__verzeichnis-kopf > ol { max-height: 50vh; overflow: auto; overscroll-behavior: contain; }
}
@media (min-width: 640px) and (max-width: 1023.98px) {
  :root .ku-inhalt--artikel { --ku-bleed: var(--space-5); }
}
/* E93: erste Prosa-Überschrift fluchtet mit ihrer Versalien-Oberkante auf die Oberkante des Verzeichnisses */
@media (min-width: 1024px) {
  :root .ku-prose--leistung > h2:first-child { margin-top: -0.275em;   /* Halbdurchschuss + Playfair-Oberlänge über den Versalien, gemessen */ }
}
/* Judge 14.10. (Runde 2): Button in der schmalen Seitenleisten-Karte brach zweizeilig (60 px) — ohne Icon-Chip, volle Breite, Standardhöhe (E91) */
:root .ku-inhalt__leiste .ku-card .ku-btn--primary { width: 100%; justify-content: center; white-space: nowrap; padding-inline: var(--btn-pad-x); }
:root .ku-inhalt__leiste .ku-card .ku-btn--primary .ku-btn__icon { display: none; }
/* Chris 16.10.: Sprungziele aus dem Verzeichnis. Desktop: Oberkante der Überschrift (Layout-Rechteck) bündig mit der
 * Oberkante der klebenden Verzeichnis-Karte — beide hängen an --ku-sidebar-top. Die erste Überschrift der Leistungs-Prosa
 * steht nach E93 um 0.275em höher als die Karte (Versalien-Oberkante auf Kartenkante); ihr Sprung endet daher im
 * Ausgangsbild, Karte und Raster auf --ku-sidebar-top. Unter 1024 px: 25 px unter der Unterkante der festen Kopfzeile
 * (--ku-header-h aus header.js), im Ratgeber zusätzlich unter der klebenden Verzeichnisleiste (--ku-leiste-h aus cb45.js). */
@media (min-width: 1024px) {
  :root .ku-inhalt :is(h2, h3)[id] { scroll-margin-top: var(--ku-sidebar-top); }
  :root .ku-inhalt .ku-prose--leistung > h2[id]:first-child { scroll-margin-top: calc(var(--ku-sidebar-top) - 0.275em); }
}
@media (max-width: 1023.98px) {
  :root .ku-inhalt :is(h2, h3)[id] { scroll-margin-top: calc(var(--ku-header-h, var(--header-h)) + 25px); }
  :root .ku-inhalt--artikel:has(aside.ku-inhalt__leiste [data-ku-verzeichnis]) :is(h2, h3)[id] { scroll-margin-top: calc(var(--ku-header-h, var(--header-h)) + var(--ku-leiste-h, 0px) + 25px); }
}
.ku-faq details { border-bottom: 1px solid color-mix(in srgb, var(--ku-ink-900) 10%, transparent); }
.ku-faq summary { list-style: none; cursor: pointer; }
.ku-faq summary::-webkit-details-marker { display: none; }
.ku-faq summary .ku-faq__plus { transition: transform 260ms var(--ease-out); }
.ku-faq details[open] summary .ku-faq__plus { transform: rotate(45deg); }
.ku-faq summary :is(.ku-display, .ku-h1, .ku-h2, .ku-h3, .ku-h4, .ku-h5, .ku-h6, .ku-kartenreihe__initial, .ku-header__mega-liste, .ku-header__mega-bildtitel):where(:not(.ku-footer__kopf)) { font-family: var(--font-body); font-weight: 600; letter-spacing: 0; }
:root .ku-faq summary > :first-child { transition: color 220ms var(--ease-out); }
:root .ku-faq summary:hover > :first-child, :root .ku-faq details[open]:not(.is-closing) > summary > :first-child { color: var(--text-accent); }
:root .ku-faq .ku-faq__plus { border: 1px solid color-mix(in srgb, var(--ku-ink-900) 14%, transparent); background: var(--ku-paper-50); color: var(--text-accent); transition: border-color 220ms var(--ease-out), background-color 220ms var(--ease-out), color 220ms var(--ease-out); }
:root .ku-faq details summary .ku-faq__plus, :root .ku-faq details[open] summary .ku-faq__plus { transform: none; }
:root .ku-faq .ku-faq__plus svg { transition: transform 320ms var(--ease); }
:root .ku-faq summary:hover .ku-faq__plus { border-color: color-mix(in srgb, var(--ku-steel-600) 45%, transparent); }
:root .ku-faq details[open]:not(.is-closing) .ku-faq__plus { background: var(--ku-steel-600); border-color: var(--ku-steel-600); color: var(--ku-paper-50); }
:root .ku-faq details[open]:not(.is-closing) .ku-faq__plus svg { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
  :root .ku-faq .ku-faq__plus svg, :root .ku-faq .ku-faq__plus, :root .ku-faq summary > :first-child { transition: none; }
}
.ku-faq { position: relative; }
.ku-faq__raster { display: grid; align-items: flex-start; }
.ku-faq__plus { display: grid; height: 2rem; width: 2rem; flex-shrink: 0; place-items: center; border-radius: 9999px; }
.ku-faq__frage-kopf { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-4); padding-bottom: var(--space-4); }
.ku-faq__text { padding-bottom: var(--space-4); padding-right: var(--space-6); line-height: 1.7; color: var(--text-muted); }
.ku-faq__link { text-decoration-line: underline; text-underline-offset: 3px; }
.ku-faq__box > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; margin-bottom: 0; }
.ku-faq__box { padding-bottom: var(--space-4); padding-right: var(--space-6); line-height: 1.7; color: var(--text-muted); }
@media (max-width: 1023.98px) {
  .ku-faq__raster { grid-template-columns: repeat(1, minmax(0px, 1fr)); gap: var(--space-6); }
}
/* E95: Desktop zweispaltig = Überschrift links (klebt), Fragen rechts in einer Spalte (Chris 14.10.2026) */
@media (min-width: 1024px) {
  :root .ku-faq__raster { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 4rem; align-items: start; }
  :root .ku-faq__titel { position: sticky; top: 7rem; }
}
/* E93/E94: Frage trägt die Größe selbst (alle Fragen gleich, egal welches Kind); mobil --faq-frage-size */
:root .ku-faq summary { font-size: var(--faq-frage-size); line-height: var(--h5-lh); }
:root .ku-faq summary > * { font-size: inherit; line-height: inherit; }
/* E97 (Judge Runde 3): Lesebreite auch für Antworten */
:root .ku-faq__text, :root .ku-faq__box { max-width: var(--prose-max); }
.ku-abschluss { scroll-margin-top: 6rem; }
.ku-abschluss--offen { position: relative; color: var(--text-strong); }
.ku-abschluss--beschnitten { position: relative; overflow: hidden; color: var(--text-strong); }
.ku-abschluss__inner { text-align: center; }
.ku-abschluss__text { margin-left: auto; margin-right: auto; max-width: 36rem; color: var(--text-muted); }
.ku-abschluss__reihe { margin-top: var(--space-5); display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.ku-abschluss__inhalt { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ku-abschluss__reihe--stapel { margin-top: 2.75rem; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }
.ku-abschluss__btn { background-color: var(--ku-steel-600); }
@media (min-width: 640px) {
  .ku-abschluss__reihe--stapel { flex-direction: row; }
}
@media (min-width: 768px) {
  .ku-abschluss__icon { height: 2.25rem; width: 2.25rem; }
}
.ku-abschluss__inner > p { text-wrap: balance; }
.ku-text { position: relative; }
.ku-text__reihe { margin-top: 2.25rem; display: flex; flex-direction: column; gap: var(--space-3); }
@media (min-width: 640px) {
  .ku-text__reihe { flex-direction: row; flex-wrap: wrap; align-items: center; }
}
.ku-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; font-size: 0.82rem; color: color-mix(in srgb, var(--ku-ink-900) 55%, transparent); }
.ku-breadcrumb a { color: color-mix(in srgb, var(--ku-ink-900) 78%, transparent); transition: color .2s var(--ease-out); }
.ku-breadcrumb a:hover { color: var(--text-strong); }
.ku-breadcrumb .ku-breadcrumb__trenner { opacity: 0.5; }
@media (max-width: 1023.98px), (pointer: coarse) {
  /* Tippfläche über Innenabstand statt Mindestbreite: kurze Einträge wie „Start“ bekämen sonst rechts
     eine Lücke vor dem Trenner. 0,5rem je Seite hebt den kürzesten Eintrag (30,5 px) auf 46,5 px. */
  :root .ku-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -0.75rem; padding-inline: 0.5rem; margin-inline: -0.5rem; }
}
:root .ku-breadcrumb { color: var(--text-meta); }
/* E93: mobil nie umbrechen, sondern seitlich wischen; rechts weicher Auslauf. Die 44-px-Tippflächen
   liegen im Innenabstand der Leiste, damit der Scrollbereich sie nicht beschneidet. */
@media (max-width: 1023.98px) {
  :root .ku-breadcrumb { flex-wrap: nowrap; white-space: nowrap; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-block: 0.75rem; margin-block: -0.75rem; padding-right: 1.5rem; padding-left: 0.5rem; margin-left: -0.5rem; -webkit-mask-image: linear-gradient(to right, var(--ku-ink-900) 92%, transparent 100%); mask-image: linear-gradient(to right, var(--ku-ink-900) 92%, transparent 100%); }
  :root .ku-breadcrumb::-webkit-scrollbar { display: none; }
  :root .ku-breadcrumb > * { flex: none; }
}
.ku-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--gap-block); }
.ku-tabs__tab { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 0 1.15rem; border-radius: 999px; background: var(--ku-paper-50); border: 1px solid color-mix(in srgb, var(--ku-ink-900) 12%, transparent); color: var(--text-strong); font-weight: 600; font-size: 0.95rem; cursor: pointer; transition: background-color 220ms var(--ease-out, ease), border-color 220ms var(--ease-out, ease), color 220ms var(--ease-out, ease); }
.ku-tabs__tab:hover { border-color: var(--ku-steel-600); }
.ku-tabs__tab:focus-visible { outline: 2px solid var(--ku-steel-600); outline-offset: 2px; }
.ku-tabs__tab[aria-selected="true"] { background: var(--ku-ink-900); border-color: var(--ku-ink-900); color: var(--ku-paper-50); }
.ku-tabs__zahl { font-weight: 500; color: var(--text-meta); }
.ku-tabs__tab[aria-selected="true"] .ku-tabs__zahl { color: color-mix(in srgb, var(--ku-paper-50) 72%, transparent); }
@media (max-width: 767.98px) {
  .ku-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: var(--space-1); }
  .ku-tabs::-webkit-scrollbar { display: none; }
  .ku-tabs__tab { flex: none; }
}
.ku-lesefortschritt { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 55; pointer-events: none; }
.ku-lesefortschritt > span { display: block; height: 100%; transform-origin: left center; transform: scaleX(0); background-image: linear-gradient(90deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 45%, var(--ku-steel-400) 100%); }
.ku-spur { display: flex; gap: var(--space-4); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch;; margin-right: calc(50% - 50vw); padding-right: clamp(1.25rem, 5vw, 3rem); scrollbar-width: none; cursor: grab; }
@media (min-width: 1024px) {
  .ku-spur { gap: var(--space-5); }
}
.ku-spur::-webkit-scrollbar { display: none; }
.ku-spur.is-drag { cursor: grabbing; scroll-behavior: auto; }
.ku-spur.is-drag * { pointer-events: none; }
.ku-spur__btn { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 9999px; background: var(--ku-paper-50); color: var(--text-link); border: 1px solid color-mix(in srgb, var(--ku-steel-600) 16%, transparent); box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--ku-ink-900) 30%, transparent); transition: background-color .2s var(--ease-out), transform .15s var(--ease-out), opacity .2s var(--ease-out); }
.ku-spur__btn:hover { background: var(--ku-steel-50); transform: translateY(-1px); }
.ku-spur__btn:disabled { opacity: 0.35; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .ku-spur { scroll-behavior: auto; }
}
:root .ku-spur { --ku-rev-n: 1; --ku-rev-f: 0.16; --ku-rev-gap: 1.25rem; gap: var(--ku-rev-gap); padding-inline-end: calc(50vw - 50%); }
:root .ku-spur > * { flex: 0 0 calc((50% + 50vw - var(--ku-rev-n) * var(--ku-rev-gap)) / (var(--ku-rev-n) + var(--ku-rev-f))); }
:root .ku-spur--presse { --ku-rev-f: 0.12; }
@media (min-width: 640px) {
  :root .ku-spur { --ku-rev-n: 2; --ku-rev-f: 0.34; --ku-rev-gap: 1.5rem; }
  :root .ku-spur--presse { --ku-rev-n: 1; --ku-rev-f: 0.4; }
}
@media (min-width: 1280px) {
  :root .ku-spur { --ku-rev-n: 3; --ku-rev-gap: 2rem; }
  :root .ku-spur--presse { --ku-rev-n: 2; --ku-rev-f: 0.3; }
}
:root .ku-spur { --ku-track-bleed: 2.5rem; padding-block: var(--space-7) 5rem; margin-block: -3.5rem -4rem; padding-inline-start: var(--ku-track-bleed); margin-inline-start: calc(-1 * var(--ku-track-bleed)); scroll-padding-inline-start: var(--ku-track-bleed); -webkit-mask-image: linear-gradient(to right, transparent 0, transparent calc(var(--ku-track-bleed) - 0.75rem), var(--ku-mask-voll) var(--ku-track-bleed)); mask-image: linear-gradient(to right, transparent 0, transparent calc(var(--ku-track-bleed) - 0.75rem), var(--ku-mask-voll) var(--ku-track-bleed)); }
:root .ku-spur--presse { align-items: stretch; }
@media (min-width: 640px) {
  :root .ku-spur:not(:has(> :nth-child(3))) { --ku-rev-n: 1; }
}
@media (min-width: 1280px) {
  :root .ku-spur:not(.ku-spur--presse):not(:has(> :nth-child(4))) { --ku-rev-n: 2; }
}
.ku-fab { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 45; display: none; flex-direction: column; align-items: flex-end; gap: 0.7rem; --fab-ease: cubic-bezier(0.32,0.72,0,1); }
@media (min-width: 1024px) {
  .ku-fab { display: flex; }
}
.ku-fab__aktion { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.7rem 0.6rem 1.1rem; border-radius: 999px; background: var(--ku-paper-50); color: var(--text-link); font-weight: 600; font-size: 0.95rem; border: 1px solid color-mix(in srgb, var(--ku-steel-600) 14%, transparent); box-shadow: 0 22px 48px -24px color-mix(in srgb, var(--ku-ink-900) 40%, transparent); opacity: 0; transform: translateY(10px) scale(0.96); pointer-events: none; transition: opacity .3s var(--fab-ease), transform .3s var(--fab-ease); }
.ku-fab__aktion .ku-fab__icon { width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; background: color-mix(in srgb, var(--ku-steel-600) 10%, transparent); color: var(--text-accent); }
.ku-fab.is-open .ku-fab__aktion { opacity: 1; transform: none; pointer-events: auto; }
.ku-fab.is-open .ku-fab__aktion:nth-child(2) { transition-delay: .05s; }
.ku-fab__haupt { width: 60px; height: 60px; border-radius: 999px; display: grid; place-items: center; color: var(--ku-paper-50); border: 0; cursor: pointer; box-shadow: 0 22px 46px -18px color-mix(in srgb, var(--ku-steel-600) 60%, transparent); background-image: linear-gradient(120deg, var(--ku-steel-700) 0%, var(--ku-steel-600) 42%, var(--ku-steel-500) 100%); transition: transform .35s var(--fab-ease); }
.ku-fab__haupt svg { transition: transform .4s var(--fab-ease); }
.ku-fab.is-open .ku-fab__haupt { transform: scale(0.94); }
.ku-fab__schale { opacity: 0; transform: translateY(16px) scale(0.9); pointer-events: none; transition: opacity .4s var(--fab-ease), transform .4s var(--fab-ease); }
.ku-fab__aktionen[hidden] { display: none; }
.ku-fab.is-visible .ku-fab__schale { opacity: 1; transform: none; pointer-events: auto; }
@media (min-width: 1024px) {
  .ku-fab__haupt:hover { transform: translateY(-2px) scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .ku-fab__schale, .ku-fab__aktion, .ku-fab__haupt { transition: none; animation: none; }
}
.ku-fab__schale, .ku-fab__aktionen { display: flex; flex-direction: column; align-items: flex-end; gap: 0.75rem; }
.ku-vid { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-lg, 1.25rem); overflow: hidden; background: var(--ku-ink-900); box-shadow: var(--elevation-fest, 0 24px 48px -20px color-mix(in srgb, var(--ku-ink-900) 16%, transparent)); cursor: pointer; }
.ku-vid img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-out, cubic-bezier(0.32,0.72,0,1)); }
.ku-vid::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--ku-ink-950) 55%, transparent), transparent 55%); pointer-events: none; }
.ku-vid__play { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; border: 0; background: none; cursor: pointer; }
.ku-vid__play span { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 999px; background: color-mix(in srgb, var(--ku-paper-50) 94%, transparent); color: var(--text-accent); box-shadow: 0 18px 40px -16px color-mix(in srgb, var(--ku-ink-950) 55%, transparent); transition: transform 300ms var(--ease, cubic-bezier(0.32,0.72,0,1)); }
.ku-vid:hover img { transform: scale(1.03); }
.ku-vid:hover .ku-vid__play span { transform: scale(1.06); }
.ku-vid__play:focus-visible { outline: 2px solid var(--ku-paper-50); outline-offset: -6px; border-radius: var(--radius-lg, 1.25rem); }
.ku-vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; }
@media (prefers-reduced-motion: reduce) {
  .ku-vid img, .ku-vid__play span { transition: none; }
}

/* figure-Panzer (erzeugt): Elementors `… figure { margin: 0 }` (0,4,1) schlägt die Kit-Ränder;
   Kopien nur der margin-Angaben, Kit-Reihenfolge. Klassen auf <figure>: ku-card, ku-card--link, ku-frame, ku-hero__zitat, ku-inhalt__bild, ku-inhalt__bild--seite, ku-kartenreihe__bewertung, ku-zeitleiste__bild, ku-zeitleiste__bild--seite, ku-zitat__figur */
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] figure { margin: 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :is(.ku-display, .ku-h1, .ku-h2, .ku-h3) + :where(figure):is(p, .ku-lead) { margin-top: var(--gap-lead); }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-card__body:where(:where(.ku-card--info) *) > :where(figure):is(.ku-h4, .ku-h5) { margin-bottom: var(--card-title-gap); }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root :where(figure):is(.ku-akzent, .ku-akzent--hell) { margin-right: -0.14em; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-card__body:where(:where(.ku-card--info) *) > .ku-card__meta + :where(figure):is(.ku-h3, .ku-h4, .ku-h5) { margin-top: calc(0.6rem - var(--card-gap)); }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root :where(figure):is(:where(.ku-card--artikel) .ku-card__media, :where(.ku-themen__karte) .ku-card__media) { margin: 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-card__body, .ku-kartenreihe__meta) > :is(.ku-card__meta, :where(.ku-kartenreihe__presse) .ku-card__meta) + :where(figure):is(.ku-h4, .ku-h5) { margin-top: 0.6rem; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root :is(:where(.ku-card--artikel, .ku-themen__karte) .ku-card__body, .ku-kartenreihe__meta) > :where(figure):is(.ku-h4, .ku-h5) { margin-bottom: calc(var(--card-title-gap) + 0.15rem); }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] .ku-prose :where(figure):is(p:not([class]), :is(.ku-faq, .ku-inhalt__faq) details > p) { margin-bottom: 1.15rem; }
@media (max-width: 1023.98px) {
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(.ku-kontakt) .ku-header__mega :where(figure)[data-ku-fm-panel="ratgeber"] { margin-top: 2.25rem; }
}
@media (max-width: 767.98px) {
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-header .ku-header__icons > * + :where(figure) { margin-left: -0.8125rem; }
}
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-hero__zitat { margin: 0; }
@media (max-width: 1023.98px), (pointer: coarse) {
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root :where(figure):is(.ku-anfrage__feld label, .ku-anfrage__label) { margin-top: -0.75rem; margin-bottom: calc(0.35rem - 0.75rem); }
}
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-videos figcaption > :where(figure) { margin-inline: auto; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-videos--links figcaption > :where(figure) { margin-inline: 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-zeitleiste__bild { margin: 2.1rem 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-zeitleiste__bild--seite { margin: 0.35rem 0 1.15rem 1.75rem; }
@media (max-width: 640px) {
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-zeitleiste__bild--seite { margin: var(--space-4) 0; }
}
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :root .ku-zeitleiste__body > :where(figure):last-child { margin-bottom: 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] .ku-news__form > :not([hidden]) ~ :where(figure):not([hidden]) { margin-top: 1rem; margin-bottom: 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-inhalt__bild { margin: 2.1rem 0; }
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-inhalt__bild--seite { margin: 0.35rem 0 1.15rem 1.75rem; }
@media (max-width: 640px) {
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] :where(figure).ku-inhalt__bild--seite { margin: var(--space-4) 0; }
}
.elementor .elementor-element.elementor-widget[data-element_type="widget"][data-widget_type^="ku_"] .ku-faq__box > :not([hidden]) ~ :where(figure):not([hidden]) { margin-top: 0.75rem; margin-bottom: 0; }
