/* ══════════════════════════════════════════════
   NAUN Consulting – Main CSS (Modern Redesign)
   ══════════════════════════════════════════════ */

/* ── Variables ──────────────────────────────── */
:root {
  --color-primary:       #82aca5;
  --color-primary-dark:  #183540;
  --color-primary-light: #EAF3F2;
  --color-accent:        #dec6ac;
  --color-dark:          #183540;
  --color-dark-alt:      #1e4252;
  --color-beige:         #F7F1EB;
  --color-white:         #FFFFFF;
  --color-gray-50:       #F9FAFB;
  --color-gray-100:      #F3F4F6;
  --color-gray-200:      #E5E7EB;
  --color-gray-400:      #9CA3AF;
  --color-gray-600:      #6B7280;
  --color-gray-800:      #1F2937;
  --color-text:          #242424;

  --font-sans:    'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Poppins', 'Helvetica Neue', Arial, sans-serif;

  --size-xs:  0.75rem;
  --size-sm:  0.875rem;
  --size-md:  1rem;
  --size-lg:  1.125rem;
  --size-xl:  1.375rem;
  --size-2xl: 1.875rem;
  --size-3xl: 2.5rem;
  --size-4xl: 3.75rem;

  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-xl:   32px;
  --radius-full: 9999px;

  --shadow-sm:  0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 20px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
  --shadow-lg:  0 16px 48px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.06);
  --shadow-xl:  0 32px 80px rgba(0,0,0,.16);

  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --container:  1220px;
  --section-py: 100px;
}

/* ── Reset & Base ────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }
body { overflow-x: hidden; }
body {
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { display: block; max-width: 100%; height: auto; }
a   { color: inherit; text-decoration: none; }
ul  { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

/* ── Typography ─────────────────────────────── */
h1, h2 { font-family: var(--font-display); font-weight: 700; line-height: 1.15; color: var(--color-dark); }
h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 600; line-height: 1.25; color: var(--color-dark); }
h1 { font-size: clamp(2.4rem, 6vw, var(--size-4xl)); }
h2 { font-size: clamp(1.8rem, 4vw, var(--size-3xl)); }
h3 { font-size: clamp(1.1rem, 2vw, var(--size-xl)); }
p  { line-height: 1.75; }

/* ── Container ───────────────────────────────── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

/* ── Buttons ─────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 30px;
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--size-sm);
  letter-spacing: 0.02em;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}
.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--transition);
  background: rgba(255,255,255,.15);
}
.btn:hover::before { opacity: 1; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

.btn--primary {
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 4px 16px rgba(74,124,106,.35);
}
.btn--primary:hover { box-shadow: 0 8px 24px rgba(74,124,106,.45); }

.btn--dark {
  background: var(--color-dark);
  color: var(--color-white);
  box-shadow: 0 4px 16px rgba(17,24,39,.25);
}
.btn--dark:hover { background: var(--color-dark-alt); box-shadow: 0 8px 24px rgba(17,24,39,.35); }

.btn--white {
  background: var(--color-white);
  color: var(--color-primary);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.btn--white:hover { box-shadow: 0 8px 24px rgba(0,0,0,.18); }

.btn--outline {
  background: transparent;
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
}
.btn--outline:hover { background: var(--color-dark); color: var(--color-white); }

.btn--outline-white {
  background: transparent;
  color: var(--color-white);
  border: 2px solid rgba(255,255,255,.5);
}
.btn--outline-white:hover { background: rgba(255,255,255,.12); border-color: white; }

.btn--sm { padding: 10px 22px; font-size: var(--size-xs); }
.btn--lg { padding: 18px 40px; font-size: var(--size-md); }

/* ── Badge / Eyebrow ─────────────────────────── */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-primary);
  margin-bottom: 20px;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 2px;
}

/* ── Section Header ──────────────────────────── */
.section-header { margin-bottom: 56px; }
.section-header--center { text-align: center; }
.section-header--center .eyebrow { justify-content: center; }
.section-header__headline { margin-bottom: 16px; }
.section-header__sub {
  font-size: var(--size-lg);
  color: var(--color-gray-600);
  max-width: 560px;
  line-height: 1.7;
}
.section-header--center .section-header__sub { margin: 0 auto; }
.section-cta { text-align: center; margin-top: 48px; }

/* ══════════════════════════════════════════════
   TOP BAR
   ══════════════════════════════════════════════ */
.site-topbar {
  background: var(--color-dark);
  color: rgba(255,255,255,.6);
  font-size: 0.75rem;
  padding: 0;
  height: 36px;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1001;
  transition: transform var(--transition), opacity var(--transition);
}
.site-topbar.hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
.site-topbar__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.site-topbar__location {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.site-topbar__location svg { opacity: .5; flex-shrink: 0; }
.site-topbar__divider { opacity: .25; }
.site-topbar__claim {
  color: rgba(255,255,255,.45);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.site-topbar__cta {
  margin-left: auto;
  white-space: nowrap;
  color: var(--color-accent);
  font-weight: 600;
  transition: color var(--transition);
  letter-spacing: 0.01em;
}
.site-topbar__cta:hover { color: white; }

/* ══════════════════════════════════════════════
   HEADER / NAV
   ══════════════════════════════════════════════ */
.site-header {
  position: fixed;
  top: 36px; /* below topbar */
  left: 0; right: 0;
  z-index: 1000;
  padding: 0;
  transition: top var(--transition), background var(--transition), box-shadow var(--transition);
}
/* When topbar is hidden, header moves up */
.site-topbar.hidden ~ .site-header,
body.topbar-hidden .site-header {
  top: 0;
}

/* Transparent on hero */
.site-header--transparent {
  background: transparent;
}
.site-header--transparent .nav-menu a { color: rgba(255,255,255,.8); }
.site-header--transparent .nav-menu a:hover { color: white; }
.site-header--transparent .nav-menu .current-menu-item > a { color: white; }
.site-header--transparent .site-logo-text,
.site-header--transparent .site-header__logo a { color: white; }
.site-header--transparent .nav-toggle span { background: white; }
.site-header--transparent .btn--primary {
  background: rgba(255,255,255,.15);
  border: 1.5px solid rgba(255,255,255,.35);
  color: white;
  backdrop-filter: blur(8px);
}
.site-header--transparent .btn--primary:hover {
  background: white;
  color: var(--color-primary-dark);
}

/* Scrolled */
.site-header.scrolled {
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 4px 24px rgba(0,0,0,.06);
}
.site-header.scrolled .nav-menu a { color: var(--color-gray-600); }
.site-header.scrolled .nav-menu a:hover { color: var(--color-dark); }
.site-header.scrolled .nav-menu .current-menu-item > a { color: var(--color-primary); }
.site-header.scrolled .site-logo-text,
.site-header.scrolled .site-header__logo a { color: var(--color-dark); }
.site-header.scrolled .nav-toggle span { background: var(--color-dark); }

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  gap: 32px;
}

/* Logo */
.site-logo-text,
.site-header__logo a {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 1.4rem;
  letter-spacing: -0.03em;
  color: var(--color-dark);
  transition: color var(--transition);
}
.site-header__logo img,
.site-header__logo .custom-logo { height: 28px; width: auto; display: block; }
.site-header__logo .custom-logo-link { display: flex; align-items: center; }

/* Nav */
.site-header__nav { flex: 1; display: flex; justify-content: center; }
.nav-menu { display: flex; align-items: center; gap: 32px; }
.nav-menu li a {
  font-size: var(--size-sm);
  font-weight: 500;
  color: var(--color-gray-600);
  transition: color var(--transition);
  position: relative;
  padding: 6px 0;
}
.nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);
  border-radius: 2px;
}
.nav-menu a:hover { color: var(--color-dark); }
.nav-menu a:hover::after,
.nav-menu .current-menu-item > a::after { transform: scaleX(1); }
.nav-menu .current-menu-item > a { color: var(--color-dark); font-weight: 600; }

/* CTA area */
.site-header__actions { display: flex; align-items: center; gap: 12px; }

/* Hamburger */
.nav-toggle { display: none; flex-direction: column; gap: 6px; padding: 4px; }
.nav-toggle span { display: block; width: 26px; height: 2px; background: var(--color-dark); border-radius: 2px; transition: transform var(--transition), opacity var(--transition); }
.nav-toggle.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Push below fixed header */
main#main-content { padding-top: 0; }

/* ══════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════ */
.section-hero {
  position: relative;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  background-color: var(--color-dark);
  overflow: hidden;
}

/* Fallback gradient when no image */
.section-hero:not([style*="background-image"]) {
  background: linear-gradient(135deg, #0f1f17 0%, #1a3829 50%, #0d2318 100%);
}

.section-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 20, 15, 0.82) 0%,
    rgba(10, 20, 15, 0.55) 60%,
    rgba(10, 20, 15, 0.30) 100%
  );
}

/* Decorative circle */
.section-hero::after {
  content: '';
  position: absolute;
  right: -200px; top: -200px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,124,106,.25) 0%, transparent 70%);
  pointer-events: none;
}

.section-hero__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  text-align: left;
  padding: 200px 0 100px; /* accounts for topbar 36px + header 72px */
}

.section-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-full);
  padding: 8px 16px;
  font-size: var(--size-xs);
  font-weight: 600;
  color: rgba(255,255,255,.9);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.section-hero__badge::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #6ee7b7;
  box-shadow: 0 0 8px #6ee7b7;
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(1.4); }
}

.section-hero__headline {
  font-size: clamp(2.8rem, 7vw, 5rem);
  color: var(--color-white);
  line-height: 1.05;
  margin-bottom: 24px;
  letter-spacing: -0.02em;
}
.section-hero__sub {
  font-size: var(--size-lg);
  color: rgba(255,255,255,.72);
  max-width: 560px;
  margin-bottom: 40px;
  line-height: 1.7;
}
.section-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }


/* ══════════════════════════════════════════════
   HERO SERVICES STRIP
   ══════════════════════════════════════════════ */
.hero-services {
  position: absolute;
  bottom: 80px; left: 0; right: 0;
  z-index: 2;
}
.hero-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.hero-services__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 14px;
  padding: 22px 28px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-right: 1px solid rgba(255,255,255,.1);
  border-top: 1px solid rgba(255,255,255,.1);
  transition: background var(--transition);
  text-decoration: none;
}
.hero-services__item:last-child { border-right: none; }
.hero-services__item:hover { background: rgba(255,255,255,.15); }

.hero-services__icon {
  grid-row: 1 / 3;
  width: 42px; height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  color: white;
  flex-shrink: 0;
  transition: background var(--transition);
}
.hero-services__item:hover .hero-services__icon {
  background: var(--color-primary);
}
.hero-services__titel {
  font-size: var(--size-sm);
  font-weight: 700;
  color: white;
  line-height: 1.3;
}
.hero-services__text {
  font-size: var(--size-xs);
  color: rgba(255,255,255,.6);
  line-height: 1.4;
  grid-column: 2;
}
.hero-services__arrow {
  grid-row: 1 / 3;
  color: rgba(255,255,255,.4);
  font-size: 1.1rem;
  transition: color var(--transition), transform var(--transition);
}
.hero-services__item:hover .hero-services__arrow {
  color: white;
  transform: translateX(4px);
}

/* ══════════════════════════════════════════════
   SERVICES BAR
   ══════════════════════════════════════════════ */
.section-services-bar {
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
  position: relative;
  z-index: 10;
  margin-top: -1px;
  border-top: 3px solid var(--color-primary);
}
.services-bar__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.services-bar__item {
  padding: 36px 32px;
  border-right: 1px solid var(--color-gray-100);
  transition: background var(--transition);
  cursor: default;
}
.services-bar__item:last-child { border-right: none; }
.services-bar__item:hover { background: var(--color-gray-50); }

.services-bar__icon {
  width: 48px; height: 48px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background var(--transition);
}
.services-bar__item:hover .services-bar__icon { background: var(--color-primary); }
.services-bar__icon img { width: 24px; height: 24px; object-fit: contain; }
/* Fallback icon when no image */
.services-bar__icon--fallback::after {
  content: '✦';
  font-size: 20px;
  color: var(--color-primary);
  transition: color var(--transition);
}
.services-bar__item:hover .services-bar__icon--fallback::after { color: white; }

.services-bar__titel { font-size: var(--size-md); font-weight: 700; margin-bottom: 8px; color: var(--color-dark); }
.services-bar__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; }
.services-bar__link {
  display: inline-block;
  margin-top: 12px;
  font-size: var(--size-sm);
  font-weight: 600;
  color: var(--color-primary);
  transition: gap var(--transition);
}
.services-bar__link:hover { text-decoration: underline; }

/* ══════════════════════════════════════════════
   LOGO BAR
   ══════════════════════════════════════════════ */
.section-logo-bar {
  padding: 48px 0;
  background: var(--color-gray-50);
  border-top: 1px solid var(--color-gray-200);
  border-bottom: 1px solid var(--color-gray-200);
}
.logo-bar__label {
  text-align: center;
  font-size: var(--size-xs);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  color: var(--color-gray-400);
  margin-bottom: 32px;
}

/* Marquee wrapper */
.logo-bar__marquee {
  display: flex;
  overflow: hidden;
  user-select: none;
  /* Fade-Masken links & rechts */
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}
.logo-bar__marquee:hover .logo-bar__track { animation-play-state: paused; }

