/*
 Theme Name:   Kadence Child – Bamboo Consulting
 Theme URI:    https://staging.bambooconsulting.de
 Description:  Child-Theme für Bamboo Consulting Relaunch 2026
 Author:       Georg Simic
 Author URI:   https://llmo.consulting
 Template:     kadence
 Version:      1.0.7
 Text Domain:  kadence-child
*/


/* =============================================================
   BAMBOO CONSULTING – Custom Theme Styles
   Bamboo Consulting GmbH · bambooconsulting.de
   Georg Simic · georg@llmo.consulting · 2026
   ============================================================= */

/* ── Globale Layout-Variablen ────────────────────────────── */
/* --blog-max-w / --blog-pad-h werden in .bam-blog-hub gesetzt,
   aber auch direkt auf Sektionen (z.B. bam-blog-cta auf Homepage)
   verwendet. Daher global im :root definieren. */
:root {
  --blog-max-w: 1200px;
  --blog-pad-h: clamp(24px, 5vw, 80px);
  --blog-section-gap: 80px;
  --blog-card-radius: 10px;
  /* Einheitliche Hero-Höhe aller Inner Pages (Konsistenz, Über-uns als Maßstab,
     ~75% des 85vh-Homepage-Heros). Desktop: 500px. Mobile-Overrides je Hero (340px). */
  --bam-inner-hero-h: 500px;
  /* Task 1a: Linksbündigkeit mit Logo-Achse.
     Wird jetzt über Kadences eigene --global-content-edge-padding
     Variable gesteuert (siehe Shared Inner-Page Hero Alignment).
     Kein separater Wert mehr nötig — Kadence garantiert pixelgenaue
     Übereinstimmung mit der Header-Logo-Position in allen Viewports. */
  /* Task 1b: Normalisierte Inner-Hero Typografie */
  --bam-hero-h1-size: clamp(28px, 4vw, 48px);
  --bam-hero-h1-lh: 1.12;
  --bam-hero-h1-weight: 800;
  --bam-hero-sub-size: 18px;
  --bam-hero-sub-lh: 1.65;
  --bam-hero-sub-weight: 400;
  --bam-hero-sub-color: rgba(255, 255, 255, 0.9);
}

/* ── FIX #3c: CSS-Variablen für Manrope + Inter (Fallback) ───── */
/* Kadence überschreibt diese Variablen via kadence-global-inline-css
   (geladen nach Child-CSS). Der eigentliche Override passiert via
   bam_force_design_system_css_vars() in functions.php (wp_head Prio 99).
   Diese Deklaration hier dient als Fallback/Dokumentation. */
:root {
  --global-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --global-heading-font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --global-primary-nav-font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Explizit auf Elemente anwenden, damit kein Kadence-Style überschreibt */
body,
input,
select,
optgroup,
textarea {
  font-family: var(--global-body-font-family);
}

h1, h2, h3, h4, h5, h6,
.site-title,
.wp-block-heading {
  font-family: var(--global-heading-font-family);
}

/* DS: Navigation = Label-Rolle = Inter (nicht Heading/Manrope) */
.main-navigation {
  font-family: var(--global-primary-nav-font-family);
}

/* ── FIX #2: Homepage – Kadence Scaffolding entfernen ────────── */
/* Kadence rendert für jede Seite eine `.entry-hero.page-hero-section`
   mit dem Seitentitel. Auf der Homepage (body.home) wollen wir das
   komplett verstecken, damit der Cover-Block full-bleed von oben startet. */

/* 1. Page Title Section ausblenden – alle Seiten mit Custom-Hero */
/* Homepage + alle Custom-Template-Seiten haben eigene Heroes */
.entry-hero.page-hero-section {
  display: none !important;
}

/* 2. Content-Area margins entfernen (Session 35: globale Regel, kein transparenter Header mehr) */
/* Kadence setzt .content-area { margin-top: 5rem } – nicht mehr nötig mit fixem Header */
#primary.content-area {
  margin-top: 0 !important;
}
body.home #primary.content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 3. Entry-Content-Wrap padding entfernen (Kadence setzt padding: 2rem) */
body.home .entry-content-wrap {
  padding: 0 !important;
}

/* 3a. Leistungen-Seite: Standard-Titel ausblenden, Custom-Block-Hero auf ~405px */
body.page-id-7 .entry-hero.page-hero-section {
  display: none !important;
}
.bam-page-hero {
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

/* ── HERO-INTRO BAND ──────────────────────────────────────────
   Nimmt Hero-Überlauftext auf (z.B. EN/Kontakt), wenn der Hero sonst
   über die einheitliche Höhe (--bam-inner-hero-h) hinauswachsen würde.
   Weißer, schmaler Fließtext-Block direkt unter dem Hero. */
.bam-hero-intro {
  background: #ffffff;
  padding: 44px clamp(24px, 5vw, 80px);
}
.bam-hero-intro__inner {
  max-width: 860px;
  margin: 0 auto;
}
.bam-hero-intro p {
  color: #4E341D; /* DS: Tertiär-Braun = Bodytext */
  font-size: 17px;
  line-height: 1.75;
  margin: 0 0 16px;
}
.bam-hero-intro p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .bam-hero-intro { padding: 32px clamp(20px, 5vw, 40px); }
  .bam-hero-intro p { font-size: 16px; }
}

/* Content-Area margin für Leistungen reduzieren */
body.page-id-7 #primary.content-area {
  margin-top: 0 !important;
}
/* Section Gaps zwischen Block-Gruppen auf Leistungen-Seite entfernen */
body.page-id-7 .entry-content > * + * {
  margin-block-start: 0 !important;
}
body.page-id-7 .entry-content > *:first-child {
  margin-top: 0 !important;
}
body.page-id-7 .entry-content > *:last-child {
  margin-bottom: 0 !important;
}
body.page-id-7 .entry.single-entry {
  box-shadow: none !important;
}
/* 3b. Block-Gap zwischen Sektionen auf Homepage entfernen */
body.home .entry-content > * + * {
  margin-block-start: 0 !important;
}
body.home .entry-content > *:first-child {
  margin-top: 0 !important;
}
body.home .entry-content > *:last-child {
  margin-bottom: 0 !important;
}

/* 4. Box-Shadow auf .entry entfernen */
body.home .entry.single-entry {
  box-shadow: none !important;
}

/* 5. Sicherstellen: Hero Cover Block nimmt volle Breite ohne extra Wrapper-Margin */
body.home .entry-content > .wp-block-cover:first-child {
  margin-top: 0 !important;
}

/* ── GLOBAL ─────────────────────────────────────────────────── */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── HERO SECTION ────────────────────────────────────────────── */
.bam-hero {
  position: relative;
  overflow: hidden;
}

/* Hero Background Image: Ken Burns Animation */
.bam-hero__bg,
.bam-hero .wp-block-cover__image-background {
  transform-origin: center center;
  /* Schnell, energetisch — 7s alternate ping-pong */
  animation: bamKenBurns 7s ease-in-out alternate infinite;
  will-change: transform;
  /* Grosszügig oversized damit Ränder niemals sichtbar */
  min-width: 120%;
  min-height: 120%;
  left: -10% !important;
  top: -10% !important;
  width: 120% !important;
  height: 120% !important;
}

@keyframes bamKenBurns {
  0%   { transform: scale(1.05) translate( 0%,     0%  ); }
  100% { transform: scale(1.22) translate(-4.5%,  -3%  ); }
}

@media (prefers-reduced-motion: reduce) {
  .bam-hero__bg,
  .bam-hero .wp-block-cover__image-background,
  .bam-particle,
  .bam-hero .wp-block-cover__image-background {
    animation: none !important;
  }
}

/* ── SLIDER REVOLUTION: Design-System-Fonts erzwingen ──────────
   SR7 wendet idle.fontFamily als Inline-Style an, aber das eigene
   Basis-CSS kann einen anderen Font auf .sr7-layer setzen. Zudem wird
   die codes.css (@font-face) nicht als <style> ausgegeben. Daher
   erzwingen wir die Design-System-Fonts hier via CSS-Spezifität.
   Die @font-face-Deklarationen kommen aus functions.php (Manrope,
   JetBrains Mono) und Kadence (Inter) — alle lokal gehostet. */
/* WICHTIG: Tag-Selektor (sr7-module), KEINE Klasse — SR7 rendert das
   Custom-Element <sr7-module> ohne class="sr7-module". Mit Punkt (.sr7-module)
   griff der Override nie, daher fielen die Layer auf Serif zurueck
   (Browser-Default fuer <h1>/<h2>), da SR7 bei fontdownload=disable selbst
   keine Font-CSS ausgibt. */
sr7-module .sr7-layer,
sr7-module .sr7-layer * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
sr7-module .sr7-layer[id$="-4"],     /* H1 Headline */
sr7-module .sr7-layer[id$="-4"] *,
sr7-module .sr7-layer[id$="-27"],    /* CTA Button */
sr7-module .sr7-layer[id$="-27"] * {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif !important;
}
sr7-module .sr7-layer[id$="-26"],     /* Kicker */
sr7-module .sr7-layer[id$="-26"] *,
sr7-module .sr7-layer[id$="-28"],     /* Scroll-Hint */
sr7-module .sr7-layer[id$="-28"] * {
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
}

/* ── SR7 Hero: Scroll-Hint entfernen (Session 37, 19.06.2026) ──
   Layer uid -28 ("Mehr entdecken ⌄") wird ausgeblendet. Verursachte
   Viewport-/Overlap-Probleme im unteren Hero-Bereich. Non-destruktiv:
   Layer bleibt in SR7 erhalten, nur per CSS verborgen. */
sr7-module .sr7-layer[id$="-28"] {
  display: none !important;
}

/* ── SR7 Hero: Kicker (Layer uid -26) ──
   Feedback 22.06. P1: Kicker von Orange (#D96E00) auf Weiss 70% umgestellt –
   auf dem dunklen Hero war Orange schlecht lesbar. Dezenter dunkler
   Text-Shadow bleibt fuer Lesbarkeit ueber helleren Bildpartien.
   P2a: groesserer Abstand zur Headline (DS "lg" = 24px).
   Alles CSS-Override – Slider NICHT im SR7-Editor speichern. */
sr7-module .sr7-layer[id$="-26"],
sr7-module .sr7-layer[id$="-26"] * {
  color: rgba(255, 255, 255, 0.70) !important; /* P1: Weiss 70% */
  font-weight: 600 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55),
               0 0 2px rgba(0, 0, 0, 0.40) !important;
}
sr7-module[data-alias="parallax-hero1"] .sr7-layer[id$="-26"] {
  margin-bottom: 24px !important; /* P2a: Abstand Kicker -> Headline */
}

/* ── SR7 Hero: Full-Bleed-Hintergrund (Feedback 22.06.) ──
   Das SR7-Grid begrenzt das Haupt-Hintergrundbild (Layer -21) auf die
   2000px-Grid-Breite und zentriert es. Auf Viewports > 2000px (Zoom-Out,
   4K/Ultrawide) entstanden dadurch graue/weisse Seitenstreifen
   (Kundin-Screenshot). Fix: das Bild als Cover-Background auf den
   full-width sr7-content legen und den Grid-Layer transparent schalten
   -> ein Bild, volle Breite, keine Naht. Parallax der Deko-Layer
   (Bambusstange, Bokeh) bleibt erhalten. Root-relative URL = domainunabhaengig. */
sr7-module[data-alias="parallax-hero1"] sr7-content {
  background: url("/wp-content/uploads/2020/03/hintergrund-1.jpg") 50% 50% / cover no-repeat !important;
}
sr7-module[data-alias="parallax-hero1"] sr7-img[id$="-21"] {
  background-image: none !important;
}

/* ── SR7 Hero: Lesbarkeits-Overlay (CSS-only, NICHT im SR7-Editor) ──
   Dezenter dunkler Verlauf über dem wechselnden Foto-Hintergrund, damit
   Headline/Kicker/CTA auch über hellen Bildpartien gut lesbar sind.
   Als ::before auf sr7-content (enthält alle Layer): niedriger z-index,
   liegt ÜBER dem Slide-Foto, aber UNTER den Text-Layern (SR7 vergibt
   diesen positive z-index). pointer-events:none → keine Interaktion
   blockiert. Vollständig reversibel, kein DB-/Editor-Eingriff.
   Verlauf unten/links stärker (dort sitzen Text + Button). */
sr7-module[data-alias="parallax-hero1"] sr7-content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    rgba(20, 28, 33, 0.42) 0%,
    rgba(20, 28, 33, 0.22) 50%,
    rgba(20, 28, 33, 0.08) 100%
  );
}

/* ── SR7 Hero: Mindesthöhe statt Overflow-Hack (Session 37, 19.06.2026) ──
   Ursprünglich schnitt das Modul (.rs-ov-hidden = overflow:hidden) auf
   schmalen Viewports (< ~1300px) den CTA-Button ab, weil die feste
   SR7-Höhe zu klein ist.
   WICHTIG: Wir BEHALTEN das Clipping bewusst – ein overflow:visible würde
   auch die überdimensionierten Parallax-Bild-Layer (sr7-img, 901/836px)
   unten aus der Box ragen lassen (sichtbarer Überhang). Stattdessen geben
   wir dem Modul eine gestaffelte min-height, sodass der Inhalt inkl. Button
   sauber INNERHALB der Box sitzt und das Clipping nur noch die (gewollt)
   überstehenden Bilder kappt. min-height auf die höhenbestimmenden Wrapper
   (Modul + sr7-adjuster = Dokumentfluss, sr7-content = Layer-Box). Gezielt
   nur der Hero (data-alias). Alles per CSS – den Slider NICHT im SR7-Editor
   speichern (löst in dieser 6.7.x/SR7-Engine-Konstellation einen Opacity-
   Bug aus, der den Hero abdunkelt). Werte kompakt, beim Live-Test justiert. */
/* Basis-Mindesthöhe (Feedback 22.06.): Bei breiten, aber NIEDRIGEN Fenstern
   fehlte bisher ein Boden (Min-Height nur per max-width-Query) -> Hero
   kollabierte zur schmalen Letterbox. Diese Basisregel greift bei allen
   Breiten; die max-width-Queries darunter reduzieren fuer kleinere Screens. */
sr7-module[data-alias="parallax-hero1"],
sr7-module[data-alias="parallax-hero1"] sr7-adjuster,
sr7-module[data-alias="parallax-hero1"] sr7-content {
  min-height: 600px !important;
}
@media (max-width: 1300px) {
  sr7-module[data-alias="parallax-hero1"],
  sr7-module[data-alias="parallax-hero1"] sr7-adjuster,
  sr7-module[data-alias="parallax-hero1"] sr7-content {
    min-height: 580px !important;
  }
}
@media (max-width: 1024px) {
  sr7-module[data-alias="parallax-hero1"],
  sr7-module[data-alias="parallax-hero1"] sr7-adjuster,
  sr7-module[data-alias="parallax-hero1"] sr7-content {
    min-height: 540px !important;
  }
}
@media (max-width: 767px) {
  sr7-module[data-alias="parallax-hero1"],
  sr7-module[data-alias="parallax-hero1"] sr7-adjuster,
  sr7-module[data-alias="parallax-hero1"] sr7-content {
    min-height: 480px !important;
  }
}
@media (max-width: 480px) {
  sr7-module[data-alias="parallax-hero1"],
  sr7-module[data-alias="parallax-hero1"] sr7-adjuster,
  sr7-module[data-alias="parallax-hero1"] sr7-content {
    min-height: 440px !important;
  }
}

/* ── SR7 Hero Mobile: Text-Overflow + Deko-Naht (Mobile-Fix 22.06.) ──
   PROBLEM: SR7-Textlayer haben feste Pixelbreiten (Fliesstext -5 = 438px,
   Headline -4 = 380px), die auf schmalen Viewports RECHTS ABGESCHNITTEN werden
   (Slider clippt per overflow:hidden). Zusaetzlich ragen die Parallax-Deko-
   Bilder (Bambusstangen/Bokeh, sr7-img) als sichtbare "Naht" rein.
   FIX (CSS-only, KEIN SR7-Editor, reversibel):
   1) Text-Layer auf Content-Breite begrenzen -> Text bricht im Viewport um.
   2) Deko-Bild-Layer ausblenden -> saubere Flaeche; der Cover-Hintergrund liegt
      auf sr7-content (siehe oben), geht also NICHT verloren. */
@media (max-width: 767px) {
  sr7-module[data-alias="parallax-hero1"] .sr7-layer[id$="-5"],
  sr7-module[data-alias="parallax-hero1"] .sr7-layer[id$="-4"] {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    white-space: normal !important;
  }
  sr7-module[data-alias="parallax-hero1"] sr7-img {
    display: none !important;
  }
}

/* ── HERO PARALLAX (Multi-Layer, replaces Cover-Block Hero) ──── */

/* Container */
.bam-hero-parallax {
  position: relative;
  width: 100%;
  min-height: 85vh;
  min-height: 85svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--global-palette3);
  /* Stack above nothing, below header */
  z-index: 0;
}

/* ── Background Layer ──────────────────────────────────────── */
.bam-hero-parallax__bg {
  position: absolute;
  /* Oversized to accommodate parallax movement + slide-in offset */
  top: -5%;
  left: -15%;
  width: 130%;
  height: 110%;
  z-index: 1;
  will-change: transform;
  /* Initial state: offset right, hidden */
  opacity: 0;
  transform: translateX(100px);
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__bg {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1),
              opacity 1s ease;
}
.bam-hero-parallax.is-settled .bam-hero-parallax__bg {
  transition: none;
}
.bam-hero-parallax__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* ── Gradient Overlay ──────────────────────────────────────── */
.bam-hero-parallax__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    135deg,
    rgba(20, 45, 55, 0.78) 0%,
    rgba(20, 50, 65, 0.50) 45%,
    rgba(20, 50, 65, 0.25) 100%
  );
  pointer-events: none;
}

