/* ==========================================================================
   KiGo Halver — Design-System "Variante 2: Mutig & verspielt"
   Design-Tokens, selbst gehostete Fonts, Utility- & Komponenten-Klassen.
   Referenz: design_handoff_kigo_halver/ (styles.css, README.md, variant-b/*.jsx)
   ========================================================================== */

:root{
  --purple:#6B2D8E; --purpleDeep:#4A1F64; --purpleInk:#2B1434;
  --orange:#F28B2C; --yellow:#F5C12E; --cream:#FFF4E3; --cream2:#FBEBD1;
  --pink:#E94F8A; --sky:#4EB5E0; --green:#7CC06B; --spotify:#1DB954; --spotify-ink:#062d15;
  /* Flächen-Orange (#F28B2C) erreicht als Schriftfarbe auf Cream nur 2,3:1.
     Dieser Ton liegt bei 4,8:1 und erfüllt WCAG AA in jeder Schriftgröße. */
  --orangeText:#AE5209;
  --card-radius:24px; --btn-radius:999px; --border:3px solid var(--purpleInk);
  --shadow-card:0 16px 40px rgba(43,20,52,.1);
  --shadow-card-lg:0 20px 50px rgba(43,20,52,.12);
  --focus-ring:3px solid var(--purple);
}

/* ── Fonts (self-hosted, DSGVO-konform — kein Google-Fonts-Link) ────────── */
/* Fraunces als VARIABLE Font (Gewicht 100–900 + opsz-Achse 9..144). Wichtig:
   font-optical-sizing:auto liefert bei großen Überschriften den Display-Schnitt
   (dramatische Serifen/Kontrast) – exakt wie im Handout (Google Fonts opsz). */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces/fraunces-latin-variable-Gr_N36C.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces/fraunces-latin-variable-italic-ab4sVuw.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap;}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-600-KPedrvW.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-700-VErgjQa.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-800-SZmqxZd.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;}
/* Plus Jakarta Sans – normale/mittlere Schnitte für Fließtext */
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-regular-tDW4avw.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-500-VfU7g6I.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}

*{box-sizing:border-box;}
/* clip statt hidden: hidden macht das Wurzelelement zum Scroll-Container und
   bringt position:sticky (Navbar) in einigen Browsern aus dem Tritt. */
html,body{overflow-x:clip;}

/* ── Barrierefreiheit: Basis ─────────────────────────────────────────────── */

/* Sprungmarke: nur sichtbar, solange sie den Fokus hat. */
.kg-skip-link{position:absolute;left:16px;top:-100px;z-index:100;padding:12px 20px;
  background:var(--purpleInk);color:var(--cream);border-radius:0 0 16px 16px;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:15px;text-decoration:none;
  transition:top .15s ease;}
.kg-skip-link:focus{top:0;}
#kg-main:focus{outline:none;}

/* Sichtbarer Fokus für Tastaturnutzung – Maus-/Touch-Klicks bleiben unberührt. */
:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:4px;}
/* Auf dunklen Flächen ist Purple zu nah am Grund. */
.kgnav :focus-visible,.kg-section--dark :focus-visible,.kgfoot :focus-visible{outline-color:var(--yellow);}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
body{margin:0;background:var(--cream);color:var(--purpleInk);font-family:"Plus Jakarta Sans",sans-serif;font-optical-sizing:auto;}
.display{font-family:"Fraunces",serif;font-weight:900;letter-spacing:-0.03em;line-height:.9;}
.serif{font-family:"Fraunces",serif;}
.sans{font-family:"Plus Jakarta Sans",sans-serif;}
.kg-screen{overflow-x:clip;-webkit-font-smoothing:antialiased;}
/* <picture> ist per Default inline und erzeugt sonst die typische 4px-Lücke. */
picture{display:block;}
/* Bilder mit width/height-Attribut skalieren sonst verzerrt, sobald CSS die
   Breite setzt – reserviert trotzdem den Platz und verhindert Layout-Shift. */
img{max-width:100%;}

/* ── Fluid Headlines (clamp) ─────────────────────────────────────────────
   h1/h2/h3.display bekommen eine Basisgröße, die responsiv mitskaliert.
   Modifier-Klassen (.kg-display--xl/--lg/--sm/--xs) für Screens, die von
   der Standardgröße abweichen (Hero vs. Detail-Header vs. Karten-Titel). */
h1.display{font-size:clamp(44px,10vw,160px);line-height:.88;}
h2.display{font-size:clamp(32px,7vw,96px);line-height:.95;}
h3.display{font-size:clamp(20px,4vw,32px);line-height:1;}
.kg-display--xl{font-size:clamp(44px,11vw,160px) !important;line-height:.85 !important;letter-spacing:-0.045em !important;}
.kg-display--lg{font-size:clamp(38px,9vw,140px) !important;line-height:.9 !important;}
.kg-display--md{font-size:clamp(28px,6vw,80px) !important;line-height:.95 !important;}
.kg-display--sm{font-size:clamp(22px,4.5vw,56px) !important;line-height:1 !important;}
.kg-display--xs{font-size:clamp(18px,3vw,28px) !important;line-height:1 !important;}

/* Oversized numeric/date displays (Termin-Tag, Kalender-Zahlen, Ablauf-Uhrzeiten) */
.kg-number{font-family:"Fraunces",serif;font-weight:900;letter-spacing:-0.03em;line-height:.95;font-size:clamp(40px,9vw,88px);}
.kg-number--sm{font-size:clamp(28px,5vw,44px);}

/* ── Buttons (Pille) ─────────────────────────────────────────────────────── */
.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:var(--btn-radius);
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:16px;letter-spacing:-0.01em;text-decoration:none;border:0;cursor:pointer;
  white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;}
.kg-btn:hover{transform:translateY(-1px);}
.kg-btn--primary{background:var(--purple);color:var(--cream);}
.kg-btn--primary:hover{background:var(--purpleDeep);box-shadow:0 10px 24px rgba(107,45,142,.25);}
.kg-btn--accent{background:var(--orange);color:var(--purpleInk);}
.kg-btn--ghost{background:transparent;border:2px solid var(--purpleInk);color:var(--purpleInk);}
.kg-btn--ghost:hover{background:var(--purpleInk);color:var(--cream);}
.kg-btn--sm{padding:10px 18px;font-size:14px;}

/* ── Karten & Deko ───────────────────────────────────────────────────────── */
.kg-card{background:#fff;border:var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card);}
.kg-card--lg-shadow{box-shadow:var(--shadow-card-lg);}

.kg-tape{display:inline-block;background:var(--yellow);color:var(--purpleInk);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;padding:6px 12px;border-radius:6px;transform:rotate(-3deg);
  box-shadow:0 6px 14px rgba(43,20,52,.15);}
.kg-tape--light{color:#fff;}
/* Weiß auf Pink/Orange/Yellow/Green bleibt unter 4,5:1 – auf diesen Flächen
   gewinnt die dunkle Schrift, egal ob --light gesetzt wurde. */
.kg-tape--light.kg-bg-pink,.kg-tape--light.kg-bg-orange,
.kg-tape--light.kg-bg-yellow,.kg-tape--light.kg-bg-green{color:var(--purpleInk);}

/* Splat-Kleckse (organische SVG-Blobs als Deko hinter Sektionen) */
.kg-splat{position:absolute;pointer-events:none;z-index:0;}
.kg-splat-purple{fill:var(--purple);} .kg-splat-orange{fill:var(--orange);} .kg-splat-yellow{fill:var(--yellow);}
.kg-splat-pink{fill:var(--pink);} .kg-splat-sky{fill:var(--sky);} .kg-splat-green{fill:var(--green);}
.kg-splat-cream{fill:var(--cream);} .kg-splat-white{fill:#fff;} .kg-splat-ink{fill:var(--purpleInk);}

/* Sticker-Rotation (verspielter "Tape"-Look); auf Mobile deaktiviert (.kg-rotate) */
.kg-rotate{transform:rotate(var(--kg-rotate,-2deg));}
.kg-rotate--n4{--kg-rotate:-4deg;} .kg-rotate--n3{--kg-rotate:-3deg;} .kg-rotate--n2{--kg-rotate:-2deg;}
.kg-rotate--n1{--kg-rotate:-1deg;} .kg-rotate--n06{--kg-rotate:-0.6deg;} .kg-rotate--n05{--kg-rotate:-0.5deg;} .kg-rotate--n04{--kg-rotate:-0.4deg;}
.kg-rotate--p04{--kg-rotate:0.4deg;} .kg-rotate--p05{--kg-rotate:0.5deg;} .kg-rotate--p06{--kg-rotate:0.6deg;} .kg-rotate--p1{--kg-rotate:1deg;}
.kg-rotate--p15{--kg-rotate:1.5deg;} .kg-rotate--p2{--kg-rotate:2deg;} .kg-rotate--p4{--kg-rotate:4deg;}
.kg-rotate--p6{--kg-rotate:6deg;}

/* Numerierte/Text-Tags, die an der Oberkante einer Karte "kleben" (FAQ-Nr., Highlight-Index, Rollen-Tag …) */
.kg-index-tag{position:absolute;top:-12px;left:20px;padding:4px 12px;border-radius:6px;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--purpleInk);}
.kg-index-tag--light{color:#fff;}

/* Eyebrow / Kicker-Label */
.kg-eyebrow{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);}

/* Chips / kleine Pillen-Badges (z.B. Orts-Hinweis "📍 …") */
.kg-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:12px;letter-spacing:.02em;background:var(--cream2);color:var(--purpleInk);}
.kg-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);}