.logo-bar__track {
  display: flex;
  align-items: center;
  gap: 64px;
  flex-shrink: 0;
  padding: 0 32px;
  animation: marquee-scroll 22s linear infinite;
}

@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}

.logo-bar__item { flex-shrink: 0; }
.logo-bar__item img {
  height: 34px; width: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(0.6);
  opacity: 0.5;
  transition: all var(--transition);
}
.logo-bar__item:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.06); }

.logo-bar__text-logo {
  font-size: var(--size-md);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-gray-400);
  white-space: nowrap;
  font-family: var(--font-sans);
  transition: color var(--transition);
}
.logo-bar__item:hover .logo-bar__text-logo { color: var(--color-gray-800); }

/* ══════════════════════════════════════════════
   INTRO
   ══════════════════════════════════════════════ */
.section-intro { padding: var(--section-py) 0; background: var(--color-white); }
.section-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

/* Image stack effect */
.section-intro__bild {
  position: relative;
}
.section-intro__bild-main {
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: var(--shadow-xl);
}
.section-intro__bild-main img { width: 100%; height: 100%; object-fit: cover; }
.section-intro__bild-accent {
  position: absolute;
  bottom: -24px; right: -24px;
  width: 55%;
  aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 4px solid white;
}
.section-intro__bild-accent img { width: 100%; height: 100%; object-fit: cover; }
.section-intro__bild-stat {
  position: absolute;
  top: 32px; right: -20px;
  background: white;
  border-radius: var(--radius-md);
  padding: 16px 20px;
  box-shadow: var(--shadow-lg);
  text-align: center;
  min-width: 120px;
}
.section-intro__bild-stat strong { display: block; font-size: var(--size-2xl); font-weight: 800; color: var(--color-primary); }
.section-intro__bild-stat span { font-size: var(--size-xs); color: var(--color-gray-600); font-weight: 500; }

/* Content */
.section-intro__headline { margin-bottom: 32px; }
.intro-text-block { margin-bottom: 24px; padding-left: 16px; border-left: 3px solid var(--color-primary); }
.intro-text-block__titel { font-size: var(--size-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-primary); margin-bottom: 6px; }
.intro-text-block__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; }
.section-intro__content .btn { margin-top: 24px; }

/* ══════════════════════════════════════════════
   PROZESS
   ══════════════════════════════════════════════ */
.section-prozess {
  padding: var(--section-py) 0;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-alt) 100%);
  position: relative;
  overflow: hidden;
}
.section-prozess::before {
  content: '';
  position: absolute;
  left: -300px; top: -300px;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,124,106,.15) 0%, transparent 70%);
  pointer-events: none;
}
.section-prozess .eyebrow { color: rgba(255,255,255,.5); }
.section-prozess .eyebrow::before { background: rgba(255,255,255,.3); }
.section-prozess__headline { color: white; margin-bottom: 64px; }
.section-prozess__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: rgba(255,255,255,.06);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.prozess-step {
  padding: 48px 40px;
  background: rgba(255,255,255,.03);
  transition: background var(--transition);
  cursor: pointer;
  position: relative;
}
.prozess-step::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: transparent;
  transition: background var(--transition);
}
.prozess-step:hover { background: rgba(255,255,255,.06); }
.prozess-step--active { background: rgba(74,124,106,.15); }
.prozess-step--active::after { background: var(--color-primary); }

.prozess-step__nummer {
  font-family: var(--font-display);
  font-size: 4rem;
  font-weight: 800;
  color: rgba(255,255,255,.1);
  line-height: 1;
  display: block;
  margin-bottom: 24px;
  transition: color var(--transition);
}
.prozess-step--active .prozess-step__nummer { color: var(--color-primary); }
.prozess-step__titel { font-size: var(--size-lg); font-weight: 700; color: white; margin-bottom: 12px; }
.prozess-step__text { font-size: var(--size-sm); color: rgba(255,255,255,.55); line-height: 1.7; }

/* ══════════════════════════════════════════════
   ERFOLGE
   ══════════════════════════════════════════════ */
.section-erfolge { padding: var(--section-py) 0; background: var(--color-gray-50); }
.erfolge-slider { position: relative; }
.erfolge-slider__track {
  display: flex;
  gap: 28px;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.erfolge-card {
  flex: 0 0 calc(33.333% - 20px);
  background: var(--color-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition);
  group: true;
}
.erfolge-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-6px); border-color: transparent; }

.erfolge-card__img {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.erfolge-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.erfolge-card:hover .erfolge-card__img img { transform: scale(1.06); }
.erfolge-card__img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.3) 0%, transparent 50%);
  opacity: 0;
  transition: opacity var(--transition);
}
.erfolge-card:hover .erfolge-card__img::after { opacity: 1; }

.erfolge-card__body { padding: 28px; }
.erfolge-card__kategorie {
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  display: block;
  margin-bottom: 10px;
}
.erfolge-card__titel { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; line-height: 1.4; }
.erfolge-card__text { font-size: var(--size-sm); color: var(--color-gray-600); margin-bottom: 16px; line-height: 1.6; }
.erfolge-card__link {
  font-size: var(--size-sm);
  font-weight: 600;
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap var(--transition);
}
.erfolge-card__link:hover { gap: 8px; }
.erfolge-card__link::after { content: '→'; }

/* ══════════════════════════════════════════════
   TESTIMONIALS
   ══════════════════════════════════════════════ */
.section-testimonials { padding: var(--section-py) 0; background: var(--color-white); }
.testimonials-slider { position: relative; }
.testimonials-slider__track {
  display: flex;
  gap: 28px;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.testimonial-card {
  flex: 0 0 calc(50% - 14px);
  padding: 40px;
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition);
  position: relative;
}
.testimonial-card:hover { box-shadow: var(--shadow-md); border-color: var(--color-primary-light); }
.testimonial-card::before {
  content: '\201C';
  font-family: var(--font-display);
  font-size: 6rem;
  line-height: 1;
  color: var(--color-primary);
  opacity: .15;
  position: absolute;
  top: 16px; left: 32px;
}
.testimonial-card__body { position: relative; z-index: 1; }
.testimonial-card__zitat {
  font-size: var(--size-md);
  color: var(--color-gray-800);
  line-height: 1.8;
  margin-bottom: 28px;
  font-style: italic;
}
.testimonial-card__footer { display: flex; align-items: center; gap: 16px; }
.testimonial-card__foto {
  width: 56px; height: 56px;
  border-radius: var(--radius-full);
  overflow: hidden;
  flex-shrink: 0;
  border: 3px solid var(--color-white);
  box-shadow: var(--shadow-md);
}
.testimonial-card__foto img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-card__autor strong { display: block; font-weight: 700; font-size: var(--size-sm); color: var(--color-dark); }
.testimonial-card__autor span { font-size: var(--size-xs); color: var(--color-gray-400); }

/* ══════════════════════════════════════════════
   SLIDER CONTROLS (shared)
   ══════════════════════════════════════════════ */
.slider-controls { display: flex; gap: 12px; margin-top: 40px; justify-content: center; }
.slider-btn {
  width: 52px; height: 52px;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-gray-200);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--size-lg);
  color: var(--color-gray-600);
  transition: all var(--transition);
  background: var(--color-white);
}
.slider-btn:hover { background: var(--color-dark); color: white; border-color: var(--color-dark); transform: scale(1.08); }
.slider-btn:disabled { opacity: .35; pointer-events: none; }

/* ══════════════════════════════════════════════
   CTA BANNER
   ══════════════════════════════════════════════ */
.section-cta-banner {
  position: relative;
  padding: var(--section-py) 0;
  overflow: hidden;
  background: var(--color-beige);
  background-size: cover;
  background-position: center;
}
.section-cta-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(251,247,242,.95) 0%, rgba(251,247,242,.75) 100%);
}
.section-cta-banner .container {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 64px;
}
.section-cta-banner__headline { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 16px; color: var(--color-dark); }
.section-cta-banner__sub { color: var(--color-gray-600); margin-bottom: 32px; font-size: var(--size-lg); }
.section-cta-banner__actions { display: flex; gap: 16px; flex-wrap: wrap; }

.section-cta-banner__media {
  width: 360px; height: 280px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow-xl);
  flex-shrink: 0;
}
.section-cta-banner__media img { width: 100%; height: 100%; object-fit: cover; }
.video-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.25);
  transition: background var(--transition);
}
.video-play-btn:hover { background: rgba(0,0,0,.4); }
.video-play-btn svg { width: 72px; height: 72px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.3)); transition: transform var(--transition); }
.video-play-btn:hover svg { transform: scale(1.1); }

/* ══════════════════════════════════════════════
   KONTAKT FORMULAR
   ══════════════════════════════════════════════ */
.section-kontakt {
  padding: var(--section-py) 0;
  background: linear-gradient(135deg, var(--color-dark) 0%, #0a2030 100%);
  position: relative;
  overflow: hidden;
  color: white;
}
.section-kontakt::before {
  content: '';
  position: absolute;
  right: -200px; bottom: -200px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,124,106,.18) 0%, transparent 70%);
}
.section-kontakt__grid {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
}
.section-kontakt .eyebrow { color: rgba(255,255,255,.4); }
.section-kontakt .eyebrow::before { background: rgba(255,255,255,.2); }
.section-kontakt__headline { color: white; margin-bottom: 16px; }
.section-kontakt__sub { color: rgba(255,255,255,.55); font-size: var(--size-lg); }

/* Form */
.kontakt-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: flex; gap: 16px; }
.form-row--2col > * { flex: 1; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label {
  font-size: var(--size-xs);
  font-weight: 700;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.form-group input,
.form-group select,
.form-group textarea {
  padding: 16px 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  color: white;
  font: inherit;
  font-size: var(--size-md);
  transition: all var(--transition);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(255,255,255,.25); }
.form-group select { color: rgba(255,255,255,.7); }
.form-group select option { background: #1a2e20; color: white; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  background: rgba(74,124,106,.12);
  box-shadow: 0 0 0 3px rgba(74,124,106,.2);
}
.form-group textarea { resize: vertical; min-height: 130px; }
.kontakt-form .btn { align-self: flex-start; }

.form-feedback {
  font-size: var(--size-sm);
  padding: 14px 18px;
  border-radius: var(--radius-md);
  display: none;
}
.form-feedback.success { display: block; background: rgba(74,124,106,.2); color: #9fd4c0; border: 1px solid rgba(74,124,106,.4); }
.form-feedback.error   { display: block; background: rgba(200,50,50,.15); color: #f4a0a0; border: 1px solid rgba(200,50,50,.3); }

/* ══════════════════════════════════════════════
   NEWS
   ══════════════════════════════════════════════ */
.section-news { padding: var(--section-py) 0; background: var(--color-white); }
.news-slider { position: relative; }
.news-slider__track {
  display: flex;
  gap: 28px;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.news-card {
  flex: 0 0 calc(33.333% - 20px);
  background: var(--color-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition);
}
.news-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-6px); border-color: transparent; }
.news-card__img { aspect-ratio: 16/10; overflow: hidden; }
.news-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.news-card:hover .news-card__img img { transform: scale(1.06); }
.news-card__body { padding: 28px; }
.news-card__kat {
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  display: block;
  margin-bottom: 10px;
}
.news-card__titel { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; line-height: 1.4; }
.news-card__titel a { color: var(--color-dark); transition: color var(--transition); }
.news-card__titel a:hover { color: var(--color-primary); }
.news-card__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; }

/* ══════════════════════════════════════════════
   PAGE HERO (Unterseiten-Header)
   ══════════════════════════════════════════════ */
.page-hero {
  padding: 160px 0 90px; /* accounts for topbar + header */
  position: relative;
  overflow: hidden;
}
.page-hero--light {
  background: linear-gradient(160deg, var(--color-gray-50) 0%, var(--color-white) 60%);
  border-bottom: 1px solid var(--color-gray-200);
}
.page-hero--light::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,124,106,.07) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero--green {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
}
.page-hero--green::after {
  content: '';
  position: absolute;
  right: -80px; bottom: -80px;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  pointer-events: none;
}
.page-hero--green .page-hero__title,
.page-hero--green .page-hero__sub,
.page-hero--green .eyebrow { color: white; }
.page-hero--green .eyebrow { opacity: .75; }
.page-hero--green .page-hero__sub { color: rgba(255,255,255,.75); }
.page-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
}
.page-hero .eyebrow { margin-bottom: 16px; }
.page-hero__title { margin-bottom: 20px; }
.page-hero__sub {
  font-size: var(--size-lg);
  color: var(--color-gray-600);
  line-height: 1.75;
  max-width: 600px;
}
.page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

/* ══════════════════════════════════════════════
   PAGE HEADER (legacy – kept for backward compat)
   ══════════════════════════════════════════════ */