/* ── Foreground Bamboo Stem ────────────────────────────────── */
.bam-hero-parallax__fg {
  position: absolute;
  right: 8%;
  bottom: -3%;
  top: -3%;
  height: 106%;
  z-index: 3;
  will-change: transform;
  /* Initial state: offset left, hidden */
  opacity: 0;
  transform: translateX(-80px);
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__fg {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1.0s cubic-bezier(0.25, 1, 0.5, 1) 0.15s,
              opacity 0.8s ease 0.15s;
}
.bam-hero-parallax.is-settled .bam-hero-parallax__fg {
  transition: none;
}
.bam-hero-parallax__fg img {
  height: 100%;
  width: auto;
  object-fit: contain;
  display: block;
}

/* ── Ambient Particles ─────────────────────────────────────── */
.bam-hero-parallax__particle {
  position: absolute;
  z-index: 4;
  will-change: transform;
  pointer-events: none;
  /* Initial: hidden, fades in after slide-in */
  opacity: 0;
}
.bam-hero-parallax__particle img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: blur(var(--pt-blur, 10px));
  transform: rotate(var(--pt-rot, 0deg));
  opacity: 1;
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__particle {
  opacity: var(--pt-opacity, 0.15);
  transition: opacity 2s ease var(--pt-delay, 0.8s);
}
.bam-hero-parallax.is-settled .bam-hero-parallax__particle {
  transition: none;
}

/* Particle z-index stacking (closer particles higher) */
.bam-particle--1, .bam-particle--2 { z-index: 4; }
.bam-particle--3, .bam-particle--4 { z-index: 5; }
.bam-particle--5                   { z-index: 6; }

/* ── Text Content Layer ────────────────────────────────────── */
.bam-hero-parallax__content {
  position: relative;
  z-index: 10;
  max-width: 820px;
  padding: 140px 64px 80px;
}

/* H1 */
.bam-hero-parallax__h1 {
  font-family: var(--global-heading-font-family);
  font-size: clamp(40px, 5.5vw, 54px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -1px;
  color: var(--global-palette9);
  margin: 0 0 24px;
  /* Slide-in */
  opacity: 0;
  transform: translateX(-50px);
}
.bam-hero-parallax__h1 em {
  font-style: normal;
  color: var(--global-palette1);
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__h1 {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.35s,
              opacity 0.6s ease 0.35s;
}

/* Body text */
.bam-hero-parallax__body {
  font-size: 18px;
  line-height: 1.75;
  color: rgba(var(--global-palette9rgb), 0.88);
  margin: 0 0 32px;
  /* Slide-in (staggered) */
  opacity: 0;
  transform: translateX(-50px);
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__body {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.5s,
              opacity 0.6s ease 0.5s;
}

/* CTA Actions */
.bam-hero-parallax__actions {
  opacity: 0;
  transform: translateX(-30px);
}
.bam-hero-parallax.is-loaded .bam-hero-parallax__actions {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.65s,
              opacity 0.6s ease 0.65s;
}

/* Scroll Hint (appears last) */
.bam-hero-parallax .bam-scroll-hint {
  opacity: 0 !important;
  margin-top: 56px !important;
}
.bam-hero-parallax.is-loaded .bam-scroll-hint {
  opacity: 1 !important;
  transition: opacity 1s ease 1.8s;
}
/* Pulse/bounce animation is already defined globally for .bam-scroll-hint */

/* Kicker inside parallax hero */
.bam-hero-parallax .bam-kicker {
  /* Slide-in */
  opacity: 0;
  transform: translateX(-30px);
}
.bam-hero-parallax.is-loaded .bam-kicker {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.2s,
              opacity 0.6s ease 0.2s;
  /* Override global kicker color for hero */
  color: rgba(var(--global-palette9rgb), 0.60) !important;
}

/* ── Settled state: remove all transitions for parallax ────── */
.bam-hero-parallax.is-settled .bam-hero-parallax__h1,
.bam-hero-parallax.is-settled .bam-hero-parallax__body,
.bam-hero-parallax.is-settled .bam-hero-parallax__actions,
.bam-hero-parallax.is-settled .bam-kicker {
  transition: none;
}

/* ── Responsive: Mobile ────────────────────────────────────── */
@media (max-width: 768px) {
  .bam-hero-parallax {
    min-height: 80vh;
    min-height: 80svh;
  }
  .bam-hero-parallax__content {
    padding: 120px 24px 60px;
    max-width: 100%;
  }
  .bam-hero-parallax__fg {
    right: -5%;
    bottom: -3%;
    top: auto;
    height: 90%;
    opacity: 0.4;
  }
  .bam-hero-parallax.is-loaded .bam-hero-parallax__fg {
    opacity: 0.4;
  }
  .bam-hero-parallax__fg img {
    height: 100%;
    width: auto;
  }
  /* Fewer, smaller particles on mobile */
  .bam-particle--4,
  .bam-particle--5 {
    display: none;
  }
}

/* ── Reduced Motion ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .bam-hero-parallax__bg,
  .bam-hero-parallax__fg,
  .bam-hero-parallax__particle,
  .bam-hero-parallax__content,
  .bam-hero-parallax__h1,
  .bam-hero-parallax__body,
  .bam-hero-parallax__actions,
  .bam-hero-parallax .bam-kicker,
  .bam-hero-parallax .bam-scroll-hint {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    filter: none !important;
    animation: none !important;
  }
  .bam-hero-parallax__particle {
    opacity: var(--pt-opacity, 0.15) !important;
  }
  .bam-hero-parallax__particle img {
    filter: blur(var(--pt-blur, 10px)) !important;
    transform: rotate(var(--pt-rot, 0deg)) !important;
  }
}

/* ── Safety: hide old Cover Block hero if it still exists ──── */
.bam-hero-parallax ~ #primary .bam-hero {
  display: none !important;
}

/* ── HERO: Floating Particles (legacy, kept as fallback) ─────── */
.bam-particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  will-change: transform, opacity;
}

/* 8 Varianten für natürliche Bewegung */
@keyframes bamFloat1 {
  0%   { transform: translateY(0)    translateX(0)    scale(1);   opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.15); }
  90%  { opacity: var(--p-opacity, 0.15); }
  100% { transform: translateY(-420px) translateX(40px)  scale(0.6); opacity: 0; }
}
@keyframes bamFloat2 {
  0%   { transform: translateY(0)    translateX(0)    scale(1);   opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.12); }
  90%  { opacity: var(--p-opacity, 0.12); }
  100% { transform: translateY(-380px) translateX(-50px) scale(0.5); opacity: 0; }
}
@keyframes bamFloat3 {
  0%   { transform: translateY(0)    translateX(0)    scale(1);   opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.18); }
  90%  { opacity: var(--p-opacity, 0.18); }
  100% { transform: translateY(-350px) translateX(-20px) scale(0.7); opacity: 0; }
}
@keyframes bamFloat4 {
  0%   { transform: translateY(0)    translateX(0)    scale(1);   opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.1); }
  90%  { opacity: var(--p-opacity, 0.1); }
  100% { transform: translateY(-460px) translateX(30px)  scale(0.4); opacity: 0; }
}
@keyframes bamFloat5 {
  0%   { transform: translateY(0)    translateX(0)    scale(1);   opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.14); }
  90%  { opacity: var(--p-opacity, 0.14); }
  100% { transform: translateY(-300px) translateX(-35px) scale(0.8); opacity: 0; }
}
@keyframes bamFloat6 {
  0%   { transform: translateY(0)    translateX(0)    scale(0.8); opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.13); }
  90%  { opacity: var(--p-opacity, 0.13); }
  100% { transform: translateY(-400px) translateX(55px)  scale(0.5); opacity: 0; }
}
@keyframes bamFloat7 {
  0%   { transform: translateY(0)    translateX(0)    scale(1.1); opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.16); }
  90%  { opacity: var(--p-opacity, 0.16); }
  100% { transform: translateY(-440px) translateX(-60px) scale(0.5); opacity: 0; }
}
@keyframes bamFloat8 {
  0%   { transform: translateY(0)    translateX(0)    scale(0.9); opacity: 0; }
  10%  { opacity: var(--p-opacity, 0.11); }
  90%  { opacity: var(--p-opacity, 0.11); }
  100% { transform: translateY(-360px) translateX(15px)  scale(0.65); opacity: 0; }
}

/* Hero inner content padding */
.bam-hero .wp-block-cover__inner-container {
  width: 100%;
  padding: 160px 64px 100px;
}
@media (max-width: 768px) {
  .bam-hero .wp-block-cover__inner-container {
    padding: 120px 24px 64px;
  }
}

/* Kicker / Label */
.bam-kicker,
.bam-section-kicker,
.bam-kicker--light,
.bam-kicker--orange,
.bam-kicker--teal {
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  display: block !important;
}

.bam-kicker {
  color: rgba(255, 255, 255, 0.60) !important;
  margin-bottom: 18px !important;
}

/* H1 em → Orange Akzent (roman, kein Italic – Farbe trägt die Betonung) */
.bam-hero__h1 em {
  font-style: normal;
  color: var(--global-palette1);
}

/* Claim-Zeile */
.bam-hero__claim {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bam-hero__claim::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 1px;
  background: var(--global-palette1);
  opacity: 0.7;
  flex-shrink: 0;
}

/* CTA Button global */
.bam-cta-primary .wp-block-button__link {
  transition: opacity 0.2s ease;
  letter-spacing: -0.1px;
  font-family: var(--global-heading-font-family) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
}
.bam-cta-primary .wp-block-button__link:hover {
  opacity: 0.88;
}

/* ── SECTION KICKER ──────────────────────────────────────────── */
.bam-section-kicker {
  color: #356882 !important;
  margin-bottom: 20px !important;
  opacity: 1.0; /* LS-22: voll deckend */
}

/* Kicker-Selektion: nur bam-social-proof zeigt Kicker auf der Homepage.
   SR7-Hero-Kicker (uid=26) ist davon unabhaengig und wird nicht beruehrt. */
.bam-home-services .bam-section-kicker,
.bam-geo-expert .bam-section-kicker,
.bam-why-section .bam-section-kicker,
.bam-insights-section .bam-section-kicker,
.bam-next-step .bam-section-kicker {
  display: none !important;
}

/* ── LEISTUNGEN-KARTEN ───────────────────────────────────────── */
.bam-leistungen-section .wp-block-column {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bam-leistungen-section .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(41, 47, 51, 0.12);
}

/* ── LEISTUNGEN BILDER ──────────────────────────────────────── */

/* Stillleben: schmales Portrait-Bild als visueller Akzent */
.bam-leistungen-stillleben {
  display: flex;
  justify-content: flex-end;
  padding: 0 clamp(24px, 5vw, 80px) 0;
  margin: -24px 0 0;
  overflow: hidden;
  pointer-events: none;
}
.bam-leistungen-stillleben__fig {
  width: clamp(120px, 14vw, 200px);
  margin: 0;
  flex-shrink: 0;
}
.bam-leistungen-stillleben__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  opacity: 0.88;
}

/* Dashboard: Kontextbild am Ende der CommTech-Box */
.bam-leistungen-dashboard {
  margin: 32px 0 0;
}
.bam-leistungen-dashboard img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 8px;
}

/* ── LEISTUNGEN PAGE ─────────────────────────────────────────── */
/* ── SERVICE CARDS: STRATEGIC LEDGER ─────────────────────────── */

.bam-service-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(41, 47, 51, 0.12);
  border-radius: 4px;
  background-color: transparent;
  padding: 28px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease,
              background-color 0.3s ease, border-color 0.3s ease;
}

/* Watermark-Numeral als visuelle Tiefenschicht */
/* L-02: Badge-Nummerierung (DS Pkt. 10) – sichtbares Badge oben-links, JetBrains Mono */
.bam-card-label {
  /* P6 (Feedback 22.06.): Badge im Fluss (statt absolut) -> definierter Abstand zur Headline */
  position: static;
  display: inline-block;
  align-self: flex-start;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #356882;
  background: #EBF2F6;
  border: 1.5px solid rgba(53, 104, 130, 0.3);
  border-radius: 4px;
  padding: 3px 8px;
  margin: 0 0 24px 0; /* P6: 24px Abstand Badge -> Headline (DS "lg") */
  pointer-events: none;
  user-select: none;
  transition: color 0.2s ease, background 0.2s ease;
}

/* LS-10: Dezentes Bambus-Bildmarke-Icon (Secondary-Blau) oben rechts */
.bam-service-card::after {
  /* P6 (Feedback 22.06.): Bamboo-Icon (Kreis oben rechts) entfernt */
  content: none;
  position: absolute;
  top: 24px;
  right: 24px;
  width: 32px; /* LS-22: 28→32px */
  height: 32px;
  background-image: url('/wp-content/uploads/2026/05/bamboo-circle_secondary-blue.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1.0; /* LS-22: voll deckend */ /* LS-19: 85→90% */
  pointer-events: none;
}

.bam-service-card:hover {
  background-color: var(--global-palette8) !important;
  border-color: var(--global-palette10) !important;
  box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .bam-service-card {
    transition: none;
  }
}

/* Micro-rule vor jedem Service-Titel */
.bam-service-card h3::before {
  /* P6 (Feedback 22.06.): oranger Akzent-Strich ("Punkt" neben Badge) entfernt */
  content: none;
  display: block;
  width: 28px;
  height: 2px;
  background: var(--global-palette1);
  margin-bottom: 12px;
  border-radius: 1px;
}

.bam-service-card h3 {
  margin-bottom: 4px;
  color: var(--global-palette3);
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

/* L-03: h4 Secondary-Blau statt palette2-Orange (DS Pkt. 2: Secondary palette10 für Struktur-Labels) */
.bam-service-card h4 {
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--global-palette10);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bam-service-card ul {
  list-style: none;
  padding: 0;
  margin: auto 0 0;
}

.bam-service-card li {
  margin-bottom: 8px;
  font-size: 14px;
  color: #5A6570;
  padding-left: 16px;
  position: relative;
}

.bam-service-card li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--global-palette1);
  font-weight: 700;
}

/* Dark card (CommTech) – Watermark heller */
.bam-service-card--dark {
  background: var(--global-palette3);
  border-top-color: rgba(242, 130, 2, 0.4);
}
/* Badge auf dauerhaft-dunkler Card */
.bam-service-card--dark .bam-card-label {
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.20);
}
.bam-service-card--dark h3 {
  color: #ffffff;
}
.bam-service-card--dark h3::before {
  background: var(--global-palette1);
}
.bam-service-card--dark h4 {
  color: rgba(255, 255, 255, 0.5);
}
.bam-service-card--dark li {
  color: rgba(255, 255, 255, 0.72);
}
.bam-service-card--dark:hover {
  border-top-color: var(--global-palette1);
  box-shadow: 0 4px 32px rgba(242, 130, 2, 0.15);
}

/* LS-15: Detail-Grid – Content-Width-Container + Padding */
.bam-detail-grid {
  padding-top: 80px; /* LS-24: Abstand zur Social-Proof-Sektion */
  max-width: var(--global-content-width, 1200px) !important;
  margin-inline: auto !important;
  padding-inline: var(--global-content-edge-padding, 1.5rem) !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px) {
  .bam-detail-grid {
    padding-inline: clamp(24px, 5vw, 48px) !important;
  }
}

/* Detail cards */
.bam-detail-card {
  padding: 30px;
  /* P5 (Feedback 22.06.): weisse Karten, damit sie auf der jetzt hellgrauen Detail-Sektion poppen */
  background: #FFFFFF;
  border: 1px solid rgba(41, 47, 51, 0.08);
  border-radius: 6px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.bam-detail-card:hover {
  border-color: var(--global-palette10); /* LS-12: Secondary-Blau statt Orange */
  box-shadow: 0 8px 24px rgba(41, 47, 51, 0.06);
}
.bam-detail-card h3 {
  margin-bottom: 16px;
  color: var(--global-palette3);
  font-family: 'Manrope', sans-serif;
  font-size: 18px;
  font-weight: 700;
}
.bam-detail-card li {
  margin-bottom: 8px;
  font-size: 15px;
  color: #5A6570;
}

/* ── LS-06: LOGO-WAND SOCIAL PROOF (Leistungen) ───────────────── */
/* Eigene Klasse (kein Grayscale, kein Hover) – originale/dunkle Logos
   auf hellgrauem Grund (LS-08). Mausover-frei per Projektvorgabe.     */
.bam-proof-logo-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px 48px;
  padding: 48px 0 8px; /* LS-17: mehr Luft vor Logos (was 36px) */
  margin-top: 8px;
}

.bam-proof-logo-strip img {
  height: 48px; /* LS-17: 36px→48px */
  max-height: 48px;
  width: auto;
  max-width: 180px; /* LS-17: 160px→180px */
  object-fit: contain;
  display: block;
}

@media (max-width: 768px) {
  .bam-proof-logo-strip {
    gap: 24px 32px;
    padding: 36px 0 8px;
  }
  .bam-proof-logo-strip img {
    height: 36px;
    max-height: 36px;
    max-width: 140px;
  }
}

/* ── SOCIAL PROOF / QUOTE CARDS ───────────────────────────────── */
/* L-05: Quote-Cards: Orange → Secondary-Blau (DS Pkt. 7: Akzentstreifen + Anführungszeichen = Blau) */
.bam-quote-card {
  position: relative;
  padding: 36px 28px 28px;
  background: #ffffff; /* LS-08: weißer Card-Background auf Hellgrau */
  border-radius: 0;
  border-top: 2px solid rgba(53, 104, 130, 0.45); /* Secondary-Blau */
}

.bam-quote-card::before {
  content: '\201C';
  position: absolute;
  top: -4px;
  left: 20px;
  font-family: 'Manrope', sans-serif;
  font-size: 56px;
  font-weight: 800;
  color: #356882; /* Secondary-Blau statt Orange */
  opacity: 0.45;
  line-height: 1;
  pointer-events: none;
}

.bam-quote-card p {
  color: #4E341D; /* LS-08: Tertiary (Braun) */
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 16px;
  padding-top: 8px;
}

/* LS-08: Quellenangabe gedimmt-grau auf hellem BG */
.bam-quote-card span {
  color: rgba(41, 47, 51, 0.6);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ── PROCESS / AUDIENCE LISTS ────────────────────────────────── */
.bam-process-section h2,
.bam-content-section h2 {
  color: var(--global-palette3);
}

/* Schritt-Liste: counter-basiertes Editorial-Layout */
.bam-step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: step-counter;
}

.bam-step-list li {
  counter-increment: step-counter;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  align-items: baseline;
  padding: 18px 0;
  border-bottom: 1px solid rgba(41, 47, 51, 0.08);
  color: var(--global-palette3);
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 0;
}

.bam-step-list li:first-child {
  border-top: 1px solid rgba(41, 47, 51, 0.08);
}

.bam-step-list li::before {
  content: counter(step-counter, decimal-leading-zero);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--global-palette10); /* L-07: Secondary-Blau statt Orange (DS Pkt. 10: Badge-Nummern = Grau oder Secondary) */
  letter-spacing: 0.05em;
  padding-top: 2px;
}

/* Zielgruppen-Liste */
.bam-audience-list {
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--global-palette3);
  font-size: 17px;
  line-height: 1.75;
}

.bam-audience-list li {
  padding: 14px 0 14px 24px;
  border-bottom: 1px solid rgba(41, 47, 51, 0.07);
  margin-bottom: 0;
  position: relative;
}

.bam-audience-list li:first-child {
  border-top: 1px solid rgba(41, 47, 51, 0.07);
}

.bam-audience-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: #356882;
  font-weight: 700;
}

/* ── NAVIGATION ──────────────────────────────────────────────── */
/* Sticky Header: Dark Background */
.kadence-sticky-header .site-header-row-inner-wrap {
  background-color: var(--global-palette3) !important;
}

/* Nav Links */
#primary-navigation a {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.1px;
  transition: color 0.2s ease;
}

/* ── FOOTER ──────────────────────────────────────────────────── */
.site-footer {
  background-color: var(--global-palette3) !important;
  color: #8A9BA6;
}
.site-footer a {
  color: #8A9BA6;
  transition: color 0.2s ease;
}
.site-footer a:hover {
  color: var(--global-palette1);
}