/* Gedämpfter Fließtext (häufig 80% Deckkraft in Karten/Absätzen) */
.kg-text-muted{opacity:.8;}
.kg-italic{font-style:italic;}
.kg-hairline{border-top:1px solid rgba(43,20,52,.12);}
.kg-hairline--onDark{border-top:1px solid rgba(255,244,227,.15);}
.kg-divider-dashed{border-top:2px dashed rgba(107,45,142,.27);}

/* ── Farb-Helfer (generisch, für alle Tokens) ───────────────────────────── */
.kg-bg-purple{background:var(--purple);} .kg-bg-purpleDeep{background:var(--purpleDeep);} .kg-bg-purpleInk{background:var(--purpleInk);}
.kg-bg-orange{background:var(--orange);} .kg-bg-yellow{background:var(--yellow);}
.kg-bg-cream{background:var(--cream);} .kg-bg-cream2{background:var(--cream2);}
.kg-bg-pink{background:var(--pink);} .kg-bg-sky{background:var(--sky);} .kg-bg-green{background:var(--green);}
.kg-bg-spotify{background:var(--spotify);} .kg-bg-ink{background:var(--purpleInk);}

.kg-c-purple{color:var(--purple);} .kg-c-purpleDeep{color:var(--purpleDeep);} .kg-c-purpleInk{color:var(--purpleInk);}
.kg-c-orange{color:var(--orangeText);} .kg-c-yellow{color:var(--yellow);}
/* Auf dunklem Grund darf das leuchtende Flächen-Orange als Schrift stehen –
   dort ist der Kontrast hoch genug. */
.kg-section--dark .kg-c-orange,.kg-bg-purpleInk .kg-c-orange,.kg-bg-purple .kg-c-orange{color:var(--orange);}
.kg-c-cream{color:var(--cream);} .kg-c-cream2{color:var(--cream2);}
.kg-c-pink{color:var(--pink);} .kg-c-sky{color:var(--sky);} .kg-c-green{color:var(--green);}
.kg-c-spotify{color:var(--spotify);}

/* ── Layout: Sektionen, Container, Grids ─────────────────────────────────── */
.kg-section{padding:96px 40px;position:relative;}
.kg-section--tight{padding:48px 40px;}
.kg-section--dark{background:var(--purpleInk);color:var(--cream);border-radius:32px;margin:0 16px;overflow:hidden;position:relative;}
.kg-section--tinted{background:var(--cream2);border-radius:32px;margin:0 16px;}
/* Wie --dark, nur als zarter Schleier: setzt einen Block vom Cream ab, ohne
   ihn zur eigenen dunklen Bühne zu machen. */
.kg-section--tinted-ink{background:rgba(43,20,52,.08);border-radius:32px;margin:0 16px;}

.kg-container{max-width:1400px;margin:0 auto;position:relative;}
.kg-container--narrow{max-width:1100px;}
.kg-container--md{max-width:1200px;}
.kg-container--sm{max-width:860px;}
.kg-container--xs{max-width:760px;}

.kg-grid{display:grid;gap:20px;}
/* Grid-Items haben von Haus aus min-width:auto und werden deshalb so breit wie
   ihr längstes unumbrechbares Wort – "Glaubensstürmer" sprengt sonst auf
   Tablet-Breite seine Spalte. */
.kg-grid > *{min-width:0;}
/* hyphens greift dank lang="de" mit deutschen Trennregeln; overflow-wrap ist
   der Notnagel für Wörter, die auch dann nicht passen. */
.kg-grid h1,.kg-grid h2,.kg-grid h3{overflow-wrap:break-word;hyphens:auto;}
.kg-grid--2{grid-template-columns:repeat(2,1fr);}
.kg-grid--3{grid-template-columns:repeat(3,1fr);}
.kg-grid--4{grid-template-columns:repeat(4,1fr);}

/* Zwischenstufe für die 4er-Reihe: vier Karten nebeneinander werden auf
   Tablet-Breite zu schmal, ein Sprung direkt auf eine Spalte zu früh.
   Steht bewusst hier direkt hinter den Basisregeln – so greift die Kaskade
   ohne !important. */
@media (max-width:1100px){ .kg-grid--4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .kg-grid--4{grid-template-columns:1fr;} }

/* ── Navbar-Pille (sticky) ───────────────────────────────────────────────── */
.kgnav{position:sticky;top:16px;z-index:20;margin:16px;padding:10px 10px 10px 20px;background:var(--purpleInk);
  border-radius:28px;box-shadow:0 14px 40px rgba(43,20,52,.3);}
.kgnav-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.kgnav-logo{cursor:pointer;display:flex;align-items:center;gap:12px;text-decoration:none;}
/* width:auto ist nötig, weil das <img> intrinsische Maße als Attribut trägt
   (verhindert Layout-Shift) – ohne würde es auf 560px verzerrt. */
.kgnav-logo img{height:44px;width:auto;display:block;}
.kgnav-wordmark{color:var(--cream);font-weight:800;font-size:15px;letter-spacing:.16em;text-transform:uppercase;}

.kgnav-links{display:flex;gap:4px;align-items:center;}
.kgnav-link{cursor:pointer;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:700;
  color:var(--cream);background:transparent;text-decoration:none;transition:background .15s;}
.kgnav-link--active{color:var(--purpleInk);background:var(--yellow);}
.kgnav-cta{background:var(--orange);color:var(--purpleInk);padding:10px 18px;font-size:14px;margin-left:6px;}

.kgnav-burger{display:none;width:44px;height:44px;border-radius:14px;border:none;cursor:pointer;background:var(--yellow);
  align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;}
.kgnav-burger-bar{display:block;width:20px;height:2.5px;background:var(--purpleInk);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.kgnav-burger--open .kgnav-burger-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.kgnav-burger--open .kgnav-burger-bar:nth-child(2){opacity:0;}
.kgnav-burger--open .kgnav-burger-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.kgnav-panel{display:none;flex-direction:column;gap:4px;overflow:hidden;max-height:0;margin-top:0;
  transition:max-height .25s ease,margin-top .2s ease;}
.kgnav-panel--open,
.kgnav-panel.is-open{max-height:calc(100vh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;margin-top:12px;}
.kgnav-panel-link{cursor:pointer;padding:14px 16px;border-radius:14px;font-size:16px;font-weight:700;
  color:var(--cream);background:rgba(255,255,255,.06);text-decoration:none;}
.kgnav-panel-link--active{color:var(--purpleInk);background:var(--yellow);}
.kgnav-panel-cta{margin-top:4px;padding:14px 18px;font-size:15px;background:var(--orange);color:var(--purpleInk);}

/* ── Footer-Grid ─────────────────────────────────────────────────────────── */
.kgfoot{margin:16px;margin-top:48px;padding:64px 48px 40px;background:var(--purpleInk);color:var(--cream);
  border-radius:32px;position:relative;overflow:hidden;}
.kgfoot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;position:relative;}
.kgfoot-logo{height:80px;width:auto;margin-bottom:16px;}
.kgfoot-claim{font-size:22px;line-height:1.3;font-style:italic;margin:0;opacity:.92;max-width:340px;}
.kgfoot-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:14px;font-weight:700;}
.kgfoot-address{font-size:17px;line-height:1.5;}
.kgfoot-links{display:flex;flex-direction:column;gap:8px;}
.kgfoot-link{cursor:pointer;color:var(--cream);opacity:.85;font-size:15px;text-decoration:none;}
.kgfoot-email{font-size:15px;line-height:1.6;}
.kgfoot-email a{color:var(--cream);text-decoration:underline;text-underline-offset:3px;}
.kgfoot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,244,227,.15);font-size:13px;opacity:.5;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
/* Spalten "Hier sind wir" / "Mehr" — im Menü/Kontakt redundant, daher auf Mobile ausgeblendet */
.kgfoot-hide-mobile{}