.section-page-header {
  padding: 120px 0 80px;
}
.section-page-header--light {
  background: linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-white) 100%);
  border-bottom: 1px solid var(--color-gray-200);
}
.section-page-header--green {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  position: relative;
  overflow: hidden;
}
.section-page-header--green::after {
  content: '';
  position: absolute;
  right: -100px; bottom: -100px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.section-page-header--green .section-page-header__title,
.section-page-header--green .section-page-header__sub { color: white; }
.section-page-header--green .section-page-header__sub { color: rgba(255,255,255,.75); }
.section-page-header__title { margin-bottom: 20px; position: relative; z-index: 1; }
.section-page-header__sub {
  font-size: var(--size-lg);
  color: var(--color-gray-600);
  max-width: 640px;
  line-height: 1.7;
  position: relative; z-index: 1;
}

/* ══════════════════════════════════════════════
   RECRUITING KMU – SEO-Landingpage
   ══════════════════════════════════════════════ */

/* Insight band */
.rec-insight {
  background: var(--color-primary-light);
  border-left: 0;
  padding: 32px 0;
  border-top: 3px solid var(--color-primary);
}
.rec-insight__text {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: var(--color-gray-600);
  line-height: 1.7;
  max-width: 760px;
}
.rec-insight__text strong { color: var(--color-primary-dark); }

/* Section wrappers */
.rec-section { padding: var(--section-py) 0; }
.rec-section--light  { background: var(--color-gray-50); }
.rec-section--white  { background: var(--color-white); }
.rec-section--beige  { background: var(--color-beige); }
.rec-section--dark   { background: var(--color-dark); }

.rec-section__header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 64px;
}
.rec-section__header p { color: var(--color-gray-600); font-size: var(--size-lg); margin-top: 16px; }
.rec-section__header--white h2 { color: white; }
.rec-section__header--white p  { color: rgba(255,255,255,.65); }

/* Two-column layout */
.rec-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.rec-two-col--reverse .rec-two-col__text { order: 2; }
.rec-two-col--reverse .rec-ansatz-visual  { order: 1; }
.rec-two-col__text h2 { margin-bottom: 20px; }
.rec-two-col__text p  { color: var(--color-gray-600); line-height: 1.8; margin-bottom: 16px; }

.rec-highlight {
  background: var(--color-primary-light);
  border-left: 3px solid var(--color-primary);
  padding: 16px 20px;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  color: var(--color-primary-dark) !important;
  font-weight: 500;
  margin: 24px 0 !important;
}

/* Problem list */
.rec-problem-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.rec-problem-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.rec-problem-list__icon {
  flex-shrink: 0;
  width: 36px; height: 36px;
  background: #FEF2F2;
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: #DC2626;
  margin-top: 2px;
}
.rec-problem-list strong { display: block; font-weight: 700; color: var(--color-dark); margin-bottom: 4px; font-size: var(--size-sm); }
.rec-problem-list p { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; margin: 0; }

/* Ansatz visual */
.rec-ansatz-visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rec-ansatz-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  font-weight: 600;
  font-size: var(--size-md);
  color: var(--color-dark);
  transition: all var(--transition);
}
.rec-ansatz-card:hover { border-color: var(--color-primary); background: var(--color-primary-light); }
.rec-ansatz-card--featured {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-color: transparent;
  color: white;
}
.rec-ansatz-card--featured:hover { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)); }
.rec-ansatz-card__icon {
  width: 52px; height: 52px;
  background: rgba(74,124,106,.12);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  flex-shrink: 0;
}
.rec-ansatz-card--featured .rec-ansatz-card__icon { background: rgba(255,255,255,.2); color: white; }

/* Process steps */
.rec-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.rec-step {
  display: flex;
  gap: 24px;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 32px;
  border: 1px solid var(--color-gray-200);
  transition: box-shadow var(--transition), border-color var(--transition);
}
.rec-step:hover { box-shadow: var(--shadow-md); border-color: var(--color-primary); }
.rec-step__nr {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--color-primary);
  opacity: .25;
  line-height: 1;
  flex-shrink: 0;
  width: 48px;
  transition: opacity var(--transition);
}
.rec-step:hover .rec-step__nr { opacity: .6; }
.rec-step__body h3 { font-size: var(--size-lg); margin-bottom: 10px; }
.rec-step__body p  { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; }

/* Results grid */
.rec-results {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.rec-result {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  transition: background var(--transition);
}
.rec-result:hover { background: rgba(255,255,255,.1); }
.rec-result__icon {
  width: 52px; height: 52px;
  background: rgba(74,124,106,.3);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: #6ee7b7;
  margin-bottom: 20px;
}
.rec-result h3 { color: white; font-size: var(--size-md); margin-bottom: 10px; }
.rec-result p  { color: rgba(255,255,255,.55); font-size: var(--size-sm); line-height: 1.7; }

/* Zielgruppe */
.rec-zielgruppe {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.rec-zielgruppe__text h2 { margin-bottom: 16px; }
.rec-zielgruppe__text > p { color: var(--color-gray-600); line-height: 1.8; margin-bottom: 28px; }
.rec-zg-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.rec-zg-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: var(--size-md);
  font-weight: 500;
  color: var(--color-dark);
}
.rec-zg-list svg { color: var(--color-primary); flex-shrink: 0; }

.rec-zielgruppe__cta-box {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  border-radius: var(--radius-xl);
  padding: 48px 40px;
  color: white;
}
.rec-zielgruppe__cta-label {
  display: block;
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,.6);
  margin-bottom: 16px;
}
.rec-zielgruppe__cta-box h3 {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  color: white;
  margin-bottom: 12px;
  line-height: 1.3;
}
.rec-zielgruppe__cta-box p { color: rgba(255,255,255,.75); font-size: var(--size-sm); line-height: 1.7; margin-bottom: 28px; }
.rec-zielgruppe__cta-box .btn--primary {
  background: white;
  color: var(--color-primary-dark);
  width: 100%;
  justify-content: center;
}
.rec-zielgruppe__cta-box .btn--primary:hover { background: var(--color-gray-100); }
.rec-zielgruppe__note {
  text-align: center;
  font-size: var(--size-xs);
  color: rgba(255,255,255,.45);
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}

/* ══════════════════════════════════════════════
   HRNEXT – HR Beratung
   ══════════════════════════════════════════════ */

/* Pyramid visual */
.hrn-visual { display: flex; align-items: center; justify-content: center; padding: 24px; }
.hrn-pyramid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 380px;
}
.hrn-pyramid__level {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  font-weight: 600;
  font-size: var(--size-sm);
  color: var(--color-dark);
  background: var(--color-gray-50);
  transition: all var(--transition);
}
.hrn-pyramid__level:hover { border-color: var(--color-primary); background: var(--color-primary-light); }
.hrn-pyramid__level--3 {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-color: transparent;
  color: white;
}
.hrn-pyramid__level--3:hover { filter: brightness(1.05); }
.hrn-pyramid__icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-md);
  background: rgba(74,124,106,.12);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  flex-shrink: 0;
}
.hrn-pyramid__level--3 .hrn-pyramid__icon { background: rgba(255,255,255,.2); color: white; }
.hrn-pyramid__base {
  text-align: center;
  padding: 12px;
  background: var(--color-dark);
  border-radius: var(--radius-lg);
  color: rgba(255,255,255,.5);
  font-size: var(--size-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Themen grid */
.hrn-themen {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.hrn-thema {
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
}
.hrn-thema:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); background: var(--color-white); }
.hrn-thema__icon {
  width: 56px; height: 56px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  margin-bottom: 20px;
  transition: background var(--transition), color var(--transition);
}
.hrn-thema:hover .hrn-thema__icon { background: var(--color-primary); color: white; }
.hrn-thema h3 { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; }
.hrn-thema p  { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; flex: 1; margin-bottom: 20px; }
.hrn-thema__link {
  font-size: var(--size-xs);
  font-weight: 600;
  color: var(--color-primary);
  transition: gap var(--transition), color var(--transition);
  margin-top: auto;
}
.hrn-thema__link:hover { color: var(--color-primary-dark); text-decoration: underline; }

/* ══════════════════════════════════════════════
   TEAMSTAY – Mitarbeiterbindung
   ══════════════════════════════════════════════ */

/* Two-panel layout (Ursachen + Folgen) */
.ts-two-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.ts-panel h2 { margin-bottom: 16px; }
.ts-panel > p { color: var(--color-gray-600); line-height: 1.8; margin-bottom: 28px; }

/* Folgen grid */
.ts-folgen-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ts-folge {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.ts-folge__icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  margin-top: 2px;
}
.ts-folge strong { display: block; font-weight: 700; color: var(--color-dark); margin-bottom: 4px; font-size: var(--size-sm); }
.ts-folge p { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; margin: 0; }

/* Ring visual */
.ts-visual { display: flex; align-items: center; justify-content: center; padding: 24px; }
.ts-visual__ring {
  position: relative;
  width: 300px; height: 300px;
}
.ts-visual__center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 120px; height: 120px;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 8px 32px rgba(74,124,106,.4);
  z-index: 2;
  gap: 6px;
}
.ts-visual__center span { font-weight: 800; font-size: var(--size-xs); letter-spacing: .05em; }
.ts-visual__badge {
  position: absolute;
  background: white;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  padding: 6px 14px;
  font-size: var(--size-xs);
  font-weight: 700;
  color: var(--color-dark);
  white-space: nowrap;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), color var(--transition);
}
.ts-visual__badge:hover { border-color: var(--color-primary); color: var(--color-primary); }
.ts-visual__badge--1 { top: 0;    left: 50%; transform: translateX(-50%); }
.ts-visual__badge--2 { top: 50%;  right: -16px; transform: translateY(-50%); }
.ts-visual__badge--3 { bottom: 0; left: 50%; transform: translateX(-50%); }
.ts-visual__badge--4 { top: 50%;  left: -16px; transform: translateY(-50%); }

/* ══════════════════════════════════════════════
   LEADSMART – Führungstraining
   ══════════════════════════════════════════════ */

/* Solution cards */
.ls-visual { display: flex; flex-direction: column; gap: 16px; }
.ls-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition);
}
.ls-card:hover { border-color: var(--color-primary); background: var(--color-primary-light); }
.ls-card--featured {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-color: transparent;
  order: -1;
}
.ls-card--featured:hover { filter: brightness(1.05); }
.ls-card--featured strong,
.ls-card--featured p { color: white; }
.ls-card--featured p { opacity: .8; }
.ls-card__icon {
  width: 52px; height: 52px;
  border-radius: var(--radius-md);
  background: rgba(74,124,106,.12);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  flex-shrink: 0;
}
.ls-card--featured .ls-card__icon { background: rgba(255,255,255,.2); color: white; }
.ls-card strong { display: block; font-weight: 700; color: var(--color-dark); margin-bottom: 4px; font-size: var(--size-sm); }
.ls-card p { font-size: var(--size-xs); color: var(--color-gray-600); margin: 0; line-height: 1.5; }

/* Module grid */
.ls-module-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ls-module {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 32px;
  border: 1px solid var(--color-gray-200);
  transition: box-shadow var(--transition), border-color var(--transition);
}
.ls-module:hover { box-shadow: var(--shadow-md); border-color: var(--color-primary); }
.ls-module__icon {
  width: 52px; height: 52px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  margin-bottom: 20px;
  transition: background var(--transition), color var(--transition);
}
.ls-module:hover .ls-module__icon { background: var(--color-primary); color: white; }
.ls-module h3 { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; }
.ls-module p  { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; }

/* Ansatz grid */
.ls-ansatz-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.ls-ansatz-item {
  position: relative;
  padding: 36px 28px 32px;
  background: var(--color-gray-50);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-gray-200);
  overflow: hidden;
  transition: box-shadow var(--transition), border-color var(--transition);
}
.ls-ansatz-item:hover { box-shadow: var(--shadow-md); border-color: var(--color-primary); }
.ls-ansatz-item__nr {
  position: absolute;
  top: 20px; right: 24px;
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 800;
  color: var(--color-primary);
  opacity: .1;
  line-height: 1;
  transition: opacity var(--transition);
}
.ls-ansatz-item:hover .ls-ansatz-item__nr { opacity: .2; }
.ls-ansatz-item__icon {
  width: 56px; height: 56px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  margin-bottom: 20px;
  transition: background var(--transition), color var(--transition);
}
.ls-ansatz-item:hover .ls-ansatz-item__icon { background: var(--color-primary); color: white; }
.ls-ansatz-item h3 { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; }
.ls-ansatz-item p  { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; }

/* ══════════════════════════════════════════════
   PROFILEFIT – Diagnostik Visual
   ══════════════════════════════════════════════ */
.pfit-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.pfit-circle {
  position: relative;
  width: 340px;
  height: 340px;
}
.pfit-circle__center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 110px; height: 110px;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: white;
  font-weight: 800;
  font-size: var(--size-sm);
  text-align: center;
  box-shadow: 0 8px 32px rgba(74,124,106,.4);
  z-index: 2;
}
.pfit-circle__item {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  width: 110px;
}
.pfit-circle__item--1 { top: 0;    left: 50%; transform: translateX(-50%); }
.pfit-circle__item--2 { bottom: 8px; left: 0; }
.pfit-circle__item--3 { bottom: 8px; right: 0; }
.pfit-circle__icon {
  width: 56px; height: 56px;
  background: var(--color-primary-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  border: 2px solid var(--color-white);
  box-shadow: var(--shadow-md);
}
.pfit-circle__item span {
  font-size: var(--size-xs);
  font-weight: 600;
  color: var(--color-gray-600);
  line-height: 1.3;
}
/* connecting lines via pseudo */
.pfit-circle::before,
.pfit-circle::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 1px;
  background: var(--color-gray-200);
  transform-origin: top center;
  z-index: 0;
}
.pfit-circle::before { height: 95px; transform: translateX(-50%) translateY(-100%); }
.pfit-circle::after  { height: 95px; transform: translateX(-50%) rotate(120deg) translateY(-0%); }

/* ══════════════════════════════════════════════
   UNSER ANGEBOT – Leistungsseite
   ═══════════════════════════════════���══════════ */
