/* Startseite: Weiss und Anthrazit tragen die Inhalte; Gruen akzentuiert den bewegten Auftakt.
   Typografie und Abstaende bleiben in skala.css; alle Farben aus den Marken-Tokens. */
.home-page {
  --fc-copy: var(--fc-gray-dark);
  --v3-soft: var(--fc-paper-soft);
  --v3-canvas: var(--fc-paper-soft);
  --home-accent: var(--fc-green-800);
  --home-accent-hover: var(--fc-green-950);
  --v3-radius: 20px;
  background: var(--fc-white);
  color: var(--fc-black);
}
.home-page .fc-button--dark { background: var(--home-accent); border-color: var(--home-accent); color: var(--fc-white); }
.home-page .fc-button--dark:hover { background: var(--home-accent-hover); border-color: var(--home-accent-hover); }
.home-page .statement-section { background: var(--fc-green-950); color: var(--fc-white); }
.home-page .about-section { background: var(--fc-gray-dark); color: var(--fc-white); }
.home-page .statement-section::before, .home-page .statement-section::after,
.home-page .intent-section::before, .home-page .intent-section::after,
.home-page .home-footer::before { content: none; }
.home-page .statement-section__text,
.home-page .statement-section .scroll-text__word,
.home-page .about-section h2, .home-page .about-section h3,
.home-page .statement-fact dt, .home-page .about-section .fc-kicker { color: var(--fc-white); }
.home-page .statement-section__aside > p,
.home-page .statement-fact dd,
.home-page .about-section .feature-block__rows p { color: var(--fc-on-dark-soft); }
.home-page .statement-section__facts,
.home-page .about-section .feature-block__rows li { border-color: var(--fc-on-dark-line); }
.home-page .about-section .fc-button { background: var(--fc-white); border-color: var(--fc-white); color: var(--fc-green-950); }
.home-page .about-section .fc-button:hover { background: var(--fc-paper-soft); border-color: var(--fc-paper-soft); }
.home-page .about-section a:focus-visible { outline-color: var(--fc-white); }

.home-page .home-services, .home-page .trust-section,
.home-page .home-testimonials, .home-page .home-ways { background: var(--fc-white); }
.home-page .home-services__card, .home-page .home-services__event,
.home-page .home-ways .home-ways__card { background: var(--fc-paper-soft); border-color: var(--fc-line); }
.home-page .home-services__card:has(a:focus-visible),
.home-page .home-services__event:is(:hover, :focus-visible) { border-color: var(--fc-green-800); }
.home-page .home-services__card:has(.home-services__overview:is(:hover, :focus-visible)) { background: var(--fc-white); }
.home-page .home-services__event :is(h3,p) { color: var(--fc-gray-dark); }
.home-page .trust-section__logos li { background: var(--fc-paper-soft); border-color: var(--fc-line); }

.home-page .home-state-network {
  --fc-text-soft: var(--fc-on-dark-soft);
  --fc-line: var(--fc-on-dark-line);
  --fc-line-strong: rgba(255,255,255,.32);
  --network-land: #e3e6e4; /* Neutraler Linien-Ton aus styles.css; explizites sRGB fuer WebGL. */
  --network-land-active: #bfd7cc; /* Einsatzgebiet (Kumul) grün getönt, seit 22.10.2026; Weißmischung von #2a7955. */
  --network-land-side: #c9cdca;
  --network-boundary: #c9cdca;
  background: var(--fc-gray-dark);
  color: var(--fc-white);
}
.home-page .home-state-network :is(h2,h3,.fc-kicker,.home-state-network__eyebrow),
.home-page .home-state-network__steps strong,
.home-page .home-state-network__steps button > span,
.home-page .home-state-network__step-links a { color: var(--fc-white); }
.home-page .home-state-network__steps button[aria-pressed="true"] { background: rgba(255,255,255,.08); }
.home-page .home-state-network__steps button:hover { background: rgba(255,255,255,.12); }
.home-page .home-state-network__label-task { fill: var(--fc-gray-dark); }
.home-page .home-state-network__label-bg { stroke: var(--fc-gray-dark); }
.home-page .home-state-network__map-info > div { color: var(--fc-gray-dark); border-color: var(--fc-gray-dark); }
.home-page .home-state-network__node-halo { fill: rgba(26,81,63,.12); stroke: var(--fc-green-800); }
.home-page .home-state-network__node.is-fairly .home-state-network__node-core { fill: var(--fc-white); }
/* Legende seit 22.10.2026 als helle Leiste in Kartenfarbe, Zeichen wie auf der Karte (home-state-network.css). */
.home-page .home-state-network__key i.is-support::after { border-color: var(--fc-white); }
.home-page .home-state-network__service-link { background: var(--fc-white); color: var(--fc-green-950); }
.home-page .home-state-network__service-link:hover { background: var(--fc-paper-soft); }
.home-page .home-state-network :is(button,a,summary):focus-visible { outline-color: var(--fc-white); }