/* Footer-Splat-Positionen (Deko-Kleckse hinter dem Grid) */
.kgfoot-splat--a{top:-60px;right:-60px;opacity:.25;}
.kgfoot-splat--b{bottom:-40px;left:30%;opacity:.2;}

/* ── Flash-Meldungen (Symfony flashbag "notice", class = Bootstrap-artiger Typ) ── */
.kg-flash{margin:16px 0;padding:16px 24px;border-radius:16px;font-weight:700;background:var(--cream2);color:var(--purpleInk);border:var(--border);}
.kg-flash--success{background:var(--green);}
.kg-flash--info{background:var(--sky);}
.kg-flash--warning{background:var(--yellow);}
.kg-flash--danger,.kg-flash--error{background:var(--pink);color:#fff;}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.kg-hero{padding:48px 40px 24px;position:relative;}
.kg-hero-lead{font-size:28px;line-height:1.35;max-width:680px;margin:0;}
.kg-hero-highlight{background:var(--yellow);padding:2px 10px;border-radius:6px;}

/* Termin-Sticker-Karte (nächster KiGo) */
.kg-sticker-card{background:var(--purple);color:var(--cream);padding:28px 32px;border-radius:20px;
  box-shadow:0 24px 50px rgba(107,45,142,.35);position:relative;}
.kg-sticker-card-eyebrow{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.24em;font-weight:800;opacity:.7;position:relative;}
.kg-sticker-card-divider{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,244,227,.2);}

/* ── FAQ-Karten ──────────────────────────────────────────────────────────── */
.kg-faq-card{background:#fff;border:var(--border);border-radius:20px;padding:28px;position:relative;}
.kg-faq-question{font-size:24px;margin:8px 0 10px;letter-spacing:-0.02em;font-weight:800;}
.kg-faq-answer{font-size:17px;line-height:1.4;opacity:.8;margin:0;}

/* ── Termin-Zeilen (kommende Termine) & Termin-Karten (vergangene) ──────── */
.kg-termin-row{background:#fff;padding:24px 32px;margin-bottom:12px;border-radius:20px;
  display:grid;grid-template-columns:100px 1fr auto auto;gap:32px;align-items:center;border:var(--border);}
.kg-termin-row--next{border-color:var(--orange);}
.kg-termin-date{text-align:center;padding:12px 8px;border-radius:12px;color:var(--purpleInk);}
.kg-termin-date-month{font-size:11px;font-weight:800;letter-spacing:.18em;}
.kg-termin-date-day{font-size:44px;}
.kg-termin-title{font-size:28px;margin:0;letter-spacing:-0.02em;font-weight:900;}
.kg-termin-ref{font-size:16px;opacity:.7;margin-top:4px;font-style:italic;}
.kg-termin-location{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:var(--sky);color:var(--purpleInk);
  padding:5px 12px;border-radius:999px;font-size:12px;font-weight:800;}

.kg-termin-card{background:#fff;border-radius:24px;border:var(--border);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-card);text-decoration:none;color:inherit;display:block;}
.kg-termin-card-header{padding:28px 28px 24px;position:relative;}
.kg-termin-card-emoji{font-size:44px;line-height:1;}
.kg-termin-card-date{position:absolute;top:22px;right:24px;font-size:13px;font-weight:800;color:var(--purpleInk);opacity:.8;letter-spacing:.1em;}
.kg-termin-card-body{padding:22px 28px 28px;}
.kg-termin-card-title{font-size:28px;margin:0 0 4px;letter-spacing:-0.02em;font-weight:900;line-height:1;}
.kg-termin-card-ref{font-size:15px;font-style:italic;color:var(--purple);margin-bottom:12px;}
.kg-termin-card-intro{font-size:16px;line-height:1.45;opacity:.78;margin:0;}
.kg-termin-card-link{margin-top:16px;font-size:13px;font-weight:800;color:var(--purple);letter-spacing:.04em;}

/* Bibelvers-Zitat in Termin-Rückblicken */
.kg-verse{margin:36px 0;padding:4px 0 4px 28px;border-left:5px solid var(--purple);}
.kg-verse-text{font-size:26px;line-height:1.4;font-style:italic;margin:0;}
.kg-verse-source{margin-top:12px;font-size:14px;font-weight:800;color:var(--purple);letter-spacing:.06em;}

/* Tabs (Kommende/Vergangene) */
.kg-tabs{display:inline-flex;gap:6px;background:#fff;border:var(--border);border-radius:999px;padding:6px;}
.kg-tab{cursor:pointer;border:none;background:transparent;padding:12px 24px;border-radius:999px;
  font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--purpleInk);}
.kg-tab--active,.kg-tab.is-active{background:var(--purpleInk);color:var(--cream);}

/* Generische Sichtbarkeits-Utility für JS-/Stimulus-Toggles (z. B. Termine-Tabs-Panels) */
.is-hidden{display:none !important;}

/* ── Termine-Übersicht: Kopf ─────────────────────────────────────────────── */
.kg-termine-hero-headline{margin:16px 0 0;}
.kg-termine-hero-lead{font-size:24px;line-height:1.4;margin-top:24px;max-width:720px;opacity:.85;}

/* ── Termin-Detail (Rückblick) ───────────────────────────────────────────── */
.kg-termin-detail-header{border-radius:28px;border:var(--border);padding:44px;position:relative;overflow:hidden;}
.kg-termin-detail-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.kg-termin-detail-emoji{font-size:56px;line-height:1;}
h1.kg-termin-detail-title{margin:20px 0 8px;font-size:clamp(28px,6vw,96px);line-height:1;overflow-wrap:break-word;hyphens:auto;}
.kg-termin-detail-subtitle{font-size:28px;opacity:.85;}
.kg-termin-detail-pill{margin-top:18px;display:inline-block;background:var(--purpleInk);color:var(--cream);
  padding:8px 16px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.04em;}
.kg-termin-detail-actions{margin-top:48px;padding-top:32px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

/* Fließtext des Rückblicks: sowohl für die einfache Absatz-Konvention
   (Absätze getrennt durch Leerzeilen, Verszitate mit ">") als auch für
   bestehende Altdaten, die bereits HTML enthalten (<p>, <blockquote
   class="bibelstelle">, vgl. alte Seite kigo-halver.de/kigo/{id}). */
.kg-termin-body{font-size:19px;line-height:1.65;color:var(--purpleInk);}
.kg-termin-body p{margin:0 0 22px;}
.kg-termin-body p:first-child{font-size:24px;font-weight:600;margin-bottom:36px;}
.kg-termin-body blockquote,
.kg-termin-body blockquote.bibelstelle{margin:36px 0;padding:4px 0 4px 28px;border-left:5px solid var(--purple);
  background:none;font-family:"Fraunces",serif;font-style:italic;font-size:26px;line-height:1.4;color:var(--purpleInk);}
.kg-termin-body blockquote footer,
.kg-termin-body blockquote.bibelstelle footer{margin-top:12px;font-family:"Plus Jakarta Sans",sans-serif;
  font-size:14px;font-weight:800;font-style:normal;color:var(--purple);letter-spacing:.06em;text-align:left;}

/* ── Team-Avatar & Gruppen-Badge ─────────────────────────────────────────── */
.kg-avatar{border-radius:50%;object-fit:cover;display:block;box-shadow:var(--shadow-card);}
.kg-avatar--bordered{border:4px solid var(--purpleInk);}
.kg-avatar-initial{border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);}
.kg-avatar-initial-letter{font-family:"Fraunces",serif;font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.15);}

.kg-group-badge{border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  box-shadow:0 10px 24px rgba(43,20,52,.14);}
/* Das Logo sitzt in einem <picture>; die 82 % müssen an dieses Element,
   sonst misst sich das <img> am Wrapper statt am runden Badge. */
.kg-group-badge picture{width:82%;height:82%;}
.kg-group-badge img{width:100%;height:100%;object-fit:contain;display:block;}

/* Info-Boxen (z.B. "Verantwortlich für" / "Gut zu wissen") */
.kg-info-box{border-radius:16px;padding:16px 22px;flex:1 1 200px;}
.kg-info-box-label{font-size:11px;letter-spacing:.18em;font-weight:800;}
.kg-info-box-value{font-size:18px;margin-top:6px;line-height:1.4;}

/* Versprechen-/Feature-Zeilen (2-spaltig auf dunklem Grund) */
.kg-promise-row{display:grid;grid-template-columns:340px 1fr;gap:40px;padding:32px 0;border-top:1px solid rgba(255,244,227,.15);}
.kg-promise-number{font-size:44px;letter-spacing:-0.02em;font-weight:900;}
.kg-promise-text{font-size:22px;line-height:1.45;margin:0;opacity:.85;}

/* ── Startseite: Hero-Sticker Zusatz ─────────────────────────────────────── */
.kg-btn--block{width:100%;}
.kg-sticker-card-splat{top:-30px;left:-20px;opacity:.95;}
.kg-sticker-card-label{font-family:"Plus Jakarta Sans",sans-serif;font-size:12px;letter-spacing:.15em;font-weight:700;opacity:.6;position:relative;}
.kg-sticker-card-weekday{font-family:"Fraunces",serif;font-size:22px;margin-top:4px;font-style:italic;opacity:.95;position:relative;}
.kg-sticker-card-theme{font-family:"Fraunces",serif;font-size:22px;margin-top:4px;font-weight:600;position:relative;}
.kg-hero-sticker-tag{position:absolute;bottom:-16px;right:-16px;}
/* Ort direkt in der Termin-Karte – nach dem "wann" die zweitwichtigste Frage. */
.kg-sticker-card-where{position:relative;margin-top:18px;padding-top:14px;font-family:"Plus Jakarta Sans",sans-serif;
  font-size:13px;font-weight:600;line-height:1.4;opacity:.85;border-top:1px solid rgba(255,244,227,.18);}
.kg-hero-actions{margin-top:48px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.kg-hero-fallback{font-family:"Fraunces",serif;font-size:22px;font-style:italic;opacity:.9;position:relative;margin-top:10px;}
.kg-hero-cols{margin-top:56px;align-items:start;}
.kg-hero-sticker-wrap{position:relative;}
.kg-sticker-card-date{margin-top:10px;}
.kg-sticker-card-btn{margin-top:20px;}
.kg-warum-cols{margin-top:24px;align-items:start;}
.kg-warum-lead{font-size:24px;line-height:1.5;margin:0;}
.kg-why-grid{margin-top:48px;}
.kg-gruppen-header{display:flex;align-items:baseline;gap:20px;margin-bottom:56px;flex-wrap:wrap;}
.kg-gruppen-header-title{margin:0;}
.kg-gruppen-header-sub{font-size:32px;}
.kg-gruppen-name{margin:6px 0 12px;}
.kg-ablauf-headline{margin:16px 0 56px;}
.kg-ablauf-title{margin:12px 0 8px;}
.kg-faq-headline{margin:16px 0 56px;}
.kg-cta-headline{position:relative;}

/* Startseite: Splat-Positionen je Sektion (analog kgfoot-splat--a/b) */
.kg-hero-splat--a{top:40px;right:8%;opacity:.35;}
.kg-hero-splat--b{top:260px;left:48%;opacity:.25;}
.kg-hero-splat--c{bottom:-20px;right:40px;opacity:.3;}
.kg-warum-splat{top:20px;left:4%;opacity:.3;}
.kg-vision-splat{top:-60px;right:-50px;opacity:.25;}
.kg-ablauf-splat--a{top:-80px;left:-80px;opacity:.3;}
.kg-ablauf-splat--b{bottom:-50px;right:20%;opacity:.2;}
.kg-cta-splat--a{top:-60px;left:-60px;opacity:.25;}
.kg-cta-splat--b{bottom:-40px;right:-40px;opacity:.25;}

/* Startseite: "Warum KiGo"-Karten + Vision-Banner */
.kg-why-card{background:#fff;border:var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow-card);}
.kg-why-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:18px;}
.kg-why-text{font-size:17px;line-height:1.45;opacity:.82;margin:0;}

.kg-vision{margin-top:32px;background:var(--purple);color:var(--cream);border-radius:28px;padding:44px 48px;position:relative;overflow:hidden;}
.kg-vision-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--yellow);position:relative;}
.kg-vision-text{font-size:30px;line-height:1.35;margin:14px 0 0;font-weight:600;max-width:900px;position:relative;}