.section-angebot { padding: var(--section-py) 0; background: var(--color-white); }

.angebot-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.angebot-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 72px 0;
  border-bottom: 1px solid var(--color-gray-100);
}
.angebot-item:last-child { border-bottom: none; }
.angebot-item--reverse .angebot-item__visual { order: 2; }
.angebot-item--reverse .angebot-item__content { order: 1; }

.angebot-item__visual { position: relative; }
.angebot-item__img {
  width: 100%;
  border-radius: var(--radius-xl);
  object-fit: cover;
  aspect-ratio: 4/3;
}
.angebot-item__placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--color-primary-light) 0%, rgba(74,124,106,.12) 100%);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(74,124,106,.2);
}
.angebot-item__number {
  font-size: 7rem;
  font-weight: 900;
  color: rgba(74,124,106,.15);
  font-family: var(--font-display);
  line-height: 1;
}

.angebot-item__nr {
  display: inline-block;
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-primary);
  background: var(--color-primary-light);
  padding: 4px 12px;
  border-radius: var(--radius-full);
  margin-bottom: 16px;
}
.angebot-item__titel {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  margin-bottom: 20px;
  line-height: 1.2;
}
.angebot-item__text {
  color: var(--color-gray-600);
  line-height: 1.8;
  font-size: var(--size-md);
  margin-bottom: 24px;
}
.angebot-item__text p { margin-bottom: 12px; }
.angebot-item__text p:last-child { margin-bottom: 0; }
.angebot-item__text em { color: var(--color-primary); font-style: normal; font-weight: 600; }
.angebot-item__punkte {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
}
.angebot-item__punkte li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: var(--size-sm);
  color: var(--color-gray-600);
  line-height: 1.6;
}
.angebot-item__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.angebot-item__actions .angebot-item__cta { margin-top: 0; }

.angebot-item__sub-links { margin-top: 28px; padding-top: 24px; border-top: 1px solid #E5E7EB; }
.angebot-item__sub-links__label { display: block !important; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #9CA3AF; margin-bottom: 12px; }
.angebot-item__sub-links ul { list-style: none !important; display: flex !important; flex-wrap: wrap !important; gap: 8px; margin: 0 !important; padding: 0 !important; }
.angebot-item__sub-links li { display: flex !important; margin: 0 !important; padding: 0 !important; }
.angebot-item__sub-links li::before { display: none !important; content: none !important; }
.angebot-item__sub-links a { display: inline-flex !important; align-items: center !important; gap: 5px; font-size: 0.875rem; font-weight: 500; color: #183540 !important; background: #e8f0ef !important; border-radius: 6px !important; padding: 6px 14px !important; text-decoration: none !important; transition: background .15s, color .15s; }
.angebot-item__sub-links a:hover { background: #82aca5 !important; color: #ffffff !important; }

.angebot-item__punkte li::before {
  content: '';
  width: 20px; height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--color-primary-light);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='%234A7C6A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 2px;
}

/* ══════════════════════════════════════════════
   MISSION (Über uns)
   ══════════════════════════════════════════════ */
.section-mission { padding: var(--section-py) 0; }
.section-mission__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
}
.section-mission__headline { margin-bottom: 24px; }
.section-mission__text { font-size: var(--size-md); color: var(--color-gray-600); line-height: 1.85; }
.section-mission__bild {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  aspect-ratio: 4/3;
}
.section-mission__bild img { width: 100%; height: 100%; object-fit: cover; }

/* ══════════════════════════════════════════════
   WERTE (Über uns)
   ══════════════════════════════════════════════ */
.section-werte { padding: var(--section-py) 0; background: var(--color-gray-50); }
.werte-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.wert-card {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  text-align: center;
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition);
}
.wert-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-6px); border-color: transparent; }
.wert-card__icon {
  width: 64px; height: 64px;
  background: var(--color-primary-light);
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  transition: background var(--transition);
}
.wert-card:hover .wert-card__icon { background: var(--color-primary); }
.wert-card__icon img { width: 32px; height: 32px; object-fit: contain; }
.wert-card__icon-fallback {
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  transition: color var(--transition);
}
.wert-card:hover .wert-card__icon-fallback { color: white; }
.wert-card__titel { font-size: var(--size-md); font-weight: 700; margin-bottom: 10px; }
.wert-card__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.7; }

/* ══════════════════════════════════════════════
   TEAM (Über uns)
   ══════════════════════════════════════════════ */
.section-team { padding: var(--section-py) 0; background: var(--color-white); }
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.team-card { position: relative; }
.team-card__foto {
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: var(--radius-lg);
  margin-bottom: 20px;
  background: var(--color-gray-200);
  position: relative;
}
.team-card__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.team-card:hover .team-card__foto img { transform: scale(1.04); }
.team-card__foto-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,24,39,.7) 0%, transparent 50%);
  opacity: 0;
  transition: opacity var(--transition);
  display: flex;
  align-items: flex-end;
  padding: 20px;
}
.team-card:hover .team-card__foto-overlay { opacity: 1; }
.team-card__linkedin-overlay {
  color: white;
  width: 36px; height: 36px;
  background: rgba(255,255,255,.2);
  border-radius: var(--radius-full);
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
  transition: background var(--transition);
}
.team-card__linkedin-overlay:hover { background: var(--color-primary); }
.team-card__name { font-size: var(--size-md); font-weight: 700; margin-bottom: 4px; }
.team-card__position { font-size: var(--size-sm); color: var(--color-primary); font-weight: 600; margin-bottom: 8px; }
.team-card__bio { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; }

/* ══════════════════════════════════════════════
   LEISTUNGEN (Unser Angebot)
   ══════════════════════════════════════════════ */
.section-leistungen { padding: var(--section-py) 0; }
.section-leistungen__headline { margin-bottom: 64px; }
.leistungen-list { display: flex; flex-direction: column; gap: 80px; }
.leistung-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.leistung-item--reverse { direction: rtl; }
.leistung-item--reverse > * { direction: ltr; }

.leistung-item__visual {
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shadow-xl);
}
.leistung-item__visual img { width: 100%; height: 100%; object-fit: cover; }

.leistung-item__titel { font-size: clamp(1.4rem, 2.5vw, var(--size-2xl)); margin-bottom: 20px; }
.leistung-item__text { color: var(--color-gray-600); margin-bottom: 24px; line-height: 1.85; }
.leistung-item__punkte { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.leistung-item__punkte li {
  font-size: var(--size-sm);
  padding-left: 28px;
  position: relative;
  color: var(--color-gray-600);
  line-height: 1.6;
}
.leistung-item__punkte li::before {
  content: '';
  position: absolute;
  left: 0; top: 6px;
  width: 16px; height: 16px;
  border-radius: var(--radius-full);
  background: var(--color-primary-light);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A7C6A' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: center;
}

/* ══════════════════════════════════════════════
   FOOTER PROZESS
   ══════════════════════════════════════════════ */
.footer-prozess {
  padding: var(--section-py) 0;
  background: var(--color-primary);
  position: relative;
  overflow: hidden;
}
.footer-prozess::before {
  content: '';
  position: absolute;
  right: -200px; top: -200px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.footer-prozess__label {
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,.55);
  display: block;
  margin-bottom: 12px;
}
.footer-prozess__headline { font-size: clamp(1.6rem, 3vw, 2.4rem); color: white; margin-bottom: 56px; line-height: 1.25; }
.footer-prozess__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.footer-prozess__step {
  padding: 40px 0;
  border-top: 2px solid rgba(255,255,255,.15);
  padding-right: 40px;
  position: relative;
  z-index: 1;
}
.footer-prozess__step--active { border-top-color: rgba(255,255,255,.8); }
.step-number {
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1;
  color: rgba(255,255,255,.15);
  display: block;
  margin-bottom: 16px;
}
.footer-prozess__step--active .step-number { color: rgba(255,255,255,.9); }
.step-title { font-size: var(--size-lg); font-weight: 700; color: rgba(255,255,255,.8); margin-bottom: 10px; }
.footer-prozess__step--active .step-title { color: white; }
.step-text { font-size: var(--size-sm); color: rgba(255,255,255,.5); line-height: 1.7; }
.footer-prozess__step--active .step-text { color: rgba(255,255,255,.75); }

/* ══════════════════════════════════════════════
   FOOTER CTA BAND
   ══════════════════════════════════════════════ */
.footer-cta-band {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}
.footer-cta-band::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  pointer-events: none;
}
.footer-cta-band::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  pointer-events: none;
}
.footer-cta-band__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.footer-cta-band__text h2 {
  color: white;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 12px;
}
.footer-cta-band__text p {
  color: rgba(255,255,255,.75);
  font-size: var(--size-md);
  max-width: 480px;
  line-height: 1.7;
}
.footer-cta-band__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════ */
.site-footer {
  background: var(--color-dark);
  color: rgba(255,255,255,.6);
  padding: 72px 0 32px;
}
.site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 64px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 32px;
}
/* New 4-column top layout */
.site-footer__top {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.2fr;
  gap: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 32px;
}
.site-footer__brand .site-logo-text { color: white; font-size: 1.5rem; }
.site-footer__brand .custom-logo { height: 36px; width: auto; display: block; filter: brightness(0) invert(1); }
.site-footer__brand .custom-logo-link { display: inline-flex; }
.site-footer__tagline {
  margin-top: 16px;
  font-size: var(--size-sm);
  line-height: 1.75;
  color: rgba(255,255,255,.55);
  max-width: 260px;
}
.site-footer__social {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.site-footer__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.6);
  transition: all var(--transition);
}
.site-footer__social a:hover {
  background: var(--color-primary);
  color: white;
}

.site-footer__nav h4,
.site-footer__contact h4 {
  color: white;
  font-size: var(--size-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  font-weight: 700;
}
.site-footer__nav ul { display: flex; flex-direction: column; gap: 12px; }
.site-footer__nav a { font-size: var(--size-sm); color: rgba(255,255,255,.55); transition: color var(--transition); }
.site-footer__nav a:hover { color: white; }

.site-footer__contact ul { display: flex; flex-direction: column; gap: 14px; }
.site-footer__contact ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--size-sm);
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}
.site-footer__contact ul li svg {
  flex-shrink: 0;
  margin-top: 2px;
  opacity: .5;
}
.site-footer__contact ul li a {
  color: rgba(255,255,255,.55);
  transition: color var(--transition);
}
.site-footer__contact ul li a:hover { color: white; }

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--size-xs);
  color: rgba(255,255,255,.3);
  flex-wrap: wrap;
  gap: 16px;
}
.site-footer__legal { display: flex; gap: 4px; }
.site-footer__bottom a { color: rgba(255,255,255,.3); transition: color var(--transition); margin-left: 16px; }
.site-footer__bottom a:hover { color: rgba(255,255,255,.7); }

/* ══════════════════════════════════════════════
   HERO (extra lead text)
   ══════════════════════════════════════════════ */
.section-hero__lead {
  font-size: var(--size-xl);
  color: rgba(255,255,255,.9);
  max-width: 640px;
  margin-bottom: 16px;
  font-weight: 500;
  line-height: 1.5;
}

/* ══════════════════════════════════════════════
   POSITIONIERUNG
   ══════════════════════════════════════════════ */
.section-positionierung { padding: var(--section-py) 0; background: var(--color-white); }
.section-pos__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.section-pos__headline { margin-bottom: 24px; }
.section-pos__intro { font-size: var(--size-lg); color: var(--color-gray-600); line-height: 1.75; margin-bottom: 28px; }
.section-pos__warum {
  background: var(--color-primary-light);
  border-left: 4px solid var(--color-primary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 24px;
  margin-bottom: 24px;
}
.section-pos__warum-label {
  display: block;
  font-weight: 800;
  font-size: var(--size-lg);
  color: var(--color-primary);
  margin-bottom: 8px;
}
.section-pos__warum p { color: var(--color-gray-600); font-size: var(--size-md); line-height: 1.7; }
.section-pos__cta-line {
  font-size: var(--size-lg);
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 20px;
  padding-left: 16px;
  border-left: 3px solid var(--color-accent);
}
.section-pos__loesung { color: var(--color-gray-600); line-height: 1.75; font-size: var(--size-md); }

.section-pos__visual {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: visible;
}
.section-pos__visual img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-xl);
}
.section-pos__badge {
  position: absolute;
  bottom: -20px; left: -20px;
  background: white;
  border-radius: var(--radius-md);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: var(--shadow-lg);
  font-size: var(--size-sm);
  font-weight: 600;
  color: var(--color-dark);
}
.pos-badge__icon { font-size: 1.5rem; }

/* ══════════════════════════════════════════════
   PROBLEME
   ══════════════════════════════════════════════ */
.section-probleme {
  padding: var(--section-py) 0;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-alt) 100%);
  position: relative;
  overflow: hidden;
}
.section-probleme::before {
  content: '';
  position: absolute;
  right: -200px; top: 50%;
  transform: translateY(-50%);
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,124,106,.12) 0%, transparent 70%);
}
.section-prob__grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: start;
  position: relative; z-index: 1;
}
.section-prob__header .eyebrow { color: rgba(255,255,255,.4); }
.section-prob__header .eyebrow::before { background: rgba(255,255,255,.2); }
.section-prob__headline { color: white; margin-bottom: 20px; }
.section-prob__intro { color: rgba(255,255,255,.65); font-size: var(--size-lg); line-height: 1.7; }