/* ── UTILITIES ───────────────────────────────────────────────── */
/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Keine Outline auf Focus für Mausnutzer, aber sichtbar für Tastatur */
:focus:not(:focus-visible) {
  outline: none;
}
:focus-visible {
  outline: 2px solid var(--global-palette1);
  outline-offset: 2px;
}

/* ── POSITIONIERUNGSSEKTION ─────────────────────────────────── */
.bam-positioning .wp-block-columns {
  align-items: start;
}
.bam-positioning .wp-block-column:first-child {
  /* Subtle vertical separator effect on desktop */
}
@media (min-width: 769px) {
  .bam-positioning .wp-block-column:last-child {
    padding-top: 6px;
  }
}

/* ── HOMEPAGE SECTIONS ──────────────────────────────────────── */

/* Section spacing & full-width defaults */
.bam-section {
  padding: 64px 0;
}
/* GEO Expert Box: weniger Padding + Palette-Variable als Background (FH-09) */
.bam-geo-expert {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  background-color: #F2F3F4 !important; /* Design-System-Token "Abgesetzte Sektion" */
}
@media (max-width: 768px) {
  .bam-section {
    padding: 48px 0;
  }
}

/* ── HERO UPDATES ────────────────────────────────────────────── */
.bam-hero .wp-block-cover {
  min-height: 760px !important;
}
@media (max-width: 768px) {
  .bam-hero .wp-block-cover {
    min-height: 100vh !important;
    min-height: 100svh !important;
  }
}

/* Scroll Hint */
.bam-scroll-hint {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 56px !important;
  animation: bamScrollPulse 2.5s ease-in-out infinite;
}
.bam-scroll-hint::before {
  content: '↓';
  display: inline-block;
  margin-right: 8px;
  animation: bamScrollBounce 2.5s ease-in-out infinite;
}
@keyframes bamScrollPulse {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1.0; /* LS-22: voll deckend */ }
}
@keyframes bamScrollBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}
@media (prefers-reduced-motion: reduce) {
  .bam-scroll-hint,
  .bam-scroll-hint::before {
    animation: none;
  }
}

/* ── SILBENTRENNUNG (Karten-Headlines) ──────────────────────── */
/* Feedback 22.06. P2c: Auto-Hyphenation erzeugte haessliche Brueche
   (z. B. "Kom-munikations"). Daher hyphens:manual -> es greift nur das
   weiche Trennzeichen &shy; (gezielt in "Kommunikations&shy;steuerung"
   gesetzt). Andere Headlines brechen normal an Leerzeichen. */
.bam-home-services h3,
.bam-home-services .wp-block-heading {
  hyphens: manual;
  -webkit-hyphens: manual;
  overflow-wrap: break-word;
}

/* Globaler Fallback für alle Sektions-Headlines bei Engstellen (z.B. Karten) */
.bam-section h2,
.bam-section h3 {
  overflow-wrap: break-word;
}

/* ── LEISTUNGEN 4-KARTEN – Option A: Blauer Rahmen + Hellgrau ──────
   Kunden-Mockup 19.06.2026: "Sanfte Interaktion, Markenfarbe Blau
   als Signal. Kicker springt auf Blau."
   - Default: weisses Karten-BG, duenner Grau-Rahmen, Border-Radius 8px
   - Hover:   Hellgrau-BG (palette8) + Teal-Rahmen (palette10)
   - Kicker:  45% Teal (default) -> 100% Teal (hover)
   - H3-Titel bleibt dunkel (kein Orange-Akzent mehr) */
.bam-home-services .wp-block-column {
  border: 1px solid rgba(41, 47, 51, 0.12);
  border-radius: 8px;
  padding: 28px !important;
  min-height: 260px;
  background-color: #ffffff;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.bam-home-services .wp-block-column:hover {
  background-color: var(--global-palette8) !important;
  border-color: var(--global-palette10) !important;
  box-shadow: none !important;
}
/* H3-Titel: bleibt dunkel auf Hover (kein Orange-Akzent) */
.bam-home-services .wp-block-column:hover h3,
.bam-home-services .wp-block-column:hover .wp-block-heading {
  color: var(--global-palette3) !important;
}
/* Kicker springt auf vollen Teal */
.bam-home-services .wp-block-column:hover .bam-card-number {
  color: var(--global-palette10) !important;
  opacity: 1 !important;
}
/* M3: Typografisches Ordnungselement */
.bam-card-number {
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  color: rgba(53, 104, 130, 0.45) !important;
  margin-bottom: 14px !important;
  font-weight: 400 !important;
  white-space: nowrap;
  transition: color 0.25s ease, opacity 0.25s ease;
}

@media (max-width: 1200px) {
  .bam-home-services .wp-block-column {
    padding: 20px 16px !important;
  }
  .bam-card-number {
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
  }
}
@media (max-width: 781px) {
  .bam-card-number {
    font-size: 13px !important;
    letter-spacing: 0.05em !important;
  }
}

/* ── GEO EXPERT BOX (Homepage) ───────────────────────────────── */
/* Hintergrundfarbe wird im Block-Editor gesetzt – kein CSS-Override */
/* Side-Stripe entfernt: Typografie + Leerraum tragen die Box */
.bam-geo-expert-inner {
  max-width: 920px;
}
.bam-geo-expert-inner h2,
.bam-geo-expert-inner h3 {
  color: var(--global-palette3);
  font-size: 28px;
  line-height: 1.35;
}
.bam-geo-expert-inner p {
  color: #5A6570;
  font-size: 18px;
  line-height: 1.75;
}

/* ── SOCIAL PROOF / LOGO STRIP ───────────────────────────────── */
.bam-logo-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 32px !important;
  padding: 32px 0 !important;
}
/* FIX #4: figure auf Einheits-Hoehe + begrenzte Breite begrenzen */
.bam-logo-strip figure.wp-block-image,
.bam-logo-strip .wp-block-image {
  margin: 0 !important;
  flex: 0 0 auto !important;
  max-width: 160px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
}
/* img: einheitliche Hoehe, auto Breite, object-fit */
.bam-logo-strip figure.wp-block-image img,
.bam-logo-strip .wp-block-image img {
  height: 36px !important;
  max-height: 36px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  filter: grayscale(100%) !important;
  opacity: 0.55;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.bam-logo-strip figure.wp-block-image img:hover,
.bam-logo-strip .wp-block-image img:hover {
  filter: grayscale(0%) !important;
  opacity: 1;
}
@media (max-width: 768px) {
  .bam-logo-strip {
    gap: 20px !important;
  }
  .bam-logo-strip figure.wp-block-image,
  .bam-logo-strip .wp-block-image {
    height: 32px !important;
    max-width: 110px !important;
  }
  .bam-logo-strip figure.wp-block-image img,
  .bam-logo-strip .wp-block-image img {
    height: 26px !important;
    max-height: 26px !important;
    max-width: 110px !important;
  }
}

/* ── WARUM BAMBOO (FH-12: Hellgrau statt Dunkelgrau) ─────────── */
.bam-why-section {
  background-color: #F2F3F4 !important; /* Design-System-Token "Abgesetzte Sektion" */
}
.bam-why-section h2,
.bam-why-section h3,
.bam-why-section .wp-block-heading {
  color: var(--global-palette3) !important;
}
.bam-why-section p {
  color: var(--global-palette4) !important;
}
.bam-why-section .bam-section-kicker {
  color: var(--global-palette5) !important;
}
.bam-why-item {
  padding-bottom: 24px !important;
  border-bottom: 1px solid var(--global-palette6) !important;
  margin-bottom: 24px !important;
}
.bam-why-item:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.bam-why-item .bam-card-number {
  /* Teal als Akzent-Farbe (Design-System: Secondary) */
  color: var(--global-palette10) !important;
}

/* Warum-Bamboo: Nummer inline in H3 – heller, auf einer Zeile mit Titel */
.bam-why-heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.bam-why-number {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--global-palette1, var(--global-palette1)) !important;
  flex-shrink: 0;
}

/* ── NEXT STEP / CTA (Teal Section – kompakt wie Blog-CTA) ──── */
.bam-next-step {
  background-color: #356882 !important;
}
.bam-next-step h2,
.bam-next-step .wp-block-heading {
  color: #ffffff !important;
  /* Feedback 23.06.: an .bam-ueber-cta__title der anderen Seiten angleichen.
     Weight 700 lud auf der Homepage nicht (Manrope 700/error -> Fallback-Font);
     800 laedt sauber + ist konsistent zu den uebrigen CTA-Headlines. */
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(24px, 3vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.bam-next-step p {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.bam-next-step .bam-section-kicker {
  color: rgba(255, 255, 255, 0.5) !important;
}
/* Kompakte Person-Card (kleiner als vorher) */
.bam-person-card {
  background: rgba(255, 255, 255, 0.10) !important;
  border-radius: 6px;
  padding: 20px !important;
  min-width: 220px;
  max-width: 240px;
}
.bam-person-card img {
  border-radius: 6px;
  margin-bottom: 12px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover;
  aspect-ratio: 3/4;
  max-height: 240px;
}
.bam-person-card strong,
.bam-person-card .bam-person-name {
  display: block;
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 2px !important;
}
.bam-person-card .bam-person-role {
  display: block;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* ── CTA-PORTRAIT (großes Bild wie Über-Uns, unten bündig) ─────
   Homepage-CTA bam-next-step: Text+Button links, großes Porträt
   rechts, unten bündig mit Sektionsende, obere Ecken gerundet. */
.bam-next-step {
  overflow: hidden;
  padding-bottom: 48px !important; /* Bild frei stehend, konsistent mit Über-uns-CTA */
}
/* Kein Bottom-Margin an Columns/Column, sonst Spalt zum Footer */
.bam-next-step .wp-block-columns,
.bam-next-step .wp-block-columns > .wp-block-column {
  margin-bottom: 0 !important;
}
/* Bildspalte auf volle Reihenhöhe ziehen, Bild an die Unterkante pinnen */
.bam-next-step__cols {
  align-items: stretch !important;
}
.bam-next-step__portrait {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important; /* Feedback 23.06.: vertikal mittig wie andere CTAs */
  align-items: flex-end; /* Karte rechtsbündig */
  padding: 0 !important;
}
.bam-next-step__img {
  margin: 0 !important;
  line-height: 0;
  width: auto; /* Feedback 23.06.: Karte statt full-width */
}
.bam-next-step__img img {
  display: block;
  width: clamp(240px, 30vw, 420px); /* Feedback 23.06.: gleiche Groesse wie Leistungen/Blog/etc. */
  max-height: 340px;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px; /* alle Ecken gerundet, konsistent mit Über-uns-CTA */
  margin-bottom: 0 !important;
}
/* Feedback 23.06.: Bildunterschrift unter Homepage-CTA-Portrait.
   Spezifisch + !important, weil die Figur line-height:0 vererbt und WP
   einen dunklen figcaption-Default setzt -> sonst kollabiert/unleserlich. */
.bam-next-step .bam-next-step__img figcaption.bam-next-step__caption {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.4 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  text-align: left;
  margin-top: 10px;
  max-width: clamp(240px, 30vw, 420px); /* Feedback 23.06.: auf Bildbreite begrenzen -> Umbruch wie andere CTAs */
}
@media (max-width: 768px) {
  .bam-next-step__portrait { display: none !important; }
  .bam-next-step { padding-bottom: 56px !important; }
}

/* ── INSIGHTS (Blog Cards) ───────────────────────────────────── */
.bam-insights-section .wp-block-columns {
  gap: 24px;
}
.bam-insights-section .wp-block-column {
  border: 1px solid rgba(41, 47, 51, 0.12);
  border-radius: 4px;
  padding: 24px !important;
  min-height: 200px;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
/* M2: Kein Lift – Orange Border-Akzent statt translateY */
.bam-insights-section .wp-block-column:hover {
  box-shadow: 0 12px 40px rgba(41, 47, 51, 0.12);
  border-color: var(--global-palette1);
}
.bam-insights-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 24px;
  margin-bottom: 32px !important;
}
.bam-insights-head h2 {
  max-width: 760px;
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  .bam-insights-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ── FOOTER ENHANCEMENTS ─────────────────────────────────────── */
.bam-footer-logo-card {
  background: #F2F3F4 !important;
  border-radius: 6px;
  padding: 20px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
}
.bam-footer-logo-card img {
  max-height: 50px !important;
  width: auto !important;
}



/* ═════════════════════════════════════════════════════════════
   INSIGHTS SECTION – Query Loop Cards
   ═════════════════════════════════════════════════════════════ */

/* Grid-Layout: 3 Spalten mit Gap */
.bam-insights-query .wp-block-post-template {
  gap: 24px;
}

/* Karten-Hintergrund + Hover */
.bam-insights-query .wp-block-post-template > li,
.bam-insights-query .wp-block-post {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid #E8EAED;
}
/* M2: Kein Lift – Orange Border-Highlight + Image-Scale */
.bam-insights-query .wp-block-post-template > li:hover,
.bam-insights-query .wp-block-post:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  border-color: var(--global-palette1);
}

/* Featured Image – exaktes 1200×630 Verhältnis (40:21), kein seitlicher Beschnitt */
.bam-insights-query .wp-block-post-featured-image {
  margin: 0;
  aspect-ratio: 40 / 21; /* 1200×630 = 40:21, nicht 16:9 (1778:1) */
  overflow: hidden;
}
.bam-insights-query .bam-insight-image img,
.bam-insights-query .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 8px 8px 0 0;
  display: block;
  transition: transform 0.4s ease;
}
/* Bild zoomed sanft beim Card-Hover */
.bam-insights-query .wp-block-post-template > li:hover .wp-block-post-featured-image img,
.bam-insights-query .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.04);
}

/* Content-Bereich innerhalb der Karte */
.bam-insights-query .wp-block-post-template > li > :not(.wp-block-post-featured-image),
.bam-insights-query .wp-block-post > :not(.wp-block-post-featured-image) {
  padding-left: 20px;
  padding-right: 20px;
}

/* Category Badge */
.bam-post-category {
  display: inline-block;
  font-family: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #356882;
  background: rgba(53,104,130,0.08);
  padding: 4px 10px;
  border-radius: 4px;
  margin-top: 16px;
}
.bam-post-category a {
  color: #356882;
  text-decoration: none;
}

/* Title */
.bam-insights-query .bam-insight-title,
.bam-insights-query .wp-block-post-title {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}
.bam-insights-query .bam-insight-title a,
.bam-insights-query .wp-block-post-title a {
  color: var(--global-palette3);
  text-decoration: none;
  transition: color 0.2s ease;
}
.bam-insights-query .bam-insight-title a:hover,
.bam-insights-query .wp-block-post-title a:hover {
  color: var(--global-palette1);
}

/* Excerpt */
.bam-insights-query .bam-insight-excerpt,
.bam-insights-query .wp-block-post-excerpt {
  margin-top: 0;
  padding-bottom: 20px;
}

/* Responsive: 2 columns on tablet, 1 on mobile */
@media (max-width: 1024px) {
  .bam-insights-query .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .bam-insights-query .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}


/* ═════════════════════════════════════════════════════════════
   HEADER – Non-transparent, statischer Flow
   - Kein transparent-header mehr (seit Session 35, 19.06.2026)
   - Header ist normales Block-Element vor dem SR7-Slider
   - Hintergrund: #292F33 (Dunkelgrau) – immer sichtbar
   - Sticky via CSS position:sticky (einfach + zuverlässig)
   ═════════════════════════════════════════════════════════════ */

/* Sticky-Header via CSS – kein JS, kein Kadence-Config-Hacking.
   Kadence Core (header.min.css) setzt #masthead { position:relative } –
   unser Child-CSS wird früher geladen, deshalb höhere Spezifität nötig.
   .wp-site-blocks hat overflow:clip (Gutenberg Core) – das bricht sticky,
   daher Override auf visible. */
#masthead,
body #masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Gutenberg setzt overflow:clip auf .wp-site-blocks – bricht position:sticky */
.wp-site-blocks {
  overflow: visible !important;
}

/* Logo-Größe */
.site-branding a.brand img,
.site-branding a.brand img.svg-logo-image {
  max-width: 140px !important;
  width: 140px !important;
  height: auto !important;
}
@media (max-width: 1024px) {
  .site-branding a.brand img,
  .site-branding a.brand img.svg-logo-image {
    max-width: 120px !important;
    width: 120px !important;
  }
}
@media (max-width: 768px) {
  .site-branding a.brand img,
  .site-branding a.brand img.svg-logo-image {
    max-width: 100px !important;
    width: 100px !important;
  }
}

/* Site-Title-Text ausblenden */
.site-branding .site-title {
  display: none;
}

/* Header-Hintergrund: Dunkelgrau auf allen Seiten */
#masthead,
#masthead .site-header-row-container-inner,
#masthead .site-main-header-wrap .site-header-row-container-inner {
  background: var(--global-palette3) !important; /* #292F33 */
}

/* Nav-Links: weiß (auf dunklem Hintergrund) */
/* DS Label-Rolle: Inter Medium/500 (Schrift via --global-primary-nav-font-family) */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
  color: rgba(255, 255, 255, 0.82) !important;
  font-weight: 500 !important;
  transition: color 0.2s ease;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
  color: #ffffff !important;
}

/* Aktiver Menüpunkt: Wort weiß, Unterstrich in Secondary-Blau (global, Feedback 22.06.)
   DS S.5 Pkt.12: "Aktiver Zustand Secondary Blau mit Unterstrich". Auf dunklem Header
   bleibt das Wort weiß (Lesbarkeit), das DS-Blau lebt im Unterstrich-Akzent. */
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.menu-item.current_page_item > a,
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-ancestor > a,
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-parent > a {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-decoration-color: #346882 !important;
  text-underline-offset: 6px !important;
  text-decoration-thickness: 2px !important;
}

/* Header CTA Button */
.header-button-wrap a {
  background-color: var(--global-palette1) !important;
  color: var(--global-palette3) !important;
}

/* Kadence sticky (item-is-fixed): gleiche Farbe, minimal Blur */
#masthead .kadence-sticky-header.item-is-fixed .site-header-row-container-inner {
  background: var(--global-palette3) !important;
  -webkit-backdrop-filter: saturate(180%) blur(8px);
  backdrop-filter: saturate(180%) blur(8px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.07);
}

/* ── NAV ZENTRIERUNG: Kadence-Free-Workaround ──────────────── */
/* main_center ist in Kadence Free nicht verfügbar.
   Navigation wird per position:absolute optisch zentriert;
   EN + Kontakt-Button rücken automatisch rechts in den Flex-Flow.
   Sticky-State (bam-is-sticky / position:fixed) ist unberührt. */

/* Anker für absolute Positionierung der Nav */
.site-main-header-inner-wrap {
  position: relative;
}

/* Logo-Section: nicht expandieren, nur so breit wie das Logo */
.site-header-main-section-left {
  flex: 0 0 auto;
}

/* Rechte Section: füllt den Rest – EN + Button zum rechten Rand */
.site-header-main-section-right {
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
}