/* Startseite: Gruppen-Karten */
.kg-gruppen-card{background:#fff;border:var(--border);border-radius:24px;padding:36px;box-shadow:var(--shadow-card-lg);
  cursor:pointer;text-decoration:none;color:inherit;display:block;}
.kg-gruppen-age{font-size:12px;letter-spacing:.15em;color:var(--purple);font-weight:800;margin-top:24px;text-transform:uppercase;}
.kg-gruppen-desc{font-size:18px;line-height:1.4;opacity:.8;margin:0;}
.kg-gruppen-more{margin-top:22px;font-size:14px;font-weight:800;color:var(--purple);letter-spacing:.04em;}
.kg-group-badge--lg{width:140px;height:140px;}

/* Startseite: Ablauf-Karten (dunkle Sektion) */
.kg-ablauf-card{padding:28px;border-radius:20px;color:var(--purpleInk);position:relative;}
.kg-ablauf-time{font-family:"Fraunces",serif;font-weight:900;letter-spacing:-0.04em;line-height:1;font-size:clamp(32px,6vw,56px);}
.kg-ablauf-desc{font-size:16px;line-height:1.4;margin:0;opacity:.85;}

/* Startseite: CTA-Block */
.kg-cta-block{max-width:1200px;margin:0 auto;background:var(--orange);border-radius:32px;padding:80px;
  text-align:center;position:relative;overflow:hidden;}
.kg-cta-text{font-size:24px;margin:32px auto 40px;color:var(--purpleInk);opacity:.85;max-width:640px;position:relative;}
.kg-cta-actions{display:flex;gap:14px;justify-content:center;position:relative;flex-wrap:wrap;}

@media (max-width:860px){
  .kg-cta-block{padding:40px 24px;}
}

/* ── Über uns / Team-Übersicht ───────────────────────────────────────────── */
.kg-ueber-hero-splat{top:0;right:5%;opacity:.4;}
.kg-ueber-hero-headline{margin:16px 0 0;}
.kg-ueber-hero-lead{font-size:26px;line-height:1.4;margin-top:32px;max-width:720px;}
.kg-ueber-promise-headline{margin:16px 0 48px;}

.kg-team-photo-frame{position:relative;border-radius:32px;overflow:hidden;border:var(--border);box-shadow:var(--shadow-card-lg);}
.kg-team-photo-frame img{width:100%;height:auto;display:block;}

/* Startseite: Teamfoto-Sektion – etwas Luft zum Hero, damit der Schleier als
   eigener Block liest und nicht am Hero klebt. */
.kg-hero-photo-section{margin-top:40px;padding-top:56px;padding-bottom:56px;}

/* Teamfoto als Ganzes anklickbar (führt zur Team-Übersicht) */
.kg-hero-photo-link{display:block;text-decoration:none;color:inherit;}
.kg-hero-photo-link .kg-team-photo-frame{transition:transform .18s ease,box-shadow .18s ease;}
.kg-hero-photo-link:hover .kg-team-photo-frame{transform:translateY(-4px) rotate(0deg);box-shadow:0 26px 60px rgba(43,20,52,.18);}
.kg-hero-photo-link:hover .kg-team-caption{opacity:.9;}
.kg-team-photo-tape{position:absolute;top:20px;left:20px;}
/* Auf schmalen Screens schrumpft das Foto mit der Breite (16:10), die Köpfe
   rutschen dadurch in die obere Ecke und werden vom Tape verdeckt. Ab ≤720px
   wandert es deshalb nach unten links – dort sind nur Beine im Bild. */