.section-prob__liste {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.prob-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-md);
  transition: all var(--transition);
  cursor: default;
}
.prob-item:hover {
  background: rgba(74,124,106,.15);
  border-color: rgba(74,124,106,.4);
  transform: translateX(6px);
}
.prob-item__num {
  font-family: var(--font-display);
  font-size: var(--size-lg);
  font-weight: 800;
  color: var(--color-primary);
  opacity: .6;
  flex-shrink: 0;
  min-width: 32px;
  line-height: 1.4;
}
.prob-item:hover .prob-item__num { opacity: 1; }
.prob-item__text { color: rgba(255,255,255,.75); font-size: var(--size-md); line-height: 1.6; }
.prob-item:hover .prob-item__text { color: white; }

.section-prob__fazit {
  margin-top: 48px;
  padding: 24px 32px;
  background: rgba(200,168,130,.12);
  border: 1px solid rgba(200,168,130,.25);
  border-radius: var(--radius-md);
  text-align: center;
  position: relative; z-index: 1;
}
.section-prob__fazit p { color: rgba(255,255,255,.75); font-size: var(--size-lg); font-style: italic; }

/* ══════════════════════════════════════════════
   PERSPEKTIVE & LÖSUNG
   ══════════════════════════════════════════════ */
.section-perspektive { padding: var(--section-py) 0; background: var(--color-beige); }
.persp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}
.persp-block, .loes-block {
  padding: 48px;
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
}
.persp-block__headline, .loes-block__headline { margin-bottom: 8px; }
.persp-block__intro, .loes-block__intro {
  color: var(--color-gray-600);
  margin-bottom: 24px;
  font-size: var(--size-md);
}
.persp-list { display: flex; flex-direction: column; gap: 16px; }
.persp-list__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  font-size: var(--size-md);
  font-weight: 500;
  color: var(--color-dark);
  line-height: 1.5;
}
.persp-list__arrow {
  color: var(--color-primary);
  font-size: var(--size-lg);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.loes-block__subline {
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 16px;
  font-size: var(--size-md);
}
.loes-list { display: flex; flex-direction: column; gap: 12px; }
.loes-list__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--size-md);
  color: var(--color-dark);
  transition: all var(--transition);
}
.loes-list__item:hover { border-color: var(--color-primary); background: var(--color-primary-light); }
.loes-list__icon {
  flex-shrink: 0;
  width: 36px; height: 36px;
  background: rgba(122,173,168,.15);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
}

/* ══════════════════════════════════════════════
   LEISTUNGEN HOME
   ══════════════════════════════════════════════ */
.section-leist-home { padding: var(--section-py) 0; background: var(--color-white); }
.leist-home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
/* Erste Karte (featured) nimmt 2 Spalten ein */
.leist-card.leist-card--featured {
  grid-column: span 2;
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  border-color: transparent;
  color: white;
}
.leist-card.leist-card--featured .leist-card__badge {
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.9);
}
.leist-card.leist-card--featured .leist-card__titel { color: white; }
.leist-card.leist-card--featured .leist-card__sub   { color: rgba(255,255,255,.8); }
.leist-card.leist-card--featured .leist-card__text  { color: rgba(255,255,255,.7); }
.leist-card.leist-card--featured .leist-card__link  { color: rgba(255,255,255,.9); }
.leist-card.leist-card--featured .leist-card__icon  { background: rgba(255,255,255,.15); color: white; }
.leist-card.leist-card--featured:hover .leist-card__icon { background: rgba(255,255,255,.25); color: white; }

.leist-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 32px;
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  transition: all var(--transition);
  text-decoration: none;
  cursor: pointer;
}
.leist-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: transparent;
}
.leist-card--featured:hover { box-shadow: 0 20px 60px rgba(74,124,106,.35); }

.leist-card__icon {
  width: 52px; height: 52px;
  background: rgba(122,173,168,.15);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  margin-bottom: 4px;
  transition: background var(--transition), color var(--transition);
}
.leist-card:hover .leist-card__icon { background: var(--color-primary); color: white; }
.leist-card__badge {
  display: inline-block;
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  background: var(--color-primary-light);
  padding: 4px 10px;
  border-radius: var(--radius-full);
  width: fit-content;
}
.leist-card__titel { font-size: var(--size-lg); font-weight: 700; color: var(--color-dark); margin: 0; }
.leist-card__sub { font-size: var(--size-sm); font-weight: 600; color: var(--color-primary); }
.leist-card--featured .leist-card__sub { color: rgba(255,255,255,.75); }
.leist-card__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.65; flex: 1; }
.leist-card__link {
  font-size: var(--size-sm);
  font-weight: 700;
  color: var(--color-primary);
  margin-top: auto;
  transition: letter-spacing var(--transition);
}
.leist-card:hover .leist-card__link { letter-spacing: 0.02em; }

/* ══════════════════════════════════════════════
   WARUM NAUN
   ══════════════════════════════════════════════ */
.section-warum { padding: var(--section-py) 0; background: var(--color-gray-50); }
.warum-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}
.warum-content__headline { margin-bottom: 20px; }
.warum-content__intro {
  font-size: var(--size-lg);
  color: var(--color-gray-600);
  line-height: 1.7;
  margin-bottom: 12px;
}
.warum-content__sub {
  font-size: var(--size-md);
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 32px;
}
.warum-content .btn { margin-top: 8px; }

.warum-punkte { display: flex; flex-direction: column; gap: 4px; }
.warum-punkt {
  display: flex;
  gap: 20px;
  padding: 24px;
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  transition: all var(--transition);
}
.warum-punkt:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md);
  transform: translateX(4px);
}
.warum-punkt__icon {
  flex-shrink: 0;
  width: 52px; height: 52px;
  background: var(--color-primary-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  transition: background var(--transition), color var(--transition);
}
.warum-punkt:hover .warum-punkt__icon { background: var(--color-primary); color: white; }
.warum-punkt__titel { font-size: var(--size-md); font-weight: 700; margin-bottom: 6px; }
.warum-punkt__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.6; }

/* ══════════════════════════════════════════════
   ERGEBNISSE
   ══════════════════════════════════════════════ */
.section-ergebnisse { padding: var(--section-py) 0; background: var(--color-white); }
.erg-punkte {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 16px;
}
.erg-punkt {
  text-align: center;
  padding: 32px 20px;
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  transition: all var(--transition);
}
.erg-punkt:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: var(--color-primary-light); }
.erg-punkt__zahl {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-2xl);
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: 8px;
}
.erg-punkt__text { font-size: var(--size-sm); color: var(--color-gray-600); line-height: 1.5; }

/* ══════════════════════════════════════════════
   LEAD MAGNET
   ══════════════════════════════════════════════ */
.section-lead-magnet {
  padding: var(--section-py) 0;
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 60%, #6fa88e 100%);
  position: relative;
  overflow: hidden;
}
.section-lead-magnet::before {
  content: '';
  position: absolute;
  right: -200px; bottom: -200px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.lm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative; z-index: 1;
}
.lm-icon { font-size: 3rem; display: block; margin-bottom: 16px; }
.lm-headline {
  font-size: clamp(1.8rem, 3.5vw, var(--size-3xl));
  color: white;
  margin-bottom: 12px;
}
.lm-subline {
  font-size: var(--size-lg);
  color: rgba(255,255,255,.8);
  font-style: italic;
  margin-bottom: 24px;
  font-weight: 500;
}
.lm-intro { color: rgba(255,255,255,.7); margin-bottom: 16px; font-size: var(--size-md); }
.lm-punkte {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
}
.lm-punkte li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.85);
  font-size: var(--size-md);
}
.lm-punkte li::before {
  content: '✓';
  width: 24px; height: 24px;
  background: rgba(255,255,255,.2);
  border-radius: var(--radius-full);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--size-xs);
  font-weight: 700;
  flex-shrink: 0;
  color: white;
}
.lm-content .btn--primary {
  background: white;
  color: var(--color-primary-dark);
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.lm-content .btn--primary:hover { background: var(--color-gray-100); }

/* Checklisten Mockup */
.lm-mockup {
  background: white;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}
.lm-mockup__header {
  background: var(--color-dark);
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: white;
  font-weight: 700;
  font-size: var(--size-md);
}
.lm-mockup__header span:first-child { font-size: 1.5rem; }
.lm-mockup__list { padding: 20px 24px; display: flex; flex-direction: column; gap: 2px; }
.lm-mockup__item {
  padding: 14px 16px;
  border-radius: var(--radius-md);
  font-size: var(--size-sm);
  color: var(--color-gray-600);
  border: 1px solid var(--color-gray-200);
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all var(--transition);
}
.lm-mockup__item::before {
  content: '○';
  color: var(--color-gray-400);
  font-size: var(--size-md);
  flex-shrink: 0;
}
.lm-mockup__item--checked {
  background: var(--color-primary-light);
  border-color: rgba(74,124,106,.2);
  color: var(--color-primary-dark);
  text-decoration: line-through;
  opacity: .75;
}
.lm-mockup__item--checked::before { content: '✓'; color: var(--color-primary); }
.lm-mockup__footer {
  text-align: center;
  padding: 16px;
  background: var(--color-gray-50);
  font-size: var(--size-xs);
  color: var(--color-gray-400);
  font-weight: 600;
  letter-spacing: 0.05em;
  border-top: 1px solid var(--color-gray-200);
}

/* ── Utility ─────────────────────────────────── */
.no-content { text-align: center; color: var(--color-gray-400); padding: 64px 0; }

/* ══════════════════════════════════════════════
   SCROLL REVEAL (JS powered)
   ══════════════════════════════════════════════ */
.revealed { opacity: 1 !important; transform: none !important; }

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  :root { --section-py: 72px; }

  .section-intro__grid { grid-template-columns: 1fr; gap: 48px; }
  .section-intro__bild { order: -1; max-width: 540px; }

  .section-prozess__steps { grid-template-columns: 1fr; gap: 2px; }

  .erfolge-card { flex: 0 0 calc(50% - 14px); }
  .news-card    { flex: 0 0 calc(50% - 14px); }

  .werte-grid   { grid-template-columns: repeat(2, 1fr); }
  .team-grid    { grid-template-columns: repeat(2, 1fr); }

  .section-mission__grid { grid-template-columns: 1fr; gap: 40px; }

  .leistung-item,
  .leistung-item--reverse { grid-template-columns: 1fr; direction: ltr; gap: 36px; }
  .angebot-item { grid-template-columns: 1fr; gap: 40px; padding: 56px 0; }
  .angebot-item--reverse .angebot-item__visual { order: 0; }
  .angebot-item--reverse .angebot-item__content { order: 0; }
  .rec-two-col { grid-template-columns: 1fr; gap: 48px; }
  .rec-two-col--reverse .rec-two-col__text { order: 0; }
  .rec-two-col--reverse .rec-ansatz-visual  { order: 0; }
  .rec-two-col--reverse .ls-visual { order: 0; }
  .rec-steps   { grid-template-columns: 1fr; }
  .rec-results { grid-template-columns: repeat(2, 1fr); }
  .rec-zielgruppe { grid-template-columns: 1fr; gap: 48px; }
  .ls-module-grid  { grid-template-columns: 1fr; }
  .ls-ansatz-grid  { grid-template-columns: 1fr; }
  .ts-two-panel    { grid-template-columns: 1fr; gap: 48px; }
  .ts-visual__ring { width: 260px; height: 260px; }
  .ts-visual__center { width: 100px; height: 100px; }
  .hrn-themen      { grid-template-columns: repeat(2, 1fr); }

  .section-cta-banner .container { grid-template-columns: 1fr; gap: 48px; }
  .section-cta-banner__media { width: 100%; max-width: 480px; margin: 0 auto; }

  .footer-prozess__steps { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-cta-band__inner { flex-direction: column; gap: 32px; }
  .page-hero { padding: 120px 0 72px; }

  /* Neue Sektionen */
  .section-pos__grid  { grid-template-columns: 1fr; gap: 40px; }
  .section-prob__grid { grid-template-columns: 1fr; gap: 40px; }
  .persp-grid         { grid-template-columns: 1fr; }
  .warum-grid         { grid-template-columns: 1fr; gap: 40px; }
  .lm-grid            { grid-template-columns: 1fr; gap: 48px; }
  .erg-punkte         { grid-template-columns: repeat(2, 1fr); }

  .leist-home-grid { grid-template-columns: repeat(2, 1fr); }
  .leist-card--featured { grid-column: span 2; }
  .leist-card { padding: 26px; }
}

@media (max-width: 768px) {
  :root { --section-py: 56px; }

  /* Nav mobile */
  .site-header__nav {
    position: fixed;
    top: 72px; left: 0; right: 0;
    background: white;
    border-top: 1px solid var(--color-gray-200);
    padding: 28px 32px;
    transform: translateY(-110%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--transition), opacity var(--transition);
    box-shadow: var(--shadow-xl);
    z-index: 999;
  }
  .site-header__nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-menu { flex-direction: column; align-items: flex-start; gap: 24px; }
  .nav-menu a { font-size: var(--size-md); color: var(--color-dark); }
  .nav-toggle { display: flex; z-index: 1001; position: relative; }
  .site-header__actions { display: none; }
  .site-topbar { display: none; }
  .site-header { top: 0 !important; }

  .section-hero__content { padding: 140px 0 80px; }
  .page-hero { padding: 120px 0 64px; }
  .section-hero__actions { flex-direction: column; }

  .hero-services__grid { grid-template-columns: 1fr; }
  .hero-services__item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .hero-services__item:last-child { border-bottom: none; }
  .hero-services { position: relative; bottom: auto; }
  .services-bar__grid { grid-template-columns: 1fr 1fr; }

  .erfolge-card     { flex: 0 0 85%; }
  .testimonial-card { flex: 0 0 90%; }
  .news-card        { flex: 0 0 85%; }

  .section-kontakt__grid { grid-template-columns: 1fr; gap: 40px; }
  .form-row--2col { flex-direction: column; }

  .werte-grid { grid-template-columns: 1fr 1fr; }
  .team-grid  { grid-template-columns: 1fr 1fr; }

  .site-footer__grid { grid-template-columns: 1fr; gap: 40px; }
  .site-footer__top  { grid-template-columns: 1fr; gap: 36px; }
  .site-footer__bottom { flex-direction: column; text-align: center; }
  .site-footer__legal { justify-content: center; }
  .footer-prozess__steps { gap: 0; }
  .footer-cta-band { padding: 56px 0; }
  .footer-cta-band__actions { width: 100%; }

  /* Neue Sektionen mobile */
  .angebot-item { padding: 40px 0; gap: 28px; }
  .page-hero { padding: 100px 0 60px; }
  .rec-results { grid-template-columns: 1fr; }
  .rec-zielgruppe__cta-box { padding: 32px 24px; }
  .hrn-themen { grid-template-columns: 1fr; }
  .page-hero__actions { flex-direction: column; }
  .footer-cta-band__actions { flex-direction: column; }
  .persp-block, .loes-block { padding: 28px; }
  .erg-punkte { grid-template-columns: 1fr 1fr; }
  /* Leistungen: saubere vertikale Liste auf Mobile */
  .leist-home-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .leist-card,
  .leist-card.leist-card--featured {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 14px;
    padding: 18px 20px;
    border-radius: var(--radius-md);
    transform: none !important;
  }
  .leist-card__icon {
    width: 44px; height: 44px;
    flex-shrink: 0;
    margin-bottom: 0;
  }
  .leist-card__badge { display: none; }
  .leist-card__titel {
    flex: 1;
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    min-width: 0;
  }
  .leist-card__sub {
    flex-basis: 100%;
    padding-left: 58px;
    font-size: 0.8125rem;
    margin-top: 4px;
  }
  .leist-card__text { display: none; }
  .leist-card__link {
    flex-basis: 100%;
    padding-left: 58px;
    margin-top: 4px;
    font-size: 0.8125rem;
  }
  .section-pos__badge { bottom: 16px; left: 16px; }
}

@media (max-width: 480px) {
  :root { --section-py: 48px; }
  .container { padding: 0 20px; }
  .werte-grid { grid-template-columns: 1fr; }
  .team-grid  { grid-template-columns: 1fr; }
  .erfolge-card { flex: 0 0 92%; }
  .news-card    { flex: 0 0 92%; }
  .hero-services__grid { grid-template-columns: 1fr; }
  .services-bar__grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════
   SCORECARD STEP-BY-STEP
   ══════════════════════════════════════════════ */

/* Landing Page Hero */
.scs-lp-hero {
  background: var(--color-dark);
  padding: 140px 0 80px;
}
.scs-lp-hero__inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: center;
}
.scs-lp-hero__content h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--color-white);
  margin: 16px 0 20px;
  line-height: 1.1;
}
.scs-lp-hero__content p {
  color: rgba(255,255,255,.75);
  font-size: var(--size-md);
  line-height: 1.7;
  margin-bottom: 28px;
}
.scs-lp-hero__benefits { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
.scs-lp-benefit {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.85);
  font-size: var(--size-sm);
}
.scs-lp-benefit svg { color: var(--color-primary); flex-shrink: 0; }
.scs-lp-hero__cta { display: inline-flex; align-items: center; gap: 10px; }