/* Nav: absolut horizontal zentriert im Header-Row */
.site-header-section-right .site-header-item-main-navigation {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  display: flex !important;
  align-items: center;
  /* kein z-index nötig: liegt über transparentem Hintergrund, unter nichts */
  pointer-events: auto;
}

/* ── EN UTILITY LINK (äußerst rechts in der Nav) ───────────── */
/* Kleines Sprach-Label, optisch vom Rest getrennt */
.bam-nav-utility > a {
  font-family: var(--global-primary-nav-font-family) !important; /* DS: Navigation = Inter */
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.50) !important;
  padding-left: 20px !important;
  /* Separator-Linie links vom EN-Link */
  border-left: 1px solid rgba(255, 255, 255, 0.18) !important;
  margin-left: 8px !important;
  transition: color 0.2s ease !important;
}
.bam-nav-utility > a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ── KONTAKT CTA-BUTTON IN DER NAV ─────────────────── */
/* Letzter Nav-Item als echter Button mit Orange-Background */
.bam-nav-cta > a {
  background: var(--global-palette1) !important;  /* var(--global-palette1) orange */
  color: var(--global-palette3) !important;       /* var(--global-palette3) dark */
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  margin-left: 12px !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.bam-nav-cta > a:hover {
  background: var(--global-palette2) !important;  /* #C96A00 darker orange */
  transform: translateY(-1px) !important;
  color: var(--global-palette3) !important;
}

/* ── Mobile-Offcanvas: Custom-Nav-Items (EN + Kontakt) normalisieren (Mobile-Fix 22.06.) ──
   Die Desktop-Styles oben (margin-left/border-left/padding mit !important) lecken
   in den Kadence-Drawer (#mobile-drawer .mobile-navigation) -> der orange Kontakt-
   Button ragt ueber den Drawer-Rand, EN sieht uneinheitlich aus. Im Drawer als
   vollbreite, gestackte Items darstellen (kein Overflow). */
@media (max-width: 1024px) {
  .mobile-navigation li.bam-nav-utility,
  .mobile-navigation li.bam-nav-cta {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .mobile-navigation li.bam-nav-utility > a {
    display: block !important;
    margin: 0 !important;
    padding: 1rem 1.5rem !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
  }
  .mobile-navigation li.bam-nav-cta {
    padding: 0.75rem 1.5rem 1rem !important;
  }
  .mobile-navigation li.bam-nav-cta > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: 15px !important;
  }
}

/* ── FH-01: HEADER INNER-WRAP ────────────────────────────────────
   Der site-main-header-inner-wrap sitzt innerhalb von site-container
   (max-width: var(--global-content-width), gesteuert von Kadence).
   Unser max-width:1504px ist harmlos, weil der Parent die Breite
   begrenzt. width:100% stellt sicher, dass der Inner-Wrap den
   Container vollständig ausfüllt. */
#masthead .site-main-header-inner-wrap {
  max-width: 1504px; /* wird durch Parent site-container begrenzt */
  margin-inline: auto;
  width: 100%;
}

/* ── SECTION CONTENT-ALIGNMENT (Viewport > ≈ 1290 px) ────────
   Problem: .bam-section-Inner hatte max-width:1504px → füllt jeden
   Viewport < 1504 px vollständig aus (padding 24 px vom linken Rand).
   Kadences site-container nutzt --global-content-width (dynamisch,
   viewport-abhängig). Das Logo startet deshalb bei breiteren Viewports
   weiter rechts als der Section-Content → sichtbare Fehlausrichtung.

   Fix: beide Systeme auf --global-content-width vereinheitlichen.
   Die Group-Block-Backgrounds bleiben alignfull (volle Breite),
   nur der Inner-Container wird wie Kadences site-container zentriert. */
.bam-section > .wp-block-group__inner-container {
  max-width: var(--global-content-width, 1200px) !important;
  margin-inline: auto;
  width: 100%;
  padding-inline: var(--global-content-edge-padding, 1.5rem);
  box-sizing: border-box;
}
/* Gutenberg setzt auf layout-children margin-left/right:auto + max-width.
   Wir neutralisieren das, damit Inhalte bündig mit dem Logo starten. */
.bam-section > .wp-block-group__inner-container > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}


/* ═════════════════════════════════════════════════════════════
   SR7 HERO – Layout-Alignment + Visuelle Fixes
   (Session 36, 19.06.2026)

   Problem A – Alignment:
   SR7 positioniert Text-Layer via JS-berechnete margin-left aus dem
   Row-x-Wert (50 px) relativ zum 1504 px-Grid (skaliert proportional).
   Kadence's Logo-Container hingegen nutzt --global-content-width
   (dynamisch, viewport-abhängig) + --global-content-edge-padding.
   → Bei unterschiedlichen Viewports stimmt Logo-Kante nie mit Hero-Text.

   Fix: sr7-col-con (der Content-Container innerhalb der SR7-Spalte) wird
   auf exakt dasselbe Grid wie Kadence ausgerichtet; die SR7-eigenen
   margin-left-Werte auf den Kind-Elementen werden genullt.
   --global-content-width wird von Kadence per CSS-Variable laufend
   aktualisiert → pixel-genaue Ausrichtung bei allen Viewport-Breiten.

   Problem B – Overlay/Kontrast:
   Kein Dark-Overlay im SR7 → Text auf hellem Bamboo-Background zu schwach.
   sr7-slide (position:absolute, z-index:5) enthält:
     sr7-mask  (z-index:0) → Background-Bilder
     sr7-row   (z-index:2) → Text-Ebenen
   ::before bei z-index:1 liegt exakt zwischen Background und Text.
   ═════════════════════════════════════════════════════════════ */

/* ── 1. SR7 Content-Container: Kadence-Grid übernehmen ────────── */
sr7-col-con {
  max-width: var(--global-content-width, 1200px) !important;
  margin-left:  auto !important;
  margin-right: auto !important;
  padding-left:  var(--global-content-edge-padding, 1.5rem) !important;
  padding-right: var(--global-content-edge-padding, 1.5rem) !important;
  box-sizing: border-box !important;
}

/* ── 2. SR7-eigene margin-left von Text-Layern nullen ──────────── */
/* SR7 wendet die Row-x-Position (50 px, grid-skaliert) als inline    */
/* margin-left auf jedes direkte Kind von sr7-col-con an. Diese       */
/* werden durch das Container-Padding ersetzt (s. Punkt 1).           */
sr7-col-con > * {
  margin-left: 0 !important;
}

/* ── 3. Kicker-Breite: SR7-fixe Pixel-Breite aufheben ─────────── */
/* SR7 setzt width: 700 px → Kicker bricht auf schmalen Viewports um. */
/* Mit width:auto füllt das <p> den Container-Content-Bereich aus     */
/* (nach Padding) und nutzt die gesamte verfügbare Breite.            */
sr7-col-con > p[id$="-26"] {
  width:     auto !important;
  max-width: 100% !important;
}

/* ── 4. Dark Gradient-Overlay (zwischen Background und Text) ──── */
sr7-slide::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1; /* über sr7-mask (0), unter sr7-row (2) */
  background: linear-gradient(
    105deg,
    rgba(20, 45, 55, 0.70)   0%,
    rgba(20, 50, 65, 0.48)  38%,
    rgba(20, 50, 65, 0.20)  62%,
    transparent            100%
  );
  pointer-events: none;
}

/* ── 5. H1 Text-Shadow: Lesbarkeit auf wechselndem Background ─── */
sr7-col-con > h1,
sr7-col-con > h1 * {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38) !important;
}

/* ── 6. CTA-Button: Box-Shadow + Hover-Transition ─────────────── */
/* SR7 setzt line-height:1px auf den Button-Container-<p> –           */
/* eindeutiger Selektor, unabhängig von Slide-ID.                     */
sr7-col-con > p[style*="line-height: 1px"] a,
sr7-col-con > p[style*="line-height:1px"] a {
  box-shadow: 0 4px 16px rgba(242, 130, 2, 0.28) !important;
  transition: background-color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease !important;
}
sr7-col-con > p[style*="line-height: 1px"] a:hover,
sr7-col-con > p[style*="line-height:1px"] a:hover {
  background-color: #C96A00 !important; /* Orange Dark */
  box-shadow: 0 6px 22px rgba(242, 130, 2, 0.42) !important;
  transform: translateY(-2px) !important;
}


/* ═════════════════════════════════════════════════════════════
   BLOG HUB – home.php Styles
   ═════════════════════════════════════════════════════════════ */

/* ── Shared Utilities ──────────────────────────────────────── */
.bam-blog-hub {
  --blog-max-w: 1200px;
  --blog-pad-h: clamp(24px, 5vw, 80px);
  --blog-section-gap: 80px;
  --blog-card-radius: 10px;
}

/* ── SEKTION 1: Hero ───────────────────────────────────────── */
.bam-blog-hero {
  background: var(--global-palette3); /* Fallback falls kein Bild */
  background-size: cover;
  background-position: center 30%; /* Oberer Bildteil sichtbar */
  background-repeat: no-repeat;
  padding-top: 80px;
  padding-bottom: 64px;
  position: relative;
  overflow: hidden;
  /* LS-20: Inner-Page-Heroes ~405px (~75% Homepage-Hero) */
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
}

/* Dunkles Overlay für Text-Lesbarkeit auf Bild */
.bam-blog-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(41,47,51,0.75) 0%,
    rgba(41,47,51,0.55) 50%,
    rgba(41,47,51,0.65) 100%
  );
  z-index: 0;
  pointer-events: none;
}

.bam-blog-hero__inner {
  max-width: var(--blog-max-w);
  margin-left: 0;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

/* Blog-Hero Kicker (DS-Orange, JetBrains Mono) + Orange-Kursiv-Akzent in H1 (DS Pkt. 8) */
.bam-blog-hero__kicker {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #F28202;
  margin: 0 0 16px;
}
.bam-blog-hero__title em {
  color: #F28202;
  font-style: italic;
}

.bam-blog-hero__title {
  color: var(--global-palette9);
  margin: 0 0 20px;
  max-width: 760px;
}

.bam-blog-hero__subline {
  margin: 0 0 24px;
  max-width: 620px;
}

.bam-blog-hero__body {
  max-width: 680px;
  color: rgba(255,255,255,0.65);
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 36px;
}

.bam-blog-hero__body p { margin: 0 0 12px; }
.bam-blog-hero__body p:last-child { margin-bottom: 0; }

.bam-blog-hero__body a {
  color: var(--global-palette1);
  text-decoration: underline;
  text-decoration-color: rgba(242,130,2,0.4);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.2s;
}
.bam-blog-hero__body a:hover {
  text-decoration-color: var(--global-palette1);
}

/* ── Shared Buttons ────────────────────────────────────────── */
.bam-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--global-palette1);
  color: var(--global-palette3);
  font-family: var(--global-heading-font-family);
  font-weight: 700;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.bam-btn-primary:hover {
  background: var(--global-palette2);
  transform: translateY(-1px);
  color: var(--global-palette3);
  text-decoration: none;
}

.bam-btn-secondary {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: var(--global-palette10);
  font-family: var(--global-heading-font-family);
  font-weight: 600;
  font-size: 15px;
  padding: 12px 24px;
  border-radius: 6px;
  border: 2px solid var(--global-palette10);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.bam-btn-secondary:hover {
  background: var(--global-palette10);
  color: var(--global-palette9);
  text-decoration: none;
}

/* ── SEKTION 2: Kategorie-Filter ───────────────────────────── */
.bam-blog-filter {
  background: var(--global-palette9);
  padding: 56px var(--blog-pad-h) 40px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.bam-blog-filter__inner {
  max-width: var(--blog-max-w);
  margin: 0 auto;
}

.bam-blog-filter__heading {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--global-palette5);
  margin: 0 0 20px;
  font-family: 'JetBrains Mono', monospace;
}

.bam-blog-filter__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bam-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 99px;
  background: var(--global-palette8);
  color: var(--global-palette3);
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.bam-pill:hover {
  background: var(--global-palette7);
  color: var(--global-palette3);
  text-decoration: none;
}
.bam-pill--active, .bam-pill--active:hover {
  background: var(--pill-active-bg, var(--global-palette10));
  color: var(--global-palette9);
  font-weight: 600;
}
.bam-pill__count {
  font-size: 11px;
  opacity: 0.7;
  font-family: 'JetBrains Mono', monospace;
}

/* ── SEKTION 3: Blog-Grid ──────────────────────────────────── */
.bam-blog-grid-section {
  background: var(--global-palette8);
  padding: 56px var(--blog-pad-h) 80px;
}

.bam-blog-grid-section__inner {
  max-width: var(--blog-max-w);
  margin: 0 auto;
}

.bam-blog-grid__label {
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0 0 32px;
}

.bam-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Post-Karte */
.bam-post-card {
  background: var(--global-palette9);
  border-radius: var(--blog-card-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0,0,0,0.06);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.bam-post-card:hover {
  box-shadow: 0 8px 32px rgba(41,47,51,0.08);
  border-color: rgba(0,0,0,0.12);
}

/* Bild */
.bam-post-card__img-link { display: block; }
/* FH-15: Thumbnail-Anschnitt korrigiert — object-fit: contain statt cover,
   damit kein Bildrand beschnitten wird. Hintergrund padding-color füllt den
   minimalen Aspect-Ratio-Unterschied (1024×538 vs 40/21) aus. */
.bam-post-card__img-wrap {
  aspect-ratio: 40 / 21; /* 1200×630 = 40:21 */
  overflow: hidden;
  background: var(--global-palette7);
}
.bam-post-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}
.bam-post-card:hover .bam-post-card__img {
  transform: scale(1.04);
}
.bam-post-card__img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Body */
.bam-post-card__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Kategorie-Badge */
.bam-post-card__cat {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 99px;
  text-decoration: none;
  margin-bottom: 12px;
  align-self: flex-start;
  transition: opacity 0.2s;
}
.bam-post-card__cat:hover { opacity: 0.75; text-decoration: none; }

/* Titel */
.bam-post-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--global-palette3);
  margin: 0 0 10px;
}
.bam-post-card__title a {
  color: inherit;
  text-decoration: none;
}
.bam-post-card__title a:hover { color: var(--global-palette10); }

/* Excerpt */
.bam-post-card__excerpt {
  font-size: 14px;
  color: var(--global-palette5);
  line-height: 1.65;
  margin: 0 0 16px;
  flex: 1;
}

/* Footer */
.bam-post-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,0.05);
}

.bam-post-card__date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--global-palette6);
}

.bam-post-card__read-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--global-palette10);
  text-decoration: none;
  transition: gap 0.2s, color 0.2s;
}
.bam-post-card__read-more:hover {
  gap: 8px;
  text-decoration: none;
  color: var(--global-palette1);
}
.bam-post-card__read-more svg { flex-shrink: 0; }

/* Paginierung */
.bam-blog-pagination {
  margin-top: 56px;
  display: flex;
  justify-content: center;
}
.bam-blog-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.bam-blog-pagination .page-numbers li { display: block; }
.bam-blog-pagination .page-numbers a,
.bam-blog-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 6px;
  background: var(--global-palette9);
  color: var(--global-palette3);
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.bam-blog-pagination .page-numbers a:hover {
  background: var(--global-palette8);
}
.bam-blog-pagination .page-numbers .current {
  background: var(--global-palette10);
  color: var(--global-palette9);
  font-weight: 700;
}

/* Empty state */
.bam-blog-empty {
  text-align: center;
  padding: 80px 20px;
  color: var(--global-palette5);
  font-size: 16px;
}
.bam-blog-empty .bam-btn-secondary { margin-top: 20px; }

/* ── SEKTION 4: Newsletter ─────────────────────────────────── */
.bam-blog-newsletter {
  display: none; /* Vor Go-Live ausgeblendet – Brevo-Integration steht aus */
  background: var(--global-palette3);
  padding: 72px var(--blog-pad-h);
}