@media (max-width:720px){
  .kg-team-photo-tape{top:auto;bottom:16px;left:16px;font-size:11px;letter-spacing:.1em;}
}
/* .65 statt .6: bei .6 bleibt die Unterschrift auf Cream wie auf dem
   Schleier-Hintergrund knapp unter 4,5:1. */
.kg-team-caption{font-size:16px;opacity:.65;margin-top:14px;font-style:italic;text-align:center;}

.kg-team-header{display:flex;align-items:baseline;gap:16px;margin-bottom:32px;flex-wrap:wrap;}
.kg-team-header-hint{font-size:20px;opacity:.8;}

.kg-team-tile{background:#fff;border:var(--border);border-radius:20px;padding:22px;text-align:center;
  box-shadow:var(--shadow-card);text-decoration:none;color:inherit;display:block;}
.kg-team-tile-avatar{margin:0 auto 14px;width:100px;height:100px;}
.kg-team-tile-avatar img,.kg-team-tile-avatar .kg-avatar-initial{width:100%;height:100%;}
.kg-team-tile-avatar .kg-avatar-initial-letter{font-size:42px;}
.kg-team-tile-name{font-family:"Fraunces",serif;font-weight:900;font-size:22px;}
.kg-team-tile-role{font-size:12px;color:var(--purple);font-weight:700;margin-top:4px;letter-spacing:.04em;}
.kg-team-tile-cta{font-size:11px;opacity:.5;font-weight:700;margin-top:10px;letter-spacing:.08em;}

/* ── Mitarbeiter-Detail ──────────────────────────────────────────────────── */
.kg-back-link{cursor:pointer;font-size:14px;font-weight:800;color:var(--purple);letter-spacing:.04em;text-decoration:none;display:inline-block;}

.kg-mitarbeiter-grid{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:start;}
.kg-portrait-wrap{position:relative;}
.kg-portrait-frame{border-radius:28px;overflow:hidden;border:var(--border);box-shadow:var(--shadow-card-lg);}
.kg-portrait-frame img{width:100%;display:block;}
.kg-portrait-initial{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;}
.kg-portrait-initial-letter{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(80px,18vw,180px);color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.15);}
.kg-portrait-tape{position:absolute;bottom:-14px;right:-10px;}

h1.kg-mitarbeiter-name{font-size:clamp(44px,8vw,104px);line-height:.85;margin:16px 0 24px;}

.kg-quote-card{padding:36px;position:relative;}
.kg-quote-text{font-size:19px;line-height:1.55;font-style:italic;margin:8px 0 0;}
.kg-quote-text + .kg-quote-text{margin-top:14px;}
.kg-quote-mark{color:var(--orange);font-weight:900;}

.kg-info-row{margin-top:24px;display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;}
.kg-info-box-label--muted{opacity:.7;}
.kg-info-box-value--bold{font-weight:700;}
.kg-mitarbeiter-actions{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap;}

/* ── Gruppen-Übersicht ───────────────────────────────────────────────────── */
.kg-gruppen-hero-headline{margin:16px 0 0;}
.kg-group-badge--xl{width:200px;height:200px;}
.kg-group-badge--bordered{border:var(--border);}

.kg-gruppen-wide-card{background:#fff;border:var(--border);border-radius:28px;padding:56px;margin-bottom:32px;
  display:grid;grid-template-columns:200px 1fr auto;gap:48px;align-items:center;
  box-shadow:var(--shadow-card-lg);cursor:pointer;text-decoration:none;color:inherit;}
.kg-gruppen-wide-name{margin:16px 0 4px;}
.kg-gruppen-wide-age{font-size:24px;margin-bottom:20px;}
.kg-gruppen-wide-lead{font-size:20px;line-height:1.5;opacity:.82;margin:0;max-width:600px;}
.kg-gruppen-wide-btn{white-space:nowrap;}

/* ── Gruppen-Detail ──────────────────────────────────────────────────────── */
.kg-gruppe-header{border-radius:28px;border:var(--border);padding:44px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:200px minmax(0,1fr);gap:44px;align-items:center;}
.kg-gruppe-header > div{min-width:0;}
h1.kg-gruppe-header-name{margin:16px 0 6px;font-size:clamp(30px,4.5vw,56px);line-height:1;overflow-wrap:break-word;}
.kg-gruppe-header-age{font-size:28px;}

.kg-gruppe-lead{font-size:24px;line-height:1.5;font-weight:600;margin:0 0 20px;}
.kg-gruppe-body{font-size:19px;line-height:1.65;margin:0 0 40px;}

.kg-highlight-card{padding:24px;position:relative;}
.kg-highlight-title{margin:8px 0 8px;}
.kg-highlight-text{font-size:16px;line-height:1.4;opacity:.8;margin:0;}

.kg-gruppe-team{margin-top:44px;padding-top:32px;}
.kg-gruppe-team-title{font-size:24px;margin:0 0 20px;}
.kg-gruppe-team-grid{display:flex;flex-wrap:wrap;gap:18px;}
.kg-gruppe-team-tile{background:#fff;border:var(--border);border-radius:20px;padding:18px 22px;text-align:center;
  text-decoration:none;color:var(--purpleInk);box-shadow:var(--shadow-card);width:150px;
  transition:transform .15s ease;}
.kg-gruppe-team-tile:hover{transform:translateY(-4px) rotate(0deg);}
.kg-gruppe-team-avatar{margin:0 auto 12px;width:84px;height:84px;}
.kg-gruppe-team-avatar img,.kg-gruppe-team-avatar .kg-avatar-initial{width:100%;height:100%;}
.kg-gruppe-team-avatar .kg-avatar-initial-letter{font-size:36px;}
.kg-gruppe-team-name{font-family:"Fraunces",serif;font-weight:900;font-size:20px;}
.kg-gruppe-team-role{font-size:12px;color:var(--purple);font-weight:700;margin-top:4px;letter-spacing:.04em;}

.kg-gruppe-actions{margin-top:44px;padding-top:32px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

/* ── Musik-Seite ─────────────────────────────────────────────────────────── */
.kg-music-splat{top:0;right:6%;opacity:.35;}
.kg-music-hero-headline{margin:16px 0 0;}
.kg-music-hero-lead{font-size:26px;line-height:1.4;margin-top:32px;max-width:720px;}

.kg-music-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:stretch;margin-top:32px;}

/* Spotify-CTA-Karte (grün) */
.kg-music-cta{background:var(--spotify);color:var(--spotify-ink);padding:44px;border-radius:28px;border:var(--border);
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;}
.kg-music-cta-icon{margin-bottom:20px;display:block;}
.kg-music-cta-icon path{fill:var(--spotify-ink);}
.kg-music-cta-title{font-size:40px;line-height:.95;font-weight:900;letter-spacing:-0.02em;}
.kg-music-cta-text{font-size:18px;line-height:1.4;margin:16px 0 28px;opacity:.85;}
.kg-music-cta-btn{align-self:flex-start;}

/* Player-Karte mit DSGVO-Consent-Gate */
.kg-music-player{background:#fff;padding:20px;border-radius:28px;border:var(--border);box-shadow:var(--shadow-card);
  min-height:460px;display:flex;flex-direction:column;}
.kg-music-placeholder{flex:1;background:var(--cream2);border-radius:16px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:40px 32px;}
.kg-music-placeholder-emoji{font-size:44px;margin-bottom:16px;}
.kg-music-placeholder-title{font-size:28px;margin:0 0 12px;}
.kg-music-placeholder-text{font-size:17px;line-height:1.5;opacity:.82;margin:0 0 24px;max-width:420px;}
.kg-music-load-btn{background:var(--spotify);color:var(--spotify-ink);}
.kg-music-direct-link{display:inline-block;margin-top:16px;font-size:13px;font-weight:800;color:var(--purple);text-decoration:none;}
/* Ziel-Container für den erst per Klick nachgeladenen Spotify-iframe */
.kg-music-player-target{flex:1;display:flex;}
.kg-music-player-target iframe{border-radius:16px;display:block;flex:1;}