.home-page .intent-section { background: var(--fc-paper-soft); color: var(--fc-black); }
.home-page .intent-section__intro h2 { color: var(--fc-black); }
.home-page .intent-section .fc-kicker { color: var(--fc-green-800); }
.home-page .intent-section__intro > p:not(.fc-kicker),
.home-page .intent-section__result > p, .home-page .intent-section__result small { color: var(--fc-copy); }
.home-page .intent-section__result { border-color: var(--fc-line-strong); }
.home-page .intent-section__choice { color: var(--fc-gray-dark); border-color: var(--fc-line-strong); background: transparent; }
.home-page .intent-section__choice:is(:hover, :focus-visible) { color: var(--fc-green-950); border-color: var(--fc-green-800); background: var(--fc-white); }
.home-page .intent-section__choice.is-active,
.home-page .intent-section__choice.is-active:is(:hover, :focus-visible) { color: var(--fc-white); background: var(--fc-gray-dark); border-color: var(--fc-gray-dark); }
.home-page .intent-section__cta { background: var(--fc-green-800); color: var(--fc-white); }
.home-page .intent-section__cta:is(:hover, :focus-visible) { background: var(--fc-green-950); color: var(--fc-white); }
.home-page .home-ways .tile__media { border-radius: 20px 20px 0 0; }
.home-page .home-ways .home-ways__card .tile__foot { background: var(--fc-paper-soft); }

.home-page .vn-strip { background: var(--fc-paper-soft); }
.home-page .home-footer { background: var(--fc-white); color: var(--fc-green-950); }
.home-page .home-footer h2, .home-page .home-footer h2 em, .home-page .home-footer .home-footer__phone { color: var(--fc-green-950); }
.home-page .home-footer .home-footer__eyebrow { color: var(--fc-green-800); }
.home-page .home-footer .home-footer__lead, .home-page .home-footer__duration, .home-page .home-footer__hours { color: var(--fc-copy); }
.home-page .home-footer .home-footer__primary { background: var(--fc-green-800); color: var(--fc-white); border-color: var(--fc-green-800); }
.home-page .home-footer .home-footer__primary:hover { background: var(--fc-green-950); border-color: var(--fc-green-950); }
.home-page .home-footer a:focus-visible { outline-color: var(--fc-green-800); }

/* Bestehende Kartenhero-Variante; der neue Globe-Hero ist separat gekapselt. */
.home-page .home-map-hero { background: var(--fc-white); color: var(--fc-black); }
.home-page .home-map-hero h1 { color: var(--fc-black); }
.home-page .home-map-hero h1 span, .home-page .home-map-hero .fc-kicker { color: var(--fc-green-800); }
.home-page .home-map-hero__lead, .home-page .home-map-hero__scope { color: var(--fc-copy); }
.home-page .home-map-hero__scope span { color: var(--fc-green-600); }
.home-page .home-map-hero__map::after { background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,.82) 30%, rgba(255,255,255,.3) 57%, rgba(255,255,255,0) 78%); }
.home-page .home-map-hero .fc-button--green { color: var(--fc-white); background: var(--fc-green-800); border-color: var(--fc-green-800); }
.home-page .home-map-hero .fc-button--green:hover { background: var(--fc-green-950); border-color: var(--fc-green-950); }
.home-page .home-map-hero .fc-button--light { color: var(--fc-green-950); background: rgba(255,255,255,.78); border-color: var(--fc-line); }
.home-page .home-map-hero .fc-button--light:hover { background: var(--fc-white); border-color: var(--fc-green-800); }
.home-page .home-map-hero__legend { color: var(--fc-green-800); }
.home-page .home-map-case__panel { background: rgba(255,255,255,.97); box-shadow: 0 12px 36px rgba(11,39,30,.08), 0 1px 3px rgba(11,39,30,.04); border: 1px solid rgba(26,81,63,.16); }
.home-page .home-map-case__top { color: var(--fc-green-800); }
.home-page .home-map-case__top span:last-child { background: rgba(95,255,167,.2); }
.home-page .home-map-case h2 { color: var(--fc-green-950); }
.home-page .home-map-case dl { border-top: 1px solid var(--fc-line); }
.home-page .home-map-case dt { color: var(--fc-copy); }
.home-page .home-map-case dd { color: var(--fc-green-950); }
.home-page .home-map-case__pin { background: var(--fc-green-800); box-shadow: 0 0 0 3px var(--fc-white); }
.home-page .home-map-case__halo { border: 1px solid rgba(42,121,85,.28); background: rgba(95,255,167,.16); }
.home-page .home-map-case__leader path { stroke: var(--fc-green-600); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 991px) {
  .home-page .home-map-hero__map::after { background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75) 44%, rgba(255,255,255,0) 74%); }
}