.scs-lp-levels {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 28px;
}
.scs-lp-levels__label {
  font-size: var(--size-xs);
  color: rgba(255,255,255,.5);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 20px;
  display: block;
}
.scs-lp-level {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.scs-lp-level:last-child { border-bottom: none; }
.scs-lp-level__dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--lvl-color);
  flex-shrink: 0;
}
.scs-lp-level strong { color: var(--color-white); font-size: var(--size-sm); display: block; }
.scs-lp-level span { color: rgba(255,255,255,.5); font-size: var(--size-xs); }

/* Scorecard Section */
.scs-section { background: var(--color-surface); }

/* Header Progress */
.scs-head {
  background: var(--color-dark);
  padding: 20px 0;
  position: sticky;
  top: 72px;
  z-index: 100;
}
.scs-head__inner {
  display: flex;
  align-items: center;
  gap: 20px;
}
.scs-head__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 220px;
}
.scs-head__label { font-size: var(--size-xs); color: rgba(255,255,255,.6); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.scs-head__counter { font-size: var(--size-sm); color: var(--color-white); font-weight: 600; }
.scs-head__bar { flex: 1; height: 6px; background: rgba(255,255,255,.15); border-radius: 99px; overflow: hidden; }
.scs-head__fill { height: 100%; background: var(--color-primary); border-radius: 99px; transition: width .4s ease; }

/* Stage */
.scs-stage { padding: 64px 0 0; min-height: 60vh; }

.scs-step { display: none; animation: scsStepIn .35s ease; }
.scs-step--active { display: block; }
@keyframes scsStepIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
.scs-step__nr {
  font-size: var(--size-xs);
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 16px;
  display: block;
}
.scs-step__q {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--color-dark);
  line-height: 1.3;
  margin-bottom: 40px;
  max-width: 740px;
}

.scs-answers { display: flex; flex-direction: column; gap: 12px; max-width: 740px; }
.scs-answer { cursor: pointer; }
.scs-answer input { position: absolute; opacity: 0; pointer-events: none; }
.scs-answer__card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: var(--color-white);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  transition: border-color .2s, background .2s, transform .15s;
}
.scs-answer:hover .scs-answer__card {
  border-color: var(--color-primary);
  transform: translateX(4px);
}
.scs-answer input:checked ~ .scs-answer__card {
  border-color: var(--color-primary);
  background: rgba(122,173,168,.08);
}
.scs-answer__check {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 2px solid var(--color-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: transparent;
  transition: all .2s;
}
.scs-answer input:checked ~ .scs-answer__card .scs-answer__check {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.scs-answer__text { font-size: var(--size-md); color: var(--color-dark); line-height: 1.4; }
.scs-answer input:checked ~ .scs-answer__card .scs-answer__text { font-weight: 500; }

/* Gate Step */
.scs-gate { max-width: 600px; margin: 0 auto; }
.scs-gate__inner {
  background: var(--color-white);
  border-radius: 20px;
  padding: 48px;
  box-shadow: 0 4px 40px rgba(0,0,0,.08);
  text-align: center;
}
.scs-gate__icon {
  width: 64px; height: 64px;
  border-radius: 16px;
  background: rgba(122,173,168,.15);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 24px;
}
.scs-gate__inner h2 { font-size: var(--size-2xl); margin-bottom: 12px; }
.scs-gate__inner > p { color: var(--color-muted); font-size: var(--size-sm); margin-bottom: 28px; line-height: 1.6; }
.scs-gate__inner .lm-form { text-align: left; }

/* Nav */
.scs-nav { padding: 32px 0 64px; }
.scs-nav .container { display: flex; align-items: center; justify-content: space-between; }
.scs-nav__back { display: flex; align-items: center; gap: 8px; }
.scs-nav__next { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.scs-nav__next:disabled { opacity: .45; cursor: not-allowed; }
.btn--ghost {
  background: none;
  border: none;
  color: var(--color-muted);
  font-size: var(--size-sm);
  font-weight: 600;
  cursor: pointer;
  padding: 8px 0;
  transition: color .2s;
}
.btn--ghost:hover { color: var(--color-dark); }

/* Result Band */
.scs-result__band {
  background: var(--color-dark);
  padding: 80px 0;
}
.scs-result__band-inner {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 60px;
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
.scs-result__ring-wrap { position: relative; width: 200px; height: 200px; margin: 0 auto; }
.scs-result__ring-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.scs-ring-track { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 10; }
.scs-ring-arc {
  fill: none;
  stroke: var(--color-primary);
  stroke-width: 10;
  stroke-linecap: round;
  stroke-dasharray: 364;
  stroke-dashoffset: 364;
  transition: stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1), stroke .3s;
}
.scs-result__score-txt {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.scs-result__num { font-size: 3.5rem; font-weight: 800; color: white; line-height: 1; }
.scs-result__denom { font-size: var(--size-sm); color: rgba(255,255,255,.45); }
.scs-result__level-badge {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 99px;
  font-size: var(--size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 12px;
}
.scs-result__summary h2 { color: white; font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 14px; line-height: 1.2; }
.scs-result__summary p { color: rgba(255,255,255,.75); font-size: var(--size-md); line-height: 1.7; margin-bottom: 28px; }
.scs-result__dl-btn { display: inline-flex; align-items: center; gap: 10px; }

/* Kategorie-Auswertung */
.scs-result__cats { padding: 64px 0 0; background: var(--color-surface); }
.scs-cats-header { text-align: center; max-width: 600px; margin: 0 auto 40px; }
.scs-cats-header h3 { font-size: var(--size-2xl); margin-bottom: 10px; }
.scs-cats-header p { color: var(--color-muted); font-size: var(--size-sm); line-height: 1.6; }

.scs-cats-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}
.scs-cat-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 20px 16px;
  text-align: center;
}
.scs-cat-card__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
}
.scs-cat-card__name { font-size: var(--size-xs); font-weight: 600; color: var(--color-dark); margin-bottom: 12px; display: block; line-height: 1.3; }
.scs-cat-card__bar-wrap { height: 6px; background: var(--color-border); border-radius: 99px; overflow: hidden; margin-bottom: 8px; }
.scs-cat-card__bar { height: 100%; border-radius: 99px; transition: width 1s ease .4s; }
.scs-cat-card__score { font-size: var(--size-xs); color: var(--color-muted); }
.scs-cat-card__score strong { color: var(--color-dark); }

/* Detail Cards */
.scs-result__detail { padding: 24px 0 0; background: var(--color-surface); }
.scs-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.scs-detail-card {
  background: var(--color-white);
  border-radius: 16px;
  padding: 32px;
  border: 1px solid var(--color-border);
}
.scs-detail-card--full { grid-column: span 2; }
.scs-detail-card__icon {
  width: 44px; height: 44px;
  border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.scs-detail-card__icon--green { background: rgba(122,173,168,.15); color: #518D89; }
.scs-detail-card__icon--orange { background: rgba(234,88,12,.1); color: #ea580c; }
.scs-detail-card__icon--blue { background: rgba(59,130,246,.1); color: #3b82f6; }

.scs-detail-card h3 { font-size: var(--size-lg); margin-bottom: 16px; }

/* Check list (Stärken) */
.scs-check-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.scs-check-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: var(--size-sm); color: var(--color-dark); line-height: 1.5;
}
.scs-check-list li::before {
  content: '✓';
  font-size: 11px; font-weight: 700;
  color: #518D89;
  background: rgba(122,173,168,.15);
  width: 20px; height: 20px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}

/* Alert list (Lücken) */
.scs-alert-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.scs-alert-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: var(--size-sm); color: var(--color-dark); line-height: 1.5;
}
.scs-alert-list li::before {
  content: '!';
  font-size: 11px; font-weight: 700;
  color: #ea580c;
  background: rgba(234,88,12,.1);
  width: 20px; height: 20px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}

/* Aktionsplan */
.scs-aktionsplan { display: flex; flex-direction: column; gap: 16px; }
.scs-aktions-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  align-items: flex-start;
}
.scs-aktions-step__num {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--color-primary);
  color: white;
  font-size: var(--size-sm);
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.scs-aktions-step__content strong { display: block; font-size: var(--size-sm); font-weight: 600; color: var(--color-dark); margin-bottom: 4px; }
.scs-aktions-step__content p { font-size: var(--size-sm); color: var(--color-muted); margin: 0; line-height: 1.5; }

/* Contact Box */
.scs-result__contact { padding: 0 0 80px; background: var(--color-surface); }
.scs-contact-box {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 60px;
  align-items: start;
  background: var(--color-white);
  border-radius: 20px;
  padding: 56px;
  border: 1px solid var(--color-border);
  box-shadow: 0 4px 32px rgba(0,0,0,.06);
  max-width: 900px;
  margin: 0 auto;
}
.scs-contact-box__left h3 { font-size: var(--size-xl); margin-bottom: 12px; }
.scs-contact-box__left p { color: var(--color-muted); font-size: var(--size-sm); line-height: 1.7; margin-bottom: 20px; }
.scs-contact-box__list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.scs-contact-box__list li {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--size-sm); color: var(--color-dark);
}
.scs-contact-box__list li::before {
  content: '';
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-primary); flex-shrink: 0;
}
.lm-form__textarea { resize: vertical; min-height: 80px; }
.lm-form__success {
  display: flex; align-items: center; gap: 10px;
  background: rgba(122,173,168,.12);
  color: var(--color-primary);
  border-radius: 8px;
  padding: 14px 18px;
  font-size: var(--size-sm);
  font-weight: 600;
}
.lm-form__success[hidden] { display: none; }

/* ══════════════════════════════════════════════
   WARNSIGNALE LANDING PAGE
   ══════════════════════════════════════════════ */
.warn-lp-hero { background: var(--color-dark); padding: 140px 0 80px; }
.warn-lp-hero__inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 72px;
  align-items: start;
}
.warn-lp-hero__content h1 { font-size: clamp(2rem, 4vw, 2.8rem); color: white; margin: 16px 0 20px; line-height: 1.15; }
.warn-lp-hero__lead { color: rgba(255,255,255,.75); font-size: var(--size-md); line-height: 1.7; margin-bottom: 36px; }
.warn-lp-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.warn-lp-stat { text-align: center; }
.warn-lp-stat__num { display: block; font-size: 2.2rem; font-weight: 800; color: var(--color-primary); line-height: 1; margin-bottom: 6px; }
.warn-lp-stat__label { font-size: var(--size-xs); color: rgba(255,255,255,.6); line-height: 1.4; }