.kg-music-tip{margin-top:24px;background:var(--cream2);border-radius:16px;padding:18px 24px;
  display:flex;gap:12px;align-items:center;}
.kg-music-tip-emoji{font-size:22px;}
.kg-music-tip-text{margin:0;opacity:.8;}

/* ── Kontakt-Seite ───────────────────────────────────────────────────────── */
.kg-kontakt-hero-headline{margin:16px 0 0;}

.kg-kontakt-cols{grid-template-columns:1fr 1.2fr;margin-top:16px;align-items:start;}

/* Linke Karte "Hier sind wir." (dunkel) */
.kg-kontakt-card{background:var(--purpleInk);color:var(--cream);padding:48px;border-radius:28px;
  position:relative;overflow:hidden;}
.kg-kontakt-card-splat{top:-30px;right:-30px;opacity:.35;}
.kg-kontakt-card-title{margin:0 0 28px;position:relative;}

.kg-kontakt-field{padding-top:18px;margin-top:18px;position:relative;}
.kg-kontakt-field-label{font-size:11px;letter-spacing:.2em;color:var(--yellow);font-weight:800;}
.kg-kontakt-field-value{font-size:20px;margin-top:6px;line-height:1.4;}
.kg-kontakt-field-value a{color:var(--cream);text-decoration:underline;text-underline-offset:3px;}

.kg-kontakt-whatsapp-block{margin-top:24px;padding-top:20px;position:relative;}
.kg-kontakt-whatsapp-text{font-size:16px;line-height:1.5;margin:8px 0 0;opacity:.9;}

.kg-kontakt-actions{margin-top:32px;display:flex;gap:10px;flex-wrap:wrap;position:relative;}
.kg-kontakt-btn-primary{flex:1 1 auto;}
.kg-btn--ghost-light{background:transparent;color:var(--cream);border:2px solid rgba(255,244,227,.4);}
.kg-btn--ghost-light:hover{background:rgba(255,244,227,.12);}

/* Rechte Karte: stilisierte SVG-Kartenskizze (bewusst KEIN Google-Maps-Embed — DSGVO) */
.kg-kontakt-map{background:#fff;border-radius:28px;overflow:hidden;position:relative;
  min-height:560px;border:var(--border);}
.kg-kontakt-map-bg{position:absolute;inset:0;background:linear-gradient(135deg, var(--cream2) 0%, #fff 100%);}
.kg-kontakt-map-svg{width:100%;height:100%;display:block;}
.kg-kontakt-map-shape--bg{fill:var(--cream2);}
.kg-kontakt-map-shape--path{fill:var(--green);opacity:.3;}
.kg-kontakt-map-shape--road-h{fill:var(--purple);opacity:.5;}
.kg-kontakt-map-shape--road-v{fill:var(--purple);opacity:.5;}
.kg-kontakt-map-shape--river{fill:none;stroke:var(--sky);stroke-width:3;opacity:.55;}
.kg-kontakt-map-shape--pin-halo{fill:var(--orange);opacity:.3;}
.kg-kontakt-map-shape--pin{fill:var(--orange);}
.kg-kontakt-map-shape--pin-dot{fill:var(--cream);}

.kg-kontakt-map-info{position:absolute;left:24px;bottom:24px;background:var(--purpleInk);color:var(--cream);
  padding:20px 24px;border-radius:16px;max-width:300px;}
.kg-kontakt-map-info-title{font-size:22px;font-weight:900;}
.kg-kontakt-map-info-text{font-size:14px;opacity:.8;margin-top:4px;}
.kg-kontakt-map-info-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;
  color:var(--yellow);text-decoration:none;}

/* ── Responsive: ≤860px ──────────────────────────────────────────────────
   Mehrspalten-Grids → 1 Spalte, Rotationen deaktiviert, Footer-Spalten aus,
   Navbar → Hamburger, Sektions-Padding reduziert. */
@media (max-width:860px){
  .kg-rotate{transform:none !important;}
  .kgfoot-hide-mobile{display:none !important;}

  .kg-grid--2, .kg-grid--3, .kg-music-cols, .kg-kontakt-cols{grid-template-columns:1fr;}
  .kg-kontakt-map{min-height:360px;}
  .kgfoot-grid{grid-template-columns:1fr !important;}
  .kg-termin-row{grid-template-columns:80px 1fr !important;gap:16px !important;}
  .kg-promise-row{grid-template-columns:1fr !important;gap:12px !important;}
  .kg-mitarbeiter-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .kg-gruppen-wide-card{grid-template-columns:1fr !important;text-align:center;padding:32px !important;justify-items:center;}
  .kg-gruppen-wide-lead{max-width:none !important;}
  .kg-gruppe-header{grid-template-columns:1fr !important;text-align:center;padding:28px !important;justify-items:center;}

  .kg-section{padding-left:20px !important;padding-right:20px !important;}
  .kg-hero{padding-left:20px !important;padding-right:20px !important;}

  .kgnav{padding:10px 12px;border-radius:24px;}
  .kgnav-links{display:none;}
  .kgnav-burger{display:flex;}
  .kgnav-panel{display:flex;}
}

/* ── Responsive: ≤520px ──────────────────────────────────────────────────
   Headlines/Zahlen nochmals kleiner, Sektions-Padding vertikal reduziert. */
@media (max-width:520px){
  h1.display{font-size:clamp(38px,12vw,64px);}
  .kg-display--xl{font-size:clamp(36px,14vw,72px) !important;}
  .kg-display--lg{font-size:clamp(34px,13vw,64px) !important;}
  .kg-number{font-size:clamp(36px,14vw,72px);}

  .kg-section{padding-top:28px !important;padding-bottom:28px !important;}
  .kg-hero{padding-top:28px !important;padding-bottom:16px !important;}
}

/* ── Navbar: Konto-Icon & Dropdown ───────────────────────────────────────── */
.kgnav-account{position:relative;display:flex;align-items:center;margin-left:4px;}
.kgnav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:999px;border:none;cursor:pointer;background:transparent;color:var(--cream);
  text-decoration:none;transition:background .15s ease;margin-left:4px;}
.kgnav-icon-btn:hover{background:rgba(255,255,255,.12);}
.kgnav-dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:210px;background:#fff;
  border:var(--border);border-radius:18px;box-shadow:var(--shadow-card-lg);padding:8px;
  display:none;flex-direction:column;gap:2px;z-index:30;}
.kgnav-dropdown-menu.is-open{display:flex;}
.kgnav-dropdown-user{font-family:"Plus Jakarta Sans",sans-serif;font-size:12px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--purple);padding:8px 12px 6px;opacity:.85;
  border-bottom:1px solid rgba(43,20,52,.1);margin-bottom:4px;word-break:break-all;}
.kgnav-dropdown-item{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:14px;
  color:var(--purpleInk);text-decoration:none;padding:10px 12px;border-radius:10px;transition:background .12s ease;}
.kgnav-dropdown-item:hover{background:var(--cream2);}
.kgnav-dropdown-item--logout{color:var(--purple);}

/* ── Auth / Login-Seite ──────────────────────────────────────────────────── */
.kg-auth{min-height:62vh;display:flex;align-items:center;justify-content:center;padding:64px 20px;position:relative;}
.kg-auth-card{width:100%;max-width:440px;background:#fff;border:var(--border);border-radius:28px;
  box-shadow:var(--shadow-card-lg);padding:44px 40px;position:relative;z-index:1;}
h1.kg-auth-title{font-size:clamp(32px,4.2vw,46px);margin:14px 0 6px;letter-spacing:-0.03em;line-height:.95;}
.kg-auth-sub{font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;opacity:.75;margin:0 0 28px;}
.kg-auth-error{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:14px;
  background:#fde8ef;color:#b3245e;border-radius:12px;padding:12px 16px;margin-bottom:20px;}
.kg-auth-note{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;margin-bottom:20px;}
.kg-auth-foot{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;opacity:.85;margin:24px 0 0;text-align:center;}
.kg-auth-foot a{color:var(--purple);font-weight:800;text-decoration:none;}
.kg-auth-foot a:hover{text-decoration:underline;}

/* ── Formular-Felder ─────────────────────────────────────────────────────── */
.kg-form{display:flex;flex-direction:column;gap:18px;}
.kg-field{display:flex;flex-direction:column;gap:6px;}
.kg-label{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--purpleInk);}
.kg-input{font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;padding:14px 16px;
  border:2px solid rgba(43,20,52,.18);border-radius:14px;background:#fff;color:var(--purpleInk);
  transition:border-color .15s ease;width:100%;}