.bam-blog-newsletter__inner {
  max-width: var(--blog-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

/* Kicker-Styling beibehalten (wird von anderen Sektionen genutzt) */
.bam-kicker--light {
  color: var(--global-palette1) !important;
  margin-bottom: 12px !important;
}

.bam-blog-newsletter__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: var(--global-palette9);
  margin: 0 0 10px;
}

.bam-blog-newsletter__sub {
  color: rgba(255,255,255,0.7);
  font-size: 15px;
  margin: 0;
  line-height: 1.65;
}

.bam-newsletter-form__row {
  display: flex;
  gap: 8px;
}

.bam-newsletter-form__input {
  flex: 1;
  padding: 14px 18px;
  background: rgba(255,255,255,0.08);
  color: var(--global-palette9);
  font-size: 15px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
  outline: none;
  font-family: 'Inter', sans-serif;
  transition: background 0.2s, border-color 0.2s;
}
.bam-newsletter-form__input::placeholder { color: rgba(255,255,255,0.4); }
.bam-newsletter-form__input:focus { 
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
}

.bam-newsletter-form__btn {
  padding: 14px 22px;
  background: var(--global-palette1);
  color: var(--global-palette3);
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
}
.bam-newsletter-form__btn:hover { background: var(--global-palette2); }

.bam-newsletter-form__micro {
  margin-top: 10px;
  font-size: 12px;
  color: rgba(255,255,255,0.4);
}

/* ── SEKTION 5: CTA-Box (Teal) ─────────────────────────────── */
.bam-blog-cta {
  background: var(--global-palette10);
  padding: 80px var(--blog-pad-h) 48px; /* bottom 48px = Portrait frei, wie Leistungen */
  overflow: hidden;
}

.bam-blog-cta__inner {
  max-width: var(--blog-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center; /* konsistent zu .bam-ueber-cta (Task 3a) */
}

.bam-blog-cta__content {
  padding-bottom: 80px;
}

.bam-blog-cta__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: var(--global-palette9);
  margin: 0 0 18px;
  line-height: 1.2;
  max-width: 560px;
  /* Deutsche Silbentrennung statt willkürlichem Zeilenumbruch */
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 8 4 4;
  overflow-wrap: normal;
}

.bam-blog-cta__text {
  color: rgba(255,255,255,0.8);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 520px;
}

.bam-blog-cta__portrait img {
  display: block;
  width: clamp(240px, 30vw, 420px);
  max-height: 340px; /* wie Leistungen */
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: 8px; /* alle Ecken – konsistent zu Leistungen */
  object-fit: cover;
  object-position: center center;
  filter: brightness(0.95);
}
/* Feedback 23.06.: Bildunterschrift unter CTA-Portrait (Blog) */
.bam-blog-cta__portrait-figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bam-blog-cta__portrait-caption {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.75);
  max-width: clamp(240px, 30vw, 420px);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bam-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .bam-blog-newsletter__inner { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
  .bam-blog-hero { padding-top: 100px; padding-bottom: 56px; min-height: 340px; /* LS-20 mobile */ }
  .bam-blog-grid { grid-template-columns: 1fr; }
  .bam-blog-cta__inner { grid-template-columns: 1fr; }
  .bam-blog-cta__portrait { display: none; }
  .bam-blog-cta__content { padding-bottom: 56px; }
  .bam-newsletter-form__row { flex-direction: column; }
  .bam-newsletter-form__btn { width: 100%; text-align: center; }
  .bam-blog-filter { padding: 40px var(--blog-pad-h) 28px; }
  .bam-blog-grid-section { padding: 40px var(--blog-pad-h) 56px; }
}

/* ── FH-08: INLINE CTA – Design-System-Konform (19.06.2026) ──────
   Kunden-Mockup: Hellgrau-Karte auf weissem Section-Hintergrund.
   Design System Regel 9: "Weiss und Hellgrau wechseln ab.
   Blau und Dunkelgrau sparsam – max. 1-2x pro Seite."
   -> Kein Dark-Band! Dunkelgrau (#292F33) nur fuer Header/Footer.
   Rhythmus: Weiss (Leistungen) -> Weiss+Karte (CTA) -> Hellgrau (GEO)
   -> Weiss (Testimonials) -> Hellgrau (Warum) -> Weiss (Blog) -> Teal */

/* Section: weisser Hintergrund (transparent = parent's Weiss) */
/* padding-bottom: 88px damit der Abstand CTA→GEO dem Abstand GEO→Social-Proof entspricht */
.bam-inline-cta-section {
  background-color: transparent !important;
  /* P3 (Feedback 22.06.): einheitlicher Abstand ober-/unterhalb des Zwischen-CTAs.
     Gap oben = Services-padding-bottom (48px) + hier 0; Gap unten = hier 48px. */
  padding-top: 0 !important;
  padding-bottom: 48px !important;
}
/* Services-Sektion endet kompakter (48px), damit der Zwischen-CTA gleichmaessig anschliesst */
.bam-home-services {
  padding-bottom: 48px !important;
}
/* Gutenberg-Default-Margin des Columns-Blocks (~30px) raus, sonst Gap oben != 48px */
.bam-home-services .wp-block-columns {
  margin-bottom: 0 !important;
}

/* Karte: Hellgrau #F2F3F4 (Design-System-Token "Abgesetzte Sektion") */
.bam-inline-cta {
  background-color: #F2F3F4 !important;
  border-radius: 8px !important;
  padding: 24px 36px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  width: 100%;
  box-sizing: border-box;
}

.bam-inline-cta__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bam-inline-cta__title {
  font-family: var(--global-heading-font-family, 'Manrope', sans-serif);
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--global-palette3) !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

.bam-inline-cta__text {
  font-size: 15px !important;
  color: var(--global-palette5) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.bam-inline-cta__action {
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .bam-inline-cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px !important;
    gap: 20px;
  }
  .bam-inline-cta__action {
    width: 100%;
  }
  .bam-inline-cta__action .bam-btn-primary {
    display: flex;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SHARED INNER-PAGE HERO ALIGNMENT + TYPOGRAPHY (Task 1a & 1b)
   Alle 6 Inner-Page Heroes: Kontakt, Leistungen, Über uns,
   Schwerpunkte, English, Blog.
   ═══════════════════════════════════════════════════════════════ */

/* Bündigkeit Hero-Text ↔ visuelle Logo-Kante (alle Inner Pages, alle Viewports).
   Die Heros sind full-width (Background spannt komplett), Logo/Header sitzen aber
   in Kadences zentriertem Container (max-width: --global-content-width = 1290px).
   Drei Komponenten, damit der Text-Start exakt auf der Logo-Glyphe landet:
   1) Container-Zentrierung: oberhalb der Content-Width zentriert Kadence den
      Header → Logo rückt nach rechts. max(0px,(100% - content-width)/2) bildet
      exakt diese Zentrier-Marge nach. % ist relativ zum full-width Parent →
      scrollbar-sicher (anders als 100vw). Unterhalb Content-Width = 0.
   2) + var(--global-content-edge-padding): Kadences responsives Container-Padding
      (deckungsgleich mit der Logo-Img-Box-Kante).
   3) + Glyphen-Inset (--bam-logo-inset): Wordmark-SVG hat 14/300 = 4,667 %
      internen Whitespace links. Logo skaliert responsiv (140/120/100px) → Inset
      je Breakpoint 6,5 / 5,6 / 4,7px (per Pixel-Scan gemessen).
   Gleiches Container-Grid-Prinzip wie der Homepage-SR7-Hero (sr7-col-con oben). */
.bam-kontakt-hero,
.bam-leistungen-hero,
.bam-ueber-hero,
.bam-schwerpunkte-hero,
.bam-english-hero,
.bam-blog-hero {
  --bam-logo-inset: 6.5px; /* Logo 140px */
  padding-left: calc(
    max(0px, (100% - var(--global-content-width, 1290px)) / 2)
    + var(--global-content-edge-padding, 1.5rem)
    + var(--bam-logo-inset)
  );
  padding-right: calc(
    max(0px, (100% - var(--global-content-width, 1290px)) / 2)
    + var(--global-content-edge-padding, 1.5rem)
  );
}
@media (max-width: 1024px) {
  .bam-kontakt-hero,
  .bam-leistungen-hero,
  .bam-ueber-hero,
  .bam-schwerpunkte-hero,
  .bam-english-hero,
  .bam-blog-hero {
    --bam-logo-inset: 5.6px; /* Logo 120px */
  }
}
@media (max-width: 768px) {
  .bam-kontakt-hero,
  .bam-leistungen-hero,
  .bam-ueber-hero,
  .bam-schwerpunkte-hero,
  .bam-english-hero,
  .bam-blog-hero {
    --bam-logo-inset: 4.7px; /* Logo 100px */
  }
}

/* H1 Typografie-Normalisierung */
.bam-kontakt-hero__title,
.bam-leistungen-hero__title,
.bam-ueber-hero__title,
.bam-schwerpunkte-hero__title,
.bam-english-hero__title,
.bam-blog-hero__title {
  font-family: 'Manrope', sans-serif;
  font-size: var(--bam-hero-h1-size);
  font-weight: var(--bam-hero-h1-weight);
  line-height: var(--bam-hero-h1-lh);
}

/* Subline Typografie-Normalisierung */
.bam-kontakt-hero__subline,
.bam-leistungen-hero__subline,
.bam-ueber-hero__subline,
.bam-schwerpunkte-hero__subline,
.bam-english-hero__subline,
.bam-blog-hero__subline {
  font-size: var(--bam-hero-sub-size);
  font-weight: var(--bam-hero-sub-weight);
  line-height: var(--bam-hero-sub-lh);
  color: var(--bam-hero-sub-color);
}


/* ═════════════════════════════════════════════════════════════
   KONTAKT-SEITE – page-kontakt.php Styles
   ═════════════════════════════════════════════════════════════ */

/* ── SEKTION 1: Hero ───────────────────────────────────────── */
.bam-kontakt-hero {
  background:
    linear-gradient(rgba(41, 47, 51, 0.82), rgba(41, 47, 51, 0.82)),
    url('/wp-content/uploads/2026/05/melanie-lammers-bamboo-kontakt-hero.jpg')
    no-repeat center 50%;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 64px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: start;
  align-content: start;
  max-width: 100%;
  overflow: hidden;
  /* LS-20: Inner-Page-Heroes ~405px (~75% Homepage-Hero) */
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
}

.bam-kontakt-hero__inner {
  max-width: 720px;
  position: relative;
  z-index: 1;
}

/* L-09: Kicker auf Inner-Page-Heros entfernt (Ticket 2a).
   Einziger verbleibender Hero-Kicker: EN-Seite (page-english.php) – bewusst ORANGE
   (Kundenwunsch 22.06., bereits für eine andere Seite mit der Kundin abgestimmt). */
.bam-kicker--orange {
  color: var(--global-palette1) !important;
  margin-bottom: 16px;
}

.bam-kontakt-hero__title {
  color: #ffffff;
  margin: 0 0 20px;
}

.bam-kontakt-hero__subline {
  margin: 0 0 24px;
}

.bam-kontakt-hero__body {
  color: rgba(255,255,255,0.6);
  font-size: 15px;
  line-height: 1.75;
}
.bam-kontakt-hero__body p { margin: 0 0 12px; }
.bam-kontakt-hero__body p:last-child { margin-bottom: 0; }

/* Hero-Badges (rechts) */
.bam-kontakt-hero__badges {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.bam-hero-badge {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 20px 28px;
  text-align: center;
  min-width: 150px;
}
.bam-hero-badge--1 { border-top: 3px solid var(--global-palette1); }
.bam-hero-badge--2 { border-top: 3px solid #356882; }

.bam-hero-badge__num {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 6px;
}
.bam-hero-badge__label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ── SEKTION 2: Formular + Info (2-spaltig) ────────────────── */
.bam-kontakt-main {
  background: #ffffff;
  padding: 72px clamp(24px,5vw,80px);
}

.bam-kontakt-main__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 64px;
  align-items: start;
}

.bam-kontakt-col-title {
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0 0 28px;
}

/* Formular */
.bam-contact-form { display: flex; flex-direction: column; gap: 20px; }

.bam-form-row--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.bam-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bam-form-group label {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--global-palette3);
  letter-spacing: 0.02em;
}
.bam-form-group label span[aria-hidden] { color: #C0392B; margin-left: 2px; } /* KB-05: Pflichtfeld-Sternchen Error-Rot (Design-System Pkt. 1) */

.bam-form-optional {
  font-weight: 400;
  color: var(--global-palette6); /* Subtle Text #8A9BA6 statt generisches Grau */
  font-size: 12px;
}

/* Text-Inputs: Checkbox bewusst ausschließen (sonst würde width:100% +
   appearance:none die Checkbox zum großen leeren Kasten aufblähen). */
.bam-form-group input:not([type="checkbox"]),
.bam-form-group textarea {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: var(--global-palette3);
  background: #fafafa;
  border: 1.5px solid #d8d8d8;
  border-radius: 8px;
  padding: 12px 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}
.bam-form-group input:not([type="checkbox"]):focus,
.bam-form-group textarea:focus {
  outline: none;
  border-color: #356882;
  box-shadow: 0 0 0 3px rgba(53,104,130,0.12);
  background: #ffffff;
}
.bam-form-group textarea { resize: vertical; min-height: 130px; line-height: 1.6; }

/* ── Datenschutz-Checkbox: kompaktes Custom-Control mit klarem Checked-State ── */
.bam-form-group--checkbox .bam-form-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  color: var(--global-palette4); /* DS Body Tertiär */
}
.bam-form-group--checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 1px 0 0; /* an erster Textzeile ausrichten */
  border: 1.5px solid #c2c2c2;
  border-radius: 5px;
  background: #ffffff;
  cursor: pointer;
  position: relative;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.bam-form-group--checkbox input[type="checkbox"]:hover {
  border-color: var(--global-palette10);
}
.bam-form-group--checkbox input[type="checkbox"]:focus-visible {
  outline: none;
  border-color: var(--global-palette10);
  box-shadow: 0 0 0 3px rgba(53,104,130,0.25);
}
/* Aktiviert: gefüllter Teal-Kasten + weißes Häkchen → eindeutiges Feedback */
.bam-form-group--checkbox input[type="checkbox"]:checked {
  background: var(--global-palette10);
  border-color: var(--global-palette10);
}
.bam-form-group--checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
/* Fehlerzustand: nur die Checkbox rot umranden (kein großes rosa Feld mehr) */
.bam-form-group--checkbox.bam-form-group--error input[type="checkbox"] {
  border-color: #C0392B;
}
.bam-form-group--checkbox .bam-form-checkbox-label a { color: var(--global-palette10); }

/* Honeypot (Anti-Spam): für Menschen unsichtbar, nur Bots füllen es aus.
   Off-screen statt display:none – robuster gegen Bots, die hidden-Felder überspringen. */
.bam-form-hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Fehler-Zustand */
.bam-form-group--error input,
.bam-form-group--error textarea {
  border-color: #d0372d;
  background: #fff8f7;
}
.bam-form-group--error input:focus,
.bam-form-group--error textarea:focus {
  box-shadow: 0 0 0 3px rgba(208,55,45,0.12);
}
.bam-form-group__error {
  font-size: 12px;
  color: #C0392B; /* DS Error-Rot (konsistent zu Pflichtfeld-Sternchen) */
  font-weight: 500;
}

/* Submit-Bereich */
.bam-form-submit-row { display: flex; flex-direction: column; gap: 12px; }

.bam-btn-primary--full { width: 100%; justify-content: center; font-size: 16px; padding: 15px 28px; }

.bam-form-micro {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--global-palette6); /* Subtle Text #8A9BA6 */
  margin: 0;
}
.bam-form-micro svg { flex-shrink: 0; color: var(--global-palette6); }

/* Erfolgs-Banner */
.bam-form-success {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #f0faf4;
  border: 1.5px solid #4caf7d;
  border-radius: 10px;
  padding: 20px 22px;
  color: #1a6b3a;
}
.bam-form-success svg { flex-shrink: 0; margin-top: 2px; stroke: #4caf7d; }
.bam-form-success strong { display: block; font-size: 16px; margin-bottom: 4px; }
.bam-form-success p { margin: 0; font-size: 14px; color: #2d7a4a; }

/* Fehler-Banner */
.bam-form-error-banner {
  background: #fff8f7;
  border: 1.5px solid #d0372d;
  border-radius: 10px;
  color: #C0392B; /* DS Error-Rot */
  margin-bottom: 4px;
}
.bam-form-error-banner a { color: #C0392B; text-decoration: underline; }

/* Rechte Spalte: Person + Info */
/* ── KB-03b: Ansprechpartnerin als EIN zusammenhängendes Karten-Modul ──
   Einheitlicher Hellgrau-Hintergrund (#F2F3F4), Foto direkt integriert (kein
   eigener Schatten/Border-Kontrast), gleichmäßiger interner Abstand, Kontakt
   + LinkedIn durch subtile Hairlines abgesetzt – bleibt visuell EINE Karte. */
.bam-kontakt-card {
  background: #F2F3F4; /* DS Hellgrau (palette7) */
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.bam-kontakt-card__img-wrap {
  width: 100%;
  aspect-ratio: 4 / 5; /* Hochformat – entspricht ~Originalproportion (340×420), kaum Crop */
  border-radius: 8px;
  overflow: hidden;
  /* bewusst OHNE Schatten/Border – Foto sitzt direkt in der Karte (KB-03b) */
}
.bam-kontakt-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.bam-kontakt-person__name {
  font-family: 'Manrope', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--global-palette3);
}
.bam-kontakt-person__role {
  font-size: 14px;
  color: var(--global-palette10);
  font-weight: 500;
  margin-top: 2px;
}
.bam-kontakt-person__company {
  font-size: 13px;
  color: var(--global-palette5); /* Medium Text #5A6570 */
  margin-top: 2px;
}

/* Kontaktzeilen: Teil derselben Karte, durch subtile Hairline gegliedert */
.bam-kontakt-card__contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid rgba(41, 47, 51, 0.10);
}
.bam-kontakt-info-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.bam-kontakt-info-icon {
  flex-shrink: 0;
  color: var(--global-palette10);
  margin-top: 1px;
}
.bam-kontakt-info-text {
  font-size: 14px;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  line-height: 1.55;
  font-style: normal;
}
.bam-kontakt-info-link {
  color: var(--global-palette3);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}
.bam-kontakt-info-link:hover { color: var(--global-palette10); }

/* LinkedIn: ebenfalls in der Karte, durch Hairline abgesetzt */
.bam-kontakt-card__linkedin {
  padding-top: 20px;
  border-top: 1px solid rgba(41, 47, 51, 0.10);
}
.bam-kontakt-linkedin-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--global-palette10); /* KB-03c: Secondary-Blau */
  text-decoration: none;
  transition: opacity 0.2s;
}
.bam-kontakt-linkedin-link:hover { opacity: 0.75; text-decoration: none; }

/* ── SEKTION 3: Karte ──────────────────────────────────────── */
.bam-kontakt-map { background: #ffffff; }

.bam-kontakt-map__header {
  padding: 0 clamp(24px,5vw,80px) 20px;
  border-top: 1px solid #ebebeb;
  padding-top: 40px;
}
.bam-kontakt-map__header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bam-kontakt-map__title {
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0;
}

.bam-kontakt-map__directions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #356882;
  text-decoration: none;
  transition: color 0.2s;
}
.bam-kontakt-map__directions:hover { color: var(--global-palette1); text-decoration: none; }

.bam-kontakt-map__embed { line-height: 0; }
.bam-kontakt-map__embed iframe { display: block; width: 100%; border: 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bam-kontakt-main__inner { grid-template-columns: 1fr; gap: 48px; }
  .bam-kontakt-hero { grid-template-columns: 1fr; }
  .bam-kontakt-hero__badges { flex-direction: row; }
}

@media (max-width: 640px) {
  .bam-kontakt-hero { padding-top: 100px; padding-bottom: 56px; min-height: 340px; /* LS-20 mobile */ }
  .bam-kontakt-hero__badges { display: none; }
  .bam-form-row--2col { grid-template-columns: 1fr; }
  .bam-kontakt-map__header-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ═══════════════════════════════════════════════════════════════
   LEISTUNGEN – page-leistungen.php Styles
   ═══════════════════════════════════════════════════════════════ */

/* ── HERO ──────────────────────────────────────────────────────── */
.bam-leistungen-hero {
  position: relative;
  /* P4 (Feedback 22.06.): Hero-Foto -> Bambuswald (Froschperspektive, iStock),
     gleiches Motiv wie EN-Hero. Leichter dunkler Verlauf-Overlay -> weisse Headline lesbar. */
  background:
    linear-gradient(180deg, rgba(41,47,51,0.72) 0%, rgba(41,47,51,0.62) 55%, rgba(41,47,51,0.55) 100%),
    url('/wp-content/uploads/2026/06/iStock-589566952-bea.webp')
    no-repeat center center;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* wie alle anderen Inner-Heros → konsistenter Header→H1-Abstand */
  align-items: flex-start;
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
  overflow: hidden;
}

/* Subtiles Punkt-Raster als visuelle Tiefe im Hero */
.bam-leistungen-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: 14px 14px;
  z-index: 0;
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.4) 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.4) 100%);
}

/* Hero-Kinder über Textur-Layer */
.bam-leistungen-hero > * {
  position: relative;
  z-index: 1;
}

.bam-leistungen-hero__inner {
  max-width: 900px; /* gleiche Textbreite wie Schwerpunkte/English-Hero */
}

.bam-leistungen-hero__title {
  color: #ffffff;
  margin: 0 0 20px;
}

/* Subzeile weiß (DS Pkt. 11: Headline Weiß) – konsistent zu Schwerpunkte/English.
   Orange-Akzent der Headline sitzt im <em> der ersten Zeile (DS Pkt. 8: 1 Akzent). */
.bam-leistungen-hero__title-sub {
  color: #ffffff;
}

.bam-leistungen-hero__subline {
  margin: 0 0 32px;
  max-width: 800px; /* wie Schwerpunkte/English → Fließtext 3-zeilig, Hero-Höhe = 500px */
}

.bam-leistungen-hero__sidebar {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
  padding-top: 8px;
}

