/* Startseite (sections/home/): nur Feinheiten, die Bausteine stehen in v4.css. */
.fc-header[data-home-header][data-scrolled="true"] { background: rgba(255,255,255,.96); border-bottom-color: var(--fc-line); box-shadow: 0 4px 20px rgba(25,27,25,.04); }
.fc-header[data-home-header][data-hidden="true"] { transform: none; }
/* Der Hero der Startseite ist .page-hero--split aus css/skala.css (seit 07.09.); das alte
   .page-hero--home mit festem Video ist entfernt. */

.home-intro { position: relative; z-index: 1; background: var(--fc-white); padding-block: var(--fc-section-lg) 96px; }
.home-intro__kicker { color: var(--fc-green-800); margin-bottom: 36px; }
.home-intro__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 72px; align-items: start; }
.home-intro__title { font-size: clamp(48px, 4.7vw, 68px); line-height: 1.08; }
.home-intro__line { display: block; }
.home-intro__accent { color: var(--fc-green-800); }
.home-intro__accent--last { font-style: normal; } /* Teko hat keinen Kursivschnitt */
.home-intro__title.is-scroll-color .home-intro__accent { color: color-mix(in srgb, var(--fc-green-800) calc(var(--tone-first, 0) * 100%), var(--fc-ink)); }
.home-intro__title.is-scroll-color .home-intro__accent--last { color: color-mix(in srgb, var(--fc-green-800) calc(var(--tone-last, 0) * 100%), var(--fc-ink)); }
.home-intro__body { padding-top: 5px; }
.home-intro__text { max-width: 38ch; color: var(--fc-copy); font-size: 18px; line-height: 1.65; }
.home-intro__links { margin-top: 28px; }
.home-intro__links .fc-link { text-decoration-color: var(--fc-line-strong); }

/* Fachgebiete: dieselbe Inhaltskante wie die benachbarten Live-Sektionen.
   Bereichslinks umfassen die Karte; Paketlinks liegen als eigene Ziele darüber. */
