/* ÖZKAN: gezielte Lesbarkeits- und Layoutkorrekturen, 16.10.2026.
   Als letztes Stylesheet laden. Keine Inhalte, Formularlogik oder Messung ändern. */
:root { --muted: #526473; }
html { scroll-padding-top: 124px; }

/* Helle Flächen benötigen explizite dunkle Schrift statt vererbtem Weiß. */
.energy-focus-start { color: var(--ink); padding-inline: var(--pad); }
.energy-measure-links a, .lead-confidence,
.benefit-grid article, .program-card, .lead-process { color: var(--ink); }
.energy-focus-start > .landing-wrap > p:not(.landing-kicker) { color: var(--muted); }
.section-light .section-label, .home-references .section-label,
.about-copy .section-label, .energy-spotlight .section-label { color: var(--blue); }
.landing-hero .landing-kicker, .reference-hero .landing-kicker { color: var(--blue-bright); }
.lead-intro > .landing-kicker { color: var(--blue); }
.landing-section-dark .lead-intro > p:not(.landing-kicker) { color: #c0cbd4; }
.landing-section-dark .lead-intro > .landing-kicker { color: var(--blue-bright); }
.landing-contact .landing-kicker { color: var(--ink); }
.qualifier-intro span { color: rgba(255,255,255,.9); }
.footer-bottom { color: rgba(255,255,255,.65); }
.social-symbol-wa { background: #11783f; }

/* Die vorhandene große Typografie bleibt, erhält aber sichere Zeilenabstände. */
.hero h1, .reference-hero h1, .landing-hero h1 { line-height: 1.06; letter-spacing: -.035em; overflow-wrap: anywhere; }
.section-heading h2, .home-references-heading h2, .about-copy h2,
.contact-intro h2, .social-contact-bar h2, .reference-copy h2,
.reference-note h2, .landing-section h2, .landing-proof-copy h2,
.landing-contact h2, .legal-main h1 { line-height: 1.1; }
.service-card h3, .image-card h3, .benefit-grid h3, .program-card h3,
.topic h3, .process-list h3, .qualifier-intro strong,
.home-reference-card strong, .guided-step h3, .choice-fieldset legend { line-height: 1.12; }
:where(h1,h2,h3), .home-reference-card strong, .choice-fieldset legend {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.hero h1, .reference-hero h1, .landing-hero h1 { padding-block: .04em; }
.service-card.service-card-tertiary h3 { font-size: clamp(24px,2.15vw,32px); }
.image-card:not(.image-card-large) h3 { font-size: clamp(28px,2.8vw,42px); }
.home-reference-card strong { margin-top: auto; padding-top: 26px; }
.home-reference-card b, .home-reference-card span, .home-reference-card i { overflow-wrap: anywhere; }
.approval-facts { grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr)); }
.approval-facts strong, .reference-row-kfw40 .approval-facts strong { font-size: clamp(20px,2vw,26px); line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
.approval-facts span { overflow-wrap: anywhere; hyphens: auto; }

/* Flexible Raster: lange deutsche Begriffe dürfen die Spalten nicht aufdrücken. */
.hero-grid > *, .section-heading > *, .service-grid > *, .topic-grid > *,
.home-references-heading > *, .home-reference-grid > *, .landing-two > *,
.landing-proof-grid > *, .benefit-grid > *, .program-grid > *, .reference-row > *,
.contact > *, .footer-main > *, .social-contact-inner > *, .energy-spotlight-inner > *,
.energy-spotlight-links > *, .energy-measure-links > *, .project-form, .field-row > * { min-width: 0; }
.choice-fieldset { min-inline-size: 0; }
.choice-fieldset legend { max-width: 100%; }
.field-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
.guided-actions { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
.project-form input, .project-form select, .project-form textarea { min-width: 0; max-width: 100%; }
.project-form input::placeholder, .project-form textarea::placeholder { color: #596a76; opacity: 1; }
.form-reassurance { flex-wrap: wrap; }
.button { padding-block: 12px; white-space: normal; text-align: center; line-height: 1.4; }
.button-small { padding-block: 9px; }
.button:focus-visible, .choice-card input:focus-visible + span,
.energy-measure-links a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #0b5e9a; }
.social-channel { grid-template-columns: auto minmax(0,1fr) auto; }
.social-channel > span { min-width: 0; }
.social-channel small, .contact-direct strong, .footer-main a, .legal-main a { overflow-wrap: anywhere; }
.contact-direct > * { flex-wrap: wrap; }
.contact-direct strong { min-width: 0; }
.cookie-actions { flex-wrap: wrap; }
.cookie-actions button { padding-block: 9px; line-height: 1.4; }
.site-header:not(.landing-header):not(.legal-header) { background: rgba(7,19,31,.88); }

/* Das vorhandene mobile Menü etwas früher nutzen, bevor Navigation kollidiert. */
@media (min-width:1051px) and (max-width:1200px) {
  .site-nav { position: fixed; inset: 0 0 auto 0; min-height: 100svh; padding: 110px var(--pad) 50px; background: rgba(7,19,31,.99); flex-direction: column; align-items: flex-start; transform: translateX(100%); transition: transform .28s ease; }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav > a:not(.button) { font-family: var(--display); font-size: 30px; line-height: 1.12; }
  .menu-toggle { position: relative; z-index: 2; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.24); background: transparent; display: grid; place-content: center; gap: 5px; cursor: pointer; }
  .menu-toggle span:not(.sr-only) { display: block; width: 21px; height: 2px; background: var(--white); transition: transform .2s ease,opacity .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width:1200px) { .site-nav { max-height: 100svh; overflow-y: auto; } }
@media (max-width:1050px) { .social-link-grid { grid-template-columns: 1fr; } }
@media (max-width:720px) {
  html { scroll-padding-top: 110px; }
  .field-row { grid-template-columns: minmax(0,1fr); }
  .about-copy { padding-inline: var(--pad); }
  .social-contact-bar h2, .about-copy h2 { font-size: clamp(34px,9vw,52px); }
  .legal-main { padding-inline: var(--pad); }
  .legal-main h1 { font-size: clamp(34px,10vw,50px); }
}
@media (max-width:560px) {
  .guided-actions { grid-template-columns: minmax(0,1fr); }
  .landing-header { gap: 12px; }
  .landing-header .brand { width: clamp(120px,35vw,155px); }
  .landing-nav { gap: 8px; min-width: 0; }
  .landing-nav .button { padding-inline: 12px; font-size: 10px; }
  .cookie-banner { max-height: calc(100svh - 112px); overflow-y: auto; }
  .cookie-actions { gap: 8px; }
  .cookie-actions button { flex: 1 1 125px; }
  .social-channel { padding: 20px; gap: 12px; }
  .energy-measure-links { grid-template-columns: minmax(0,1fr); }
  .energy-measure-links a { min-height: 58px; }
}