.bam-leistungen-hero__stats {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.bam-leistungen-hero__stillleben {
  margin: 20px 0 0;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
}

.bam-leistungen-hero__stillleben img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: center top;
  opacity: 1.0; /* LS-22: voll deckend */
}

/* ── INTRO SECTION ──────────────────────────────────────────────── */
.bam-leistungen-intro {
  background: #ffffff;
  padding: 80px clamp(24px, 5vw, 80px);
}

.bam-leistungen-intro__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.bam-leistungen-intro__grid {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 48px;
  align-items: start;
}

.bam-leistungen-intro__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: var(--global-palette3);
  line-height: 1.2;
  margin: 0;
}

/* Orange Akzent-Linie unter Intro-Titel */
.bam-leistungen-intro__title::after {
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: var(--global-palette1);
  border-radius: 2px;
  margin-top: 18px;
}

/* L-04: Bodytext Tertiary Braun #4E341D (DS Pkt. 3: Body = Inter, Tertiary) */
.bam-leistungen-intro__body p {
  font-size: 18px;
  line-height: 1.8;
  color: var(--global-palette4); /* #4E341D Tertiary Braun statt Neutral Dunkelgrau */
  margin: 0 0 20px;
}

.bam-leistungen-intro__body p:last-child {
  margin-bottom: 0;
}

/* LS-16: Durchgängiges responsives Seiten-Padding für Gutenberg-Sektionen */
.bam-leistungen-blocks .wp-block-group__inner-container {
  padding-inline: clamp(24px, 5vw, 80px);
  box-sizing: border-box;
}
.bam-leistungen-blocks .wp-block-columns:not(.bam-detail-grid) {
  padding-inline: clamp(24px, 5vw, 80px);
  box-sizing: border-box;
}
/* Feedback 22.06. & 23.06.: Sektion fuer die Detailboxen (Was das konkret bedeutet)
   Wir wrappen diese in .bam-detail-section, damit sie einen grauen Hintergrund und
   die korrekten Sektions-Abstaende erhaelt. */
.bam-detail-section {
  background-color: #F2F3F4 !important; /* DS Hellgrau (palette7) */
  /* Feedback 23.06.: erste Padding-Ebene (wie alignfull-Sections). Hintergrund bleibt
     full-width, Inhalt wird eingerueckt. */
  padding: 88px clamp(24px, 5vw, 80px) !important;
  width: 100%;
  box-sizing: border-box;
}

/* Feedback 23.06.: Inhalt (H2 + Karten-Grid) auf das Standard-Content-Grid bringen.
   Zweite Padding-Ebene -> 128px-Kante wie "Unternehmen, die uns vertrauen" / "Von Strategie".
   So fluchten Headline UND Karten mit dem Rest der Seite. */
.bam-detail-section > * {
  padding-inline: clamp(24px, 5vw, 80px) !important;
  box-sizing: border-box !important;
}

/* H2 in der Detailbox-Sektion: Typografie analog "Unternehmen, die uns vertrauen" (36px) */
.bam-detail-section h2 {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--global-palette3) !important;
  margin: 0 0 28px !important;
}

/* Detailboxen: da die Section Padding-Top hat, faellt das extra Padding der Columns weg */
.bam-detail-section .bam-detail-grid {
  padding-top: 0 !important;
}

/* Wenn die Detail-Sektion direkt vor der Prozess-Sektion steht,
   neutralisieren wir das margin-top der Prozess-Sektion, da beide grau sind
   und die Abstaende durch padding-block abgedeckt werden. */
.bam-leistungen-blocks .bam-detail-section + .bam-process-section {
  margin-top: 0 !important;
}


/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bam-leistungen-hero {
    grid-template-columns: 1fr;
    padding-top: 100px;
    min-height: 340px; /* LS-20 mobile */
  }
  .bam-leistungen-hero__sidebar {
    display: none;
  }
  .bam-leistungen-intro__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 640px) {
  .bam-leistungen-hero {
    padding-top: 88px;
    padding-bottom: 56px;
  }
  .bam-leistungen-intro {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}


/* ── LS-07: LEISTUNGEN CTA MIT PORTRAIT ───────────────────────── */
/* Analog .bam-ueber-cta: Grid 1fr|auto, Portrait border-radius:8px,
   padding-bottom-Puffer auf Content damit Portrait nicht Footer-bündig. */
/* LS-27: Leistungen-CTA als geteilte .bam-ueber-cta PHP-Sektion (konsistent zu Über-uns/Schwerpunkte/English) */

/* ═════════════════════════════════════════════════════════════
   ÜBER UNS – page-ueber-uns.php Styles
   ═════════════════════════════════════════════════════════════ */

/* ── Shared ────────────────────────────────────────────────── */
.bam-kicker--teal {
  color: #356882;
  margin-bottom: 12px;
}

.bam-section-title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  color: var(--global-palette3);
  margin: 0 0 14px;
  line-height: 1.2;
}

.bam-section-sub {
  font-size: 17px;
  color: var(--global-palette5); /* Medium Text #5A6570 (Sektions-Subline) */
  margin: 0 0 48px;
  max-width: 600px;
}

/* ── SEKTION 1: Hero ───────────────────────────────────────── */
.bam-ueber-hero {
  /* Feedback 23.06.: Gruppenfoto (alle vier) als Hero mit grauem Overlay (wie zuvor Beratungsfoto) */
  background: linear-gradient(rgba(41,47,51,0.7), rgba(41,47,51,0.7)), url('/wp-content/uploads/2026/06/bamboo-team-ueber-hero-handcrafted.webp') no-repeat center 35%;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 64px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: start;
  align-content: start;
  /* LS-20: Inner-Page-Heroes ~405px (~75% Homepage-Hero) */
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
}

.bam-ueber-hero__inner { max-width: 680px; }

.bam-ueber-hero__title {
  color: #ffffff;
  margin: 0 0 20px;
}
.bam-ueber-hero__title-sub { color: var(--global-palette9); } /* Minor-Fix: Orange -> Weiß (wie Hero-Title), Kundenfeedback */

.bam-ueber-hero__subline {
  margin: 0 0 24px;
}

.bam-ueber-hero__body {
  color: rgba(255,255,255,0.8);
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 36px;
}
.bam-ueber-hero__body p { margin: 0 0 12px; }
.bam-ueber-hero__body p:last-child { margin-bottom: 0; }

/* Stat-Cards */
.bam-ueber-hero__stats {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
}

.bam-stat-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 18px 24px;
  min-width: 160px;
}
.bam-stat-card__num::after {
  content: '';
  display: block;
  width: 32px;
  height: 2px;
  background: var(--global-palette1);
  margin-top: 8px;
  opacity: 0.5;
  border-radius: 1px;
}
.bam-stat-card__num {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 4px;
}
.bam-stat-card__label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── SEKTION 2: Timeline ───────────────────────────────────── */
.bam-timeline-section {
  background: #f5f5f3;
  padding: 80px clamp(24px,5vw,80px);
}

.bam-timeline-section__inner {
  max-width: 900px;
  margin: 0 auto;
}

.bam-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin-top: 40px;
}
/* Vertikale Linie */
.bam-timeline::before {
  content: '';
  position: absolute;
  left: 121px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(to bottom, var(--global-palette1), var(--global-palette2));
}

.bam-timeline__item {
  display: grid;
  grid-template-columns: 90px 24px 1fr;
  gap: 0 20px;
  align-items: flex-start;
  padding: 20px 0;
}

/* ÜB-03: Jahreszahlen als Badge (Design System Pkt. 10, konsistent zu Startseite-Kennzahlen) */
.bam-timeline__year {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  color: #356882; /* Secondary-Blau */
  text-align: center;
  padding: 4px 6px;
  background: #EBF2F6; /* helles Blau-Grau */
  border: 1.5px solid rgba(53, 104, 130, 0.3);
  border-radius: 4px;
  align-self: start; /* nicht voll strecken im Grid */
  white-space: nowrap;
}

.bam-timeline__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  border: 3px solid var(--global-palette2);
  margin: 3px auto 0;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}


.bam-timeline__text {
  font-size: 15px;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  line-height: 1.65;
  padding-top: 2px;
}

/* ── SEKTION 3: Gründerin ──────────────────────────────────── */
.bam-gruenderin-section {
  background: #ffffff;
  padding: 80px clamp(24px,5vw,80px);
}

.bam-gruenderin-section__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 72px;
  row-gap: 28px;
  align-items: center;
}

@media (min-width: 901px) {
  .bam-gruenderin-img-wrap {
    grid-column: 1;
    grid-row: 1 / span 3;
  }
  .bam-gruenderin-header {
    grid-column: 2;
    grid-row: 1;
  }
  .bam-gruenderin-bio-wrap {
    grid-column: 2;
    grid-row: 2;
  }
  .bam-gruenderin-section__inner .bam-btn-secondary {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
  }
}

.bam-gruenderin-header .bam-section-title {
  text-align: left;
  margin: 0 0 8px;
}

.bam-gruenderin-img-wrap {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(41,47,51,0.12);
  margin-bottom: 0;
}
.bam-gruenderin-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: top center;
}

.bam-gruenderin-quote-wrap {
  max-width: 1200px;
  margin: 48px auto 0;
}

/* ÜB-04a: Zitat-Redesign – konsistent mit .bam-testimonial-featured (Startseite)
   Hellgrauer Hintergrund, blauer Akzentstreifen, Anführungszeichen Secondary-Blau,
   Quellenangabe Tertiary-Braun (palette4 = #4E341D) */
.bam-gruenderin-quote {
  position: relative;
  background: #F2F3F4;
  border-left: 4px solid #356882;
  border-radius: 8px;
  padding: 32px 40px 28px 56px;
  margin: 0;
}
.bam-gruenderin-quote::before {
  content: '\201E';
  position: absolute;
  left: 20px;
  top: 24px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 56px;
  font-weight: 800;
  color: #356882;
  opacity: 0.35;
  line-height: 0.8;
}
.bam-gruenderin-quote p {
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.65;
  color: var(--global-palette3);
  font-style: normal;
  font-weight: 500;
  margin: 0 0 16px;
}
.bam-gruenderin-quote footer {
  font-size: 13px;
  color: #4E341D; /* Tertiary-Braun palette4 */
  font-weight: 500;
  font-style: normal;
}
.bam-gruenderin-quote cite { font-weight: 600; color: #4E341D; font-style: normal; }

.bam-gruenderin-quote-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.8fr;
  gap: 64px;
  align-items: center;
}

.bam-gruenderin-quote-img-wrap {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(41,47,51,0.08);
}

.bam-gruenderin-quote-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}

@media (max-width: 900px) {
  .bam-gruenderin-quote-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.bam-gruenderin-bio {
  margin-bottom: 24px;
}
.bam-gruenderin-bio p {
  font-size: 15px;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  line-height: 1.75;
  margin: 0 0 14px;
}

.bam-gruenderin-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.bam-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 4px 12px;
  border-radius: 99px;
  background: rgba(53,104,130,0.08);
  color: var(--global-palette2);
  border: 1px solid rgba(53,104,130,0.2);
}

.bam-btn-secondary--teal {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: var(--global-palette2);
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 15px;
  padding: 12px 24px;
  border-radius: 6px;
  border: 2px solid var(--global-palette2);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.bam-btn-secondary--teal:hover {
  background: var(--global-palette2);
  color: #ffffff;
  text-decoration: none;
}

/* ── SEKTION 4: Team-Grid ──────────────────────────────────── */
.bam-team-section {
  background: #f5f5f3;
  padding: 80px clamp(24px,5vw,80px);
}

.bam-team-section__inner { max-width: 1200px; margin: 0 auto; }

.bam-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bam-team-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #ebebeb;
  transition: box-shadow 0.25s;
}
.bam-team-card:hover {
  box-shadow: 0 8px 28px rgba(41,47,51,0.1);
}
.bam-team-card:hover .bam-team-card__name {
  color: var(--global-palette2);
}
.bam-team-card--open {
  border: 2px dashed #d8d8d8;
  background: #fafafa;
}

.bam-team-card__img-wrap {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f0f0f0;
}
.bam-team-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.4s ease;
}
.bam-team-card:hover .bam-team-card__img { transform: scale(1.03); }

.bam-team-card__img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
}

.bam-team-card__body { padding: 18px 18px 20px; }

.bam-team-card__name {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--global-palette3);
  margin-bottom: 3px;
  transition: color 0.2s;
}
.bam-team-card__role {
  font-size: 12px;
  color: #356882;
  font-weight: 600;
  margin-bottom: 10px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
}
.bam-team-card__bio {
  font-size: 13px;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  line-height: 1.6;
  margin: 0 0 12px;
}
.bam-team-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--global-palette1);
  text-decoration: none;
  transition: gap 0.2s;
}
.bam-team-card__cta:hover { gap: 8px; text-decoration: none; }

/* ── SEKTION 5: GEO-Box ────────────────────────────────────── */
/* ÜB-06: Dunkel → Hellgrau (Sektionsrhythmus-Fix, analog Warum-Bamboo Startseite) */
.bam-ueber-geo {
  background: #ffffff; /* ÜB-Feedback P10: DS-Rhythmus – weiss (vorher Hellgrau, brach Wechsel) */
  padding: 80px clamp(24px,5vw,80px);
}
.bam-ueber-geo__inner {
  max-width: 900px;
  margin: 0 auto;
}
.bam-ueber-geo__title {
  font-family: 'Manrope', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--global-palette3); /* dunkelgrau statt weiß */
  margin: 0 0 10px;
  line-height: 1.35;
}
.bam-ueber-geo__text {
  font-size: 15px;
  color: var(--global-palette5); /* mittleres Grau statt rgba-weiß */
  line-height: 1.7;
  margin: 0;
}

/* ── SEKTION 6: Warum Bamboo ───────────────────────────────── */
.bam-warum-section {
  background: #f5f5f3; /* ÜB-Feedback P10: DS-Rhythmus – hellgrau (vorher weiss) */
  padding: 80px clamp(24px,5vw,80px);
}
.bam-warum-section__inner { max-width: 1200px; margin: 0 auto; }

.bam-warum-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.bam-warum-card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: auto auto;
  column-gap: 40px;
  row-gap: 6px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(36,39,42,0.12);
  transition: border-color 0.2s;
}
.bam-warum-card:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.bam-warum-card:hover {
  border-color: rgba(36,39,42,0.24);
}

/* Icon: Spalte 1, Zeile 1 */
.bam-warum-card__icon {
  grid-column: 1;
  grid-row: 1;
  width: 22px;
  height: 22px;
  color: var(--global-palette1);
  margin-bottom: 8px;
}
.bam-warum-card__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
/* Titel: Spalte 1, Zeile 2 */
.bam-warum-card__title {
  grid-column: 1;
  grid-row: 2;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0;
  line-height: 1.3;
}
/* Text: Spalte 2, überspannt beide Zeilen */
.bam-warum-card__text {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: 14px;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  line-height: 1.75;
  margin: 0;
  align-self: center;
}

/* ── SEKTION 7: CTA-Box (Teal) ─────────────────────────────── */
/* ÜB-07b: Orange → Secondary-Blau (Design System Pkt. 13) */
/* ÜB-07c: Portrait frei stehend (padding-bottom + border-radius) */
/* Task 3a: align-items center statt flex-end – Portrait schwebt vertikal
   mittig, vermeidet unausgewogene Whitespace-Verteilung bei kurzen oder
   umbrechenden Headlines auf allen Inner Pages. EN-Seite als Best Practice. */
.bam-ueber-cta {
  background: var(--global-palette10); /* Secondary-Blau statt palette2-Orange */
  padding: 80px clamp(24px,5vw,80px) 48px; /* padding-bottom 48px = Portrait frei */
  overflow: hidden;
}
.bam-ueber-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
.bam-ueber-cta__content { padding-bottom: 80px; } /* wie Blog-CTA */
.bam-ueber-cta__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 18px;
  line-height: 1.2;
}
.bam-ueber-cta__text {
  color: rgba(255,255,255,0.8);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 520px;
}
.bam-ueber-cta__portrait-figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bam-ueber-cta__portrait img {
  display: block;
  width: clamp(240px, 30vw, 420px);
  max-height: 340px; /* LS-14: Höhe deckeln – konsistent zur Homepage */
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: 8px; /* alle Ecken gerundet – Foto steht frei */
  object-fit: cover;
  object-position: center center;
  filter: brightness(0.95);
}
.bam-ueber-cta__portrait-caption {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.75);
  max-width: clamp(240px, 30vw, 420px);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .bam-team-grid { grid-template-columns: repeat(3, 1fr); }
  .bam-gruenderin-section__inner { grid-template-columns: 1fr 1fr; column-gap: 48px; }
}

