/* =====================================================================
   STARTSEITE NAVY + WEISS (live seit 2026-09-30, Yusuf, Vorbild rumyoniq.de)
   Nur index.html DE+EN (body.is-home). Entwürfe: reference/home-navy-2026-09-30/
   Zwei Flächen: Navy-Verlauf wie der Hero, reines Weiß. Kein Schwarz, kein Grau,
   keine hellblauen Radials. Buttons: auf Weiß Navy, auf Navy Weiß.
   ===================================================================== */
:root {
  --hn-navy: #0b1c3d;
  --hn-grad: linear-gradient(180deg, #0c2149 0%, #0a1a38 55%, #081428 100%);
  --hn-card: #132a52;
  --hn-card-line: rgba(255,255,255,.10);
  --hn-ink: #0b1c3d;
  --hn-btn: #16336a;
}

/* ---------- Flächen ---------- */
body.is-home .gad-platform,
body.is-home .trust-belt,
body.is-home .sw-section,
body.is-home .solutions-decision,
body.is-home .testimonials,
body.is-home .news-ticker-section,
body.is-home .faq-section { background: #fff !important; background-image: none !important; }

body.is-home .context-band--hero,
body.is-home #products,
body.is-home .ueber-final-cta { background: var(--hn-grad) !important; }

/* Navy-Blöcke, die direkt aufeinander folgen, verschmelzen (Kacheln + Abschluss) */
body.is-home .ueber-final-cta { background: linear-gradient(180deg, #0a1a38 0%, #081428 100%) !important; padding-top: 0 !important; }
body.is-home .ueber-final-cta, body.is-home .ueber-final-cta * { color: #fff; }
body.is-home .ueber-final-cta p { color: rgba(232,234,238,.78) !important; }

/* Trennlinien/Divider zwischen Sektionen weg, der Farbwechsel trennt */
body.is-home .section-with-divider::before,
body.is-home .section-with-divider::after { display: none !important; }

/* ---------- Karten auf Navy ---------- */
body.is-home #products .lp-card--dark { background: var(--hn-card); border: 1px solid var(--hn-card-line); }
body.is-home .context-band--hero [class*="card"] { background: var(--hn-card); border-color: var(--hn-card-line); }

/* ---------- Karten auf Weiß: eine Handschrift ---------- */
body.is-home .news-ticker-section .nt-card { border-color: #e3e9f2; }
body.is-home .news-ticker-section [class*="nt-"][class*="panel"] { background: #fff; }

/* ---------- Buttons: auf Weiß Navy, auf Navy Weiß ---------- */
body.is-home .nav-cta,
body.is-home .btn-primary,
body.is-home .ueber-final-cta .btn-primary { background: var(--hn-btn) !important; border-color: var(--hn-navy) !important; color: #fff !important; }
/* Diese :hover-Regeln überschreiben ungebundene Hover-Regeln aus style.css/site-navy.css/news-ring.css und bleiben daher
   ohne @media (hover:hover), sonst greift am Handy die alte Farbe (Komplettcheck 28.10.2026). */
body.is-home .nav-cta:hover,
body.is-home .btn-primary:hover { background: #14315f !important; }

body.is-home .hero-pangolin .btn-primary,
body.is-home #products .btn-primary,
body.is-home .context-band--hero .btn-primary,
body.is-home .ueber-final-cta .btn-primary,
body.is-home .rz-hero .btn-primary { background: #fff !important; border-color: #fff !important; color: var(--hn-navy) !important; }

body.is-home .btn-ghost { background: transparent !important; color: var(--hn-navy) !important; border: 1px solid rgba(11,28,61,.28) !important; }
body.is-home .hero-pangolin .btn-ghost,
body.is-home #products .btn-ghost,
body.is-home .context-band--hero .btn-ghost,
body.is-home .ueber-final-cta .btn-ghost { color: #fff !important; border-color: rgba(255,255,255,.4) !important; }

/* Textlinks: Navy auf Weiß */
body.is-home .sw-link { color: var(--hn-navy) !important; }
/* Einstieg: Ziel-Links immer blau, damit sofort klar ist, dass man tippen kann (Yusuf 2026-10-02) */
body.is-home .decision-link { color: #0071e3 !important; }
@media (hover: hover) {
body.is-home .sw-link:hover,
body.is-home .decision-link:hover { color: #0071e3 !important; }
}

/* Karussell-Steuerung einheitlich */
body.is-home .lp-dot.is-active { background: var(--hn-navy) !important; }
body.is-home #products .lp-dot.is-active { background: #fff !important; }
body.is-home #products .lp-arrow { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); color: #fff; }
body.is-home .sw-section .lp-arrow { border-color: #d6deea; color: var(--hn-navy); }

/* Hero-Buttons + „Demo buchen" (eigene Klassen) */
body.is-home .hero-btn-primary { background: #fff !important; color: var(--hn-navy) !important; border-color: #fff !important; box-shadow: none !important; }
body.is-home .hero-btn-primary:hover { background: #e8eef8 !important; }
body.is-home .hero-btn-ghost { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.4) !important; }
body.is-home .nav-mobile-cta { background: var(--hn-btn) !important; color: #fff !important; }
body.is-home .gad-cta-btn { background: var(--hn-btn) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(11,28,61,.22) !important; }
body.is-home .gad-cta-btn:hover { background: #14315f !important; }
body.is-home .site-footer .btn-primary { background: #fff !important; border-color: #fff !important; color: var(--hn-navy) !important; }

/* =====================================================================
   V2 (Yusuf 2026-09-30): weniger Schnitte, lange Navy-Blöcke
   Block A Navy: Dienstleistungen → Führungsaufgabe → Zertifizierungen
   Block B Navy: Das macht uns aus → Nächster Schritt → Live-Nachrichten
   ===================================================================== */
body.is-home #products,
body.is-home .context-band--hero,
body.is-home .trust-belt,
body.is-home .ueber-final-cta,
body.is-home .news-ticker-section { background: var(--hn-navy) !important; background-image: none !important; }

/* Übergänge innerhalb eines Blocks: kein doppeltes Padding */
body.is-home #products { padding-bottom: 40px !important; }
body.is-home .context-band--hero { padding: 48px 0 !important; }
body.is-home .trust-belt { padding-top: 24px !important; padding-bottom: 88px !important; }
body.is-home .ueber-final-cta { padding-bottom: 56px !important; }
body.is-home .news-ticker-section { padding-top: 40px !important; }

/* Zertifizierungen auf Navy */
body.is-home .trust-belt,
body.is-home .trust-belt .trust-belt-compliance-headline,
body.is-home .trust-belt .trust-belt-row-label { color: rgba(232,234,238,.72) !important; }
body.is-home .trust-belt .trust-belt-track .trust-sector { color: rgba(255,255,255,.86) !important; }
body.is-home .trust-belt .trust-belt-track .trust-sector svg { color: rgba(255,255,255,.86) !important; }
body.is-home .trust-belt .trust-belt-row { border-color: rgba(255,255,255,.10) !important; }
body.is-home .trust-belt .trust-belt-compliance-cta { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.4) !important; }
body.is-home .trust-belt .trust-belt-marquee img,
body.is-home .trust-belt .trust-belt-row img { filter: brightness(0) invert(1); opacity: .85; }
body.is-home .trust-belt .trust-belt-marquee::before,
body.is-home .trust-belt .trust-belt-marquee::after { background: linear-gradient(90deg, var(--hn-navy), transparent) !important; }
body.is-home .trust-belt .trust-belt-marquee::after { background: linear-gradient(270deg, var(--hn-navy), transparent) !important; }

/* Live-Nachrichten auf Navy: Kopf hell, Karten bleiben weiß */
body.is-home .news-ticker-section h2 { color: #fff !important; }
body.is-home .news-ticker-section .news-ticker-lead,
body.is-home .news-ticker-section .news-ticker-meta,
body.is-home .news-ticker-section .news-ticker-meta a,
body.is-home .news-ticker-section .news-ticker-disclaimer { color: rgba(232,234,238,.66) !important; }
body.is-home .news-ticker-section .nt-live-badge { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.16); }

/* Rechenzentrum: kein Schwarz. Mobil liegt es auf Weiß mit Navy-Schrift */
body.is-home #rechenzentrum.rz-hero { background: #fff !important; }
@media (max-width: 767px) {
  body.is-home #rechenzentrum h2 { color: var(--hn-navy) !important; text-shadow: none !important; }
  body.is-home #rechenzentrum .eyebrow { color: #0071e3 !important; }
  body.is-home #rechenzentrum .rz-bullet-text strong { color: var(--hn-navy) !important; }
  body.is-home #rechenzentrum .rz-bullet-text span { color: #4a5768 !important; }
  body.is-home #rechenzentrum .rz-bullet-dot { color: #0071e3 !important; }
  body.is-home #rechenzentrum .btn-primary { background: var(--hn-navy) !important; border-color: var(--hn-navy) !important; color: #fff !important; }
  body.is-home #rechenzentrum .rz-hero-video { border-radius: 0; }
}
body.is-home .trust-belt .trust-belt-badges img { filter: brightness(0) invert(1); opacity: .92; }
body.is-home .trust-belt .trust-logo,
body.is-home .trust-belt .trust-logo img,
body.is-home .trust-belt .trust-logo svg { filter: brightness(0) invert(1); opacity: .85; }

/* =====================================================================
   V3 (Yusuf 2026-09-30)
   ===================================================================== */
/* 1 · Führungsaufgabe: Foto als Hintergrund, Ränder laufen weich ins Navy aus (siehe V5) */
body.is-home .context-band--hero { padding: 72px 0 !important; }
body.is-home .context-band--hero .context-hero-bg img { opacity: .62; }
body.is-home .context-band--hero .context-hero-overlay { display: block;
  background: linear-gradient(90deg, rgba(11,28,61,.88) 0%, rgba(11,28,61,.55) 55%, rgba(11,28,61,.70) 100%); }
body.is-home .context-band--hero .context-hero-grid { padding: 40px 48px; }
body.is-home .context-hero-point { background: rgba(11,28,61,.55); border-color: rgba(255,255,255,.16); }
@media (max-width: 860px) {
  body.is-home .context-band--hero { padding: 48px 0 !important; }
  body.is-home .context-band--hero .context-hero-grid { padding: 28px 22px; }
}

/* 2 · Dienstleistungen: schmalere Karten, fast drei nebeneinander. Schild klein oben rechts, Text volle Breite */
@media (min-width: 801px) {
  body.is-home #products .lp-card { width: calc((100% - 32px) / 2.55); min-height: 0; }
  body.is-home #products .lp-card-text { min-height: 520px; padding: 36px 34px 32px; }
  body.is-home #products .lp-card h3 { font-size: clamp(24px, 2.1vw, 30px); margin-right: 0; min-height: 0; }
  body.is-home #products .lp-desc,
  body.is-home #products .lp-modules { max-width: 100%; }
  body.is-home #products .lp-desc { font-size: 15px; }
  body.is-home #products .lp-modules li { font-size: 15px; }
  body.is-home #products .lp-card { overflow: hidden; }
  body.is-home #products .lp-card-text { position: relative; z-index: 1; }
  body.is-home #products .lp-card-image { top: auto; right: -34px; bottom: -30px; width: 300px; height: 300px; background: transparent !important; border-radius: 0; z-index: 0; pointer-events: none; }
  body.is-home #products .lp-image-shield { height: 250px !important; max-width: 260px; opacity: .38 !important; filter: drop-shadow(0 20px 40px rgba(0,0,0,.35)) !important; }
  body.is-home #products .lp-card:hover .lp-image-shield { opacity: .5 !important; transform: none; }
  body.is-home #products .lp-card h3 { margin-right: 0; }
  body.is-home #products .lp-cta { margin-top: auto; }
}

/* 4 · Live-Nachrichten: keine Glas-Rahmen um die Kategorien, Inhalte liegen direkt auf Navy */
body.is-home .news-ticker-section .nt-section { background: transparent !important; border: 0 !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; padding: 0 !important; }
body.is-home .news-ticker-section .nt-section::before { display: none !important; }
body.is-home .news-ticker-section .nt-section-head { border-bottom-color: rgba(255,255,255,.14) !important; }
body.is-home .news-ticker-section .nt-section-label { color: #fff !important; }
body.is-home .news-ticker-section .news-ticker { gap: 28px 20px !important; }

/* =====================================================================
   V4 (Yusuf 2026-09-30)
   ===================================================================== */
/* Überschriften: auf Weiß Navy (Akzent als helleres Navy-Blau), auf Navy komplett Weiß */
body.is-home main h2 { color: var(--hn-navy); }
body.is-home main h2 .accent-blue { color: #2b8aff !important; } /* Hero-Blau, nur große Überschriften */
body.is-home #products h2, body.is-home #products h2 .accent-blue,
body.is-home .context-band--hero h2, body.is-home .context-band--hero h2 .accent-blue,
body.is-home .ueber-final-cta h2, body.is-home .ueber-final-cta h2 .accent-blue,
body.is-home .news-ticker-section h2 { color: #fff !important; }
/* Rechenzentrum: Desktop liegt Schrift auf dem Video (weiß), mobil auf Weiß (Navy, siehe unten) */
@media (min-width: 768px) { body.is-home #rechenzentrum h2 { color: #fff !important; } body.is-home #rechenzentrum h2 .accent-datacenter { color: var(--accent-datacenter) !important; } }

/* Konsole: Navy-Akzente statt Hellblau */
body.is-home .gad-platform-eyebrow { color: #0071e3 !important; }
body.is-home .gad-platform-headline { max-width: none !important; }

/* Das macht uns aus: sechs gleich große Kacheln, weiße Icons, größere Schrift */
@media (min-width: 900px) { body.is-home .gad-platform-head { max-width: none !important; } body.is-home .gad-platform-headline { white-space: nowrap; } }

/* Zertifizierungen mittig wie bisher, nur luftiger (Yusuf 2026-09-30) */
body.is-home .trust-belt .trust-belt-badges { gap: 56px !important; }
body.is-home .trust-belt .trust-belt-compliance { margin-bottom: 36px !important; }
body.is-home .trust-belt .trust-belt-row { padding-top: 34px !important; padding-bottom: 34px !important; }
@media (max-width: 860px) { body.is-home .trust-belt .trust-belt-badges { gap: 20px !important; } }

/* =====================================================================
   Feinschliff 2026-09-30 (Yusuf): Elemente auf Navy, Luft, einheitliche Buttons
   ===================================================================== */
/* Hero-Ghost-Button: kein Unschärfe-Effekt (färbte ihn mobil dunkelblau), echter Umriss */
body.is-home .hero-btn-ghost { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* Rechenzentrum mobil: Akzent wie bisher blau, Rest Navy; Button wie alle anderen */
@media (max-width: 767px) {
  body.is-home #rechenzentrum h2 .accent-datacenter { color: #0071e3 !important; }
  body.is-home #rechenzentrum .btn-primary { background: var(--hn-btn) !important; border-color: var(--hn-btn) !important; }
}
/* Info-Knöpfe auf Navy weiß */
body.is-home .trust-belt .gc-info-btn { color: rgba(255,255,255,.85) !important; }
/* Zertifizierungen/Branchen/Technologie: mehr Luft zwischen Beschriftung und Inhalt */
body.is-home .trust-belt .trust-belt-compliance-headline { margin-bottom: 30px !important; }
body.is-home .trust-belt .trust-belt-row-label { margin-bottom: 28px !important; }
body.is-home .trust-belt .trust-belt-compliance-cta { margin-top: 30px !important; }
body.is-home .trust-belt .trust-belt-partners { gap: 64px !important; }
/* Live-Nachrichten: luftiger, Wisch-Punkte auf Navy sichtbar */
body.is-home .news-ticker-section { padding-top: 72px !important; padding-bottom: 104px !important; }
body.is-home .news-ticker-section h2 { margin-top: 18px !important; margin-bottom: 14px !important; }
body.is-home .news-ticker-section .news-ticker-lead { margin-bottom: 44px !important; }
body.is-home .news-ticker-section .news-ticker { gap: 44px 28px !important; }
body.is-home .news-ticker-section .nt-section-head { margin-bottom: 18px !important; }
body.is-home .news-ticker-section .nt-dots { margin-top: 12px !important; }
body.is-home .news-ticker-section .nt-dot-btn { background: rgba(255,255,255,.38); background-clip: content-box; }
@media (hover: hover) {
body.is-home .news-ticker-section .nt-dot-btn:hover { background: rgba(255,255,255,.7); background-clip: content-box; }
}
body.is-home .news-ticker-section .news-ticker-meta { margin-top: 40px !important; }
/* Wisch-Punkte: aktiver Punkt in Kategoriefarbe, alle anderen weiß */
body.is-home .news-ticker-section .nt-dot-btn { background: rgba(255,255,255,.55); background-clip: content-box; }
body.is-home .news-ticker-section .nt-dot-btn.nt-dot-on { background: var(--nt, #fff); background-clip: content-box; }
/* Rechenzentrum mobil: Eyebrow ohne Leucht-Schatten */
@media (max-width: 767px) { body.is-home #rechenzentrum .eyebrow, body.is-home #rechenzentrum h2 { text-shadow: none !important; } }
/* Zitat-Umschalter: aktiver Chip Navy statt Schwarz */
body.is-home .testimonial-avatar.active { background: var(--hn-btn) !important; border-color: var(--hn-btn) !important; }
/* Mindestgröße für Fingertipps (44 px) */
body.is-home main .btn,
body.is-home .trust-belt .trust-belt-compliance-cta { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.is-home .hero-pangolin .gc-info-btn { color: rgba(255,255,255,.85) !important; }

/* =====================================================================
   V5 (Yusuf 2026-09-30)
   ===================================================================== */
/* Führungsaufgabe: kein Rahmen, Foto blendet an allen Seiten ins Navy aus */
body.is-home .context-band--hero .context-hero-bg {
  inset: 0 max(0px, calc((100% - 1440px) / 2));
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
          mask-composite: intersect; }
body.is-home .context-band--hero .context-hero-overlay { inset: 0; border-radius: 0;
  background: linear-gradient(90deg, rgba(11,28,61,.80) 0%, rgba(11,28,61,.45) 55%, rgba(11,28,61,.62) 100%); }

/* Dienstleistungen: Titel, Text, Stichpunkte, Link unten links; keine Claim-Zeile */
body.is-home #products .lp-card h3 { min-height: 0; margin: 0 0 14px; color: #fff; }
body.is-home #products .lp-desc { margin: 0 0 20px; }
body.is-home #products .lp-card .lp-cta { color: #fff; margin-top: auto; padding-top: 24px; }
body.is-home #products .lp-card-text { height: 100%; box-sizing: border-box; }
/* Servicefarbe als dezenter Verlauf über dem Karten-Navy */
body.is-home #products .lp-card--cyber { background:
  radial-gradient(120% 85% at 100% 100%, rgba(43,138,255,.26) 0%, transparent 62%),
  linear-gradient(160deg, rgba(43,138,255,.12) 0%, transparent 50%), var(--hn-card); }
body.is-home #products .lp-card--grc { background:
  radial-gradient(120% 85% at 100% 100%, rgba(138,148,164,.24) 0%, transparent 62%),
  linear-gradient(160deg, rgba(138,148,164,.12) 0%, transparent 50%), var(--hn-card); }
body.is-home #products .lp-card--ai { background:
  radial-gradient(120% 85% at 100% 100%, rgba(46,170,112,.26) 0%, transparent 62%),
  linear-gradient(160deg, rgba(46,170,112,.12) 0%, transparent 50%), var(--hn-card); }

/* Live-Nachrichten: Wisch-Punkte als voller Punkt (Pseudo-Element), Trefferfläche 24px bleibt */
body.is-home .news-ticker-section .nt-dot-btn,
body.is-home .news-ticker-section .nt-dot-btn:hover,
body.is-home .news-ticker-section .nt-dot-btn.nt-dot-on { background: transparent !important; padding: 0 !important;
  display: inline-flex; align-items: center; justify-content: center; }
body.is-home .news-ticker-section .nt-dot-btn::before { content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.72); transition: background .2s, transform .2s; }
@media (hover: hover) {
body.is-home .news-ticker-section .nt-dot-btn:hover::before { background: #fff; }
}
body.is-home .news-ticker-section .nt-dot-btn.nt-dot-on::before { background: var(--nt, #fff); transform: scale(1.3); }

/* Meldungen: schmalere, höhere Karten, drei nebeneinander (Desktop) */
@media (min-width: 720px) {
  body.is-home .news-ticker-section .nt-carousel--text .nt-card--text { flex: 0 0 calc((100% - 24px) / 3); min-height: 128px; padding: 18px 18px; }
  body.is-home .news-ticker-section .nt-card--text .nt-card-title { -webkit-line-clamp: 3; }
}
/* FAQ-Akzent „Antworten." wie alle Akzente auf Weiß: Hero-Blau */
body.is-home .faq-section .faq-headline-answer { color: #2b8aff !important; }
/* Mehr Abstand um „Warum jetzt" (Yusuf 2026-09-30): Dienstleistungen ↔ Bild ↔ Compliance-Standards */
body.is-home #products { padding-bottom: 72px !important; }
body.is-home .context-band--hero { padding: 104px 0 !important; }
body.is-home .trust-belt { padding-top: 72px !important; }
@media (max-width: 860px) {
  body.is-home #products { padding-bottom: 48px !important; }
  body.is-home .context-band--hero { padding: 64px 0 !important; }
  body.is-home .trust-belt { padding-top: 48px !important; }
}
/* RedMentis-Kachel: Bordeaux aus dem Schild-Logo statt Orange/Gelb (wie /redmentis, 2026-09-30) */
body.is-home .sw-body--rm .sw-link { color: #8a0a12 !important; }
/* RedMentis-Kachel: Angriffspfad-Grafik wie /redmentis#wie (Yusuf 2026-09-30), Navy wie MedMentis/BsMind */
body.is-home .sw-visual--rmt { flex-direction: column; align-items: stretch; justify-content: space-between; gap: 14px; padding: 28px 30px 22px !important;
  background: linear-gradient(160deg,#0b1c3d 0%,#14315f 62%,#0e2547 100%) !important; border-color: transparent !important; }
.rmt { display: block; width: 100%; height: auto; max-height: 320px; overflow: visible; font-family: inherit; }
.rmt-box { fill: #233250; stroke: rgba(255,255,255,.42); stroke-width: 1.4; }
.rmt-box--atk { fill: #3c223a; stroke: rgba(208,85,92,.85); }
.rmt-box--crown { fill: #2d3c58; stroke: rgba(255,255,255,.6); }
.rmt-ico { fill: none; stroke: #fff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rmt-hit { fill: none; stroke: #d0555c; stroke-width: 2.5; opacity: 0; }
.rmt-lbl { font-size: 15px; font-weight: 600; fill: rgba(232,234,238,.9); }
.rmt-name { font-size: 17px; font-weight: 800; fill: #fff; letter-spacing: .04em; }
.rmt-sub { font-size: 13.5px; font-weight: 500; fill: rgba(232,234,238,.75); }
.rmt-base { stroke: rgba(255,255,255,.22); stroke-width: 2; fill: none; }
.rmt-red { stroke: #d0555c; stroke-width: 3; fill: none; stroke-linecap: round; }
.rmt-beam { stroke: #9fd3ff; stroke-width: 1.8; stroke-dasharray: 3 7; fill: none; stroke-linecap: round; }
.rmt-pulse { fill: none; stroke: #dc7e84; stroke-width: 1.4; opacity: 0; }
.rmt-orbit-ring { fill: none; stroke: rgba(255,255,255,.28); stroke-width: 1.2; stroke-dasharray: 3 4; }
.rmt-orbit { transform-origin: 240px 98px; transform-box: view-box; }
.rmt-pill rect { fill: rgba(255,255,255,.12); stroke: rgba(255,255,255,.35); }
.rmt-pilltxt { font-size: 14px; font-weight: 700; fill: #fff; }
.rmt-token-core { fill: #d0555c; stroke: #fff; stroke-width: 2; }
.rmt-token-ring { fill: none; stroke: rgba(208,85,92,.55); stroke-width: 2; }
.rmt-gate, .rmt-pill, .rmt-pulse, .rmt-token { transform-box: fill-box; transform-origin: center; }
.rmt-token { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .rmt-red { stroke-dasharray: 1; stroke-dashoffset: 1; animation: rmtDraw 10s linear infinite; }
  .rmt-token { animation: rmtTok 10s linear infinite; }
  .rmt-hit { animation: rmtHit 10s linear infinite; animation-delay: var(--d); }
  .rmt-gate { animation: rmtGate 10s cubic-bezier(.16,1,.3,1) infinite; }
  .rmt-pill { animation: rmtPill 10s ease-out infinite; }
  .rmt-beam { animation: rmtBeam 1.2s linear infinite; }
  .rmt-pulse { animation: rmtPulse 3.2s ease-out infinite; }
  .rmt-orbit { animation: rmtSpin 14s linear infinite; }
}
@keyframes rmtDraw { 0%, 4% { stroke-dashoffset: 1; } 56% { stroke-dashoffset: 0; } 94% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes rmtTok { 0% { opacity: 0; transform: none; } 4% { opacity: 1; transform: none; } 56% { opacity: 1; transform: translateX(var(--dist)); } 60%, 100% { opacity: 0; transform: translateX(var(--dist)); } }
@keyframes rmtHit { 0% { opacity: 0; } 2% { opacity: 1; } 8%, 100% { opacity: 0; } }
@keyframes rmtGate { 0%, 44% { opacity: 0; transform: scale(.4); } 50% { opacity: 1; transform: scale(1.12); } 54% { transform: scale(1); } 94% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1); } }
@keyframes rmtPill { 0%, 58% { opacity: 0; transform: translateY(6px); } 64% { opacity: 1; transform: none; } 94% { opacity: 1; transform: none; } 100% { opacity: 0; transform: none; } }
@keyframes rmtBeam { to { stroke-dashoffset: -20; } }
@keyframes rmtPulse { 0% { opacity: .8; transform: scale(1); } 60%, 100% { opacity: 0; transform: scale(1.7); } }
@keyframes rmtSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rmt-token { opacity: 1; transform: translateX(var(--dist)); } .rmt-hit { opacity: 0; } }
@media (max-width: 900px) { body.is-home .sw-visual--rmt { padding: 20px 16px 16px !important; gap: 8px; } .rmt { max-height: none; } }
/* Kacheln BsMind + RedMentis ohne Logo, Grafik immer vollständig und mittig (wie MedMentis) */
body.is-home .sw-visual--bs, body.is-home .sw-visual--rmt { justify-content: center !important; align-items: center !important; }
body.is-home .sw-visual--bs .bsi, body.is-home .sw-visual--rmt .rmt { width: 100%; height: 100%; max-height: none; min-height: 0; flex: 1 1 auto; }

/* ===== #defense-engine: Demoansicht 1:1 aus page-redmentis.css (.rmx-*), 2026-09-30 =====
   Quelle: css/page-redmentis.css Abschnitt 1, hier auf die Sektion begrenzt. Bei Änderungen dort hier nachziehen.
   Kopfzeile links trägt das GAD-Defense-Engine-Branding (.gad-dash-brand aus style.css). */
#defense-engine { --rm-navy: #0b1c3d; --rm-btn: #16336a; --rm-line: #e3e9f2;
--rm-red-deep: #4e0308; --rm-red-dark: #6a060d; --rm-red: #8a0a12; --rm-red-600: #a8323a; --rm-red-500: #b85a60; --rm-red-400: #c9787d;
--rm-red-tint: #f7eced; --rm-red-soft: rgba(138,10,18,.07); --rm-red-line: rgba(138,10,18,.24);
--rm-red-text: var(--rm-red); }
@keyframes rmx-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

#defense-engine .rmx-frame { position: relative; max-width: 1180px; margin: 0 auto; background: #fff; border: 1px solid rgba(20,40,80,.10); border-radius: 20px; overflow: hidden;
  box-shadow: 0 30px 90px rgba(20,40,80,.16), 0 4px 12px rgba(20,40,80,.06); font-family: 'Inter', -apple-system, sans-serif; }
#defense-engine .rmx-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 18px; background: #fff; border-bottom: 1px solid rgba(20,40,80,.08); }
#defense-engine .rmx-cycle:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }
#defense-engine .gad-dash-brand, #defense-engine .rmx-badge { white-space: nowrap; }
#defense-engine .rmx-meta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
#defense-engine .rmx-badge { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rm-red-text); padding: 4px 10px; border-radius: 999px; background: var(--rm-red-soft); border: 1px solid var(--rm-red-line); }
#defense-engine .rmx-cycle { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(20,40,80,.14); background: #fff; color: var(--rm-navy); display: grid; place-items: center; cursor: pointer; transition: background 180ms ease, color 180ms ease; }
#defense-engine .rmx-cycle svg { width: 18px; height: 18px; }
@media (hover: hover) {
#defense-engine .rmx-cycle:hover { background: var(--rm-btn); border-color: var(--rm-btn); color: #fff; }
}

#defense-engine .rmx-app { display: grid; grid-template-columns: 184px minmax(0,1fr); min-height: 612px; } 
#defense-engine .rmx-rail { background: var(--rm-navy); padding: 16px 10px; display: flex; flex-direction: column; gap: 4px; }
#defense-engine .rmx-rail-tabs { display: flex; flex-direction: column; gap: 4px; }
#defense-engine .rmx-navitem { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; font: inherit; font-size: 13px; font-weight: 500; text-align: left; color: rgba(232,234,238,.75); white-space: nowrap; cursor: pointer;
  transition: background 180ms ease, color 180ms ease; -webkit-tap-highlight-color: transparent; }
@media (hover: hover) {
#defense-engine .rmx-navitem:hover { background: rgba(255,255,255,.07); color: #fff; }
}
#defense-engine .rmx-navitem:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
#defense-engine .rmx-navitem svg { width: 16px; height: 16px; flex-shrink: 0; }
#defense-engine .rmx-navitem.is-active { background: rgba(255,255,255,.12); color: #fff; font-weight: 600; }
#defense-engine .rmx-rail-foot { margin-top: auto; padding: 12px; font-size: 11.5px; line-height: 1.45; color: rgba(232,234,238,.6); border-top: 1px solid rgba(255,255,255,.12); }
#defense-engine .rmx-rail-foot b { display: block; color: #fff; font-weight: 600; }
#defense-engine .rmx-canvas { min-width: 0; display: flex; flex-direction: column; }
#defense-engine .rmx-strip { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 10px 22px; border-bottom: 1px solid rgba(20,40,80,.08); font-size: 12px; color: #5f6b7d; }
#defense-engine .rmx-strip b { color: var(--rm-navy); font-weight: 600; }
#defense-engine .rmx-panel { display: none; padding: 20px 22px 24px; min-width: 0; }
#defense-engine .rmx-panel.is-active { display: block; animation: rmx-in 320ms ease both; }
#defense-engine .rmx-title { font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: inherit; color: var(--rm-navy); margin: 0 0 16px; } /* seit 28.10. h3 statt h4: line-height wie vorher geerbt */

#defense-engine .rmx-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
#defense-engine .rmx-stat { border: 1px solid rgba(20,40,80,.10); border-radius: 12px; padding: 12px 14px; background: #fff; }
#defense-engine .rmx-stat-label { font-size: 11.5px; color: #4a5768; margin-bottom: 8px; }
#defense-engine .rmx-stat-value { display: flex; align-items: center; gap: 8px; font-size: 26px; font-weight: 700; letter-spacing: -.02em; line-height: 1; color: var(--rm-navy); font-variant-numeric: tabular-nums; }
#defense-engine .rmx-stat-value.is-red { color: var(--rm-red-deep); } #defense-engine .rmx-stat-value.is-orange { color: var(--rm-red); } #defense-engine .rmx-stat-value.is-green { color: #1e7e34; } #defense-engine .rmx-stat-value.is-amber { color: #8a5a00; }
#defense-engine .rmx-grade { display: inline-grid; place-items: center; width: 24px; height: 27px; font-size: 13px; color: #fff; background: var(--rm-red); clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }

#defense-engine .rmx-cols { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 14px; }
#defense-engine .rmx-card { border: 1px solid rgba(20,40,80,.10); border-radius: 12px; padding: 16px 18px; background: #fff; min-width: 0; }
#defense-engine .rmx-card h4, #defense-engine .rmx-card h5 { font-size: 13px; font-weight: 600; color: var(--rm-navy); margin: 0 0 8px; }
#defense-engine .rmx-card-note { font-size: 12px; color: #5f6b7d; margin: 10px 0 0; line-height: 1.5; }
#defense-engine .rmx-trend { width: 100%; height: auto; display: block; }
#defense-engine .rmx-trend text { font-size: 11px; fill: #5f6b7d; font-family: inherit; }
#defense-engine .rmx-trend .rmx-trend-val { font-weight: 700; fill: var(--rm-navy); }

#defense-engine .rmx-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid rgba(20,40,80,.07); }
#defense-engine .rmx-row:first-of-type { border-top: 0; }
#defense-engine .rmx-row-main { min-width: 0; }
#defense-engine .rmx-row-title { font-size: 13px; color: #16233e; font-weight: 600; }
#defense-engine .rmx-row-sub { font-size: 11.5px; color: #5f6b7d; margin-top: 3px; }
#defense-engine .rmx-sev { font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; white-space: nowrap; flex-shrink: 0; }
#defense-engine .rmx-sev--crit { background: var(--rm-red-deep); color: #fff; }
#defense-engine .rmx-sev--high { background: var(--rm-red-tint); color: var(--rm-red); }
#defense-engine .rmx-sev--med { background: #f6f1f1; color: #8a4a4f; }
#defense-engine .rmx-sev--ok { background: #e8f6ee; color: #1e7e34; }
#defense-engine .rmx-sev--info { background: #eef3f9; color: var(--rm-btn); }


#defense-engine .rmx-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
#defense-engine .rmx-chip { font-size: 12px; font-weight: 500; color: #16233e; padding: 4px 10px; border-radius: 8px; background: #f3f6fb; border: 1px solid rgba(20,40,80,.08); white-space: nowrap; }
#defense-engine .rmx-chip--target { background: var(--rm-red-tint); border-color: var(--rm-red-line); color: var(--rm-red); font-weight: 600; }
#defense-engine .rmx-chip--cut { text-decoration: line-through; color: #5f6b7d; }
#defense-engine .rmx-arrow { color: #8a94a4; font-size: 12px; }
#defense-engine .rmx-path { padding: 14px 0; border-top: 1px solid rgba(20,40,80,.07); }
#defense-engine .rmx-path:first-of-type { border-top: 0; padding-top: 4px; }
#defense-engine .rmx-path-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }


#defense-engine .rmx-bars { display: grid; gap: 10px; }
#defense-engine .rmx-bar { display: grid; grid-template-columns: 76px minmax(0,1fr) 26px; align-items: center; gap: 10px; font-size: 12px; color: #4a5768; }
#defense-engine .rmx-bar-track { height: 8px; border-radius: 4px; background: #eef3f9; overflow: hidden; }
#defense-engine .rmx-bar-fill { display: block; height: 100%; border-radius: 4px; width: var(--w); }
#defense-engine .rmx-bar b { color: var(--rm-navy); text-align: right; font-variant-numeric: tabular-nums; }

/* Handy/Tablet (Yusuf 2026-10-01): Demo bleibt im Desktop-Layout (1152 x 679 px) und wird als Ganzes
   proportional auf die Containerbreite verkleinert. Faktor rein per CSS: tan(atan2(100cqw, 1152px)) = Breite / 1152.
   Klickflächen skalieren mit, Seitenleiste und Pfeil bleiben bedienbar. */
@media (max-width: 900px) {
  body.is-home #defense-engine .gad-dash-wrap { container-type: inline-size; }
  #defense-engine .rmx-frame { --dash-s: tan(atan2(100cqw, 1152px)); width: 1152px; max-width: none; height: 679px;
    transform: scale(var(--dash-s)); transform-origin: 0 0; margin: 0 0 calc(679px * (var(--dash-s) - 1));
    box-shadow: 0 30px 90px rgba(20,40,80,.16); }
}
@media (prefers-reduced-motion: reduce) { #defense-engine .rmx-panel.is-active { animation: none; } }
/* Abstände #defense-engine: Überschrift → Demo → Button → Sektionsende (2026-09-30, Kacheln entfernt) */
body.is-home #defense-engine { padding: 96px 0; }
body.is-home #defense-engine .gad-platform-head { margin-bottom: 44px; }
body.is-home #defense-engine .gad-dash-cta { margin-top: 40px; }
@media (max-width: 900px) { body.is-home #defense-engine { padding: 80px 0; } body.is-home #defense-engine .gad-platform-head { margin-bottom: 32px; } }
@media (max-width: 480px) { body.is-home #defense-engine { padding: 64px 0; } body.is-home #defense-engine .gad-platform-head { margin-bottom: 24px; } body.is-home #defense-engine .gad-dash-cta { margin-top: 28px; } }
/* Kurze Einführung unter der Konsolen-Überschrift (Yusuf 2026-09-30) */
body.is-home .gad-platform-intro { max-width: 760px; margin: 12px auto 0; text-align: center; font-size: 15px; line-height: 1.55; color: #5f6b7d; }

/* ---------- Zitate + Einstieg als ein weißer Abschnitt (Yusuf 2026-10-01) ----------
   Überschrift + Satz linksbündig wie die anderen Sektionen, darunter die Einstiegs-Zeilen. */
body.is-home .testimonials { padding-bottom: 56px; }
body.is-home .solutions-decision { padding: 56px 0 104px; }
body.is-home .solutions-decision h2 { font-size: clamp(28px,3.4vw,44px); line-height: 1.12; letter-spacing: -.02em; margin: 0; max-width: 30ch; }
body.is-home .decision-lead { margin: 14px 0 0; max-width: 620px; font-size: 17px; line-height: 1.55; color: #5f6b7d; }
/* Einstieg als Zeilen untereinander (Yusuf 2026-10-01): Frage links, Ziel mit Pfeil rechts. Das ältere 2-Spalten-Kartenraster
   wurde am 28.10.2026 entfernt (war per !important komplett überschrieben). Ganze Zeile klickbar (Link-Fläche per ::after). */
body.is-home .decision-grid { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid #e3e9f2; }
body.is-home .decision-card { position: relative; display: flex; align-items: center; gap: 20px; padding: 26px 8px; background: transparent; border: 0; border-bottom: 1px solid #e3e9f2; border-radius: 0; box-shadow: none; }
body.is-home .decision-card:focus-within { border-color: #0071e3; }
body.is-home .decision-icon { flex: none; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: #eef3f9; color: var(--hn-navy); }
body.is-home .decision-icon svg { width: 24px; height: 24px; }
body.is-home .decision-text { flex: 1 1 auto; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; min-width: 0; }
body.is-home .decision-q { font-size: 20px; line-height: 1.35; font-weight: 600; color: var(--hn-ink); }
body.is-home .decision-link { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 24px; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
body.is-home .decision-link::after { content: ''; position: absolute; inset: 0; border-radius: 0; }
body.is-home .decision-link:focus-visible { outline: none; }
body.is-home .decision-link:focus-visible::after { outline: 2px solid #0071e3; outline-offset: 2px; }
body.is-home .decision-arrow { display: inline-block; transition: transform .25s ease; }
@media (hover: hover) {
  body.is-home .decision-card:hover { background: #f6f9fd; }
  body.is-home .decision-card:hover .decision-arrow { transform: translateX(4px); }
  body.is-home .decision-card:hover .decision-link { color: #0071e3 !important; }
}
@media (max-width: 760px) {
  body.is-home .testimonials { padding-bottom: 40px; }
  body.is-home .solutions-decision { padding: 40px 0 72px; }
  body.is-home .decision-lead { font-size: 16px; }
  body.is-home .decision-grid { margin-top: 28px; }
  body.is-home .decision-card { padding: 20px 4px; align-items: flex-start; }
  body.is-home .decision-text { flex-direction: column; align-items: flex-start; gap: 10px; }
  body.is-home .decision-q { font-size: 17px; }
  body.is-home .decision-link { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { body.is-home .decision-arrow { transition: none; } }
/* Konsolen-Intro: zwei Sätze, Desktop max. zwei Zeilen */
body.is-home .gad-platform-intro { max-width: 900px; }
/* Live-Nachrichten in einer Glaskarte wie „Das macht uns aus" (Yusuf 2026-10-01) */
@media (min-width: 768px) {
  body.is-home .news-ticker-section > .container { max-width: 1180px; padding: 48px 52px 44px !important; border-radius: 28px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 30px 70px rgba(0,0,0,.25); }
}
/* Einstieg jetzt über den Zitaten: Abstände tauschen */
body.is-home .solutions-decision { padding: 104px 0 56px !important; }
body.is-home .testimonials { padding-top: 56px !important; padding-bottom: 104px !important; }

/* ---------- Security-Ticker als Ring (js/news-ticker-ring.js + css/news-ring.css), Navy-Fassung (2026-10-01) ---------- */
body.is-home .news-ticker-section .ntr-tab { background: transparent; border-color: rgba(255,255,255,.28); color: #fff; }
body.is-home .news-ticker-section .ntr-tab:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.6); }
body.is-home .news-ticker-section .ntr-tab[aria-pressed="true"] { background: #fff; border-color: #fff; color: #0b1c3d; }
body.is-home .news-ticker-section .ntr-tab[aria-pressed="true"] .ntr-tab-dot { box-shadow: none; }
body.is-home .news-ticker-section .ntr-tab:focus-visible,
body.is-home .news-ticker-section .nr-ring.is-ring:focus-visible,
body.is-home .news-ticker-section .nr-ctrl button:focus-visible { outline-color: #9fd3ff; }
/* hintere Karten eine Stufe heller als der Grund, damit sie sich abheben */
body.is-home .news-ticker-section .nr-ring.is-ring .nr-card:not(.is-front) { background: #1a3563; border-color: rgba(255,255,255,.16); box-shadow: 0 22px 50px rgba(0,0,0,.35); }
body.is-home .news-ticker-section .nr-ring.is-ring .nr-card.is-front { border-color: #fff; box-shadow: 0 34px 80px rgba(0,0,0,.45); }
body.is-home .news-ticker-section .nr-prev,
body.is-home .news-ticker-section .nr-next { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); color: #fff; }
body.is-home .news-ticker-section .nr-prev:hover,
body.is-home .news-ticker-section .nr-next:hover { background: rgba(255,255,255,.16); border-color: #fff; }
body.is-home .news-ticker-section .nr-dots button { background: rgba(255,255,255,.35); background-clip: content-box; }
body.is-home .news-ticker-section .nr-dots button[aria-current="true"] { background: #fff; background-clip: content-box; }
body.is-home .news-ticker-section .ntr-alerts { border-top-color: rgba(255,255,255,.14); }
body.is-home .news-ticker-section .ntr-alerts-head h3 { color: #fff; }
/* Meldungen: weiße Karten auf Navy, Hover nur Rahmen + Schatten, Pfeile wie beim Ring */
body.is-home .news-ticker-section .ntr-alert-card { border-color: rgba(255,255,255,.9); box-shadow: 0 1px 2px rgba(0,0,0,.2);
  background: radial-gradient(120% 90% at 100% 100%, rgba(214,64,52,.34) 0%, rgba(214,64,52,0) 65%),
    linear-gradient(160deg, #fff3f2 0%, #f9dcd9 100%); }
body.is-home .news-ticker-section .ntr-alert-card:hover { border-color: #fff; box-shadow: 0 0 0 2px rgba(159,211,255,.55), 0 14px 32px rgba(0,0,0,.35); }
body.is-home .news-ticker-section .ntr-alert-card:focus-visible,
body.is-home .news-ticker-section .ntr-alerts button:focus-visible { outline-color: #9fd3ff; }
body.is-home .news-ticker-section .ntr-alerts [aria-disabled="true"]:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); }

/* ---------- Buttons: Mindestgröße 44 px (Prüfung 2026-10-01, wie site-navy.css) ---------- */
body.is-home .cookie-banner .btn { min-height: 44px; padding: 10px 18px; font-size: 14px; }
body.is-home .cookie-banner .btn-primary { background: #16336a !important; border-color: #16336a !important; color: #fff !important; }
body.is-home .site-footer .footer-newsletter-row .btn { min-height: 44px; }
body.is-home .nav-cta { position: relative; }
body.is-home .nav-cta::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }

/* =====================================================================
   HANDY/TABLET (Yusuf 2026-10-01): Desktop-Optik behalten, nur an den Platz anpassen.
   Alles hier nur ≤ 800/900 px, Desktop (≥ 1280) unverändert.
   ===================================================================== */
/* Dienstleistungen: Wischreihe in exakt der Desktop-Kartenoptik (Schild blass unten rechts,
   Text volle Breite), nächste Karte angeschnitten, Reihe läuft bis an den Bildschirmrand */
@media (max-width: 800px) {
  body.is-home #products .lp-grid { margin: 0 -24px; padding: 6px 24px 20px; scroll-padding-left: 24px; }
  body.is-home #products .lp-card { display: block; position: relative; overflow: hidden; width: calc(100% - 32px); max-width: 420px; min-height: 0; }
  body.is-home #products .lp-card-text { position: relative; z-index: 1; height: 100%; min-height: 480px; padding: 30px 24px 26px; box-sizing: border-box; }
  body.is-home #products .lp-card h3 { font-size: 24px; line-height: 1.15; hyphens: manual; }
  body.is-home #products .lp-desc { font-size: 14.5px; line-height: 1.6; hyphens: manual; }
  body.is-home #products .lp-modules { gap: 6px; }
  body.is-home #products .lp-modules li { font-size: 14.5px; padding-left: 18px; }
  body.is-home #products .lp-modules li::before { top: 9px; }
  body.is-home #products .lp-modules li:nth-child(n+7) { display: list-item; }
  body.is-home #products .lp-card-image,
  body.is-home #products .lp-card-image--shield { position: absolute; top: auto; right: -40px; bottom: -34px; width: 240px; height: 240px !important; min-height: 0 !important;
    padding: 0; display: flex; align-items: center; justify-content: center; background: transparent !important; z-index: 0; pointer-events: none; overflow: visible; }
  body.is-home #products .lp-image-shield,
  body.is-home #products .lp-card:hover .lp-image-shield { height: 195px !important; max-width: 205px; transform: none; opacity: .38 !important; filter: drop-shadow(0 20px 40px rgba(0,0,0,.35)) !important; }
  /* Wischen statt Pfeile; Punkte mit 44-px-Trefferfläche */
  body.is-home #products .lp-arrow,
  body.is-home .sw-section .lp-arrow { display: none; }
  body.is-home .lp-dots { gap: 0; margin-top: 4px; }
  body.is-home .lp-dot,
  body.is-home .lp-dot.is-active,
  body.is-home #products .lp-dot.is-active { width: 24px; height: 44px; background: transparent !important; transform: none; display: inline-flex; align-items: center; justify-content: center; }
  body.is-home .lp-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #b9c4d6; transition: transform .2s, background .2s; }
  body.is-home .lp-dot.is-active::before { background: var(--hn-navy); transform: scale(1.3); }
  body.is-home #products .lp-dot::before { background: rgba(255,255,255,.4); }
  body.is-home #products .lp-dot.is-active::before { background: #fff; }
  body.is-home .lp-dot:focus-visible { outline: 2px solid #0071e3; outline-offset: -8px; border-radius: 8px; }
}
/* Software-Karussell: Reihe bis an den Bildschirmrand, Grafik im Desktop-Seitenverhältnis (ca. 6:5) statt Hochformat */
@media (max-width: 800px) {
  body.is-home .sw-section .sw-rail { margin: 0 -24px; padding: 4px 24px 10px; scroll-padding-left: 24px; gap: 16px; }
  body.is-home .sw-section .sw-item { flex-basis: calc(100% - 32px); max-width: 440px; }
  body.is-home .sw-section .sw-item > .sw-visual { height: auto; aspect-ratio: 6 / 5; }
}
/* Führungsaufgabe: Stichpunkte kompakter, Foto-Ausschnitt auf die Gesprächsrunde */
@media (max-width: 760px) {
  body.is-home .context-band--hero .context-hero-points { gap: 10px; }
  body.is-home .context-band--hero .context-hero-point { padding: 13px 16px; font-size: 15px; line-height: 1.45; }
}
/* Zertifizierungen: weniger Leerraum, Technologie-Logos in einer Zeile */
@media (max-width: 760px) {
  body.is-home .trust-belt { padding-bottom: 48px !important; }
  body.is-home .trust-belt .trust-belt-row { padding-top: 26px !important; padding-bottom: 26px !important; }
  body.is-home .trust-belt .trust-belt-partners { flex-wrap: nowrap; justify-content: space-between; gap: 18px !important; }
  body.is-home .trust-belt .trust-belt-partners .trust-logo { flex: 0 1 auto; min-width: 0; }
  body.is-home .trust-belt .trust-belt-partners .trust-logo img,
  body.is-home .trust-belt .trust-belt-partners .trust-logo svg { max-height: 22px; width: auto; max-width: 100%; }
}

/* Systemplan #system (2026-10-01): Grundlage in css/systemplan.css. Hier nur Startseite.
   Zusammen mit „Das macht uns aus“ harmonisiert (Yusuf 2026-10-01): Navy-Verlauf statt Grau, Glaskarte mit Blauschimmer,
   Kacheln und Bausteine im selben Blauton, Lead weiß. */
body.is-home { --hn-glass-bg: linear-gradient(180deg, rgba(43,138,255,.10) 0%, rgba(43,138,255,.04) 100%); --hn-glass-line: rgba(159,211,255,.16);
  --hn-tile: rgba(120,170,255,.09); }
body.is-home #system { background: linear-gradient(180deg, #0e2552 0%, #0b1c3d 100%); padding: 0 0 96px; }
@media (min-width: 768px) {
  body.is-home #system .usp-grid { background: var(--hn-glass-bg) !important; border: 1px solid var(--hn-glass-line) !important; border-radius: 28px;
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 30px 70px rgba(0,0,0,.25) !important; }
  body.is-home #system .usp-grid { padding: 44px 48px; }
}
@media (max-width: 760px) { body.is-home #system { padding: 0 0 64px; } }


/* Live-Nachrichten: gleiche Glaskarte und Navy-Verlauf wie „Das macht uns aus“ und Systemplan (Yusuf 2026-10-02) */
body.is-home .news-ticker-section { background: linear-gradient(180deg, #0b1c3d 0%, #0e2552 55%, #0b1c3d 100%) !important; }
@media (min-width: 768px) {
  body.is-home .news-ticker-section > .container { background: var(--hn-glass-bg) !important; border: 1px solid var(--hn-glass-line) !important;
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 30px 70px rgba(0,0,0,.25) !important; }
}

/* =====================================================================
   HANDY-UX Runde 2 (2026-10-02, Mobile-Regeln aus dem Brief): nur <= 760 px, Desktop unverändert.
   Wischreihen: Karte 82 % der Bildschirmbreite, Abstand = Seitenrand (24 px), damit nach dem Wischen
   keine Kante der vorigen Karte am linken Rand stehen bleibt. Kein Anheben beim Tippen.
   ===================================================================== */
body.is-home { --nr-gut: 24px; }
body.is-home .news-ticker-section { --nr-dot: #fff; }
@media (max-width: 760px) {
  /* Abstände: Sektionen 48 bis 64 px */
  body.is-home .solutions-decision { padding: 56px 0 !important; }
  body.is-home .testimonials { padding-top: 48px !important; padding-bottom: 56px !important; }
  body.is-home .news-ticker-section { padding-top: 56px !important; padding-bottom: 64px !important; }
  body.is-home .news-ticker-section .news-ticker-lead { margin-bottom: 28px !important; }
  body.is-home .faq-section { padding-top: 56px !important; padding-bottom: 64px !important; }

  /* Dienstleistungen + Software: ein Wischmuster */
  body.is-home #products .lp-grid,
  body.is-home .sw-section .sw-rail { gap: 24px; }
  body.is-home #products .lp-card { width: 82vw; max-width: 400px; }
  body.is-home .sw-section .sw-item { flex-basis: 82vw; max-width: 400px; }
  body.is-home #products .lp-card:hover { transform: none; box-shadow: none; }
  body.is-home #products .lp-card-text { min-height: 0; padding: 28px 22px 24px; }
  body.is-home #products .lp-desc { font-size: 16px; line-height: 1.55; }
  body.is-home #products .lp-modules li { font-size: 15px; }
  body.is-home #products .lp-card-image,
  body.is-home #products .lp-card-image--shield { right: -24px; bottom: -22px; width: 150px; height: 150px !important; }
  body.is-home #products .lp-image-shield,
  body.is-home #products .lp-card:hover .lp-image-shield { height: 120px !important; max-width: 130px; opacity: .3 !important; }
  body.is-home .sw-section .sw-link { min-height: 44px; display: inline-flex; align-items: center; }

  /* Zertifizierungen: Beschriftungen nicht unter 13 px */
  body.is-home .trust-belt .trust-belt-compliance-headline,
  body.is-home .trust-belt .trust-belt-row-label { font-size: 13px !important; }

  /* Zitate: Chips mit 44-px-Trefferfläche, Rolle lesbar */
  body.is-home .testimonial-avatar { min-width: 44px; height: 44px; }
  body.is-home .testimonial-role { font-size: 13px; }

  /* Info-Hinweis (DSGVO): am Handy an der Kachel statt am Knopf verankert, sonst ragt er links aus dem Bild */
  body.is-home .trust-belt .trust-belt-row-label--withinfo { position: relative; }
  body.is-home .trust-belt .trust-belt-row-label--withinfo .gc-info-btn { position: static; padding: 14px; margin: -14px -14px -14px -10px; }
  body.is-home .trust-belt .trust-belt-row-label--withinfo .gc-info-tip { left: 0; right: 0; width: auto; bottom: calc(100% + 8px); }
  body.is-home .trust-belt .trust-belt-row-label--withinfo .gc-info-tip::after { display: none; }
  body.is-home .trust-belt .gc-info-tip-p { font-size: 13px; }

  /* Nächster Schritt: Hauptbutton oben, beide gleich breit untereinander */
  body.is-home .ueber-final-cta .hero-cta { flex-direction: column; align-items: stretch; gap: 12px; max-width: 360px; margin-left: auto; margin-right: auto; }
  body.is-home .ueber-final-cta .hero-cta .btn { width: 100%; }

  /* Live-Nachrichten: Hinweiszeile lesbar */
  body.is-home .news-ticker-section .news-ticker-disclaimer { font-size: 13px; }

  /* Fließtext mindestens 16 px */
  body.is-home .gad-platform-intro,
  body.is-home .sw-section .sw-item p,
  body.is-home .context-band--hero .context-hero-point,
  body.is-home .faq-section .faq-answer p { font-size: 16px; }
  body.is-home .testimonial-teamlink { min-height: 44px; }
}

/* ---------- Yusuf am iPhone (2026-10-02) ---------- */
@media (max-width: 760px) {
  /* Führungsaufgabe: Foto ganz zeigen (oben, volle Breite, ohne seitliche Maske), unten weich ins Navy */
  body.is-home .context-band--hero .context-hero-bg {
    inset: 0 0 auto 0; height: auto; aspect-ratio: 1448 / 1086;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
            mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
    -webkit-mask-composite: source-over; mask-composite: add;
  }
  body.is-home .context-band--hero .context-hero-bg img { object-position: center center; opacity: .9; }
  body.is-home .context-band--hero .context-hero-overlay {
    background: linear-gradient(180deg, rgba(11,28,61,.08) 0%, rgba(11,28,61,.2) 90px, rgba(11,28,61,.62) 200px, rgba(11,28,61,.78) 300px, rgba(11,28,61,.78) 100%);
  }
  /* Text beginnt unter den Gesichtern, das Foto bleibt oben frei sichtbar */
  body.is-home .context-band--hero { padding-top: 150px !important; }
}
@media (max-width: 767px) {
  /* Rechenzentrum: Button als kleine Pille unten mittig über dem Video, Pause-Knopf bleibt rechts */
  body.is-home #rechenzentrum .rz-hero-bottom { grid-row: 2; grid-column: 1; align-self: end; justify-self: center; z-index: 2; padding: 0 0 12px; margin: 0; background: none; }
  body.is-home #rechenzentrum .rz-hero-cta { margin: 0; }
  body.is-home #rechenzentrum .rz-hero-cta .btn,
  body.is-home #rechenzentrum .rz-hero-cta .btn-primary {
    min-height: 44px; padding: 0 16px; font-size: 14px; border-radius: 999px; width: auto;
    background: rgba(255,255,255,.9) !important; border-color: rgba(255,255,255,.9) !important; color: #0b1c3d !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
  }
  body.is-home #rechenzentrum .rz-hero-top { padding-bottom: 20px; }
  body.is-home #rechenzentrum { padding-bottom: 0; }
}
/* Zweiter Knopf Wasserstoff (25.10.2026): auf dem Foto hell mit Rahmen, am Handy wie der erste als Pille */
body.is-home #rechenzentrum .rz-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
@media (min-width: 768px) {
  body.is-home #rechenzentrum .rz-hero-cta .btn-ghost {
    color: #fff !important; background: rgba(11,28,61,.45) !important; border: 1px solid rgba(255,255,255,.75) !important;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  }
}

/* =====================================================================
   Neue Reihenfolge (Yusuf 2026-10-02): Weiß Software → Rechenzentrum → Einstieg → Zitate → Einblicke ·
   Navy Systemplan → Nächster Schritt → Live-Nachrichten · FAQ.
   „Das macht uns aus“ geparkt (reference/home-parked/das-macht-uns-aus/), dessen Regeln wurden am 28.10.2026 entfernt.
   Systemplan folgt jetzt direkt auf Weiß: braucht eigenen Abstand oben, Verlauf beginnt im Navy der Nachbarblöcke.
   ===================================================================== */
body.is-home #system { background: linear-gradient(180deg, #0b1c3d 0%, #0e2552 50%, #0b1c3d 100%); padding-top: 96px; }
@media (max-width: 760px) { body.is-home #system { padding-top: 64px; } }

/* Prüfung 2026-10-02: Rechenzentrum Desktop mit „Bewegung reduzieren“: Poster statt leerer weißer Fläche (Schrift ist weiß) */
@media (prefers-reduced-motion: reduce) {
  body.is-home #rechenzentrum .rz-hero-video { visibility: visible; }
}
/* Einstieg: Textlinks mit 44-px-Trefferfläche */
body.is-home .decision-link { display: inline-flex; align-items: center; min-height: 44px; }

/* Einstiege zur NIS-2-Beratung (13.10.2026): Link im Abschnitt „Warum jetzt“, anklickbarer Punkt in der GRC-Karte */
body.is-home .context-hero-point a { color: #fff; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
body.is-home #products .lp-card--grc { position: relative; cursor: pointer; }
body.is-home #products .lp-card--grc .lp-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
/* kein Verschieben beim Überfahren: ein transform würde die Klickfläche auf den Linktext schrumpfen */
body.is-home #products .lp-card--grc .lp-stretch, body.is-home #products .lp-card--grc .lp-stretch:hover { transform: none !important; }
body.is-home #products .lp-card--grc .lp-modules a { position: relative; z-index: 2; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (hover: none) { body.is-home #products .lp-card--grc .lp-modules a { display: inline-block; padding: 13px 0; margin: -13px 0; } }
@media (hover: hover) { body.is-home #products .lp-card--grc .lp-modules a:hover { color: #fff; } }

/* === Hero: schnelle Wege (22.10.2026, Yusuf, Vorbild /cybersecurity .cy-qa) ===
   Rückruf (Dialog #rueckruf, js/rueckruf.js) + Angebot anfragen, darunter Notfall-Zeile. */
body.is-home .hero-overlay-cta { flex-wrap: wrap !important; }
body.is-home .hq-btn { gap: 8px; justify-content: center; min-height: 44px; }
.hq-ic { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.is-home .hq-alert { flex-basis: 100%; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14.5px; font-weight: 600; color: #ffb4b6; text-decoration: none; }
body.is-home .hq-alert .hq-ic { width: 17px; height: 17px; }
@media (hover: hover) { body.is-home .hq-alert:hover { text-decoration: underline; } }
@media (max-width: 767px) {
  body.is-home #start .hero-overlay .hero-overlay-cta a.hq-alert { min-height: 44px; padding: 0 !important; font-size: 14.5px !important; justify-content: flex-start; margin-top: 2px; }
}

/* Rückruf-Dialog (gleiche Form wie css/page-cyber.css, dort nur für /cybersecurity geladen) */
.rr-dlg { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 22px; box-shadow: 0 32px 80px rgba(10,18,35,.35); }
dialog.rr-dlg { margin: auto; inset: 0; }
.rr-dlg::backdrop { background: rgba(6,14,30,.6); backdrop-filter: blur(4px); }
.rr-form { position: relative; display: grid; gap: 12px; padding: 28px 24px 24px; }
.rr-form h2 { margin: 0; padding-right: 40px; font-size: 24px; color: #0b1c3d; }
.rr-sub { margin: -4px 0 4px; font-size: 14.5px; color: #5f6b7d; }
.rr-x { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f1f4f9; font-size: 24px; line-height: 1; color: #0b1c3d; cursor: pointer; }
.rr-f { display: grid; min-width: 0; gap: 4px; font-size: 13.5px; font-weight: 600; color: #2a3547; }
.rr-f input, .rr-f select { min-height: 48px; padding: 10px 12px; border: 1px solid #cfdbea; border-radius: 12px; font: inherit; font-size: 16px; font-weight: 400; color: #0b1c3d; background: #fff; width: 100%; min-width: 0; box-sizing: border-box; }
.rr-f input:focus, .rr-f select:focus { outline: 2px solid #0066cc; outline-offset: 1px; }
.rr-ds { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: #5f6b7d; }
.rr-ds input { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 auto; }
.rr-ds a { color: #0066cc; text-decoration: underline; }
.rr-send { width: 100%; }
.rr-form .form-status { font-size: 14px; }

/* ===== Lesbarkeit und Abstände nach Sichtprüfung 24.10.2026 (reference/pruefung-2026-10-24/sicht-startseite.md) ===== */
/* Kopfzeile über Navy: fast deckend weiß statt trübem Grau (Desktop hatte .85, Handy schon .97 aus site-navy.css) */
body.theme-light.is-home .site-header { background: rgba(255,255,255,.97); }
/* Unterste Fußzeilen-Leiste in Navy statt #081428, Fläche frei unter der Sprach-Kugel, damit „Impressum“ nie verdeckt ist */
body.is-home .site-footer .footer-legalbar { background: #0b1c3d; }
body.is-home .site-footer .footer-legalbar > .container { padding-bottom: 104px; }
/* Handy: Newsletter-Formular sprengte die Spalte (Gitter 1fr = minmax(auto,1fr)), jetzt gleicher Rand wie der Rest */
@media (max-width: 1023px) { body.is-home .site-footer .footer-main { grid-template-columns: minmax(0, 1fr); } }
/* Nachrichten-Block: 1.300 px hoher Behälter erreichte die Einblend-Schwelle (18 %) erst spät, darüber blieb am Handy
   rund 400 px leeres Navy. Der Block steht deshalb sofort da. */
body.is-home .news-ticker-section > [data-mx-reveal] { opacity: 1; translate: none; }
/* Telefon-Nachbauten: Beitrag endet über dem Home-Balken und läuft weich aus */
body.is-home .sp-feed { margin-bottom: 22px; padding-bottom: 12px;
  -webkit-mask-image: linear-gradient(#000 calc(100% - 28px), transparent); mask-image: linear-gradient(#000 calc(100% - 28px), transparent); }
/* LinkedIn-Telefon: Beitragstext füllt die Fläche, die unter der Aktionsleiste leer blieb */
body.is-home .sp-item--li .sp-li-clamp { -webkit-line-clamp: 8; }
@media (max-width: 760px) { body.is-home .sp-item--li .sp-li-clamp { -webkit-line-clamp: 6; } }
/* Handy: Defense-Engine-Lagebild nicht mehr als verkleinertes Desktop-Bild (Schrift 3 bis 5 px), sondern in voller
   Schriftgröße untereinander; Seitenleiste wird zur wischbaren Leiste oben */
@media (max-width: 760px) {
  body.is-home #defense-engine .gad-dash-wrap { container-type: normal; }
  body.is-home #defense-engine .rmx-frame { width: auto; max-width: 100%; height: auto; transform: none; margin: 0; }
  body.is-home #defense-engine .rmx-topbar { flex-wrap: wrap; padding: 10px 12px; gap: 8px; }
  body.is-home #defense-engine .rmx-app { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  body.is-home #defense-engine .rmx-rail { flex-direction: row; padding: 8px; overflow-x: auto; scrollbar-width: none; }
  body.is-home #defense-engine .rmx-rail-tabs { flex-direction: row; }
  body.is-home #defense-engine .rmx-navitem { width: auto; }
  body.is-home #defense-engine .rmx-rail-foot { display: none; }
  body.is-home #defense-engine .rmx-strip { padding: 10px 14px; }
  body.is-home #defense-engine .rmx-panel { padding: 16px 14px 18px; }
  body.is-home #defense-engine .rmx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-home #defense-engine .rmx-cols { grid-template-columns: minmax(0, 1fr); }
  body.is-home #defense-engine .rmx-trend text { font-size: 16px; }
}

/* Startseite #rechenzentrum: Rechenzentrum und Wasserstoff im Wechsel (26.10.2026, js/infra-videos.js) */
body.is-home #rechenzentrum .infra-video-2 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: 0; transition: opacity .8s ease; pointer-events: none; }
body.is-home #rechenzentrum.is-h2 .infra-video-2 { opacity: 1; }
body.is-home #rechenzentrum .rz-hero-cta .infra-btn { position: relative; overflow: hidden; transition: background-color .4s ease, color .4s ease, opacity .4s ease, border-color .4s ease; }
body.is-home #rechenzentrum .rz-hero-cta .infra-btn:not(.is-active) { background: rgba(11,28,61,.45) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.6) !important; opacity: .75; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.is-home #rechenzentrum .rz-hero-cta .infra-btn.is-active { background: #fff !important; color: #0b1c3d !important; border-color: #fff !important; opacity: 1; }
body.is-home #rechenzentrum .infra-bar { position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 1px; background: rgba(11,28,61,.15); overflow: hidden; }
body.is-home #rechenzentrum .infra-btn:not(.is-active) .infra-bar { background: rgba(255,255,255,.18); }
body.is-home #rechenzentrum .infra-bar::after { content: ""; position: absolute; inset: 0; background: #2b8aff; transform-origin: left; transform: scaleX(var(--p, 0)); }
body.is-home #rechenzentrum .infra-btn:not(.is-active) .infra-bar::after { transform: scaleX(0); }
@media (max-width: 767px) {
  body.is-home #rechenzentrum .infra-video-2 { grid-row: 2; grid-column: 1; position: relative; inset: auto; height: auto; aspect-ratio: 16/9; object-fit: contain; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 768px) {
  body.is-home #rechenzentrum .infra-video-2, body.is-home #rechenzentrum .infra-bar { display: none; }
}
body.is-home #rechenzentrum [data-infra-txt][hidden] { display: none !important; }
/* Handy (Yusuf 26.10.): Knöpfe unter dem Video statt darauf, aktiver Knopf Navy, anderer weiß mit Rahmen */
@media (max-width: 767px) {
  body.is-home #rechenzentrum .rz-hero-bottom { grid-row: 3 !important; grid-column: 1; align-self: start; justify-self: stretch; padding: 16px 16px 28px !important; }
  body.is-home #rechenzentrum .rz-hero-cta { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
  body.is-home #rechenzentrum .rz-hero-cta .infra-btn { width: 100%; justify-content: center; box-shadow: none !important; }
  body.is-home #rechenzentrum .rz-hero-cta .infra-btn.is-active { background: #0b1c3d !important; color: #fff !important; border: 1px solid #0b1c3d !important; }
  body.is-home #rechenzentrum .rz-hero-cta .infra-btn:not(.is-active) { background: #fff !important; color: #0b1c3d !important; border: 1px solid rgba(11,28,61,.35) !important; opacity: 1; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.is-home #rechenzentrum .infra-btn.is-active .infra-bar { background: rgba(255,255,255,.2); }
  body.is-home #rechenzentrum .infra-btn:not(.is-active) .infra-bar { background: rgba(11,28,61,.1); }
}
/* Handy (Yusuf 26.10.): Hinweis „KI-Inhalt“ oben rechts im Video, für beide Filme (Rechenzentrum und Wasserstoff) */
@media (max-width: 767px) {
  body.is-home #rechenzentrum .ai-label { grid-row: 2; grid-column: 1; top: 6px !important; right: 8px; bottom: auto; z-index: 5; }
}
/* Punkte unter den Infrastruktur-Knöpfen: direkt zum RZ- oder Wasserstoff-Video springen (Yusuf 29.10.2026, js/infra-videos.js) */
body.is-home #rechenzentrum .infra-dots { display: flex; gap: 4px; margin-top: 14px; position: relative; z-index: 5; pointer-events: auto; }
body.is-home #rechenzentrum .infra-dots[hidden] { display: none; }
body.is-home #rechenzentrum .infra-dots button { -webkit-appearance: none; appearance: none; border: 0; background: none; padding: 0; margin: 0; width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; }
body.is-home #rechenzentrum .infra-dots button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.is-home #rechenzentrum .infra-dots button::before { content: ""; width: 8px; height: 8px; border-radius: 4px; background: rgba(255,255,255,.45); transition: width .24s ease, background-color .24s ease; }
body.is-home #rechenzentrum .infra-dots button[aria-pressed="true"]::before { width: 24px; background: #fff; }
@media (hover: hover) { body.is-home #rechenzentrum .infra-dots button:hover::before { background: rgba(255,255,255,.8); } }
body.is-home #rechenzentrum .infra-dots button:focus-visible { outline: 2px solid #fff; outline-offset: -8px; border-radius: 8px; }
@media (prefers-reduced-motion: reduce) { body.is-home #rechenzentrum .infra-dots button::before { transition: none; } }
@media (max-width: 767px) {
  body.is-home #rechenzentrum .infra-dots { justify-content: center; margin-top: 6px; }
  body.is-home #rechenzentrum .infra-dots button::before { background: rgba(11,28,61,.25); }
  body.is-home #rechenzentrum .infra-dots button[aria-pressed="true"]::before { background: #0b1c3d; }
  body.is-home #rechenzentrum .infra-dots button:focus-visible { outline-color: #0071e3; }
}

/* Branchen-Laufband: bei reduzierter Bewegung still, Branchen stehen umgebrochen nebeneinander, Kopien ausgeblendet (WCAG 2.2.2, Großprüfung 24.10.) */
@media (prefers-reduced-motion: reduce) {
  body.is-home .trust-belt .trust-belt-marquee { mask-image: none; -webkit-mask-image: none; }
  body.is-home .trust-belt .trust-belt-track { animation: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 32px; white-space: normal; }
  body.is-home .trust-belt .trust-belt-track .trust-sector[aria-hidden="true"] { display: none; }
}