.warn-lp-form-card {
  background: var(--color-white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,.3);
}
.warn-lp-form-card__top {
  background: var(--color-primary);
  padding: 24px 28px;
  display: flex; align-items: center; gap: 16px;
  color: white;
}
.warn-lp-form-card__doc {
  width: 52px; height: 52px;
  background: rgba(255,255,255,.15);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.warn-lp-form-card__top strong { display: block; font-size: var(--size-md); margin-bottom: 2px; }
.warn-lp-form-card__top span { font-size: var(--size-xs); opacity: .8; }
.warn-lp-form-card form { padding: 28px; }

.warn-lp-success {
  padding: 48px 28px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.warn-lp-success[hidden] { display: none; }
.warn-lp-success__check { color: var(--color-primary); }
.warn-lp-success h4 { font-size: var(--size-xl); }
.warn-lp-success p { color: var(--color-muted); font-size: var(--size-sm); }

/* Preview Section */
.warn-lp-preview { padding: var(--section-py) 0; background: var(--color-surface); }
.warn-lp-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-bottom: 40px; }
.warn-lp-card {
  background: var(--color-white);
  border-radius: 16px;
  padding: 32px;
  border: 1px solid var(--color-border);
  position: relative;
}
.warn-lp-card__nr {
  position: absolute; top: 20px; right: 20px;
  font-size: 2.5rem; font-weight: 800;
  color: rgba(122,173,168,.12);
  line-height: 1;
}
.warn-lp-card__icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: rgba(122,173,168,.12);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.warn-lp-card h4 { font-size: var(--size-md); margin-bottom: 10px; }
.warn-lp-card p { font-size: var(--size-sm); color: var(--color-muted); line-height: 1.6; margin: 0; }
.warn-lp-preview__cta { text-align: center; }
.warn-lp-preview__cta p { color: var(--color-muted); margin-bottom: 16px; }

/* NAUN Section */
.warn-lp-naun { padding: var(--section-py) 0; background: var(--color-dark); }
.warn-lp-naun__inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 72px;
  align-items: center;
}
.warn-lp-naun h2 { font-size: clamp(1.8rem,3vw,2.4rem); color: white; margin-bottom: 16px; }
.warn-lp-naun p { color: rgba(255,255,255,.7); font-size: var(--size-md); line-height: 1.7; margin-bottom: 32px; }
.warn-lp-bubbles { display: flex; flex-wrap: wrap; gap: 10px; }
.warn-lp-bubble {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  font-size: var(--size-sm);
  padding: 8px 16px;
  border-radius: 99px;
}

/* ══════════════════════════════════════════════
   HOMEPAGE SCORECARD PROMO
   ══════════════════════════════════════════════ */
.section-scpromo { padding: var(--section-py) 0; background: var(--color-dark); }
.scpromo-layout {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 80px;
  align-items: center;
}
.scpromo-content h2 { font-size: clamp(1.8rem,3vw,2.4rem); margin: 12px 0 16px; color: var(--color-white); }
.scpromo-content > p { color: rgba(255,255,255,.72); font-size: var(--size-md); line-height: 1.7; margin-bottom: 36px; }

.scpromo-levels { display: flex; flex-direction: column; gap: 10px; margin-bottom: 36px; }
.scpromo-level {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
}
.scpromo-level__bar {
  display: block;
  height: 8px;
  background: var(--lc);
  border-radius: 99px;
  opacity: .85;
}
.scpromo-level__name { font-size: var(--size-sm); font-weight: 600; color: rgba(255,255,255,.9); }
.scpromo-level__range { font-size: var(--size-xs); color: rgba(255,255,255,.5); white-space: nowrap; }
.scpromo-cta { display: inline-flex; align-items: center; gap: 10px; }
.scpromo-note { font-size: var(--size-xs); color: rgba(255,255,255,.45); margin: 12px 0 0; }

/* Scorecard Mockup Card */
.scpromo-visual { position: relative; }
.scpromo-card {
  background: var(--color-white);
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 0;
  box-shadow: 0 24px 80px rgba(0,0,0,.4);
  overflow: hidden;
}
.scpromo-card__head {
  background: var(--color-dark);
  padding: 16px 24px;
  display: flex; align-items: center; gap: 16px;
}
.scpromo-card__prog { flex: 1; height: 4px; background: rgba(255,255,255,.15); border-radius: 99px; overflow: hidden; }
.scpromo-card__prog-fill { height: 100%; background: var(--color-primary); border-radius: 99px; }
.scpromo-card__head span { font-size: var(--size-xs); color: rgba(255,255,255,.6); white-space: nowrap; }
.scpromo-card__q { font-size: var(--size-md); font-weight: 600; color: var(--color-dark); padding: 24px 24px 16px; margin: 0; line-height: 1.4; }
.scpromo-card__answers { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 8px; }
.scpromo-card__ans {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-size: var(--size-sm);
  color: var(--color-dark);
}
.scpromo-card__ans--selected {
  border-color: var(--color-primary);
  background: rgba(122,173,168,.08);
  font-weight: 500;
}
.scpromo-card__check {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--color-primary); color: white;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.scpromo-card__dot {
  width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid var(--color-border); flex-shrink: 0;
}
.scpromo-card__foot {
  padding: 16px 24px;
  border-top: 1px solid var(--color-border);
  display: flex; justify-content: flex-end;
}
.scpromo-badge {
  position: absolute;
  bottom: -12px; left: 50%; transform: translateX(-50%);
  background: var(--color-primary);
  color: white;
  font-size: var(--size-xs);
  font-weight: 600;
  padding: 8px 20px;
  border-radius: 99px;
  display: flex; align-items: center; gap: 6px;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(122,173,168,.35);
}

/* ══════════════════════════════════════════════
   HOMEPAGE WARNSIGNALE PROMO
   ══════════════════════════════════════════════ */
.section-warnpromo { padding: var(--section-py) 0; background: var(--color-dark); }
.warnpromo-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 80px;
  align-items: start;
}
.eyebrow--light { color: rgba(255,255,255,.6); }
.warnpromo-left h2 { font-size: clamp(1.8rem,3vw,2.4rem); color: white; margin: 12px 0 16px; }
.warnpromo-highlight { color: var(--color-primary); }
.warnpromo-left > p { color: rgba(255,255,255,.7); font-size: var(--size-md); line-height: 1.7; margin-bottom: 36px; }

.warnpromo-signs { display: flex; flex-direction: column; gap: 0; }
.warnpromo-sign {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.warnpromo-sign__nr { font-size: var(--size-xs); font-weight: 700; color: var(--color-primary); min-width: 24px; margin-top: 1px; }
.warnpromo-sign__text { font-size: var(--size-sm); color: rgba(255,255,255,.8); line-height: 1.5; }
.warnpromo-sign--blur { filter: blur(3px); user-select: none; pointer-events: none; }
.warnpromo-more {
  display: flex; align-items: center; gap: 8px;
  padding: 14px 0 0;
  font-size: var(--size-sm);
  color: rgba(255,255,255,.5);
}

.warnpromo-cta-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 36px 32px;
  position: sticky;
  top: 120px;
}
.warnpromo-cta-card__doc {
  width: 64px; height: 64px;
  background: rgba(255,255,255,.08);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  color: white;
  margin-bottom: 20px;
}
.warnpromo-cta-card h3 { color: white; font-size: var(--size-xl); margin-bottom: 10px; }
.warnpromo-cta-card > p { color: rgba(255,255,255,.65); font-size: var(--size-sm); line-height: 1.6; margin-bottom: 24px; }
.warnpromo-cta-card__list { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 10px; }
.warnpromo-cta-card__list li { display: flex; align-items: center; gap: 10px; font-size: var(--size-sm); color: rgba(255,255,255,.8); }
.warnpromo-cta-card__list svg { color: var(--color-primary); flex-shrink: 0; }

/* ══════════════════════════════════════════════
   LEAD MAGNETS – Shared Form Styles
   ══════════════════════════════════════════════ */
.lm-form { display: flex; flex-direction: column; gap: 12px; }
.lm-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lm-form__input {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--color-border);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: var(--size-sm);
  color: var(--color-dark);
  background: var(--color-white);
  transition: border-color .2s;
  box-sizing: border-box;
}
.lm-form__input:focus { outline: none; border-color: var(--color-primary); }
.lm-form__input::placeholder { color: #9aa5b4; }
.lm-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--size-xs);
  color: var(--color-muted);
  cursor: pointer;
}
.lm-form__checkbox input { margin-top: 2px; accent-color: var(--color-primary); flex-shrink: 0; }
.lm-form__checkbox a { color: var(--color-primary); }
.lm-form__submit { margin-top: 4px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.lm-form__note { font-size: var(--size-xs); color: var(--color-muted); text-align: center; margin: 0; }
.lm-form__error {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: var(--size-xs);
}
.btn--full { width: 100%; }

/* ══════════════════════════════════════════════
   SCORECARD
   ══════════════════════════════════════════════ */
.section-scorecard { padding: var(--section-py) 0; background: var(--color-surface); }

.scorecard-header { text-align: center; max-width: 680px; margin: 0 auto 56px; }

.scorecard-wrap {
  max-width: 860px;
  margin: 0 auto;
  background: var(--color-white);
  border-radius: 20px;
  box-shadow: 0 4px 40px rgba(0,0,0,.07);
  overflow: hidden;
}

.scorecard-topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 32px;
  background: var(--color-dark);
}
.scorecard-topbar__progress {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,.15);
  border-radius: 99px;
  overflow: hidden;
}
.scorecard-topbar__fill {
  height: 100%;
  width: 0%;
  background: var(--color-primary);
  border-radius: 99px;
  transition: width .3s ease;
}
.scorecard-topbar__label {
  font-size: var(--size-xs);
  color: rgba(255,255,255,.7);
  white-space: nowrap;
}

.scorecard-questions { padding: 40px 40px 0; }

.scorecard-q { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--color-border); }
.scorecard-q:last-of-type { border-bottom: none; }
.scorecard-q__nr {
  font-size: var(--size-xs);
  font-weight: 600;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 10px;
}
.scorecard-q__text {
  font-size: var(--size-lg);
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 20px;
  line-height: 1.4;
}

.scorecard-q__answers { display: flex; flex-direction: column; gap: 10px; }
.scorecard-answer { cursor: pointer; }
.scorecard-answer input { position: absolute; opacity: 0; pointer-events: none; }
.scorecard-answer__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  transition: border-color .2s, background .2s;
}
.scorecard-answer:hover .scorecard-answer__inner { border-color: var(--color-primary); background: rgba(122,173,168,.06); }
.scorecard-answer input:checked ~ .scorecard-answer__inner {
  border-color: var(--color-primary);
  background: rgba(122,173,168,.10);
}
.scorecard-answer__dot {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 2px solid var(--color-border);
  flex-shrink: 0;
  transition: border-color .2s, background .2s;
  position: relative;
}
.scorecard-answer input:checked ~ .scorecard-answer__inner .scorecard-answer__dot {
  border-color: var(--color-primary);
  background: var(--color-primary);
}
.scorecard-answer input:checked ~ .scorecard-answer__inner .scorecard-answer__dot::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: white;
}
.scorecard-answer__label { font-size: var(--size-sm); color: var(--color-dark); line-height: 1.4; }

.scorecard-cta-row {
  padding: 32px 40px 40px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--color-border);
}
.scorecard-cta-note { font-size: var(--size-xs); color: var(--color-muted); margin: 0; }
#scorecard-submit-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Gate Modal */
.lm-gate {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.lm-gate[hidden] { display: none; }
.lm-gate__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,22,16,.7);
  backdrop-filter: blur(4px);
}
.lm-gate__card {
  position: relative;
  background: var(--color-white);
  border-radius: 20px;
  padding: 48px 40px 40px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
  animation: lm-gate-in .25s ease;
}
@keyframes lm-gate-in {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.lm-gate__close {
  position: absolute;
  top: 16px; right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-muted);
  padding: 4px;
  border-radius: 6px;
  transition: color .2s;
}
.lm-gate__close:hover { color: var(--color-dark); }
.lm-gate__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(122,173,168,.15);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.lm-gate__card h3 { font-size: var(--size-xl); margin-bottom: 8px; }
.lm-gate__card > p { font-size: var(--size-sm); color: var(--color-muted); margin-bottom: 24px; }