/* Kontaktabschluss und Footer bilden eine durchgehende Anthrazitflaeche. */
.home-page .home-footer--contact { background: var(--fc-gray-dark); color: var(--fc-white); }
.home-page .home-footer--contact :is(h2, h2 em, .home-footer__phone), .home-page .home-footer--contact .home-footer__eyebrow { color: var(--fc-white); }
.home-page .home-footer--contact :is(.home-footer__lead, .home-footer__duration, .home-footer__hours) { color: var(--fc-on-dark-soft); }
.home-page .home-footer--contact .home-footer__primary { background: var(--fc-white); border-color: var(--fc-white); color: var(--fc-green-950); }
.home-page .home-footer--contact .home-footer__primary:hover { background: var(--fc-paper-soft); border-color: var(--fc-paper-soft); }
.home-page .home-footer--contact :is(a,button):focus-visible { outline-color: var(--fc-white); }

/* Ruhige Leistungsuebersicht und konsistente gruene Aktionsflaechen. */
.home-page .home-services__list { border: 0; }
.home-page .home-services__row { border-bottom: 1px solid var(--fc-line); }
.home-page .home-services__row:hover { background: var(--fc-paper-soft); }
.home-page .home-ways .home-ways__card .tile__foot { background: var(--fc-green-800); color: var(--fc-white); }
.home-page .home-ways .home-ways__card .tile__foot:hover,
.home-page .home-ways .home-ways__card:focus-visible .tile__foot { background: var(--fc-white); color: var(--fc-black); }
.home-page .home-ways .home-ways__card .tile__foot:active { background: var(--fc-black); color: var(--fc-white); }
.home-page .intent-section__choice { background: var(--fc-green-800); border-color: var(--fc-green-800); color: var(--fc-white); }
.home-page .intent-section__choice:is(:hover,:focus-visible) { background: var(--fc-white); color: var(--fc-black); }
.home-page .intent-section__choice.is-active { background: var(--fc-black); border-color: var(--fc-black); color: var(--fc-white); }
.home-page .intent-section__cta:is(:hover,:focus-visible) { background: var(--fc-white); color: var(--fc-black); }
.statement-section__word { display: inline-block; white-space: nowrap; }
.js .statement-section__aside[data-reveal-after-cue] { transform: translateX(28px); transition: opacity .65s ease, transform .85s cubic-bezier(.22,1,.36,1); }
.js .statement-section__aside[data-reveal-after-cue].is-visible { transform: none; }
@media (prefers-reduced-motion: reduce) { .js .statement-section__aside[data-reveal-after-cue] { transform: none; opacity: 1; transition: none; } }