.home-services { padding-block: clamp(72px, 7vw, 104px); background: var(--fc-white); }
.home-services .home-services__stage { max-width: calc(var(--v3-container, 1240px) + var(--v3-gutter, 36px) * 2); padding-inline: var(--v3-gutter, 36px); }
.home-services__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; margin-bottom: 40px; }
.home-services__head .fc-kicker { margin-bottom: 18px; }
.home-services__head h2 { color: var(--fc-ink); }
.home-services__intro { max-width: 54ch; color: var(--fc-copy); font-size: 16px; line-height: 1.65; }
.home-services__grid { gap: 24px; }
.home-services__card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 32px; border: 1px solid var(--fc-line); border-radius: 16px; background: var(--fc-soft); box-shadow: none; transition: background-color 180ms ease, border-color 180ms ease; }
.home-services__overview { display: block; color: var(--fc-ink); text-decoration: none; }
.home-services__overview::after { position: absolute; inset: 0; border-radius: inherit; content: ""; }
.home-services__eyebrow { margin: 0 0 16px; color: var(--fc-green-800); font-family: var(--fc-font-mono); font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }
.home-services__card .card__title { font-size: clamp(30px, 2.8vw, 40px); line-height: 1.12; color: var(--fc-ink); }
.home-services__card .card__text { margin: 18px 0 20px; color: var(--fc-copy); font-size: 15px; line-height: 1.65; }
.home-services__action { display: inline-block; flex-shrink: 0; color: var(--fc-green-800); font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.home-services__packages, .home-services__tandem { margin-top: auto; padding-top: 28px; }
.home-services__package { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 16px 0; border-top: 1px solid var(--fc-line-strong); color: var(--fc-ink); text-decoration: none; transition: background-color 180ms ease; }
.home-services__package:last-child { padding-bottom: 0; }
.home-services__package-title, .home-services__package-text { display: block; }
.home-services__package-title { font-size: 15px; font-weight: 500; }
.home-services__package-text { margin-top: 4px; color: var(--fc-copy); font-size: 13px; line-height: 1.5; }
.home-services__tandem h4 { margin: 0; padding-top: 20px; border-top: 1px solid var(--fc-line-strong); font-family: var(--fc-font); font-size: 15px; font-weight: 500; line-height: 1.5; }
.home-services__tandem p { max-width: 49ch; margin: 10px 0 0; color: var(--fc-copy); font-size: 14px; line-height: 1.65; }
.home-services__extras { margin-top: 48px; }
.home-services__extras-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.home-services__extras-head h3 { font-size: 28px; }
.home-services__extras-head p { color: var(--fc-copy); font-size: 14px; line-height: 1.6; }
.home-services__list { border-bottom: 1px solid var(--fc-line); }
.home-services__row { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(0, 1.8fr) auto; align-items: center; gap: 32px; min-height: 82px; padding-block: 22px; border-top: 1px solid var(--fc-line); color: var(--fc-ink); text-decoration: none; transition: background-color 180ms ease; }
.home-services__row-title { font-family: var(--fc-font-display); font-size: 26px; line-height: 1.15; }
.home-services__row-text { max-width: 62ch; color: var(--fc-copy); font-size: 14px; line-height: 1.6; }
.home-services__event { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(0, 1.8fr) auto; align-items: center; gap: 32px; margin-top: 32px; padding: 28px 32px; border: 1px solid var(--fc-line-green); border-radius: 12px; background: var(--fc-green-50); color: var(--fc-ink); text-decoration: none; transition: background-color 180ms ease; }
.home-services__event .home-services__eyebrow { margin-bottom: 8px; font-size: 10px; letter-spacing: .06em; }
.home-services__event h3 { font-size: 28px; }
.home-services__event > p { max-width: 53ch; color: var(--fc-copy); font-size: 14px; line-height: 1.6; }
.home-services__all { margin-top: 28px; }
.home-services__all .fc-link { min-height: 44px; text-decoration-color: var(--fc-line-strong); }
.home-services__overview:focus-visible { outline: none; }
.home-services__overview:focus-visible::after, .home-services__package:focus-visible, .home-services__row:focus-visible, .home-services__event:focus-visible { outline: 2px solid var(--fc-green-800); outline-offset: 5px; }
/* Gemeinsame Textzeilen halten Titel, Aktionen und die untere Trennlinie bündig. */
@supports (grid-template-rows: subgrid) {
  .home-services__grid { row-gap: 0; }
  .home-services .home-services__card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
  .home-services__overview { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
  .home-services__overview > .home-services__action { justify-self: start; align-self: start; }
  .home-services__packages, .home-services__tandem { margin-top: 0; }
}
@media (hover: hover) {
  .home-services__card:has(.home-services__overview:hover), .home-services__card:has(.home-services__overview:focus-visible) { background: var(--fc-green-50); border-color: var(--fc-line-green-strong); }
  .home-services__package:hover, .home-services__row:hover { background: var(--fc-green-50); }
  .home-services__package:hover .home-services__package-title, .home-services__row:hover .home-services__row-title { color: var(--fc-green-800); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
  .home-services__event:hover { background: var(--fc-green-100); }
}

.home-facts .facts--big { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.home-story__title { max-width: 22ch; }
.home-story__rows { margin-top: 40px; }
.home-story__panel { padding: 40px; border-radius: var(--fc-radius-band); background: var(--fc-green-50); }
.home-story__stage { position: relative; overflow: hidden; border-radius: var(--fc-radius); background: var(--fc-white); aspect-ratio: 16 / 9; }
.home-story__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Labels sitzen auf den drei Ecken des Dreiecks (Ecken im Bild: 50 %/9.7 %, 24.8 %/84.3 %, 75 %/84.3 %). */
.home-story__label { position: absolute; z-index: 2; color: var(--fc-ink); font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.home-story__label--top { left: 50%; top: 9.7%; transform: translate(-50%, calc(-100% - 14px)); }
.home-story__label--left { left: 24.8%; top: 84.3%; transform: translate(-50%, 18px); }
.home-story__label--right { left: 75%; top: 84.3%; transform: translate(-50%, 18px); }
.js .home-story__label[data-reveal] { opacity: 0; }
.js .home-story__label[data-reveal].is-visible { opacity: 1; }
.js .home-story__label--top[data-reveal] { transform: translate(-50%, calc(-100% - 6px)); }
.js .home-story__label--top[data-reveal].is-visible { transform: translate(-50%, calc(-100% - 14px)); }
.js .home-story__label--left[data-reveal], .js .home-story__label--right[data-reveal] { transform: translate(-50%, 10px); }
.js .home-story__label--left[data-reveal].is-visible, .js .home-story__label--right[data-reveal].is-visible { transform: translate(-50%, 18px); }
.home-story__caption { margin-top: 12px; color: var(--fc-copy); font-size: 13px; text-align: center; }

.home-network { overflow: hidden; }
.home-network .fc-lead { margin-top: 20px; }
.home-network__facts { margin-top: 32px; }
.home-network__rows { margin-top: 32px; }
.home-network__side { display: grid; justify-items: end; }
.home-network__map { width: 100%; max-width: 480px; margin-right: -40px; }
.home-network__caption { width: 100%; max-width: 480px; margin: 8px -40px 0 0; color: var(--fc-muted); font-size: 12px; text-align: center; }

.home-logos__note { margin-top: 16px; }

.home-founder__portrait .ph { width: 240px; }
.home-founder__name { font-size: 28px; margin-top: 0; }
.home-founder__role { margin-top: 4px; color: var(--fc-copy); font-size: 17px; }
.home-founder__bio { margin-top: 20px; color: var(--fc-ink); }
.home-founder__link { margin-top: 24px; }

.home-intent .band { border-radius: 16px; }

.home-ways__title { max-width: 900px; }
.home-ways__tiles { margin-top: 48px; }

/* Onboarding-Vorlage in kompakter Kartengröße: Foto mit bogenförmigem Abschluss,
   weißer Kartenkörper, Fairly-Typografie und breite helle Aktion. */
.home-ways .home-ways__card { position: relative; min-width: 0; border: 1px solid var(--fc-line); border-radius: 28px; background: var(--fc-white); color: var(--fc-black); text-decoration: none; box-shadow: none; transition: border-color 220ms ease; }
.home-ways .home-ways__card:hover, .home-ways .home-ways__card:focus-visible { background: var(--fc-white); border-color: var(--fc-line-strong); }
.home-ways .home-ways__card .tile__media { flex: none; height: 220px; overflow: hidden; border-radius: 0 0 50% 50% / 0 0 12% 12%; }
.home-ways .home-ways__card .tile__media img { display: block; object-position: 50% 35%; transition: none; }
.home-ways .home-ways__card:hover .tile__media img { transform: none; }
.home-ways .home-ways__card .tile__body { align-items: center; padding: 24px; text-align: center; }
.home-ways .home-ways__card .tile__title { margin: 0; color: var(--fc-black); font-family: var(--fc-font-display); font-size: 30px; font-weight: 500; line-height: 1.05; letter-spacing: 0; }
.home-ways .home-ways__card .tile__text { max-width: 32ch; margin: 16px 0 24px; color: var(--fc-gray-dark); font-size: 15px; line-height: 1.55; }
.home-ways .home-ways__card .tile__foot { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: auto; padding: 12px 16px; border-radius: 12px; background: var(--fc-soft, #f6f7f6); color: var(--fc-black); font-family: var(--fc-font); font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none; transition: background-color 180ms ease, color 180ms ease; }
.home-ways .home-ways__card:focus-visible { outline: 3px solid var(--fc-green-800); outline-offset: 6px; }
.home-ways .home-ways__card:focus-visible .tile__foot,
.home-ways .home-ways__card .tile__foot:active { background: var(--fc-green-800); color: var(--fc-white); }
@media (hover: hover) and (pointer: fine) {
  .home-ways .home-ways__card .tile__foot:hover { background: var(--fc-green-800); color: var(--fc-white); }
}
@media (max-width: 991px) {
  .home-ways .home-ways__tiles { max-width: 440px; margin-inline: auto; gap: 24px; }
}
@media (max-width: 479px) {
  .home-ways .home-ways__card { border-radius: 24px; }
  .home-ways .home-ways__card .tile__body { padding: 24px 22px; }
  .home-ways .home-ways__card .tile__media { height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-ways .home-ways__card, .home-ways .home-ways__card .tile__foot { transition: none; }
}

.home-cta { padding-bottom: var(--fc-section-sm); }
@media (max-width: 991px) {
  .home-intro__grid { grid-template-columns: 1fr; gap: 32px; }
  .home-intro__text { max-width: 55ch; }
  .home-services__head { gap: 32px; }
  .home-services .home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .home-services__card { padding: 24px; }
  .home-services__extras-head { display: block; }
  .home-services__extras-head p { margin-top: 10px; }
  .home-services__row, .home-services__event { gap: 24px; }
  .home-services__event { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); padding: 24px; }
  .home-services__event > .home-services__action { grid-column: 2; }
  .home-network__side { justify-items: center; }
  .home-network__map, .home-network__caption { margin-right: 0; }
  .home-founder__portrait .ph { width: 200px; }
}
@media (max-width: 767px) {
  .page-hero--home { min-height: 0; clip-path: none; }
  .home-hero__office { position: absolute; height: 100%; }
  .home-intro { padding-block: 80px 48px; }
  .home-intro__kicker { margin-bottom: 24px; }
  .home-intro__title { font-size: clamp(38px, 10vw, 54px); }
  .home-intro__grid { gap: 28px; }
  .home-services__head { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 28px; }
  .home-services__head h2 { font-size: clamp(36px, 9vw, 44px); }
  .home-services__head .fc-kicker { margin-bottom: 14px; }
  .home-services__intro { font-size: 15px; }
  .home-services .home-services__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .home-services .home-services__card { display: flex; grid-row: auto; padding: 24px; }
  .home-services__overview { display: block; grid-row: auto; }
  .home-services__card .card__title { font-size: clamp(30px, 7.8vw, 38px); }
  .home-services__card .card__text { margin-top: 16px; }
  .home-services__packages, .home-services__tandem { padding-top: 24px; }
  .home-services__extras { margin-top: 36px; }
  .home-services__extras-head { margin-bottom: 20px; }
  .home-services__row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 20px; padding-block: 20px; }
  .home-services__row-title { font-size: 25px; }
  .home-services__row-text { grid-column: 1; }
  .home-services__row > .home-services__action { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .home-services__event { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 24px; padding: 24px; }
  .home-services__event > .home-services__action { grid-column: 1; }
  .home-services__all { margin-top: 20px; }
  .js .home-services [data-reveal] { opacity: 1; transform: none; transition: none; }
  .home-facts .facts--big { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-story__panel { padding: 24px; }
  .home-intro__text { font-size: 17px; }
  .home-ways__tiles { margin-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero--home { clip-path: none; }
  .home-hero__office { position: absolute; height: 100%; }
  .js .page-hero--home .hero-seq { opacity: 1; transform: none; transition: none; }
}

/* Die gemeinsame Farbverteilung der Live-Startseite steht in home-palette.css. */

/* Kundenstimmen: Porträts und Zitate im Stil der Startseite. */
.home-testimonials { padding-block: clamp(72px, 7vw, 104px); background: var(--fc-paper-tint); }
.home-testimonials__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: end; gap: 64px; margin-bottom: 48px; }
.home-testimonials__head .fc-kicker { margin-bottom: 18px; }
.home-testimonials__head h2 { font-size: clamp(40px, 4.2vw, 60px); line-height: 1.04; }
.home-testimonials__intro { max-width: 33em; color: var(--fc-gray-dark); font-size: 16px; }
.home-testimonials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.home-testimonial { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.home-testimonial__portrait { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 3px; background: var(--fc-gray-dark); }
.home-testimonial__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-testimonial__body { display: flex; flex: 1; flex-direction: column; padding-top: 24px; }
.home-testimonial__topic { margin-bottom: 16px; color: var(--fc-green-800); font-family: var(--v3-font-mono); font-size: 10px; line-height: 1.5; letter-spacing: .05em; text-transform: uppercase; }
.home-testimonial blockquote { margin: 0 0 28px; color: var(--fc-black); font-family: var(--v3-font-display); font-weight: 500; font-size: clamp(28px, 2.4vw, 34px); line-height: 1.18; letter-spacing: 0; }
.home-testimonial figcaption { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--fc-line-strong); font-size: 12px; line-height: 1.5; }
.home-testimonial figcaption strong { display: block; font-weight: 500; }
.home-testimonial figcaption span { display: block; margin-top: 4px; color: var(--fc-gray-dark); }
@media (max-width: 991px) {
  .home-testimonials__head { gap: 36px; }
  .home-testimonials__grid { gap: 24px; }
  .home-testimonial blockquote { font-size: 25px; }
}
@media (max-width: 767px) {
  .home-testimonials { padding-block: 64px; }
  .home-testimonials__head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
  .home-testimonials__head h2 { font-size: 40px; }
  .home-testimonials__grid { grid-template-columns: 1fr; gap: 40px; }
  .home-testimonial { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); align-items: start; gap: 24px; }
  .home-testimonial__body { padding-top: 0; }
}
@media (max-width: 479px) {
  .home-testimonial { display: flex; gap: 0; }
  .home-testimonial__body { padding-top: 22px; }
  .home-testimonial blockquote { font-size: 28px; }
}

/* Fotos kantig wie auf den Unterseiten (08.09.2026, docs/design-radien-2026-09-08.md). v3.css setzt
   3 bis 6 px an rund zehn Stellen, dieser Override haengt sie an das Media-Token. Bleiben gerundet:
   .home-story__stage (Panel), .home-ways__card .tile__media (Bogenkante), Geraete-Mockup, Karte. */
.about-section .feature-block__media, .partner-section .feature-block__media, .feature-block__media, .home-testimonial__portrait { border-radius: var(--fc-radius-media); }

/* Kundenstimmen ohne Fotos (Bastian 22.10.2026): Karte mit Logo des Versicherers, Zitat und Absender. Muster Hex/Instrument auf Mobbin. */
.home-testimonial { padding: 32px; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-white); }
.home-testimonial__logo { width: 168px; height: 56px; }
.home-testimonial__logo .ph { display: flex; align-items: center; justify-content: center; height: 100%; padding: 8px; border: 1px dashed var(--fc-line-strong); border-radius: 8px; background: var(--fc-soft); color: var(--fc-muted); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.home-testimonial__logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; object-position: left center; }
.home-testimonial .home-testimonial__body { padding-top: 28px; }
@media (max-width: 767px) { .home-testimonial { padding: 24px; } }

/* Referenzen und Stimmen mobil als ein Block (Laurence 26.10.): erst Aussage, dann Logos, Button am Ende;
   Logos ohne Kacheln; Stimmen zum Wischen wie die Produktkarten. */
@media (max-width: 991px) {
  .home-page .trust-section__grid { gap: 0; }
  .home-page .trust-section__content { display: contents; }
  .home-page .trust-section__logos { order: 1; margin-top: 32px; }
  .home-page .trust-section__grid > .trust-section__content .fc-button,
  .home-page .trust-section .fc-button { order: 2; justify-self: start; margin-top: 28px; }
}
@media (max-width: 767px) {
  .home-page .trust-section__logos { grid-template-columns: repeat(4, 1fr); gap: 4px 12px; }
  .home-page .trust-section .trust-section__logos li { aspect-ratio: 2 / 1; border: 0; border-radius: 0; background: none; }
  .home-page .trust-section__logos img { max-width: 92%; max-height: 62%; }
  .home-page .home-testimonials__head { margin-bottom: 24px; }
  .home-page .home-testimonials__grid { display: flex; gap: 12px; margin-inline: calc(var(--fc-edge) * -1); padding: 2px var(--fc-edge) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fc-edge); overscroll-behavior-x: contain; scrollbar-width: none; }
  .home-page .home-testimonials__grid::-webkit-scrollbar { display: none; }
  .home-page .home-testimonial { display: flex; flex: 0 0 85%; scroll-snap-align: start; }
  .home-page .home-testimonial__logo { width: 120px; height: 40px; }
  .home-page .home-testimonial .home-testimonial__body { padding-top: 20px; }
  .home-page .home-testimonial blockquote { font-size: 24px; margin-bottom: 20px; }
}

/* Leistungen auf der Startseite seit 22.10.2026: drei Regulierungsstufen wie auf /produkte-und-services. */
.home-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-tier { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--fc-line); border-radius: 16px; background: var(--fc-white); color: var(--fc-ink); text-decoration: none; transition: border-color 200ms var(--fc-ease), background-color 200ms var(--fc-ease); }
.home-tier__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--fc-soft); }
.home-tier__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; transition: transform 600ms var(--fc-ease); }
.home-tier__body { display: flex; flex: 1; flex-direction: column; padding: 24px 26px 26px; }
.home-tier__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; color: var(--fc-muted); font-family: var(--fc-font-mono); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.home-tier__lines { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.home-tier__lines li { padding: 2px 9px; border: 1px solid var(--fc-line-green-strong); border-radius: 999px; color: var(--fc-green-800); font-family: var(--fc-font); font-size: 11px; letter-spacing: 0; text-transform: none; }
.home-tier h3 { margin-top: 18px; font-size: clamp(28px, 2.4vw, 36px); line-height: 1.05; color: var(--fc-ink); }
.home-tier__sub { margin-top: 6px; color: var(--fc-green-800); font-size: 15px; font-weight: 500; }
.home-tier__products { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--fc-line); color: var(--fc-copy); font-size: 14px; }
.home-tier__sub + .home-tier__products { margin-top: 22px; }
.home-tier:hover, .home-tier:focus-visible { border-color: var(--fc-line-green-strong); background: var(--fc-green-50); }
.home-tier:hover .home-tier__media img { transform: scale(1.04); }
.home-tier:focus-visible { outline: 2px solid var(--fc-green-800); outline-offset: 3px; }

.home-services__extras { margin-top: 56px; }
.home-services__extras-head { align-items: end; }
.home-services__extras-head h3 { font-size: clamp(28px, 2.6vw, 36px); }
.home-services__all { color: var(--fc-green-800); font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.home-services__list { border-bottom: 0; }
.home-services .home-services__row { position: relative; grid-template-columns: minmax(200px, .7fr) minmax(0, 1.8fr); border-top: 0; }
.home-services__row::before { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--fc-line-strong); content: ""; }

/* Bewegung beim Hereinscrollen, ruhig wie auf /produkte-und-services: Kachel gleitet kurz hoch, Bild zoomt leicht zurück,
   Zeilen blenden nacheinander ein. Rund 0,7 s. */
.js .home-tier[data-reveal] { transform: translateY(20px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.22, 1, .36, 1), border-color 200ms var(--fc-ease), background-color 200ms var(--fc-ease); transition-delay: calc(var(--delay, 0) * 80ms), calc(var(--delay, 0) * 80ms), 0s, 0s; }
.js .home-tier[data-reveal] .home-tier__media img { transform: scale(1.04); transition: transform 900ms cubic-bezier(.22, 1, .36, 1) calc(var(--delay, 0) * 80ms); }
.js .home-tier[data-reveal].is-visible { transform: none; }
.js .home-tier[data-reveal].is-visible .home-tier__media img { transform: none; }
.js .home-tier[data-reveal].is-visible:hover .home-tier__media img { transform: scale(1.04); transition-delay: 0s; transition-duration: 600ms; }
.js .home-services .home-services__row[data-reveal] { transform: translateY(12px); transition-delay: calc(var(--delay, 0) * 80ms); }
.js .home-services .home-services__row[data-reveal].is-visible { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .home-tier[data-reveal], .js .home-tier[data-reveal] .home-tier__media img, .js .home-services .home-services__row[data-reveal] { transform: none; transition: none; }
}
@media (max-width: 991px) {
  .home-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-tier:last-child { grid-column: 1 / -1; }
  .home-tier:last-child .home-tier__media { aspect-ratio: 21 / 9; }
}
@media (max-width: 767px) {
  /* Mobil zum Wischen (Laurence 26.10.): eine Karte, die nächste schaut rein. Kein JS. */
  .home-tiers { display: flex; gap: 12px; margin-inline: calc(var(--fc-edge) * -1); padding: 2px var(--fc-edge) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fc-edge); overscroll-behavior-x: contain; scrollbar-width: none; }
  .home-tiers::-webkit-scrollbar { display: none; }
  .home-tier { flex: 0 0 82%; scroll-snap-align: start; }
  .home-tier:last-child { grid-column: auto; }
  .home-tier .home-tier__media, .home-tier:last-child .home-tier__media { aspect-ratio: 4 / 3; }
  .home-tier__body { padding: 18px 20px 20px; }
  .home-tier h3 { margin-top: 14px; font-size: 28px; }
  .home-page .home-services__extras { margin-top: 32px; }
  .home-page .home-services .home-services__row { padding-block: 16px; }
  .home-services .home-services__row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .home-services__extras-head { display: flex; flex-wrap: wrap; gap: 10px 24px; }
}