/* Scorecard Result */
.scorecard-result { padding: 80px 0; background: var(--color-dark); }
.scorecard-result[hidden] { display: none; }
.scorecard-result__inner {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 60px;
  align-items: center;
  max-width: 860px;
  margin: 0 auto;
}
.scorecard-result__visual { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.scorecard-result__ring { position: relative; width: 180px; height: 180px; }
.scorecard-result__svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.scorecard-result__track { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 8; }
.scorecard-result__arc {
  fill: none;
  stroke: var(--color-primary);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 314;
  stroke-dashoffset: 314;
  transition: stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1);
}
.scorecard-result__score {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.scorecard-result__num {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-white);
  line-height: 1;
}
.scorecard-result__denom { font-size: var(--size-sm); color: rgba(255,255,255,.5); }
.scorecard-result__level-badge {
  padding: 6px 16px;
  border-radius: 99px;
  font-size: var(--size-xs);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scorecard-result__content .eyebrow { color: var(--color-primary-light, #4ade80); }
.scorecard-result__content h3 { font-size: var(--size-2xl); color: var(--color-white); margin-bottom: 12px; }
.scorecard-result__content p { color: rgba(255,255,255,.75); margin-bottom: 20px; }
.scorecard-result__tips {
  list-style: none;
  padding: 0; margin: 0 0 28px;
  display: flex; flex-direction: column; gap: 8px;
}
.scorecard-result__tips li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: var(--size-sm);
  color: rgba(255,255,255,.8);
}
.scorecard-result__tips li::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-primary);
  margin-top: 7px;
  flex-shrink: 0;
}
.scorecard-result__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ══════════════════════════════════════════════
   WARNSIGNALE
   ══════════════════════════════════════════════ */
.section-warnsignale { padding: var(--section-py) 0; background: var(--color-white); }

.warn-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: start;
}

.warn-content { padding-top: 8px; }
.warn-content h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: 16px; }
.warn-sub { color: var(--color-muted); font-size: var(--size-md); line-height: 1.7; margin-bottom: 28px; }

.warn-facts { display: flex; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
.warn-fact { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 100px; }
.warn-fact strong { font-size: 1.75rem; font-weight: 800; color: var(--color-primary); line-height: 1; }
.warn-fact span { font-size: var(--size-xs); color: var(--color-gray-600); line-height: 1.4; }

.warn-preview { display: flex; flex-direction: column; gap: 0; }
.warn-preview__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border);
}
.warn-preview__check {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: rgba(122,173,168,.15);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.warn-preview__nr {
  font-size: var(--size-xs);
  font-weight: 700;
  color: var(--color-primary);
  min-width: 24px;
  margin-top: 3px;
}
.warn-preview__text { font-size: var(--size-sm); color: var(--color-dark); line-height: 1.5; }

.warn-preview__blur-wrap { position: relative; }
.warn-preview__item--blurred { filter: blur(4px); user-select: none; pointer-events: none; }
.warn-preview__blur-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(to bottom, rgba(255,255,255,.3) 0%, rgba(255,255,255,.95) 60%);
  color: var(--color-dark);
  font-size: var(--size-sm);
  font-weight: 600;
}

/* Form Card */
.warn-card {
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 32px rgba(0,0,0,.07);
  position: sticky;
  top: 120px;
}
.warn-card__header {
  background: var(--color-dark);
  padding: 32px 28px;
  text-align: center;
}
.warn-card__tag {
  display: inline-block;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.9);
  font-size: var(--size-xs);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 99px;
  margin-bottom: 16px;
}
.warn-card__icon {
  width: 56px; height: 56px;
  background: rgba(255,255,255,.1);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-white);
  margin: 0 auto 16px;
}
.warn-card__header h3 { color: var(--color-white); font-size: var(--size-xl); margin-bottom: 8px; }
.warn-card__header p { color: rgba(255,255,255,.7); font-size: var(--size-sm); margin: 0 0 20px; }
.warn-card__benefits { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.warn-card__benefits li { display: flex; align-items: flex-start; gap: 10px; color: rgba(255,255,255,.85); font-size: var(--size-sm); }
.warn-card__benefits li svg { flex-shrink: 0; margin-top: 2px; color: var(--color-primary); }

.warn-card form,
.warn-success { padding: 28px; }

.warn-success {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.warn-success[hidden] { display: none; }
.warn-success__icon { color: var(--color-primary); }
.warn-success h4 { font-size: var(--size-xl); color: var(--color-dark); margin: 0; }
.warn-success p { font-size: var(--size-sm); color: var(--color-muted); margin: 0; }

/* ══════════════════════════════════════════════
   TIPPS & NEWS – Übersicht + Single
   ══════════════════════════════════════════════ */
.section-tipps-liste { padding: var(--section-py) 0; }

.tipps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 56px;
}

.tipps-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s;
}
.tipps-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,.08); transform: translateY(-3px); }

.tipps-card__img-wrap {
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
  display: block;
}
.tipps-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tipps-card:hover .tipps-card__img-wrap img { transform: scale(1.04); }
.tipps-card__kat {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--color-primary);
  color: white;
  font-size: var(--size-xs);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 99px;
}

.tipps-card__body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.tipps-card__datum { font-size: var(--size-xs); color: var(--color-muted); margin-bottom: 8px; display: block; }
.tipps-card__titel { font-size: var(--size-md); line-height: 1.4; margin-bottom: 10px; }
.tipps-card__titel a { color: var(--color-dark); text-decoration: none; }
.tipps-card__titel a:hover { color: var(--color-primary); }
.tipps-card__text { font-size: var(--size-sm); color: var(--color-muted); line-height: 1.6; margin-bottom: 16px; flex: 1; }
.tipps-card__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--size-sm); font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  margin-top: auto;
}
.tipps-card__link:hover { gap: 10px; }
.tipps-card__link--muted { color: var(--color-muted); cursor: default; font-weight: 400; }

.tipps-pagination {
  display: flex; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.tipps-pagination .page-numbers {
  padding: 10px 16px;
  border: 1.5px solid var(--color-border);
  border-radius: 8px;
  font-size: var(--size-sm);
  color: var(--color-dark);
  text-decoration: none;
  transition: all .2s;
}
.tipps-pagination .page-numbers.current,
.tipps-pagination .page-numbers:hover { background: var(--color-primary); border-color: var(--color-primary); color: white; }

.tipps-cta-band {
  background: var(--color-dark);
  border-radius: 20px;
  padding: 48px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.tipps-cta-band h3 { color: white; font-size: var(--size-xl); margin-bottom: 8px; }
.tipps-cta-band p { color: rgba(255,255,255,.7); font-size: var(--size-sm); margin: 0; }

/* Single Post */
.single-hero { background: var(--color-dark); padding: 140px 0 64px; }
.single-hero__inner { max-width: 760px; }
.single-hero__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.single-hero__kat {
  background: var(--color-primary);
  color: white;
  font-size: var(--size-xs);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 99px;
}
.single-hero__datum { font-size: var(--size-xs); color: rgba(255,255,255,.5); }
.single-hero__title { font-size: clamp(1.8rem, 4vw, 2.8rem); color: white; line-height: 1.2; margin-bottom: 16px; }
.single-hero__lead { color: rgba(255,255,255,.75); font-size: var(--size-lg); line-height: 1.6; margin-bottom: 24px; }
.single-hero__back {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--size-sm);
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color .2s;
}
.single-hero__back:hover { color: white; }

.single-thumb { padding: 0 0 48px; }
.single-thumb img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 16px; }

.single-content { padding: 0 0 64px; }
.single-content .container { max-width: 760px; }
.entry-content { font-size: 1.0625rem; line-height: 1.85; color: var(--color-text); }
.entry-content h2 { font-size: var(--size-2xl); margin: 40px 0 16px; }
.entry-content h3 { font-size: var(--size-xl); margin: 32px 0 12px; }
.entry-content p { margin-bottom: 20px; }
.entry-content ul, .entry-content ol { padding-left: 24px; margin-bottom: 20px; }
.entry-content li { margin-bottom: 8px; }
.entry-content strong { font-weight: 600; }
.entry-content a { color: var(--color-primary); }
.entry-content img { max-width: 100%; border-radius: 8px; margin: 24px 0; }
.entry-content blockquote {
  border-left: 4px solid var(--color-primary);
  padding: 16px 24px;
  background: var(--color-surface);
  border-radius: 0 8px 8px 0;
  margin: 24px 0;
  font-style: italic;
  color: var(--color-muted);
}

/* Entry content extras */
.entry-content .post-callout {
  background: rgba(130,172,165,.1);
  border-left: 4px solid var(--color-primary);
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin: 32px 0;
}
.entry-content .post-callout p { margin-bottom: 0; color: var(--color-dark); font-weight: 500; }

.entry-content .post-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  margin: 32px 0;
}
.entry-content .post-stat {
  background: var(--color-surface);
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
  border: 1px solid var(--color-border);
}
.entry-content .post-stat__num {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 6px;
}
.entry-content .post-stat__label {
  font-size: var(--size-sm);
  color: var(--color-muted);
  line-height: 1.4;
}

.entry-content .post-warning {
  background: #fff8f0;
  border-left: 4px solid #f59e0b;
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin: 32px 0;
}
.entry-content .post-warning p { margin-bottom: 0; color: #92400e; }

.entry-content .post-steps {
  list-style: none;
  padding-left: 0;
  counter-reset: steps;
  margin: 32px 0;
}
.entry-content .post-steps li {
  counter-increment: steps;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 20px;
  background: var(--color-surface);
  border-radius: 12px;
  border: 1px solid var(--color-border);
}
.entry-content .post-steps li::before {
  content: counter(steps);
  flex-shrink: 0;
  width: 32px; height: 32px;
  background: var(--color-primary);
  color: white;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: var(--size-sm);
  margin-top: 2px;
}

.single-cta { padding: 0 0 80px; }

@media (max-width: 1024px) { .tipps-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  {
  .tipps-grid { grid-template-columns: 1fr; }
  .tipps-cta-band { flex-direction: column; text-align: center; padding: 40px 28px; }
}

/* ══════════════════════════════════════════════
   RESSOURCEN TEASER (Startseite)
   ══════════════════════════════════════════════ */
.section-res-teaser { padding: var(--section-py) 0; background: var(--color-surface); }

.res-teaser-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}

.res-teaser-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 36px 32px;
  background: var(--color-white);
  border: 1.5px solid var(--color-border);
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.res-teaser-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 8px 40px rgba(122,173,168,.15);
  transform: translateY(-3px);
}
.res-teaser-card__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(122,173,168,.15);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.res-teaser-card__content { flex: 1; }
.res-teaser-card__tag {
  display: inline-block;
  font-size: var(--size-xs);
  font-weight: 600;
  color: var(--color-primary);
  background: rgba(122,173,168,.12);
  padding: 3px 10px;
  border-radius: 99px;
  margin-bottom: 10px;
}
.res-teaser-card__content h3 { font-size: var(--size-lg); margin-bottom: 8px; }
.res-teaser-card__content p { font-size: var(--size-sm); color: var(--color-muted); line-height: 1.6; margin: 0; }
.res-teaser-card__cta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--size-sm);
  font-weight: 600;
  color: var(--color-primary);
}

/* Ressourcen CTA-Box */
.section-res-cta { padding: var(--section-py) 0; background: var(--color-surface); }
.res-cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: var(--color-dark);
  border-radius: 20px;
  padding: 56px 60px;
}
.res-cta-box__content h2 { color: var(--color-white); font-size: clamp(1.4rem, 2.5vw, 2rem); margin-bottom: 12px; }
.res-cta-box__content p { color: rgba(255,255,255,.7); font-size: var(--size-sm); max-width: 520px; margin: 0; line-height: 1.7; }

/* Responsive Lead Magnets */
@media (max-width: 1024px) {
  .warn-layout { grid-template-columns: 1fr; gap: 48px; }
  .warn-card { position: static; }
  .scorecard-result__inner { grid-template-columns: 1fr; text-align: center; }
  .scorecard-result__tips li { justify-content: center; }
  .scorecard-result__actions { justify-content: center; }
  .res-teaser-grid { grid-template-columns: 1fr; }
  .res-cta-box { flex-direction: column; text-align: center; padding: 40px 32px; }

  /* Scorecard LP */
  .scs-lp-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .scs-result__band-inner { grid-template-columns: 1fr; text-align: center; gap: 40px; }
  .scs-cats-grid { grid-template-columns: 1fr 1fr; }
  .scs-detail-grid { grid-template-columns: 1fr; }
  .scs-detail-card--full { grid-column: span 1; }
  .scs-contact-box { grid-template-columns: 1fr; gap: 40px; padding: 40px; }
  .scs-head { position: static; }

  /* Warnsignale LP */
  .warn-lp-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .warn-lp-stats { grid-template-columns: 1fr; gap: 16px; text-align: center; }
  .warn-lp-cards { grid-template-columns: 1fr; }
  .warn-lp-naun__inner { grid-template-columns: 1fr; gap: 40px; }

  /* Homepage Promos */
  .scpromo-layout { grid-template-columns: 1fr; gap: 48px; }
  .warnpromo-layout { grid-template-columns: 1fr; gap: 48px; }
  .warnpromo-cta-card { position: static; }
}
@media (max-width: 768px) {
  .scorecard-questions { padding: 24px 24px 0; }
  .scorecard-cta-row { flex-direction: column; align-items: flex-start; padding: 24px; }
  .lm-form__row { grid-template-columns: 1fr; }
  .lm-gate__card { padding: 32px 24px; }
}