@media (max-width: 900px) {
  .bam-gruenderin-section__inner {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
  .bam-gruenderin-header {
    order: 1;
  }
  .bam-gruenderin-img-wrap {
    order: 2;
  }
  .bam-gruenderin-bio-wrap {
    order: 3;
  }
  .bam-gruenderin-section__inner .bam-btn-secondary {
    order: 4;
    justify-self: start;
  }
  .bam-gruenderin-quote-wrap { margin-top: 32px; }
}

@media (max-width: 768px) {
  .bam-ueber-hero { grid-template-columns: 1fr; padding-top: 100px; min-height: 340px; /* LS-20 mobile */ }
  .bam-ueber-hero__stats { flex-direction: row; }
  .bam-team-grid { grid-template-columns: repeat(2, 1fr); }
  .bam-timeline::before { left: 99px; }
  .bam-timeline__item { grid-template-columns: 70px 20px 1fr; }
  .bam-ueber-cta__inner { grid-template-columns: 1fr; }
  .bam-ueber-cta__portrait { display: none; }
  .bam-ueber-cta__content { padding-bottom: 56px; }
  .bam-ueber-geo__inner { flex-direction: column; gap: 16px; }
}

@media (max-width: 480px) {
  .bam-team-grid { grid-template-columns: 1fr; }
  .bam-ueber-hero__stats { display: none; }
}

/* ─────────────────────────────────────────────────────────────
   8. Schwerpunkte Page Styles
   ───────────────────────────────────────────────────────────── */
.bam-schwerpunkte-page {
  color: var(--global-palette3);
}

/* Hero */
.bam-schwerpunkte-hero {
  /* Feedback 22.06. P4: Bambus-Nahaufnahme (Bokeh) + leichter dunkler Overlay,
     links etwas dichter fuer Lesbarkeit der weissen Headline, rechts Bambus sichtbar */
  background: linear-gradient(90deg, rgba(41,47,51,0.88) 0%, rgba(41,47,51,0.66) 50%, rgba(41,47,51,0.45) 100%), url('/wp-content/uploads/2026/05/bamboo-kazuend-unsplash-bea.webp') no-repeat center center;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  /* LS-20: Inner-Page-Heroes ~405px (~75% Homepage-Hero) */
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
}

.bam-english-hero {
  /* EN-Hero: Bambuswald-Motiv (iStock) mit dunklem Verlauf-Overlay – weisse Headline lesbar (EN-Feedback P2, 22.06.) */
  background: linear-gradient(180deg, rgba(41,47,51,0.72) 0%, rgba(41,47,51,0.62) 55%, rgba(41,47,51,0.55) 100%), url('/wp-content/uploads/2026/06/iStock-589566952-bea.webp') no-repeat center center;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  /* LS-20: Inner-Page-Heroes ~405px (~75% Homepage-Hero) */
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
}
.bam-schwerpunkte-hero__inner,
.bam-english-hero__inner {
  max-width: 900px;
}
.bam-schwerpunkte-hero__title,
.bam-english-hero__title {
  color: #ffffff;
  margin: 0 0 24px;
}
.bam-schwerpunkte-hero__title-sub,
.bam-english-hero__title-sub {
  color: #ffffff; /* SP-08: Subzeile weiß; Orange nur via <em> */
}
.bam-schwerpunkte-hero__title-sub em,
.bam-english-hero__title-sub em {
  color: var(--global-palette1);
  font-style: italic;
}
.bam-schwerpunkte-hero__subline,
.bam-english-hero__subline {
  margin: 0 0 32px;
  max-width: 800px;
}

/* Branchen Grid */
.bam-branchen-section {
  background-color: var(--global-palette9);
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-branchen-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* #1: 'Vier Branchen' zweispaltig (Überschrift + Orange-Akzent links, Text rechts) – analog Leistungen-Intro */
.bam-branchen-head {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 56px;
}
.bam-branchen-head__heading .bam-section-title::after {
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: var(--global-palette1);
  border-radius: 2px;
  margin-top: 18px;
}
.bam-branchen-head__body .bam-section-sub {
  margin: 0;
  max-width: none;
}
@media (max-width: 768px) {
  .bam-branchen-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.bam-branchen-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  align-items: stretch; /* #2: Branchen-Karten gleich hoch (war: start) */
}
/* #3: Branchen-Icon (Lucide-Line, dezenter Secondary-Blau-Akzent, DS-konform) */
.bam-branche-card__icon {
  display: block;
  width: 34px;
  height: 34px;
  color: #356882;
  margin-bottom: 16px;
}
/* #2: Body füllt Karte, "Mehr erfahren" an die Unterkante → gleichmäßige Karten */
.bam-branche-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.bam-branche-card__details {
  margin-top: auto;
}
.bam-branche-card {
  background-color: var(--global-palette7);
  border-radius: 8px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  transition: background-color 0.2s ease;
}
.bam-branche-card:hover {
  background-color: var(--global-palette8);
}
/* SP-11: Badge entfernt – kein hover-state mehr nötig */
.bam-branche-card__header {
  margin-bottom: 20px;
}
/* SP-11: Badge-Klassen bleiben im CSS – nur deaktiviert (kein PHP rendert sie mehr) */
.bam-branche-card__badge { display: none; }
.bam-branche-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: var(--global-palette3);
}
.bam-branche-card__desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--global-palette5);
  margin: 0 0 16px;
}
.bam-branche-card__desc--extra {
  font-size: 14px;
  color: var(--global-palette6);
  margin-bottom: 24px;
}

/* SP-10: Akkordeon – native <details>/<summary> */
.bam-branche-card__details {
  margin-top: 20px;
  border-top: 1px solid var(--global-palette6);
}
.bam-branche-card__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0 10px;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--global-palette10);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  user-select: none;
  transition: color 0.2s;
}
.bam-branche-card__summary::-webkit-details-marker { display: none; }
.bam-branche-card__summary::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23346882' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
details[open] .bam-branche-card__summary::after {
  transform: rotate(180deg);
}
.bam-branche-card__summary:hover {
  color: var(--global-palette1);
}
/* SP-14: Expliziter Fokus-Stil für Tastatur-Navigation (ergänzt globales :focus-visible) */
.bam-branche-card__summary:focus-visible {
  outline: 2px solid var(--global-palette1);
  outline-offset: 3px;
  border-radius: 2px;
}
.bam-branche-card__details-body {
  padding-bottom: 8px;
  animation: bam-accordion-open 0.2s ease;
}
@keyframes bam-accordion-open {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .bam-branche-card__details-body { animation: none; }
}
.bam-branche-card__challenges-title {
  /* Feedback 22.06. P7: Label-Rolle -> JetBrains Mono, Grau #748087 (DS Akzent) */
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #748087;
  margin: 0 0 12px;
}
.bam-branche-card__challenges-list {
  margin: 0;
  padding-left: 20px;
}
.bam-branche-card__challenges-list li {
  font-size: 14px;
  line-height: 1.6;
  color: var(--global-palette5);
  margin-bottom: 8px;
}
.bam-branche-card__challenges-list li:last-child {
  margin-bottom: 0;
}

/* Schwerpunkt A & B Common Styles */
.bam-schwerpunkt-a-section {
  background-color: #F2F3F4; /* P17: DS-Hellgrau */
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-schwerpunkt-b-section {
  background-color: #ffffff;
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-schwerpunkt-a-section__inner,
.bam-schwerpunkt-b-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-schwerpunkt-a-header,
.bam-schwerpunkt-b-header {
  max-width: 860px;
  margin-bottom: 56px;
}
.bam-schwerpunkt-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: center;
}
.bam-schwerpunkt-col {
  display: flex;
  flex-direction: column;
}
.bam-schwerpunkt-col__title {
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0 0 24px;
}
.bam-schwerpunkt-list {
  margin: 0;
  padding-left: 20px;
}
.bam-schwerpunkt-list li {
  font-size: 15px;
  line-height: 1.65;
  color: var(--global-palette5);
  margin-bottom: 16px;
}
.bam-schwerpunkt-list li:last-child {
  margin-bottom: 0;
}
.bam-schwerpunkt-list--teal li::marker {
  color: var(--global-palette10);
}

/* Graph Images */
.bam-schwerpunkt-col--center {
  align-items: center;
}
.bam-schwerpunkt-img-wrap {
  background-color: var(--global-palette9);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03);
  width: 100%;
}
.bam-schwerpunkt-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.bam-schwerpunkt-img-caption {
  font-size: 13px;
  line-height: 1.6;
  color: var(--global-palette5);
  margin-top: 16px;
  text-align: center;
}

/* Dashboard-Foto unterhalb "Fragen, die wir beantworten" */
.bam-schwerpunkt-photo {
  margin: 0;
}
.bam-schwerpunkt-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 30%;
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(41,47,51,0.08);
}

/* #4: Intro-Grid – Text links, Infografik rechts unter der Überschrift */
.bam-schwerpunkt-intro-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 56px;
}
.bam-schwerpunkt-intro-grid__text {
  max-width: none;
  margin-bottom: 0;
}
.bam-schwerpunkt-intro-grid__media {
  position: sticky;
  top: 100px;
}

/* #5/#9: Medien-Spalte links – oben ausgerichtet (Foto/Grafik mit festem Verhältnis) */
.bam-schwerpunkt-grid--media-left {
  align-items: start;
}
.bam-schwerpunkt-img-caption--left {
  text-align: left;
  margin-top: 0;
}

/* #4: CSS-Lightbox (Klick-Zoom, kein Plugin/JS – Checkbox-Toggle) */
.bam-zoom-trigger {
  display: block;
  position: relative;
  cursor: zoom-in;
}
.bam-zoom-hint {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(41,47,51,0.85);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.bam-zoom-trigger:hover .bam-zoom-hint,
.bam-zoom-trigger:focus-visible .bam-zoom-hint {
  opacity: 1;
}
.bam-lightbox { display: none; }
.bam-lightbox-toggle:checked + .bam-lightbox {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 64px);
  background: rgba(20,23,26,0.88);
  cursor: zoom-out;
}
.bam-lightbox__img {
  max-width: 94vw;
  max-height: 92vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5);
}

/* #10: Fragen-Box – eigenständige Komponente (Sektion A + B) */
.bam-fragen-box {
  margin: 56px 0;
  background-color: var(--global-palette9);
  border-radius: 8px;
  padding: 40px 48px;
  border: 1px solid color-mix(in srgb, var(--global-palette3) 8%, transparent);
  border-left: 4px solid var(--global-palette1);
}
.bam-fragen-box--teal { border-left-color: var(--global-palette10); }
.bam-fragen-box__title {
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0 0 24px;
}
.bam-fragen-box__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 40px;
}
.bam-fragen-box__list li {
  position: relative;
  padding-left: 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--global-palette5);
}
.bam-fragen-box__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--global-palette1);
}
.bam-fragen-box__list--teal li::before { background: var(--global-palette10); }

/* #9: Einstiegsformat-Box mit nur einer Karte */
.bam-formats-grid--single {
  grid-template-columns: 1fr;
  max-width: 560px;
}

/* Stats list */
/* #6: KPIs ansprechender — große Manrope-Zahl (Orange) + Trennlinien, scanbar */
.bam-schwerpunkt-stats-list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}
.bam-schwerpunkt-stats-list li {
  display: grid;
  grid-template-columns: minmax(88px, auto) 1fr;
  gap: 24px;
  align-items: start;
  padding: 22px 0;
  margin: 0;
  border-top: 1px solid rgba(41,47,51,0.10);
}
.bam-schwerpunkt-stats-list li:last-child {
  border-bottom: 1px solid rgba(41,47,51,0.10);
}
.bam-schwerpunkt-stats-num {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(34px, 4.5vw, 44px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--global-palette1);
}
.bam-schwerpunkt-stats-text {
  font-size: 15px;
  line-height: 1.65;
  color: var(--global-palette4);
  padding-top: 4px;
}
/* Item 7+8: Zitate auf Schwerpunkte vereinheitlicht → kanonischer DS-Pkt-7-Stil (wie .bam-gruenderin-quote) */
.bam-schwerpunkt-quote,
.bam-expert-quote {
  position: relative;
  background: #F2F3F4;
  border-left: 4px solid #356882;
  border-radius: 8px;
  padding: 32px 40px 28px 56px;
  margin: 0;
  max-width: none;
  text-align: left;
}
.bam-schwerpunkt-quote::before,
.bam-expert-quote::before {
  content: '\201E';
  position: absolute;
  left: 20px;
  top: 24px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 56px;
  font-weight: 800;
  color: #356882;
  opacity: 0.35;
  line-height: 0.8;
  margin: 0;
}
.bam-schwerpunkt-quote p,
.bam-expert-quote p {
  font-family: 'Inter', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.65;
  font-style: normal;
  font-weight: 500;
  color: var(--global-palette3);
  margin: 0 0 16px;
}
.bam-schwerpunkt-quote__footer,
.bam-expert-quote__footer {
  font-size: 13px;
  font-weight: 500;
  font-style: normal;
  color: #4E341D;
}

/* P10: Proof-Panel – Kennzahlen (links) + CMO-Zitat (rechts) in einer weissen Sektion */
.bam-proof-panel {
  margin-top: 64px;
  background: #FFFFFF;
  border-radius: 12px;
  padding: clamp(28px, 4vw, 48px);
  box-shadow: 0 12px 36px rgba(41,47,51,0.06);
}
.bam-proof-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}
/* Kennzahlen: grosse Zahl (Orange) mit Erläuterungstext (#4E341D) darunter gestapelt */
.bam-proof-grid .bam-schwerpunkt-stats-list { margin: 0; }
.bam-proof-grid .bam-schwerpunkt-stats-list li { display: block; }
.bam-proof-grid .bam-schwerpunkt-stats-text {
  display: block;
  margin-top: 8px;
  padding-top: 0;
}
@media (max-width: 900px) {
  .bam-proof-grid { grid-template-columns: 1fr; }
}

/* Formats Box */
.bam-formats-box {
  margin-top: 64px;
  background-color: #F2F3F4; /* P11: Einstiegsformate-Flaeche hellgrau */
  border-radius: 8px;
  padding: 48px;
  border: 1px solid color-mix(in srgb, var(--global-palette3) 8%, transparent);
}
.bam-formats-box__title {
  /* EN-Feedback P5: Label in JetBrains Mono, Grau gemaess Design System */
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 18px;
  font-weight: 700;
  color: #748087;
  margin: 0 0 32px;
}
.bam-formats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bam-format-card {
  padding: 0 0 0 20px;
  border-left: 2px solid rgba(36,39,42,0.12);
}
.bam-format-card--teal {
  border-left-color: var(--global-palette10);
}
.bam-format-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--global-palette3);
  margin: 0 0 4px;
}
.bam-format-card__meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--global-palette10);
  margin-bottom: 12px;
  text-transform: uppercase;
}
.bam-format-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--global-palette5);
  margin: 0;
}
.bam-expert-quote-wrap {
  /* P12/P17: Schulz-Zitat zentriert in eigener weisser Sektion (wie Melanie-Zitat) */
  max-width: 880px;
  margin: 0 auto;
}
/* Eigene weisse Sektion fuer das Blueforte-Zitat (DS-Zitat-Element auf Weiss) */
.bam-zitat-section {
  background-color: #FFFFFF;
  padding: 64px clamp(24px, 5vw, 80px);
}
.bam-zitat-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* .bam-expert-quote* erbt den kanonischen DS-Zitat-Stil (Item 7+8 Vereinheitlichung, oben definiert) */

/* GEO Box Schwerpunkte */
.bam-schwerpunkte-geo {
  /* P13: Sektion 'Wie koennen B2B-Teams messen...' dunkel -> Hellgrau #F2F3F4 */
  background-color: #F2F3F4;
  padding: 64px clamp(24px, 5vw, 80px);
}
.bam-schwerpunkte-geo__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-schwerpunkte-geo__content {
  max-width: 900px;
}
.bam-schwerpunkte-geo__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  color: var(--global-palette3); /* P13: dunkle Headline auf Hellgrau */
  margin: 0 0 16px;
  line-height: 1.3;
}
.bam-schwerpunkte-geo__text {
  color: var(--global-palette5); /* P13: Bodytext auf Hellgrau */
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* KI Druck Sektion */
.bam-ki-druck-section {
  background-color: #FFFFFF; /* P15/P17: Melanie-Zitat auf Weiss */
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-ki-druck-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-ki-druck-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.bam-ki-druck-content {
  display: flex;
  flex-direction: column;
}
.bam-ki-druck-text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--global-palette5);
  margin: 0 0 20px;
}
.bam-ki-druck-text:last-child {
  margin-bottom: 0;
}
.bam-source {
  font-size: 13px;
  color: var(--global-palette5);
  display: inline-block;
  margin-top: 4px;
}
a.bam-source {
  color: var(--global-palette10); /* Secondary palette10 */
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--global-palette10) 40%, transparent);
  transition: border-color 0.2s;
}
a.bam-source:hover {
  border-bottom-color: var(--global-palette10);
}
.bam-ki-druck-quote-wrap {
  /* P14: nach Entfernen der linken Spalte steht das Gruenderin-Zitat allein -> zentriert begrenzt */
  padding: 8px 0;
  max-width: 880px;
  margin: 0 auto;
}

/* Partner Grid */
.bam-partner-section {
  background-color: #F2F3F4; /* P17: Partner-Bereich Hellgrau */
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-partner-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-partner-header {
  max-width: 800px;
  margin-bottom: 56px;
}
.bam-partner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.bam-partner-card {
  background-color: #FFFFFF;
  border: 1px solid color-mix(in srgb, var(--global-palette3) 10%, transparent); /* P16/P17: Karte auf Hellgrau-Band definieren */
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.bam-partner-card:hover {
  background-color: var(--global-palette8);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--global-palette3) 8%, transparent);
}
.bam-partner-card:hover .bam-partner-card__link {
  color: var(--global-palette1);
}
.bam-partner-card__brand {
  background-color: #F2F3F4; /* P16: Logo-Hintergrund Hellgrau */
  border-bottom: 1px solid color-mix(in srgb, var(--global-palette3) 8%, transparent);
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.bam-partner-card__logo-placeholder {
  font-family: 'Manrope', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--global-palette3);
  letter-spacing: 0.05em;
}
.bam-partner-logo {
  /* P16: einheitliche Logo-Hoehe + gleiche Hoehe */
  height: 50px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.bam-partner-card__body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
.bam-partner-card__name {
  font-family: 'Manrope', sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--global-palette3);
}
.bam-partner-card__desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--global-palette5);
  margin: 0 0 24px;
}
.bam-partner-card__link {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  color: var(--global-palette10);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.bam-partner-card__link:hover {
  color: var(--global-palette1);
}

/* ─────────────────────────────────────────────────────────────
   9. English Page Styles
   ───────────────────────────────────────────────────────────── */
.bam-english-page {
  color: var(--global-palette3);
}

.bam-english-hero__inner {
  max-width: 860px;
}
.bam-english-hero__body {
  color: rgba(255,255,255,0.8);
  font-size: clamp(15px, 2vw, 17px);
  line-height: 1.7;
  margin-bottom: 36px;
}

/* Pillars */
.bam-pillars-section {
  background-color: var(--global-palette9);
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-pillars-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-pillars-header {
  max-width: 800px;
  margin-bottom: 56px;
}
.bam-pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
/* EN-Pillars im Stil der DE-Homepage-Boxen (Option A, kundenfreigegeben 19.06.):
   weiße Karte, 1px Grau-Rahmen rundum, Hover -> Teal-Rahmen + Hellgrau-BG,
   Nummer in gedimmtem Teal-Mono -> voll-Teal bei Hover. */
.bam-pillar-card {
  background-color: var(--global-palette9);
  border: 1px solid rgba(41, 47, 51, 0.12);
  border-radius: 8px;
  padding: 28px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}
.bam-pillar-card:hover {
  border-color: var(--global-palette10);
  background-color: var(--global-palette8);
}
.bam-pillar-card__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.bam-pillar-card__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  color: rgba(53, 104, 130, 0.45);
  letter-spacing: 0.05em;
  line-height: 1;
  transition: color 0.25s ease;
}
.bam-pillar-card:hover .bam-pillar-card__num {
  color: var(--global-palette10);
}
.bam-pillar-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  color: var(--global-palette3);
}
.bam-pillar-card__text {
  font-size: 15px;
  line-height: 1.65;
  color: var(--global-palette5);
  margin: 0;
}

/* CommTech section English */
.bam-english-commtech {
  background-color: var(--global-palette7);
  padding: 88px clamp(24px, 5vw, 80px);
}
.bam-english-commtech__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-english-commtech__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.bam-english-commtech__photo {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(41,47,51,0.06);
}
.bam-english-commtech__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.bam-english-commtech__content {
  display: flex;
  flex-direction: column;
}
.bam-english-commtech__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--global-palette5);
  margin: 0;
}
.bam-english-commtech__text + .bam-english-commtech__text {
  margin-top: 20px;
}
/* Einstiegsformate unter dem CommTech-Grid nutzen die Schwerpunkte-
   Formats-Box (.bam-formats-box / .bam-formats-grid / .bam-format-card)
   für Konsistenz – kein eigenes Stat-Card-CSS mehr nötig. */

/* CTA Box English Specific Addition */
.bam-ueber-cta__industries {
  color: rgba(255,255,255,0.7);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: -16px 0 32px;
}