/* Anliegen: neutrale Auswahl, eine aktive Farbe und ein unveraenderlicher CTA. */
.home-page .intent-section__choice { background: var(--fc-white); color: var(--fc-gray-dark); border-color: var(--fc-line-strong); text-align: left; transform: none; box-shadow: none; }
.home-page .intent-section__choice:is(:hover,:focus-visible) { background: var(--fc-paper-soft); color: var(--fc-green-950); border-color: var(--fc-green-800); transform: none; }
.home-page .intent-section__choice.is-active,
.home-page .intent-section__choice.is-active:is(:hover,:focus-visible) { background: var(--fc-green-800); border-color: var(--fc-green-800); color: var(--fc-white); }
.home-page .intent-section__choice::before { content: ''; border: 1px solid currentColor; border-radius: 50%; opacity: .5; }
.home-page .intent-section__choice.is-active::before { background: var(--fc-white); box-shadow: inset 0 0 0 3px var(--fc-green-800); opacity: 1; }
.home-page .intent-section__result > p { color: var(--fc-gray-dark); text-transform: none; letter-spacing: 0; font-family: var(--fc-font-body); }
.home-page .intent-section__cta { background: var(--fc-green-800); color: var(--fc-white); text-decoration: none; }
.home-page .intent-section__cta:is(:hover,:focus-visible) { background: var(--fc-green-950); color: var(--fc-white); transform: none; }
.home-page .intent-section__cta:focus-visible { outline: 2px solid var(--fc-green-800); outline-offset: 4px; }
.home-services__disclosure { border-bottom: 1px solid var(--fc-line); }
.home-services__disclosure summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; color: var(--fc-black); font-family: var(--fc-font-display); }
.home-services__disclosure summary::-webkit-details-marker { display: none; }
.home-services__disclosure summary:focus-visible { outline: 2px solid var(--fc-green-800); outline-offset: 3px; }
.home-services__disclosure summary i { position: relative; flex: none; }
.home-services__disclosure summary i::before,.home-services__disclosure summary i::after { content: ''; position: absolute; background: currentColor; transition: transform .25s ease; }
.home-services__disclosure summary i::after { transform: rotate(90deg); }
.home-services__disclosure[open] summary i::after { transform: rotate(0deg); }
.home-services__answer { color: var(--fc-gray-dark); }
.home-services__answer a { display: inline-flex; align-items: center; color: var(--fc-green-800); text-underline-offset: 4px; }

/* Direkter Gespraechseinstieg: eine Handlung, keine vorgeschaltete Themenwahl. */
.home-page .intent-section--direct .intent-section__phone { color: var(--fc-gray-dark); text-decoration: none; text-underline-offset: 5px; }
.home-page .intent-section--direct .intent-section__phone:is(:hover,:focus-visible) { color: var(--fc-green-800); text-decoration: underline; }
.home-page .intent-section--direct .intent-section__phone:focus-visible { outline: 2px solid var(--fc-green-800); outline-offset: 5px; }

/* Offene Zusatzleistungen: Typografie und Linien tragen die Hierarchie. */
.home-page .home-services__extras .home-services__row:hover { background: transparent; }
.home-page .home-services__extras .home-services__action { text-decoration: none; transition: transform .2s ease; }
.home-page .home-services__extras .home-services__row:is(:hover,:focus-visible) .home-services__action { transform: translate(2px,-2px); }
@media (prefers-reduced-motion: reduce) { .home-page .home-services__extras .home-services__action { transition: none; transform: none; } }

/* Karten behalten ihre Flaeche; nur der Linkbereich reagiert farblich. */
.home-page .home-ways .home-ways__card:is(:hover,:focus-visible) { background: var(--fc-paper-soft); border-color: var(--fc-line); }

.home-page .contact-person__name { color: var(--fc-black); font-family: var(--fc-font-display); }
.home-page .contact-person__role { color: var(--fc-copy); }

/* Mobil keine verzögerten Leerflächen oder seitlich einschiebenden Absätze. */
@media (max-width: 991px) {
  .js .home-page [data-reveal] { transform: none; transition: opacity .25s ease; transition-delay: 0s !important; }
  .js .home-page .statement-section__aside[data-reveal-after-cue] { opacity: 1; transform: none; transition: none; }
}

/* Werte-Band am Fuß der Statement-Sektion (Bastian 22.10.2026): fünf gleiche Spalten wie die Kennzahlen, kurzer Mint-Strich oben. */
.home-page .statement-section__values { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px 32px; margin: 32px 0 0; padding: 32px 0 0; border-top: 1px solid rgba(255,255,255,.18); list-style: none; }
.home-page .statement-section__values li { color: var(--fc-white); font-family: var(--v3-font-display); font-size: clamp(22px, 1.9vw, 28px); font-weight: 500; line-height: 1.1; }
.home-page .statement-section__values li::before { display: block; width: 24px; height: 2px; margin-bottom: 14px; background: var(--fc-green-300); content: ""; }
@media (max-width: 991px) { .home-page .statement-section__values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
