/* ═══════════════════════════════════════════════════════════════════════
   Startseite v2 – Design-Layer
   ═══════════════════════════════════════════════════════════════════════
   Nur auf der Startseite geladen (body.home-v2, siehe functions.php). Markup, Texte, Weltkarten-Hintergrund und Scroll-Story
   bleiben unverändert – hier wird ausschließlich die Optik überlagert.

   Idee: statt heller Kacheln auf der dunklen Weltkarte durchgehend dunkles
   Glas. Die Karte und die Wolken scheinen durch, Karten bekommen eine feine
   Lichtkante oben, Blau/Cyan als Leuchtfarbe, große ruhige Typografie.

   Die Regeln haben dieselbe Spezifität wie die body.has-scene-bg-Overrides
   in main.css und gewinnen, weil diese Datei danach geladen wird.
   ══════════════════════════════════════════════════════════════════════ */

body.home-v2 {
  --v2-glass: linear-gradient(165deg, rgba(20, 36, 72, .74) 0%, rgba(8, 15, 34, .82) 100%);
  --v2-glass-solid: rgba(10, 18, 40, .9);
  --v2-line: rgba(148, 190, 255, .14);
  --v2-line-strong: rgba(148, 190, 255, .28);
  --v2-edge: linear-gradient(90deg, transparent, rgba(125, 211, 252, .55), transparent);
  --v2-tile: rgba(255, 255, 255, .045);
  --v2-tile-hover: rgba(255, 255, 255, .075);
  --v2-text: #f1f5f9;
  --v2-text-2: #cbd5e1;
  --v2-muted: #94a3b8;
  --v2-blue: #60a5fa;
  --v2-cyan: #22d3ee;
  --v2-amber: #fbbf24;
  --v2-green: #34d399;
  --v2-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 30px 80px -20px rgba(0, 0, 0, .75), 0 0 0 1px rgba(0, 0, 0, .25);
  --v2-glow: 0 0 60px -12px rgba(56, 132, 255, .45);
  --v2-radius: 28px;
}

/* ── Header: dunkles Glas + weißes Logo (nur Startseite) ───────────────
   Normal volle Breite, beim Scrollen (.scrolled, main.js) ab 1200px die
   schwebende Pille aus main.css – hier nur Farben/Glas, Geometrie bleibt. */
body.home-v2 .site-header {
  background: rgba(5, 11, 26, .55);
  border-bottom: 1px solid rgba(148, 190, 255, .1);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}
body.home-v2 .site-header.scrolled {
  background: rgba(8, 15, 34, .82);
  border-color: rgba(148, 190, 255, .16);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 0 0 1px rgba(148, 190, 255, .14), 0 1px 0 rgba(255, 255, 255, .06) inset, 0 18px 40px -12px rgba(0, 0, 0, .7), 0 0 40px -14px rgba(56, 132, 255, .45);
}
body.home-v2 .main-nav__link { color: rgba(226, 232, 240, .78); }
body.home-v2 .main-nav__link:hover,
body.home-v2 .main-nav__link--active { color: #fff; }
body.home-v2 .nav-cta-nis2 {
  background: rgba(251, 146, 60, .1);
  border-color: rgba(251, 146, 60, .4);
  color: #fdba74;
}
body.home-v2 .nav-cta-nis2:hover {
  background: rgba(251, 146, 60, .18);
  border-color: #fb923c;
  color: #fed7aa;
}
body.home-v2 .nav-cta-soforthilfe {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .2);
  color: #e2e8f0;
}
body.home-v2 .nav-cta-soforthilfe:hover {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
}
body.home-v2 .burger-line { background: #fff; }

/* Weißes Logo: logo-monogram.svg als weiße Silhouette (I/T-Kästen sind
   ausgestanzt, bleiben also lesbar) – im Header und im Minimal-Footer. */
body.home-v2 .site-logo img,
body.home-v2 .site-footer--minimal .footer-logo img {
  filter: brightness(0) invert(1);
}

/* Leistungen-/Über-uns-Dropdown: dunkles Glas statt heller, halb
   durchsichtiger Fläche über der Story */
body.home-v2 .main-nav__dropdown {
  background: rgba(8, 15, 34, .985);
  border: 1px solid rgba(148, 190, 255, .16);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 30px 60px -20px rgba(0, 0, 0, .85), 0 0 40px -16px rgba(56, 132, 255, .5);
  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --border-primary: rgba(255, 255, 255, .08);
  --bg-secondary: rgba(255, 255, 255, .06);
  --cta-primary: #93c5fd;
}
body.home-v2 .main-nav__dropdown-icon { background: rgba(96, 165, 250, .12); }
body.home-v2 .main-nav__dropdown-item:hover .main-nav__dropdown-icon { background: rgba(96, 165, 250, .22); }
body.home-v2 .main-nav__dropdown-item:hover { color: #fff; }
body.home-v2 .main-nav__dropdown-promo {
  background: linear-gradient(135deg, rgba(59, 130, 246, .16), rgba(52, 211, 153, .08));
  border-color: rgba(96, 165, 250, .25);
}
body.home-v2 .main-nav__dropdown-promo:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, .26), rgba(52, 211, 153, .12));
  border-color: rgba(96, 165, 250, .4);
}
body.home-v2 .main-nav__dropdown-promo__icon { background: rgba(96, 165, 250, .16); }