/* ─────────────────────────────────────────────────────────────
   10. Responsive Overrides for Schwerpunkte and English
   ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bam-schwerpunkt-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .bam-schwerpunkt-intro-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .bam-schwerpunkt-intro-grid__media {
    position: static;
  }
  .bam-fragen-box__list {
    grid-template-columns: 1fr;
  }
  .bam-formats-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .bam-partner-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bam-pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .bam-branchen-grid {
    grid-template-columns: 1fr;
  }
  .bam-ki-druck-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .bam-english-commtech__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .bam-schwerpunkte-hero,
  .bam-english-hero {
    min-height: 340px; /* LS-20 mobile */
    padding-top: 100px;
    padding-bottom: 60px;
  }
  .bam-formats-box {
    padding: 32px;
  }
  .bam-fragen-box {
    padding: 28px 24px;
  }
  .bam-ki-druck-quote-wrap {
    padding: 32px;
  }
  /* Leistungen: Block-Hero Mobile */
  .bam-page-hero {
    min-height: 340px; /* LS-20 mobile */
  }
}

@media (max-width: 600px) {
  .bam-partner-grid {
    grid-template-columns: 1fr;
  }
  .bam-pillars-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Blog: Publikationsdatum + Autor ausblenden ── */
/* Blog-Übersicht (Karten) — Datum */
.bam-post-card__date {
  display: none !important;
}
/* Lesezeit auf Karten (Melanie-Feedback) — DS-Kicker-Stil, steht anstelle des ausgeblendeten Datums */
.bam-post-card__readtime {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--global-palette6);
  white-space: nowrap;
}
/* Einzelner Blogpost — Datum */
.posted-on,
.entry-meta .posted-on,
.single-entry .posted-on {
  display: none !important;
}
/* Einzelner Blogpost — Autor */
.posted-by,
.entry-meta .posted-by,
.single-entry .posted-by {
  display: none !important;
}
/* Fallback: gesamte Kadence-Entry-Meta */
.single-entry .entry-meta {
  display: none !important;
}
/* Kommentare: komplett ausblenden */
.comments-area,
#comments,
.comment-respond,
.nocomments,
.post-navigation-wrap + .comments-area {
  display: none !important;
}

/* ═════════════════════════════════════════════════════════════
   CUSTOM FOOTER (Migrated from functions.php)
   ═════════════════════════════════════════════════════════════ */

/* Hide default Kadence footer bottom row */
.site-bottom-footer-wrap { display: none !important; }

.bam-custom-footer {
  background: var(--global-palette3);
  padding: 64px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 15px;
  line-height: 1.7;
}
.bam-custom-footer a {
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
  transition: color 0.2s ease;
}
.bam-custom-footer a:hover {
  color: var(--global-palette1);
}
.bam-footer-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media (max-width: 900px) {
  .bam-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 520px) {
  .bam-footer-grid {
    grid-template-columns: 1fr;
  }
}
.bam-footer-kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 12px;
}
.bam-footer-title {
  font-family: Manrope, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
}
.bam-footer-logo-box {
  background: #F2F3F4;
  border-radius: 6px;
  padding: 20px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
}
.bam-footer-logo-box img {
  max-height: 50px;
  width: auto;
}
.bam-footer-legal {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px;
  margin-top: 48px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 14px;
}
.bam-footer-legal a {
  color: rgba(255, 255, 255, 0.45);
}
.bam-footer-legal a:hover {
  color: var(--global-palette1);
}
/* Mobile-Fix (A11y): Impressum/Datenschutz waren nur ~17px hoch -> Tap-Target < 44px.
   Trefferflaeche per Padding vergroessern, negatives Margin haelt das Layout kompakt. */
@media (max-width: 767px) {
  .bam-footer-legal a {
    display: inline-block;
    padding: 14px 8px;
    line-height: 1.2;
    margin: -14px 0;
  }
}
.bam-footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ── UEBER INTRO ───────────────────────────────────────────── */
.bam-ueber-intro {
  background-color: #ffffff;
  padding: 80px clamp(24px, 5vw, 80px);
}
.bam-ueber-intro__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.bam-ueber-intro__grid {
  display: grid;
  grid-template-columns: 1.2fr 1.8fr;
  gap: 64px;
}
.bam-ueber-intro__title {
  font-family: 'Manrope', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--global-palette3);
  line-height: 1.25;
  margin: 0;
}
.bam-ueber-intro__body p {
  font-size: 17px;
  line-height: 1.8;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  margin: 0 0 20px;
}
.bam-ueber-intro__body p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .bam-ueber-intro__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ── BLOG INTRO ────────────────────────────────────────────── */
.bam-blog-intro {
  background-color: #ffffff;
  padding: 80px var(--blog-pad-h);
}
.bam-blog-intro__inner {
  max-width: var(--blog-max-w);
  margin: 0 auto;
}
.bam-blog-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 48px;
}
.bam-blog-intro__title {
  font-family: 'Manrope', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--global-palette3);
  line-height: 1.25;
  margin: 0;
}
.bam-blog-intro__body p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--global-palette4); /* DS Body = Tertiär-Braun #4E341D */
  margin: 0 0 20px;
}
.bam-blog-intro__body p:last-child {
  margin-bottom: 0;
}
.bam-blog-intro__body a {
  color: #356882;
  text-decoration: underline;
  font-weight: 500;
}
.bam-blog-intro__body a:hover {
  color: var(--global-palette1);
}
@media (max-width: 1024px) {
  .bam-blog-intro__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BAM LOGO MARQUEE (Restored)
   ═══════════════════════════════════════════════════════════════ */
.bam-logo-marquee {
  overflow: hidden;
  width: 100%;
  padding: 28px 0;
  /* Fade-Edges links/rechts für sauberen Übergang */
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

/* Leistungen: mehr Luft zwischen H2 "Unternehmen, die uns vertrauen" und Slider (nur Desktop, nur Leistungen) */
@media (min-width: 769px) {
  .bam-leistungen-page .bam-logo-marquee {
    margin-top: 28px;
  }
}
/* P8 (Leistungen-Feedback 22.06.): Kundenlogos groesser + Marquee schneller (nur Leistungen) */
.bam-leistungen-page .bam-logo-item { height: 64px; }
.bam-leistungen-page .bam-logo-item img { height: 64px !important; }
.bam-leistungen-page .bam-logo-track { animation-duration: 18s; }
/* Feedback 23.06.: Startseiten-Marquee war zu langsam + brach mit Luecken ab.
   Tempo nur auf der Startseite anziehen (global bleibt 32s fuer Schwerpunkte/Kontakt). */
.home .bam-logo-track { animation-duration: 25s; }
/* P8 (Feedback 22.06.): Abstand 6 Karten -> Unternehmen-Box von ~126px auf 80px
   (einheitlich zum 80px-Abstand Unternehmen -> Detailboxen). 50px Section-Bottom
   + ~30px Columns-Margin = ~80px. */
.bam-leistungen-page .bam-services-section {
  padding-bottom: 50px !important;
}
.bam-logo-track {
  display: flex;
  align-items: center;
  gap: 52px;
  width: max-content;
  animation: bamLogoScroll 32s linear infinite;
}
.bam-logo-track:hover {
  animation-play-state: paused;
}
.bam-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 54px; /* P5 (Feedback 22.06.): Logos etwas groesser */
}
.bam-logo-item img {
  height: 54px !important;  /* P5: etwas groesser (war 43px) */
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: filter 0.3s ease, opacity 0.3s ease;
  display: block;
}
.bam-logo-item img:hover {
  filter: grayscale(0%);
  opacity: 1;
}
@keyframes bamLogoScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .bam-logo-track {
    animation: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   BAM TESTIMONIAL SLIDER (Restored)
   ═══════════════════════════════════════════════════════════════ */
.bam-testimonial-slider {
  position: relative;
  margin-top: 40px;
  overflow: hidden;
}

/* Each slide */
.bam-testimonial-slide {
  display: none;
  padding: 40px;
  border-left: 4px solid #356882;
  background: #ffffff;
  border-radius: 0 4px 4px 0;
  box-shadow: 0 2px 16px rgba(41,47,51,0.06);
  animation: bamSlideFadeIn 0.4s ease;
}

.bam-testimonial-slide.is-active {
  display: block;
}

@keyframes bamSlideFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.bam-testimonial-slide .wp-block-quote,
.bam-testimonial-slide blockquote {
  border-left: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  background: transparent;
}

.bam-testimonial-slide .wp-block-quote p,
.bam-testimonial-slide blockquote p {
  font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.45 !important;
  color: #292F33 !important;
  margin-bottom: 20px !important;
}

.bam-testimonial-slide cite,
.bam-testimonial-slide .wp-block-quote cite {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #5A6570 !important;
  display: block;
}

.bam-slider-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 24px;
  padding: 0 2px;
}

.bam-slider-dots {
  display: flex;
  gap: 10px;
  align-items: center;
}

.bam-slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(53,104,130,0.25);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.2s;
}

.bam-slider-dot.is-active {
  background-color: #356882;
  transform: scale(1.25);
}

.bam-slider-arrows {
  display: flex;
  gap: 8px;
}

.bam-slider-arrow {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid rgba(41,47,51,0.15);
  background: #ffffff;
  color: #292F33;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.bam-slider-arrow:hover {
  background-color: #F28202;
  border-color: #F28202;
  color: #292F33;
}

@media (max-width: 768px) {
  .bam-testimonial-slide {
    padding: 24px 20px;
  }
  .bam-testimonial-slide .wp-block-quote p,
  .bam-testimonial-slide blockquote p {
    font-size: 20px !important;
  }
}

/* ── KUNDENSTIMMEN: Featured-Zitat + 3er-Grid (FH-11) ──────────── */
.bam-testimonials {
  margin-top: 48px;
}
/* Featured */
.bam-testimonial-featured {
  position: relative;
  background: #F2F3F4;
  border-left: 4px solid #356882;
  border-radius: 8px;
  padding: 40px 44px 34px 56px;
  margin: 0 0 24px;
}
.bam-testimonial-featured::before {
  content: "\201E";
  position: absolute;
  left: 22px;
  top: 26px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 56px;
  line-height: 0.8;
  color: #356882;
  opacity: 0.35;
}
.bam-testimonial-featured blockquote {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-size: 24px;
  line-height: 1.5;
  color: #292F33;
}
/* Grid */
.bam-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bam-testimonial-card {
  background: #ffffff;
  border: 1px solid #E5E8EB;
  border-radius: 8px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
}
.bam-tst-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #E1ECF2;
  color: #356882;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
.bam-testimonial-card blockquote {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-size: 15px;
  line-height: 1.65;
  color: #4E341D;
  flex: 1 1 auto;
}
.bam-testimonial-featured .bam-tst-name,
.bam-testimonial-card .bam-tst-name {
  display: block;
  font-weight: 700;
  color: #292F33;
  font-size: 15px;
}
.bam-testimonial-featured .bam-tst-role,
.bam-testimonial-card .bam-tst-role {
  display: block;
  color: #5A6570;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
}
@media (max-width: 900px) {
  .bam-testimonial-grid { grid-template-columns: 1fr; }
  .bam-testimonial-featured { padding: 32px 28px 28px 48px; }
  .bam-testimonial-featured blockquote { font-size: 20px; }
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE BLOG POST - HALLMARK FIXES
   ═══════════════════════════════════════════════════════════════ */

/* 1. Header Fix: Dunkler Hintergrund für Single Posts */

/* 2. Featured Image & Related Posts Ratio Fix */
/* Kadence setzt Bilder absolut innerhalb eines padding-bottom Wrappers.
   Wir überschreiben hier den 2:3 Kadence Crop (150%) sauber auf 40:21 (52.5% = 1200x630).
   Dabei lassen wir die absolut positionierten img-Regeln von Kadence in Ruhe, 
   damit das Rendering nicht zusammenbricht. */
body.single-post .kadence-thumbnail-ratio-2-3 .post-thumbnail-inner {
  padding-bottom: 52.5% !important; /* 40:21 Aspect Ratio für 1200x630px */
  height: 0 !important;
}
/* Toter Leerraum-Fix: Der frühere Ratio-Fix korrigierte nur das INNERE Bild
   (.post-thumbnail-inner → 52.5% = 383px). Der ÄUSSERE Wrapper behielt aber
   Kadences 2:3-Höhe (padding-bottom ~66,7% = 487px) → ~103px Leerraum UNTER
   dem Bild. Wrapper-Ratio an das Bild angleichen (das Bild ist absolut
   positioniert → der Wrapper bezieht seine Höhe aus padding-bottom). */
body.single-post .article-post-thumbnail.kadence-thumbnail-ratio-2-3 {
  padding-bottom: 52.5% !important; /* 40:21, identisch zum inneren Bild */
}

body.single-post .post-thumbnail img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Haupt-Beitragsbild: bewusster Abstand zum nachfolgenden Text.
   Sichtbarer Whitespace vorher ~116px = 103px toter Wrapper-Leerraum (oben
   gefixt) + Margin. Kunden-Feedback (−60%): Ziel ~46px → 48px (DS-2xl-Spacing,
   4px-Grid). Margins kollabieren → der größere Wert (margin-bottom) gilt. */
body.single-post .article-post-thumbnail {
  max-width: 800px !important;
  margin: 0 auto 48px !important;
  border-radius: 8px;
  overflow: hidden;
}
body.single-post .entry-content-wrap .single-content {
  margin-top: 0 !important;
}
/* Single-Post Header: globale Regel reicht, kein Extra-Override mehr nötig */

body.single-post .main-navigation .primary-menu-container > ul > li.menu-item > a {
  color: #ffffff !important;
}
body.single-post .mobile-toggle-open-container .menu-toggle-open {
  color: #ffffff !important;
}
body.single-post .site-branding .site-title {
  color: #ffffff !important;
}

body.single-post .entry-content > *:not(.alignwide):not(.alignfull):not(.wp-block-image) {
  max-width: 800px; /* 680→800: weniger Scrollen bei langen Texten, konsistent mit Header/Thumbnail */
  margin-left: auto;
  margin-right: auto;
}

/* Fix für Related Posts Grid */
body.single-post .entry-related {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid rgba(41,47,51,0.1);
}

/* 4. Kicker Design — Category Badge */
body.single-post .entry-taxonomies a {
  font-family: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(53, 104, 130, 0.08);
  color: #356882;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  display: inline-block;
  margin-bottom: 8px;
}
body.single-post .entry-taxonomies a:hover {
  background: #356882;
  color: #ffffff;
}
body.single-post .entry-taxonomies .term-links a:after {
  display: none;
}

/* 5. Headings ohne doppelte Bold-Weights */
body.single-post .entry-content h2 strong,
body.single-post .entry-content h3 strong,
body.single-post .entry-content h4 strong {
  font-weight: inherit;
}

/* 6. Beitrags-Header Zentrierung */
body.single-post .entry-header {
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: center;
}
body.single-post .entry-title {
  margin-bottom: 24px;
  font-family: 'Manrope', sans-serif;
  font-size: 40px;
  line-height: 1.2;
}

@media (max-width: 768px) {
  body.single-post .entry-title {
    font-size: 28px;
  }
}

/* =============================================================
   LEGAL TEMPLATE — Impressum & Datenschutz
   page-legal.php · Bamboo Consulting
   ============================================================= */

/* ── Scaffolding: Kadence Default-Titel + Padding unterdrücken ── */
body.page-template-page-legal .entry-hero.page-hero-section {
  display: none !important;
}
body.page-template-page-legal #primary.content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.page-template-page-legal .entry-content-wrap {
  padding: 0 !important;
}

/* ── Outer Wrapper ───────────────────────────────────────────── */
.bam-legal-main {
  background: var(--global-palette9);
  min-height: 340px; /* LS-20 mobile */
}

/* ── Hero (Standard Inner-Page Pattern) ─────────────────────── */
/* Identisch zu .bam-ueber-hero / .bam-kontakt-hero:
   - linear-gradient Overlay damit Header-Nav lesbar ist
   - padding-top: 120px reserviert Platz für transparenten Header
   - min-height: var(--bam-inner-hero-h) = 500px / 340px mobile — konsistent über alle Inner Pages */
.bam-legal-hero {
  background:
    linear-gradient(rgba(41, 47, 51, 0.78), rgba(41, 47, 51, 0.78)),
    url('/wp-content/uploads/2026/05/melanie-lammers-bamboo-legal-hero.jpg')
    no-repeat center 30%;
  background-size: cover;
  padding: 120px clamp(24px, 5vw, 80px) 72px;
  min-height: var(--bam-inner-hero-h); /* Inner-Page-Hero: einheitlich, siehe :root */
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
}
.bam-legal-hero__inner {
  max-width: 760px;
}
.bam-legal-hero__title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.12;
  margin: 0;
}

/* ── Prose Content Container ─────────────────────────────────── */
.bam-legal-content {
  padding: clamp(48px, 8vw, 96px) 24px clamp(64px, 10vw, 120px);
}
.bam-legal-content__inner {
  max-width: 760px;
  margin: 0 auto;
}

/* ── Typografie: Headings ─────────────────────────────────────── */
.bam-legal-content__inner h2 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 700;
  color: var(--global-palette1);
  margin: 2.5em 0 0.6em;
  padding-bottom: 0.4em;
  border-bottom: 2px solid var(--global-palette3);
}
.bam-legal-content__inner h2:first-child {
  margin-top: 0;
}
.bam-legal-content__inner h3 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(16px, 2.5vw, 20px);
  font-weight: 600;
  color: var(--global-palette2);
  margin: 2em 0 0.5em;
}
.bam-legal-content__inner h4 {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--global-palette1);
  margin: 1.5em 0 0.4em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── Typografie: Fließtext ───────────────────────────────────── */
.bam-legal-content__inner p {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--global-palette4);
  margin: 0 0 1.25em;
  hyphens: auto;
}
.bam-legal-content__inner strong {
  font-weight: 600;
  color: var(--global-palette1);
}

/* ── Listen ──────────────────────────────────────────────────── */
.bam-legal-content__inner ul,
.bam-legal-content__inner ol {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--global-palette4);
  margin: 0 0 1.25em;
  padding-left: 1.5em;
}
.bam-legal-content__inner li {
  margin-bottom: 0.4em;
}

/* ── Links ───────────────────────────────────────────────────── */
.bam-legal-content__inner a {
  color: var(--global-palette3);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.bam-legal-content__inner a:hover,
.bam-legal-content__inner a:focus-visible {
  color: var(--global-palette2);
  text-decoration-color: var(--global-palette3);
  outline-offset: 2px;
}

/* ── Horizontale Regel (hr / ---) ───────────────────────────── */
.bam-legal-content__inner hr {
  border: none;
  border-top: 1px solid color-mix(in srgb, var(--global-palette6) 40%, transparent);
  margin: 2.5em 0;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .bam-legal-hero {
    padding: 100px 20px 48px;
    min-height: 50vh;
    min-height: 50svh;
  }
  .bam-legal-content {
    padding: 40px 20px 64px;
  }
  .bam-legal-content__inner h2 {
    margin-top: 2em;
  }
}