/* Kontakt mit Bastian (seit 26.10.2026, Muster TP Service „Über uns"): dunkles Band in Anthrazit, zentrierter Satz,
   der beim Scrollen Wort für Wort aufleuchtet (js/home-scroll-text.js), runder Avatar, ein Button. Kein Grünton. */
.home-contact { padding-block: clamp(80px, 9vw, 144px); background: var(--fc-gray-dark); color: var(--fc-white); }
.home-contact__inner { display: flex; flex-direction: column; align-items: center; max-width: 1000px; text-align: center; }
.home-contact .fc-kicker { margin-bottom: 28px; color: rgba(255, 255, 255, .6); }
.home-contact__quote { color: var(--fc-white); font-size: clamp(34px, 3.6vw, 54px); font-weight: 500; line-height: 1.16; text-wrap: balance; }
.home-contact__quote.is-scroll-text .scroll-text__word { color: rgba(255, 255, 255, .28); transition: color .35s cubic-bezier(.16, 1, .3, 1); }
.home-contact__quote.is-scroll-text .scroll-text__word.is-lit { color: var(--fc-white); }
.home-contact__after { display: flex; flex-direction: column; align-items: center; margin-top: 48px; }
.home-contact__person { display: inline-flex; align-items: center; gap: 16px; margin: 0; text-align: left; }
.home-contact__person img { flex: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; }
.home-contact__person > span { display: grid; gap: 2px; }
.home-contact__person strong { color: var(--fc-white); font-family: var(--v3-font-display); font-size: 24px; font-weight: 500; line-height: 1.05; }
.home-contact__person > span > span { color: rgba(255, 255, 255, .6); font-family: var(--fc-font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.home-contact__button { display: inline-flex; align-items: center; min-height: 54px; margin-top: 36px; padding: 0 30px; border-radius: 999px; background: var(--fc-white); color: var(--fc-black); font-family: var(--v3-font-display); font-size: 22px; font-weight: 500; text-decoration: none; transition: background-color 200ms var(--fc-ease), color 200ms var(--fc-ease); }
.home-contact__button:hover, .home-contact__button:focus-visible { background: var(--fc-green-800); color: var(--fc-white); }
.home-contact__ways { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 24px 0 0; padding: 0; list-style: none; }
.home-contact__ways a { color: rgba(255, 255, 255, .72); font-size: 15px; text-decoration: none; }
.home-contact__ways a:hover, .home-contact__ways a:focus-visible { color: var(--fc-white); text-decoration: underline; text-underline-offset: 5px; }
.home-contact__after.is-waiting { opacity: 0; transform: translateY(16px); transition: opacity .5s linear, transform .85s cubic-bezier(.25, 1, .5, 1); }
.home-contact__after.is-waiting.is-visible { opacity: 1; transform: none; }
@media (max-width: 767px) {
  .home-contact { padding-block: 64px; }
  .home-contact .fc-kicker { margin-bottom: 20px; }
  .home-contact__quote { font-size: 30px; }
  .home-contact__after { margin-top: 36px; }
}

/* Wege (seit 22.10.2026): drei kompakte Karten, Bild 16:10, Text linksbündig, Textlink. */
.home-paths { padding-block: clamp(72px, 7vw, 112px); background: var(--fc-white); }
.home-paths__head { max-width: 860px; }
.home-paths__head .fc-kicker { margin-bottom: 18px; color: var(--fc-green-800); }
.home-paths__head h2 { font-size: clamp(38px, 3.6vw, 52px); line-height: 1.05; color: var(--fc-ink); }
.home-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 44px; }
.home-path { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgba(25, 27, 25, .1); border-radius: 16px; background: var(--fc-white); color: var(--fc-ink); text-decoration: none; transition: border-color 200ms var(--fc-ease), background-color 200ms var(--fc-ease); }
.home-path__media { aspect-ratio: 16 / 10; overflow: hidden; background: #eef0ef; }
.home-path__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transition: transform 600ms var(--fc-ease); }
.home-path__body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 24px; }
.home-path h3 { font-size: clamp(26px, 2.2vw, 32px); line-height: 1.05; color: var(--fc-ink); }
.home-path p { margin-top: 10px; color: var(--fc-copy); font-size: 15px; line-height: 1.55; }
.home-path__link { margin-top: auto; padding-top: 18px; color: #1a513f; font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.home-path:hover, .home-path:focus-visible { border-color: rgba(26, 81, 63, .28); background: #f1f7f3; }
.home-path:hover .home-path__media img { transform: scale(1.04); }
.home-path:focus-visible { outline: 2px solid #1a513f; outline-offset: 3px; }
@media (max-width: 991px) { .home-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-path:last-child { grid-column: 1 / -1; } .home-path:last-child .home-path__media { aspect-ratio: 21 / 9; } }
/* Mobil zum Wischen wie Produkte und Stimmen (Laurence 26.10.). */
@media (max-width: 767px) {
  .home-paths__grid { display: flex; gap: 12px; margin: 28px calc(var(--fc-gutter) * -1) 0; padding: 2px var(--fc-gutter) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fc-gutter); overscroll-behavior-x: contain; scrollbar-width: none; }
  .home-paths__grid::-webkit-scrollbar { display: none; }
  .home-path { flex: 0 0 82%; min-width: 0; scroll-snap-align: start; }
  .home-path:last-child { grid-column: auto; }
  .home-path .home-path__media, .home-path:last-child .home-path__media { aspect-ratio: 4 / 3; }
}

/* Kopf-Blöcke wie auf den Unterseiten (v4.css, 22.10.2026): 5/7-Spalten, Lead unten bündig, feste Lesebreite. */
.home-services__head, .home-testimonials__head { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: end; }
.home-services__intro, .home-testimonials__intro, .home-testimonials__intro p { max-width: 56ch; margin: 0; }
@media (max-width: 991px) { .home-services__head, .home-testimonials__head { grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; } }

/* Buttons auf hellen Flächen wie auf den Unterseiten (v4.css, 22.10.2026): Outline, Hover füllt grün. */
.home-page :is(.trust-section, .home-paths, .home-services) :is(.fc-button--green, .fc-button--dark, .fc-button--light) { background: transparent; border: 1.5px solid #191b19; color: #191b19; }
.home-page :is(.trust-section, .home-paths, .home-services) :is(.fc-button--green, .fc-button--dark, .fc-button--light):is(:hover, :focus-visible) { background: #1a513f; border-color: #1a513f; color: #ffffff; }

/* „… und das haben wir noch zu bieten" (Laurence 26.10.2026): Am Desktop bleibt die Überschrift links stehen,
   rechts fahren die vier Zeilen beim Scrollen nacheinander ein. Mobil fahren die Zeilen ebenfalls ein. Ausgelöst
   per Reveal (.is-visible), nicht scroll-gekoppelt. */
@media (min-width: 992px) {
  .home-page .home-services__extras-head { position: sticky; top: calc(var(--fc-header-h) + 48px); align-self: start; }
}
.js .home-page .home-services .home-services__row[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .8s cubic-bezier(.22, 1, .36, 1); transition-delay: calc(var(--delay, 0) * 90ms); }
.js .home-page .home-services .home-services__row[data-reveal].is-visible { opacity: 1; transform: none; }
@media (max-width: 767px) {
  .js .home-page .home-services .home-services__row[data-reveal] { transform: translateY(20px); transition-delay: 0s; }
}
@media (prefers-reduced-motion: reduce) {
  .js .home-page .home-services .home-services__row[data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Textlinks statt Buttons in den Sektionen (Laurence 26.10.2026, Muster Legacy): Buttons nur im Header, im Hero und
   im Abschluss mit Bastian. Dazwischen kleine fette Links. */
.home-page .home-textlink { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--fc-green-800); font-family: var(--fc-font); font-size: 16px; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 6px; transition: color 200ms var(--fc-ease), text-underline-offset 200ms var(--fc-ease); }
.home-page .home-textlink:hover, .home-page .home-textlink:focus-visible { background: none; color: var(--fc-black); text-underline-offset: 4px; }
.home-page .home-textlink--on-dark { color: var(--fc-white); }
.home-page .home-textlink--on-dark:hover, .home-page .home-textlink--on-dark:focus-visible { background: none; color: var(--fc-white); opacity: .8; }
.home-page .home-state-network .home-state-network__service-link.home-textlink { min-height: 44px; padding: 0; background: none; color: var(--fc-white); }
/* Stimmen ohne eigene Überschrift direkt unter den Referenzen (Laurence 26.10.2026). */
.home-page main > .trust-section + .home-testimonials { padding-top: 0; }

/* „So läuft ein Auftrag“ (Laurence 26.10.2026): fünf Schritte, Optik wie .phases--num auf Partner werden
   (grüne Linie oben, große Ziffer), am Desktop nebeneinander, mobil untereinander mit Linie links. */
.home-ablauf { padding-block: var(--fc-section); background: var(--fc-paper-soft); }
.home-ablauf__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; }
.home-ablauf__head .fc-kicker { margin-bottom: 18px; }
.home-ablauf__lead { max-width: 34em; color: var(--fc-copy); font-size: 17px; }
.home-ablauf__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; margin: 56px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--fc-green-800); }
.home-ablauf__step { display: flex; flex-direction: column; padding-top: 24px; }
.home-ablauf__n { color: var(--fc-green-800); font-family: var(--v3-font-display); font-size: clamp(56px, 5vw, 80px); font-weight: 500; line-height: .9; }
.home-ablauf__time { align-self: flex-start; margin-top: 20px; padding: 4px 12px; border: 1px solid var(--fc-green-800); border-radius: 999px; color: var(--fc-green-800); font-size: 13px; font-weight: 600; white-space: nowrap; }
.home-ablauf__title { margin-top: 16px; color: var(--fc-black); font-size: 18px; font-weight: 600; }
/* Schritte ohne Zeitangabe halten den Platz des Zeit-Etiketts frei, damit alle Titel auf einer Linie stehen. */
.home-ablauf__n + .home-ablauf__title { margin-top: calc(20px + 1.5 * 13px + 10px + 16px); }
.home-ablauf__text { margin-top: 6px; color: var(--fc-copy); font-size: 15px; line-height: 1.5; }
.js .home-ablauf__step[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .8s cubic-bezier(.22, 1, .36, 1); transition-delay: calc(var(--delay, 0) * 110ms); }
.js .home-ablauf__step[data-reveal].is-visible { opacity: 1; transform: none; }
@media (max-width: 991px) {
  .home-ablauf__head { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .home-ablauf__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
}
@media (max-width: 767px) {
  .home-ablauf__steps { display: block; margin-top: 32px; border-top: 0; border-left: 2px solid var(--fc-green-800); }
  .home-ablauf__step { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; padding: 0 0 28px 18px; }
  .home-ablauf__step:last-child { padding-bottom: 0; }
  .home-ablauf__n { grid-row: 1 / span 3; font-size: 40px; }
  .home-ablauf__time, .home-ablauf__title, .home-ablauf__text { grid-column: 2; }
  .home-ablauf__time { justify-self: start; margin-top: 0; margin-bottom: 8px; }
  .home-ablauf__title, .home-ablauf__n + .home-ablauf__title { margin-top: 0; }
  .js .home-ablauf__step[data-reveal] { transition-delay: 0s; }
}
@media (prefers-reduced-motion: reduce) {
  .js .home-ablauf__step[data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ===== FARB-TEST STARTSEITE (Laurence 26.10.2026) =========================================================
   Weniger dunkle Fläche: Bastians Abschnitt wird hell (zartes Fairly-Grün statt Anthrazit), der Ablauf bekommt
   ebenfalls das zarte Grün. Grüner Block oben, Netzwerk-Karte und Footer bleiben dunkel. Nur Startseite.
   Zurücksetzen: den Commit „test: lighter homepage…“ zurücknehmen (setzt auch data-nav in 27-home-intent.html zurück). */
.home-page { --fc-green-50: #f1f7f3; } /* Token aus styles.css, auf der Startseite sonst nicht geladen */
.home-page .home-ablauf { background: var(--fc-green-50); }
.home-page .home-contact { background: var(--fc-green-50); color: var(--fc-black); }
.home-page .home-contact .fc-kicker { color: var(--fc-green-800); }
.home-page .home-contact__quote { color: var(--fc-black); }
.home-page .home-contact__quote.is-scroll-text .scroll-text__word { color: rgba(25, 27, 25, .18); }
.home-page .home-contact__quote.is-scroll-text .scroll-text__word.is-lit { color: var(--fc-black); }
.home-page .home-contact__person strong { color: var(--fc-black); }
.home-page .home-contact__person > span > span { color: var(--fc-muted); }
.home-page .home-contact__button { background: var(--fc-green-800); color: var(--fc-white); }
.home-page .home-contact__button:hover, .home-page .home-contact__button:focus-visible { background: var(--fc-green-950); color: var(--fc-white); }
.home-page .home-contact__ways a { color: var(--fc-gray-dark); }
.home-page .home-contact__ways a:hover, .home-page .home-contact__ways a:focus-visible { color: var(--fc-green-800); }
/* ===== ENDE FARB-TEST ===== */

/* ===== KARTEN-TEST HELL (Laurence 26.10.2026) =============================================================
   Netzwerk-Karte auf Weiß statt Anthrazit, Deutschland im zarten Fairly-Grün, Punkte und Texte dunkel.
   Die Kartenfarben kommen über die --network-*-Variablen auch im WebGL-Renderer an (js/network-depth.js).
   Zurücksetzen: den Commit „test: light network map…“ zurücknehmen (setzt auch data-nav in 22e-… zurück). */
.home-page main .home-state-network {
  --fc-text-soft: var(--fc-gray-dark);
  --fc-line: #e3e6e4;
  --fc-line-strong: #c9cdca;
  --network-land: #e3efe8;
  --network-land-active: #bfd7cc;
  --network-land-side: #c9cdca;
  --network-boundary: #c9cdca;
  background: var(--fc-white);
  color: var(--fc-black);
}
.home-page main .home-state-network :is(h2, h3, .fc-kicker, .home-state-network__eyebrow),
.home-page main .home-state-network__steps strong,
.home-page main .home-state-network__step-links a { color: var(--fc-black); }
.home-page main .home-state-network .fc-kicker, .home-page main .home-state-network__eyebrow { color: var(--fc-green-800); }
.home-page main .home-state-network__heading > p, .home-page main .home-state-network__panel-copy, .home-page main .home-state-network__steps p { color: var(--fc-gray-dark); }
.home-page main .home-state-network__steps button > span { color: var(--fc-green-800); }
.home-page main .home-state-network__steps button[aria-pressed="true"] { background: var(--fc-green-50, #f1f7f3); }
.home-page main .home-state-network__steps button:hover { background: var(--fc-green-50, #f1f7f3); }
.home-page main .home-state-network .home-state-network__service-link.home-textlink { color: var(--fc-green-800); }
@media (max-width: 991px) {
  .home-page main .home-state-network__steps li { border-top-color: #e3e6e4; }
  .home-page main .home-state-network__steps li::before { background: var(--fc-green-800); }
  .home-page main .home-state-network__steps button[aria-pressed="true"] { background: none; }
}
/* ===== ENDE KARTEN-TEST ===== */