/* ── Buttons ─────────────────────────────────────────────────────────── */
body.home-v2 .cta-primary,
body.home-v2 .button-primary {
  position: relative;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 45%, #1d4ed8 100%);
  border: 1px solid rgba(147, 197, 253, .35);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 10px 30px -8px rgba(37, 99, 235, .8);
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, filter .25s ease;
}
body.home-v2 .cta-primary:hover,
body.home-v2 .button-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .3) inset, 0 16px 40px -10px rgba(37, 99, 235, .95), 0 0 0 6px rgba(96, 165, 250, .12);
}
body.home-v2 .cta-secondary,
body.home-v2 .button-outline {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .18);
  color: var(--v2-text);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .2s ease, border-color .2s ease, transform .25s ease;
}
body.home-v2 .cta-secondary:hover,
body.home-v2 .button-outline:hover {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .32);
  color: #fff;
  transform: translateY(-2px);
}

/* ── Hero ───────────────────────────────────────────────────────────── */
body.home-v2 .pm-hero-badge {
  background: rgba(10, 20, 45, .55);
  border: 1px solid var(--v2-line-strong);
  color: #bfdbfe;
  letter-spacing: .02em;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 0 30px -8px rgba(56, 132, 255, .5);
}
body.home-v2 .hero-security-title {
  font-size: clamp(2.9rem, 7vw, 5.6rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.035em;
  /* Verlauf statt Schatten: text-shadow würde durch die transparente
     Glyphe durchscheinen, deshalb drop-shadow auf das ganze Element. */
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 42%, #93c5fd 78%, #67e8f9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 6px 30px rgba(0, 0, 0, .7)) drop-shadow(0 1px 2px rgba(0, 0, 0, .8));
  padding-bottom: .06em;
}
body.home-v2 .hero-security-subtitle {
  color: var(--v2-text-2);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.65;
}
body.home-v2 .hero-security-actions .cta-primary,
body.home-v2 .hero-security-actions .cta-secondary {
  padding-block: 1rem;
}
body.home-v2 .hero-google-inline {
  transform: none;
  background: rgba(10, 20, 45, .5);
  border-color: var(--v2-line);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: .5rem 1rem;
}

/* Kennzahlen: vier schwebende Glas-Karten statt Leiste */
body.home-v2 .hero-security-stats {
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top: none !important;
  padding: 0 0 3.5rem;
}
body.home-v2 .msp-hero-stats-grid {
  gap: 1rem;
}
body.home-v2 .msp-hero-stat {
  position: relative;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px;
  background: var(--v2-glass) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: var(--v2-shadow);
  padding: 1.25rem 1rem 1.1rem;
  overflow: hidden;
}
body.home-v2 .msp-hero-stat::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--v2-edge);
}
body.home-v2 .msp-hero-stat-num {
  font-size: 2.6rem !important;
  letter-spacing: -.03em;
  background: linear-gradient(180deg, #fff 20%, #93c5fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.home-v2 .msp-hero-stat-num span {
  -webkit-text-fill-color: var(--v2-cyan);
  color: var(--v2-cyan);
}
body.home-v2 .msp-hero-stat-label {
  color: var(--v2-muted) !important;
  font-size: .78rem !important;
}
@media (max-width: 768px) {
  body.home-v2 .msp-hero-stats-grid { gap: .65rem; }
  body.home-v2 .msp-hero-stat { padding: 1.1rem .75rem; border-radius: 16px; }
  body.home-v2 .msp-hero-stat-num { font-size: 2rem !important; }
}

/* ── Scroll-Story: dunkle Glas-Bühne ─────────────────────────────────── */
body.home-v2 .story-act-inner {
  position: relative;
  max-width: 820px;
  background: var(--v2-glass);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  box-shadow: var(--v2-shadow), var(--v2-glow);
  overflow: hidden;
  /* Farb-Tokens zurück auf hell-auf-dunkel; alle Story-Regeln in main.css
     lesen diese Variablen und ziehen automatisch mit. */
  --hero-text: var(--v2-text);
  --hero-text-muted: var(--v2-muted);
  --hero-node: var(--v2-blue);
  --hero-shield: var(--v2-cyan);
  --hero-threat: var(--v2-amber);
  --hero-safe: var(--v2-green);
}
/* Lichtkante oben + weicher Schein in der Ecke */
body.home-v2 .story-act-inner::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--v2-edge);
  pointer-events: none;
}
body.home-v2 .story-act-inner::after {
  content: '';
  position: absolute;
  top: -40%;
  right: -20%;
  width: 70%;
  height: 90%;
  background: radial-gradient(closest-side, rgba(56, 132, 255, .16), transparent);
  pointer-events: none;
}
body.home-v2 .story-act-inner > * {
  position: relative;
  z-index: 1;
}
body.home-v2 .story-headline {
  font-size: clamp(1.9rem, 4.6vw, 3.25rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.03em;
  color: var(--v2-text);
  background: linear-gradient(180deg, #ffffff 30%, #bfdbfe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.home-v2 .story-eyebrow {
  display: inline-block;
  padding: .35rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(96, 165, 250, .3);
  background: rgba(96, 165, 250, .1);
  font-size: .72rem;
  letter-spacing: .14em;
}
body.home-v2 .story-note {
  color: #64748b;
  font-size: .8rem;
}

/* Zeilen und Kacheln innerhalb der Akte */
body.home-v2 .story-feed-row,
body.home-v2 .story-email-card,
body.home-v2 .story-layer-card,
body.home-v2 .dash-row {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
body.home-v2 .story-feed-row:hover,
body.home-v2 .story-layer-card:hover,
body.home-v2 .dash-row:hover {
  background: var(--v2-tile-hover);
  border-color: var(--v2-line-strong);
}
body.home-v2 .story-feed-row { padding: 1rem 1.2rem; }
body.home-v2 .story-feed-text { color: var(--v2-text); }
body.home-v2 .story-feed-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(96, 165, 250, .22), rgba(34, 211, 238, .08));
  border: 1px solid rgba(96, 165, 250, .25);
  color: #93c5fd;
}

/* Akt 2 – Phishing: Warnfarbe bewusst stärker */
body.home-v2 .story-email-card {
  border-color: rgba(251, 191, 36, .22);
  box-shadow: 0 0 40px -18px rgba(251, 191, 36, .45);
}
body.home-v2 .story-email-from strong,
body.home-v2 .story-email-subject { color: var(--v2-text); }
body.home-v2 .story-email-icon {
  background: rgba(251, 191, 36, .14);
  border: 1px solid rgba(251, 191, 36, .3);
}
body.home-v2 .story-email-link {
  border-radius: 10px;
  box-shadow: 0 8px 24px -8px rgba(37, 99, 235, .8);
}
body.home-v2 .story-alert-row {
  background: linear-gradient(90deg, rgba(251, 191, 36, .16), rgba(251, 191, 36, .05));
  border: 1px solid rgba(251, 191, 36, .35);
  border-radius: 14px;
  color: #fde68a;
}
body.home-v2 .story-punchline {
  font-size: clamp(1.35rem, 3vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--v2-text);
}

/* Akt 3 – Schutzschichten */
body.home-v2 .story-layers { gap: .85rem; }
body.home-v2 .story-layer-card {
  padding: 1.35rem 1.25rem;
  gap: .9rem;
}
body.home-v2 .story-layer-card svg {
  box-sizing: content-box;
  padding: 9px;
  border-radius: 12px;
  background: rgba(34, 211, 238, .1);
  border: 1px solid rgba(34, 211, 238, .25);
  filter: drop-shadow(0 0 10px rgba(34, 211, 238, .35));
}
body.home-v2 .story-layer-card:hover { transform: translateY(-3px); }

/* Akt 4 – Dashboard */
body.home-v2 .dash-row { padding: 1rem 1.2rem; }
body.home-v2 .dash-status { filter: drop-shadow(0 0 8px rgba(52, 211, 153, .55)); }

/* Akt 5 – Zeitleiste */
body.home-v2 .story-timeline-track { background: rgba(255, 255, 255, .1); border-radius: 2px; }
body.home-v2 .story-timeline-fill {
  background: linear-gradient(180deg, var(--v2-cyan), var(--v2-blue));
  box-shadow: 0 0 14px rgba(34, 211, 238, .7);
}
body.home-v2 .story-timeline-step::before {
  background: var(--v2-cyan);
  box-shadow: 0 0 0 4px rgba(34, 211, 238, .15), 0 0 16px rgba(34, 211, 238, .8);
}
body.home-v2 .story-timeline-time {
  font-size: 1.75rem;
  letter-spacing: -.02em;
  text-shadow: 0 0 24px rgba(34, 211, 238, .45);
}
body.home-v2 .story-timeline-label { color: var(--v2-text-2); }

/* Akt 6 – Ausfallkosten-Rechner */
body.home-v2 .story-act--calculator .story-act-inner { max-width: 960px; }
body.home-v2 .calc-field label { color: var(--v2-text-2); }
body.home-v2 .calc-slider {
  height: 6px;
  background: linear-gradient(90deg, rgba(96, 165, 250, .5), rgba(255, 255, 255, .1));
}
body.home-v2 .calc-slider::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  background: #fff;
  border: 4px solid #3b82f6;
  box-shadow: 0 0 0 6px rgba(59, 130, 246, .2), 0 4px 14px rgba(0, 0, 0, .5);
}
body.home-v2 .calc-slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  background: #fff;
  border: 4px solid #3b82f6;
  box-shadow: 0 0 0 6px rgba(59, 130, 246, .2), 0 4px 14px rgba(0, 0, 0, .5);
}
body.home-v2 .calc-select {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  color: var(--v2-text);
  border-radius: 12px;
}
body.home-v2 .calc-select option { background: #0b1530; color: var(--v2-text); }
body.home-v2 .calc-result {
  position: relative;
  background: radial-gradient(120% 90% at 50% 0%, rgba(59, 130, 246, .22), rgba(59, 130, 246, .04) 70%);
  border: 1px solid rgba(96, 165, 250, .3);
  border-radius: 22px;
  box-shadow: 0 0 60px -20px rgba(59, 130, 246, .7);
  overflow: hidden;
}
body.home-v2 .calc-result-value {
  font-size: clamp(2.5rem, 6vw, 3.6rem);
  letter-spacing: -.04em;
  background: linear-gradient(180deg, #fff 25%, #93c5fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.home-v2 .calc-result-label { color: var(--v2-text-2); }
body.home-v2 .calc-result-note { color: #64748b; }
body.home-v2 .calc-closing-text { color: var(--v2-text); }

/* ── Untere Sektionen: dasselbe dunkle Glas ─────────────────────────── */
body.home-v2 .ms-partner-section > .container,
body.home-v2 .services > .container,
body.home-v2 .ms-spotlight > .container,
body.home-v2 .about > .container,
body.home-v2 .msp-faq > .container,
body.home-v2 .home-downloads-section > .container,
body.home-v2 .home-cta-section > .container,
body.home-v2 .trust-section > .container {
  position: relative;
  background: var(--v2-glass);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  box-shadow: var(--v2-shadow);
  overflow: hidden;
  color: var(--v2-text);
  --text-primary: var(--v2-text);
  --text-secondary: var(--v2-text-2);
  --text-muted: var(--v2-muted);
  --card-bg: var(--v2-tile);
  --card-border: rgba(255, 255, 255, .08);
  --border-primary: rgba(255, 255, 255, .1);
}
body.home-v2 .ms-partner-section > .container::before,
body.home-v2 .services > .container::before,
body.home-v2 .ms-spotlight > .container::before,
body.home-v2 .about > .container::before,
body.home-v2 .msp-faq > .container::before,
body.home-v2 .home-downloads-section > .container::before,
body.home-v2 .home-cta-section > .container::before,
body.home-v2 .trust-section > .container::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--v2-edge);
  pointer-events: none;
}
body.home-v2 .ms-partner-section,
body.home-v2 .services,
body.home-v2 .ms-spotlight,
body.home-v2 .about,
body.home-v2 .msp-faq,
body.home-v2 .home-downloads-section,
body.home-v2 .home-cta-section,
body.home-v2 .trust-section {
  padding-block: 4.5rem;
}

/* Überschriften und Fließtext */
body.home-v2 .services h2,
body.home-v2 .ms-spotlight-header h2,
body.home-v2 .about h2,
body.home-v2 .msp-faq h2,
body.home-v2 .home-cta-section h2 {
  color: var(--v2-text);
  font-weight: 800;
  letter-spacing: -.03em;
  background: linear-gradient(180deg, #ffffff 35%, #bfdbfe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.home-v2 .home-cta-section .au-cta-accent {
  background: linear-gradient(90deg, #60a5fa, #22d3ee);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.home-v2 .section-header p,
body.home-v2 .ms-spotlight-header p,
body.home-v2 .about-content p,
body.home-v2 .home-downloads-text p,
body.home-v2 .home-cta-section p {
  color: var(--v2-muted);
}
body.home-v2 .eyebrow,
body.home-v2 .msp-faq .eyebrow,
body.home-v2 .ms-spotlight-header .eyebrow--light {
  color: #93c5fd !important;
  background: rgba(96, 165, 250, .1) !important;
  border: 1px solid rgba(96, 165, 250, .25);
}

/* Microsoft-Partner */
body.home-v2 .ms-partner-label,
body.home-v2 .ms-badge-text strong { color: var(--v2-text); }
body.home-v2 .ms-badge-text span { color: var(--v2-muted); }
body.home-v2 .ms-badge {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
}
body.home-v2 .ms-badge-icon {
  background: rgba(96, 165, 250, .12);
  color: #93c5fd;
}
body.home-v2 .ms-partner-divider { background: rgba(255, 255, 255, .1); }

/* Leistungen */
body.home-v2 .service-tile {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
  color: var(--v2-text);
  border-radius: 16px;
}
body.home-v2 .service-tile:hover {
  background: var(--v2-tile-hover);
  border-color: var(--v2-line-strong);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .8), 0 0 30px -12px rgba(56, 132, 255, .5);
}
body.home-v2 .service-tile-icon {
  background: rgba(148, 163, 184, .12);
  color: var(--v2-text-2);
  border-radius: 12px;
}
body.home-v2 .service-tile--core {
  background: linear-gradient(145deg, rgba(59, 130, 246, .22), rgba(59, 130, 246, .06));
  border-color: rgba(96, 165, 250, .4);
  box-shadow: 0 0 40px -16px rgba(59, 130, 246, .8);
}
body.home-v2 .service-tile--core .service-tile-icon {
  background: rgba(96, 165, 250, .22);
  color: #bfdbfe;
}
body.home-v2 .service-tile--highlight .service-tile-icon {
  background: rgba(34, 211, 238, .14);
  color: #67e8f9;
}
body.home-v2 .service-tile-badge { color: #93c5fd; }

/* Managed Service Spotlight */
body.home-v2 .ms-pillar {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
}
body.home-v2 .ms-pillar:hover {
  background: var(--v2-tile-hover);
  border-color: var(--v2-line-strong);
}
body.home-v2 .ms-pillar h3 { color: var(--v2-text); }
body.home-v2 .ms-pillar p { color: var(--v2-muted); }
body.home-v2 .ms-pillar-icon {
  background: linear-gradient(145deg, rgba(96, 165, 250, .22), rgba(34, 211, 238, .08));
  border: 1px solid rgba(96, 165, 250, .25);
  color: #93c5fd;
}
body.home-v2 .ms-spotlight-link { color: #93c5fd; }
body.home-v2 .ms-spotlight-link:hover { color: #fff; }

/* Erklärvideo im Managed-Service-Block */
body.home-v2 .is-explainer-frame {
  border: 1px solid rgba(148, 190, 255, .22);
  border-radius: 22px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 30px 70px -24px rgba(0, 0, 0, .9), 0 0 60px -18px rgba(56, 132, 255, .55);
}
body.home-v2 .is-explainer-frame::after {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--v2-edge);
  pointer-events: none;
}
body.home-v2 .is-explainer-caption { color: var(--v2-muted); }

/* Über uns */
body.home-v2 .about-image img {
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 30px 60px -25px rgba(0, 0, 0, .9);
}
body.home-v2 .about-badge {
  background: var(--v2-glass-solid);
  border: 1px solid var(--v2-line-strong);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .9), 0 0 30px -10px rgba(56, 132, 255, .6);
}
body.home-v2 .about-badge-number { color: #fff; }
body.home-v2 .about-badge-label { color: var(--v2-muted); }
body.home-v2 .usp-item { color: var(--v2-text-2); }
body.home-v2 .usp-icon {
  background: rgba(96, 165, 250, .14);
  color: #93c5fd;
}
body.home-v2 .about-partners { border-top-color: rgba(255, 255, 255, .08); }

/* Technologie-Partner: helle Leiste raus, Logos einheitlich weiß */
body.home-v2 .is-partner-badges--pill {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
}
body.home-v2 .is-partner-badges--pill .is-partner-badges__label {
  color: var(--v2-muted);
  border-color: rgba(255, 255, 255, .08);
}
body.home-v2 .is-partner-badges--pill .is-partner-logo img {
  filter: brightness(0) invert(1) opacity(.7);
  transition: filter .2s ease;
}
body.home-v2 .is-partner-badges--pill .is-partner-logo:hover img { filter: brightness(0) invert(1) opacity(1); }
body.home-v2 .is-partner-badges--pill .is-partner-logo__ms { color: rgba(255, 255, 255, .75); }

body.home-v2 .is-partner-pill {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
}
body.home-v2 .is-partner-pill:hover {
  background: rgba(255, 255, 255, .1);
  border-color: var(--v2-line-strong);
  box-shadow: 0 0 24px -8px rgba(56, 132, 255, .6);
}
body.home-v2 .is-partner-pill img,
body.home-v2 .is-partner-pill svg { filter: brightness(0) invert(1) opacity(.8); }
body.home-v2 .is-partner-pill span,
body.home-v2 .is-partner-pill strong { color: rgba(255, 255, 255, .85); }

/* FAQ */
body.home-v2 .msp-faq-item {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  transition: background .2s ease, border-color .2s ease;
}
body.home-v2 .msp-faq-item:hover { background: var(--v2-tile-hover); }
body.home-v2 .msp-faq-item[open] {
  border-color: rgba(96, 165, 250, .4);
  background: rgba(59, 130, 246, .08);
}
body.home-v2 .msp-faq-q { color: var(--v2-text); }
body.home-v2 .msp-faq-q svg { color: #93c5fd; }
body.home-v2 .msp-faq-a p { color: var(--v2-muted); }
body.home-v2 .msp-faq-a strong { color: var(--v2-text); }

/* Kunden-Leiste */
body.home-v2 .trust-label {
  color: #93c5fd;
  background: rgba(96, 165, 250, .1);
  border: 1px solid rgba(96, 165, 250, .25);
}
body.home-v2 .trust-client__name { color: var(--v2-text); }
body.home-v2 .trust-client__sector { color: var(--v2-muted); }
body.home-v2 .trust-client {
  background: var(--v2-tile);
  border: 1px solid rgba(255, 255, 255, .08);
}

/* Abschluss-CTA: etwas mehr Bühne */
body.home-v2 .home-cta-section > .container {
  background:
    radial-gradient(80% 120% at 100% 0%, rgba(59, 130, 246, .25), transparent 60%),
    var(--v2-glass);
  box-shadow: var(--v2-shadow), var(--v2-glow);
}

/* Weniger Bewegung gewünscht: Hover-Sprünge aus */
@media (prefers-reduced-motion: reduce) {
  body.home-v2 .cta-primary:hover,
  body.home-v2 .button-primary:hover,
  body.home-v2 .service-tile:hover,
  body.home-v2 .story-layer-card:hover { transform: none; }
}