/* Rahmenfarbe allein trägt den Fokus nicht – bei Tastaturbedienung kommt der
   Ring dazu (:focus-visible aus dem A11y-Block oben). */
.kg-input:focus{outline:none;border-color:var(--purple);}
.kg-input:focus-visible{outline:var(--focus-ring);outline-offset:2px;}
.kg-auth-splat{top:-30px;right:-20px;opacity:.9;}

/* Checkbox-Zeile (z.B. Nutzungsbedingungen) + Formular-Fehler */
.kg-check{display:flex;align-items:center;gap:10px;}
.kg-check input[type="checkbox"]{width:20px;height:20px;accent-color:var(--purple);flex-shrink:0;cursor:pointer;}
.kg-check-label{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;color:var(--purpleInk);cursor:pointer;margin:0;}
.kg-form ul{list-style:none;margin:6px 0 0;padding:0;}
.kg-form ul li{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;font-weight:700;color:#b3245e;}

/* ── "Mitmachen" / Team-werden-Kasten (Über uns) ─────────────────────────── */
.kg-mitmachen{position:relative;overflow:hidden;border:var(--border);border-radius:32px;
  padding:56px 48px;text-align:center;}
.kg-mitmachen-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.kg-mitmachen-splat{top:-40px;left:-30px;opacity:.35;}
.kg-mitmachen-headline{margin:16px 0 18px;}
.kg-mitmachen-text{font-size:19px;line-height:1.5;opacity:.85;margin:0 auto 14px;max-width:620px;}
.kg-mitmachen-text--sub{opacity:.7;font-size:17px;margin-bottom:28px;}
.kg-mitmachen-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

@media (max-width:520px){
  .kg-mitmachen{padding:36px 22px;}
}

/* ── Interner Bereich: KiGo-Planer (Übersicht + Edit) ────────────────────── */
h1.kg-planer-headline{font-size:clamp(34px,5vw,64px);line-height:.95;margin:14px 0 6px;overflow-wrap:break-word;hyphens:auto;}
.kg-planer-sub{font-size:18px;opacity:.8;margin:0 0 24px;max-width:640px;}
.kg-planer-new{margin-bottom:8px;}
.kg-planer-card{padding:36px;}
@media (max-width:520px){ .kg-planer-card{padding:24px;} }

/* Formular-Raster (mehrere kurze Felder nebeneinander) */
.kg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.kg-field--full{grid-column:1 / -1;}
@media (max-width:640px){ .kg-form-grid{grid-template-columns:1fr;} }
/* kg-input greift auch für Textarea & Select */
textarea.kg-input{resize:vertical;min-height:120px;line-height:1.4;}
select.kg-input{appearance:auto;background:#fff;cursor:pointer;}
.kg-planer-review{margin-top:8px;padding-top:24px;border-top:2px dashed rgba(43,20,52,.18);display:flex;flex-direction:column;gap:18px;}

/* Einfache Tabellen im Design (Planer-Liste, Agenda) */
.kg-table-wrap{overflow-x:auto;border:var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-card);}
.kg-table{width:100%;border-collapse:collapse;font-family:"Plus Jakarta Sans",sans-serif;}
.kg-table th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--purple);padding:16px 20px;border-bottom:2px solid rgba(43,20,52,.12);white-space:nowrap;}
.kg-table td{padding:16px 20px;border-bottom:1px solid rgba(43,20,52,.1);font-size:15px;vertical-align:middle;}
.kg-table tbody tr:last-child td{border-bottom:none;}
.kg-table tbody tr:hover{background:var(--cream);}
.kg-table-date{font-weight:800;white-space:nowrap;}
.kg-table-actions{display:flex;gap:8px;flex-wrap:wrap;}
.kg-agenda-add{margin:16px 0;}
.kg-agenda-table .duration-td{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;}
.kg-agenda-table .sumTime{font-weight:800;}
.kg-agenda-table a{color:var(--purple);text-decoration:none;font-weight:800;font-size:18px;}
.kg-agenda-table td.no-print{text-align:center;}
pre.summary{white-space:pre-wrap;font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;
  background:var(--cream);border:1px solid rgba(43,20,52,.1);border-radius:12px;padding:16px;margin:0;}

/* Print / Screen (aus altem app.css übernommen, damit der Planer weiter druckt) */
@media screen { .no-screen{display:none;} }
@media print {
  .no-print{display:none !important;}
  .kgnav,.kgfoot{display:none !important;}
  pre.summary{border:none;background:none;font-size:.85em;padding:0;}
  .kg-table-wrap{border:none;box-shadow:none;}
}

/* ── Check-In / Check-Out (interner Bereich) ─────────────────────────────── */
.kg-checkin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px;}
.kg-checkin-switch{margin-top:10px;flex-shrink:0;}
.kg-checkin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-top:24px;}
@media (max-width:760px){ .kg-checkin-grid{grid-template-columns:1fr;} }

.kg-panel{background:#fff;border:var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);}
.kg-panel-header{padding:14px 20px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.kg-panel-list{list-style:none;margin:0;padding:0;}
.kg-panel-item{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid rgba(43,20,52,.1);}
.kg-panel-item:last-child{border-bottom:none;}
.kg-panel-item-main{flex:1 1 auto;min-width:0;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;
  font-size:15px;color:var(--purpleInk);text-decoration:none;}
a.kg-panel-item-main:hover{color:var(--purple);}
.kg-panel-empty{padding:16px 20px;font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;opacity:.6;}
.kg-panel-form{padding:20px;}
.kg-count{background:var(--cream2);color:var(--purpleInk);font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:800;font-size:12px;padding:2px 9px;border-radius:999px;flex-shrink:0;}
.kg-sg-logo{height:26px;width:26px;object-fit:contain;flex-shrink:0;}
.kg-panel-remove{color:var(--pink);font-weight:800;font-size:18px;line-height:1;text-decoration:none;flex-shrink:0;}
.kg-panel-remove:hover{color:#c0396f;}

/* ── Artikel-Datenbank / Suche (interner Bereich) ────────────────────────── */
.kg-article-topic{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:2px;}
.kg-article-heading{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:16px;}
.kg-article-summary{opacity:.65;font-size:14px;margin-top:6px;}
.kg-article-book{font-weight:800;}
.kg-table tfoot td{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;color:var(--purple);
  background:var(--cream);}
.kg-article-table td{vertical-align:top;font-family:"Plus Jakarta Sans",sans-serif;}
.kg-article-table td > div + div{margin-top:2px;}

.kg-search-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:28px;}
.kg-search-form .kg-input{flex:1 1 240px;min-width:0;}
.kg-search-form .kg-btn{flex-shrink:0;}

/* ── Generisches Formular-Styling (Symfony form_div_layout) ──────────────────
   Für dynamische/umfangreiche Formulare (ActionDay-Anmeldung & -Edit), damit
   die Form-Types unverändert bleiben. */
.kg-form-auto label{display:block;margin-bottom:6px;font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--purpleInk);}
.kg-form-auto input,.kg-form-auto textarea,.kg-form-auto select{
  font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;padding:12px 14px;width:100%;
  border:2px solid rgba(43,20,52,.18);border-radius:12px;background:#fff;color:var(--purpleInk);}
.kg-form-auto input:focus,.kg-form-auto textarea:focus,.kg-form-auto select:focus{outline:none;border-color:var(--purple);}
.kg-form-auto input:focus-visible,.kg-form-auto textarea:focus-visible,.kg-form-auto select:focus-visible{outline:var(--focus-ring);outline-offset:2px;}
.kg-form-auto textarea{min-height:120px;resize:vertical;line-height:1.4;}
.kg-form-auto select{cursor:pointer;}
.kg-form-auto form > div{margin-bottom:16px;}
/* Checkbox-Zeilen inline statt gestapelt */
.kg-form-auto div:has(> input[type="checkbox"]){display:flex;align-items:center;gap:10px;}
.kg-form-auto input[type="checkbox"]{width:20px;height:20px;flex:0 0 auto;accent-color:var(--purple);cursor:pointer;padding:0;}
.kg-form-auto div:has(> input[type="checkbox"]) label{display:inline;margin-bottom:0;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:700;}
.kg-form-auto button{margin-top:8px;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;
  gap:10px;padding:14px 22px;border-radius:999px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;
  font-size:16px;border:0;cursor:pointer;background:var(--purple);color:var(--cream);transition:background .12s ease;}
.kg-form-auto button:hover{background:var(--purpleDeep);}
.kg-form-auto ul{list-style:none;margin:4px 0 0;padding:0;}
.kg-form-auto ul li{color:#b3245e;font-size:13px;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;}

/* ── ActionDay (Anmeldung + Meldungen) ───────────────────────────────────── */
.kg-actionday-hero{text-align:center;margin-bottom:8px;}
.kg-actionday-img{max-width:300px;width:100%;height:auto;display:block;margin:18px auto 0;}
.kg-actionday-desc{margin:24px auto;font-size:17px;line-height:1.6;}
.kg-actionday-desc p{margin:0 0 12px;}
.kg-actionday-form-title{margin:0 0 20px;}
.kg-actionday-privacy{font-size:14px;opacity:.7;font-style:italic;margin:20px 0 0;}
.kg-actionday-msg{text-align:center;}
.kg-actionday-msg-text{font-size:20px;line-height:1.5;margin:14px auto 0;max-width:560px;}

/* ── Kalender-Abo-Box (Termine › Kommende) ───────────────────────────────── */
.kg-cal-subscribe{display:flex;gap:18px;align-items:flex-start;background:var(--cream2);
  border:var(--border);border-radius:20px;padding:24px 28px;margin-bottom:28px;box-shadow:var(--shadow-card);}
.kg-cal-subscribe-icon{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--purple);
  color:var(--cream);display:flex;align-items:center;justify-content:center;}
.kg-cal-subscribe-body{min-width:0;}
.kg-cal-subscribe-title{font-size:clamp(22px,3vw,30px);line-height:1;margin:0 0 6px;}
.kg-cal-subscribe-text{font-size:16px;line-height:1.5;opacity:.85;margin:0 0 16px;max-width:640px;}
.kg-cal-actions{display:flex;gap:12px;flex-wrap:wrap;}
.kg-cal-help{margin-top:16px;font-family:"Plus Jakarta Sans",sans-serif;}
.kg-cal-help summary{cursor:pointer;font-weight:800;font-size:14px;color:var(--purple);}
.kg-cal-help ul{margin:12px 0 0;padding-left:20px;font-size:14px;line-height:1.6;}
.kg-cal-help li{margin-bottom:6px;}
.kg-cal-url{margin:10px 0 0;font-size:13px;word-break:break-all;background:#fff;border:1px solid rgba(43,20,52,.15);
  border-radius:8px;padding:8px 10px;color:var(--purpleInk);}
@media (max-width:520px){ .kg-cal-subscribe{flex-direction:column;padding:20px;} }

/* Sticker-Karte: Untertitel (dezent) + Beschreibung */
.kg-sticker-card-subtitle{font-family:"Fraunces",serif;font-style:italic;font-size:15px;
  opacity:.75;margin-top:4px;position:relative;}
.kg-sticker-card-desc{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;line-height:1.5;
  opacity:.85;margin-top:10px;position:relative;}

/* Helle Tint-Hintergründe (Farbe stark aufgehellt) – für Flächen, auf denen
   farbige Badges/Logos in Vollfarbe abheben sollen (z.B. Gruppen-Header) */
.kg-bg-tint-purple{background:color-mix(in srgb, var(--purple) 15%, #fff);}
.kg-bg-tint-orange{background:color-mix(in srgb, var(--orange) 16%, #fff);}
.kg-bg-tint-yellow{background:color-mix(in srgb, var(--yellow) 20%, #fff);}
.kg-bg-tint-pink{background:color-mix(in srgb, var(--pink) 15%, #fff);}
.kg-bg-tint-sky{background:color-mix(in srgb, var(--sky) 18%, #fff);}
.kg-bg-tint-green{background:color-mix(in srgb, var(--green) 18%, #fff);}

/* ── Mitarbeiter-Detail: Steckbrief + 3 Dinge über mich ──────────────────── */
.kg-steckbrief{margin-top:16px;background:var(--cream2);border-radius:20px;padding:22px 26px;}
.kg-steckbrief-title{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.18em;
  font-weight:800;text-transform:uppercase;color:var(--purple);margin-bottom:14px;}
.kg-steckbrief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;}
.kg-steckbrief-label{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.12em;
  font-weight:800;text-transform:uppercase;color:var(--purple);opacity:.75;}
.kg-steckbrief-value{font-size:18px;color:var(--purpleInk);margin-top:3px;line-height:1.35;font-weight:600;}
@media (max-width:520px){ .kg-steckbrief-grid{grid-template-columns:1fr;} }

.kg-three-things{margin-top:16px;border-radius:20px;padding:24px 26px;}
.kg-three-things--light{color:#fff;}
.kg-three-things-title{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.18em;
  font-weight:800;text-transform:uppercase;margin-bottom:14px;opacity:.8;}
.kg-three-things-item{font-size:18px;line-height:1.4;font-weight:600;}
.kg-three-things-item + .kg-three-things-item{margin-top:12px;}

/* ── Statistik (intern) ─────────────────────────────────────────── */
h1.kg-stat-headline{font-size:clamp(34px,5vw,64px);line-height:.95;margin:14px 0 6px;overflow-wrap:break-word;}
.kg-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.kg-stat-card{background:#fff;border:var(--border);border-radius:20px;padding:22px 20px;box-shadow:var(--shadow-card);}
.kg-stat-card-label{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;letter-spacing:.14em;
  font-weight:800;text-transform:uppercase;opacity:.7;}
.kg-stat-card-value{font-size:clamp(38px,5vw,58px);line-height:1;margin:10px 0 4px;color:var(--purple);}
.kg-stat-card-unit{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;font-weight:700;opacity:.8;}
.kg-stat-card-sub{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;opacity:.6;margin-top:8px;}
.kg-stat-section-title{font-size:24px;margin:0 0 16px;}
.kg-stat-trend-head{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin-bottom:16px;}
.kg-stat-trend-head .kg-stat-section-title{margin:0;}
.kg-stat-range{display:flex;gap:8px;}
.kg-stat-chart-panel{padding:22px;}
.kg-stat-chart-panel [data-controller="statistics-chart"]{position:relative;height:320px;}
@media (max-width:900px){.kg-stat-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.kg-stat-grid{grid-template-columns:1fr;}}

/* ── Rechtliche Seiten (Impressum / Datenschutz) ────────────────── */
h1.kg-legal-title{font-size:clamp(34px,5vw,64px);line-height:.95;margin:14px 0 8px;overflow-wrap:break-word;}
.kg-legal-lead{font-size:18px;opacity:.8;margin:0 0 8px;max-width:640px;}
.kg-legal{max-width:720px;}
.kg-legal h2{font-family:"Fraunces",serif;font-weight:600;font-size:22px;color:var(--purple);
  margin:38px 0 10px;line-height:1.2;}
.kg-legal h2:first-child{margin-top:0;}
.kg-legal p{font-family:"Fraunces",serif;font-size:17px;line-height:1.7;margin:0 0 14px;}
.kg-legal ul{font-family:"Fraunces",serif;font-size:17px;line-height:1.6;margin:0 0 14px;padding-left:22px;}
.kg-legal li{margin-bottom:6px;}
.kg-legal a{color:var(--purple);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;}
.kg-legal a:hover{color:var(--purpleDeep);}
.kg-legal address{font-family:"Fraunces",serif;font-size:17px;line-height:1.7;font-style:normal;
  background:var(--cream);border:2px solid var(--purpleInk);border-radius:16px;padding:16px 20px;margin:0 0 14px;}
.kg-legal-note{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;opacity:.6;margin-top:32px;}
.kg-legal-todo{display:inline-block;background:var(--yellow);color:var(--purpleInk);font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:800;font-size:13px;padding:2px 10px;border-radius:999px;}
