/* Schädlingswache Theme 2.0.15 – vollständiger Responsive-, Typografie- und Button-Fix */

/* Favicon als Markenlogo mit lesbarem Wortzeichen */
.brand{display:flex;align-items:center;gap:11px;min-width:max-content}
.brand img{width:48px!important;height:48px!important;object-fit:contain;filter:none!important}
.brand::after{content:"SCHÄDLINGSWACHE";color:#fffdf8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:900;letter-spacing:.105em;line-height:1;text-transform:uppercase}

/* Hero: zwei vorhandene Bilder übereinander */
.hero-art.hero-art-collage{position:relative;min-height:610px;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;isolation:isolate}
.hero-art.hero-art-collage::before,.hero-art.hero-art-collage::after{display:none!important}
.hero-art-collage .hero-photo{position:absolute;margin:0;overflow:hidden;border:1px solid rgba(255,253,248,.22);border-radius:4px;background:#151a16;box-shadow:0 34px 70px rgba(0,0,0,.38);transform-origin:center;transition:transform .3s ease,box-shadow .3s ease}
.hero-art-collage .hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(8,12,9,.58)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.018) 5px 6px)}
.hero-art-collage .hero-photo img{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;object-fit:cover!important;transform:none!important;filter:saturate(.78) contrast(1.12) brightness(.82)!important}
.hero-art-collage .hero-photo figcaption{position:absolute;z-index:3;left:14px;bottom:12px;padding:6px 9px;color:#17130d;background:var(--warning);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.hero-art-collage .hero-photo-rat{z-index:2;left:0;top:34px;width:78%;height:72%;transform:rotate(-5deg)}
.hero-art-collage .hero-photo-wasp{z-index:3;right:0;bottom:34px;width:72%;height:66%;transform:rotate(6deg)}
.hero-art-collage .hero-photo:hover{z-index:5;transform:rotate(0deg) translateY(-6px);box-shadow:0 42px 88px rgba(0,0,0,.46)}
.hero-art-collage .hero-badge{z-index:7;left:22px!important;bottom:18px!important}

/* Umlaute und Oberlängen der Startseitenüberschrift vollständig zeigen */
.hero-copy,.hero-copy h1{overflow:visible!important}
.hero h1{line-height:.92!important;overflow:visible!important;padding:.10em 0 .16em!important}
.hero h1 .word,.hero h1 .word-inner{display:inline-block!important;overflow:visible!important;line-height:inherit!important;padding:.10em 0 .16em!important;margin:-.10em 0 -.16em!important;vertical-align:baseline!important;clip-path:none!important}

/* Befallsbilder */
.pest-photo-section{min-height:0!important}
.pest-photo-section .section-heading{margin-bottom:36px}
.pest-photo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;min-height:0!important}
.pest-photo-card{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;opacity:1!important;visibility:visible!important;transform:none!important;text-decoration:none!important}
.pest-photo-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;opacity:1!important;visibility:visible!important}
.pest-photo-card>span{display:grid!important;gap:6px!important;min-height:112px!important;padding:19px 20px 22px!important}
.pest-photo-card strong{display:block!important;color:#fffdf8!important;font-size:1.08rem!important;line-height:1.25!important}
.pest-photo-card small{display:block!important;color:rgba(255,253,248,.65)!important;line-height:1.5!important}

/* Zwei einfache Ratgeber-Beispiele */
.home-guide-links .section-heading{margin-bottom:32px}
.home-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-guide-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:118px;padding:24px 26px;border:1px solid rgba(18,22,19,.18);border-left:5px solid var(--rust);border-radius:3px;color:var(--ink);background:#fffdf8;text-decoration:none;box-shadow:0 9px 24px rgba(20,23,20,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.home-guide-link:hover{transform:translateY(-3px);border-color:rgba(166,77,49,.42);box-shadow:0 16px 34px rgba(20,23,20,.12)}
.home-guide-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(18,22,19,.16);color:#fff;background:var(--rust);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:900;letter-spacing:.08em}
.home-guide-copy{display:grid;gap:7px;min-width:0}
.home-guide-copy strong{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.18;letter-spacing:-.03em}
.home-guide-copy span{color:var(--muted);font-size:.92rem;line-height:1.55}
.home-guide-arrow{color:var(--rust);font-size:1.5rem;line-height:1}
.home-guide-links .actions{justify-content:center;margin-top:24px}

/* Passendes Bild im Leistungsbereich */
.home-services-photo,.services-overview-photo{overflow:hidden;padding:5px;border:1px solid rgba(18,22,19,.22);border-radius:3px;background:#d9d0c2;box-shadow:var(--shadow-soft)}
.home-services-photo img,.services-overview-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.08)}
.home-services-photo::after,.services-overview-photo::after{content:"BEISPIEL EINES SCHÄDLINGSBEFALLS";display:block;padding:7px 8px 4px;color:#5b554c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;font-weight:750;letter-spacing:.13em}

/* Breitere Bildflächen und einheitliche, unverzerrte Zuschnitte */
.content-media-wide{width:min(100%,1180px)!important}
.content-media-centered{width:min(100%,980px)!important}
.article-title-figure{width:min(100%,980px)!important}
.article-inline-figure,.article-content-media{width:min(100%,860px)!important}
.site-picture,.article-picture,.article-card-media picture,.city-card-media picture{display:block!important;width:100%!important;height:100%!important}
.content-media,.article-title-figure,.article-inline-figure,.article-content-media,.illustration-frame.photo-frame,.contact-band-media,.contact-panel-media,.article-card-media,.city-card-media{overflow:hidden!important}
.illustration-frame.photo-frame,.contact-band-media,.contact-panel-media,.article-card-media,.city-card-media{aspect-ratio:16/9!important;min-height:0!important}
.content-media img,.article-title-figure img,.article-inline-figure img,.article-content-media img,.illustration-frame.photo-frame img,.contact-band-media img,.contact-panel-media img,.article-card-media img,.city-card-media img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center 45%!important;transform:none!important}
.card-grid .city-card>picture.city-card-media{aspect-ratio:16/9!important;min-height:0!important}
.card-grid.two .article-card.article-card-with-image .article-card-media{aspect-ratio:16/9!important}

/* Standort-CTA */
.home-page .split.reverse .button.button-dark{--btn-bg:var(--warning)!important;--btn-color:#17130d!important;border-color:rgba(18,22,19,.25)!important}
.home-page .split.reverse .button.button-dark::before{background:var(--rust)!important}
.home-page .split.reverse .button.button-dark:hover{color:#fff!important;box-shadow:0 14px 34px rgba(166,77,49,.25)!important}

/* Kennzahlen */
.home-page .section-moss{padding-block:54px!important}
.home-page .stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;border:0!important;background:transparent!important}
.home-page .stat{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:18px!important;min-height:132px!important;padding:24px 26px!important;border:1px solid rgba(255,253,248,.16)!important;background:rgba(9,13,10,.30)!important;box-shadow:none!important}
.home-page .stat strong{display:block!important;margin:0!important;font-size:clamp(2.65rem,5vw,4.5rem)!important;line-height:.86!important;letter-spacing:-.075em!important;white-space:nowrap!important}
.home-page .stat span{display:block!important;margin:0!important;max-width:150px!important;color:rgba(255,253,248,.75)!important;font-size:10px!important;font-weight:850!important;letter-spacing:.12em!important;line-height:1.45!important;text-transform:uppercase!important}
.home-page .stat::after{display:none!important}

/* Kontaktzeilen */
.contact-panel .contact-row{display:block!important;padding:20px 0!important}
.contact-panel .contact-row small{display:block!important;margin:0 0 7px!important;color:var(--warning)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.13em!important;line-height:1.3!important;text-transform:uppercase!important}
.contact-panel .contact-row a{display:block!important;width:fit-content!important;margin:0!important;color:#fffdf8!important;font-size:1.08rem!important;font-weight:750!important;line-height:1.45!important;text-decoration:none!important}
.contact-panel .contact-row p{display:block!important;margin:7px 0 0!important;color:rgba(255,253,248,.68)!important;line-height:1.55!important}
.contact-panel .contact-row a+p{margin-top:7px!important}

/* Proportional kompakte Seitenüberschriften ohne Unterzeile */
.page-hero{padding:clamp(20px,2vw,30px) 0 clamp(22px,2.2vw,32px)!important;overflow:visible!important}
.page-hero .container{overflow:visible!important}
.page-hero .lead{display:none!important}
.page-hero .eyebrow{margin-bottom:6px!important;font-size:9px!important;line-height:1.2!important}
.page-hero h1{margin:0!important;font-size:clamp(2.35rem,4.25vw,4.8rem)!important;line-height:1.08!important;overflow:visible!important;padding:0 0 .14em!important}
.page-hero h1 .word,.page-hero h1 .word-inner{display:inline-block!important;overflow:visible!important;line-height:inherit!important;padding:0 0 .14em!important;margin:0 0 -.14em!important;vertical-align:baseline!important;clip-path:none!important}

/* Aufgeräumte Einstiegsbereiche auf Standorte, FAQ und Kontakt */
body:has(.main-nav a[href="/standorte/"].active) .page-hero+.section-media-only,
body:has(.main-nav a[href="/seiten/faq.html"].active) .page-hero+.section-media-only,
body:has(.main-nav a[href="/seiten/kontakt.html"].active) .page-hero+.section-media-only{display:none!important}
body:has(.main-nav a[href="/standorte/"].active) .location-intro>p:last-child{display:none!important}

@media(max-width:1100px){
  .brand::after{display:none}
  .brand img{width:44px!important;height:44px!important}
  .hero-art.hero-art-collage{min-height:540px}
}
@media(max-width:920px){
  body.menu-open{overflow-x:hidden!important;overflow-y:auto!important}
  .nav-wrap,.site-header.is-scrolled .nav-wrap{grid-template-columns:48px minmax(0,1fr) 48px!important;overflow:visible!important}
  .brand{position:static!important;grid-column:1;justify-self:start;min-width:0!important;gap:0!important}
  .brand img{display:block!important;width:42px!important;height:42px!important}
  .brand::after{position:absolute;left:50%;top:50%;display:block!important;content:"SCHÄDLINGSWACHE";transform:translate(-50%,-50%);color:#fffdf8;font-size:clamp(12px,3.8vw,16px);font-weight:950;letter-spacing:.08em;line-height:1;white-space:nowrap;pointer-events:none}
  .menu-toggle{grid-column:3;justify-self:end;border-color:rgba(18,22,19,.45)!important;background:#f1c15a!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 8px 22px rgba(0,0,0,.24)!important}
  .menu-toggle:hover,.menu-toggle:focus-visible{background:#ffd477!important;outline:2px solid #fffdf8;outline-offset:2px}
  .menu-toggle>span:not(.sr-only){background:#17130d!important}
  .main-nav{position:absolute!important;inset:calc(100% + 8px) 0 auto 0!important;z-index:1001!important;display:flex!important;max-height:calc(100svh - 138px);padding:12px!important;overflow-y:auto;border:1px solid rgba(255,253,248,.18)!important;border-radius:6px;background:#151a16!important;box-shadow:0 24px 50px rgba(0,0,0,.38);transform:translateY(-8px)!important;opacity:0;visibility:hidden!important;pointer-events:none;transition:transform .24s ease,opacity .24s ease,visibility .24s!important}
  .main-nav::before{display:none!important}
  .main-nav.open{transform:translateY(0)!important;opacity:1;visibility:visible!important;pointer-events:auto}
  .main-nav a{padding:14px 15px!important;border-radius:3px!important;color:rgba(255,253,248,.88)!important;background:transparent!important;font-size:1rem!important;font-weight:800!important;letter-spacing:.035em!important;line-height:1.25!important;transform:none!important;opacity:1!important}
  .main-nav a:hover,.main-nav a.active{color:#17130d!important;background:var(--warning)!important}
  .content-media-wide,.content-media-centered,.article-title-figure,.article-inline-figure,.article-content-media{width:100%!important}
}
@media(max-width:760px){
  .page-hero{margin-top:6px!important;padding:16px 0 18px!important}
  .page-hero .eyebrow{margin-bottom:5px!important;font-size:8px!important}
  .page-hero h1{font-size:clamp(1.85rem,9.6vw,2.8rem)!important;line-height:1.1!important;padding:0 0 .15em!important}
  .page-hero h1 .word,.page-hero h1 .word-inner{padding:0 0 .15em!important;margin:0 0 -.15em!important}
  .hero h1{line-height:.96!important;padding:.12em 0 .18em!important}
  .hero h1 .word,.hero h1 .word-inner{padding:.12em 0 .18em!important;margin:-.12em 0 -.18em!important}
  .mobile-call{min-height:60px!important;padding:0 18px!important;box-shadow:none!important;font-size:16px!important;line-height:1.2!important;letter-spacing:.015em!important}
  .content-media img,.article-title-figure img,.article-inline-figure img,.article-content-media img,.illustration-frame.photo-frame img,.contact-band-media img,.contact-panel-media img,.article-card-media img,.city-card-media img{aspect-ratio:16/9!important;object-position:center!important}

  /* Unterer grüner Kontaktabschnitt auf allen Seiten vollständig mobil */
  .contact-band{padding:38px 0 42px!important;overflow:hidden!important}
  .contact-band::before{width:260px!important;height:260px!important;right:-145px!important;top:34%!important;opacity:.48!important}
  .contact-band .container,.contact-band .container.has-media{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:18px!important}
  .contact-band .container>*{min-width:0!important;max-width:100%!important}
  .contact-band h2{font-size:clamp(2.05rem,10.5vw,3.15rem)!important;line-height:1.03!important;letter-spacing:-.055em!important;overflow:visible!important;overflow-wrap:anywhere!important}
  .contact-band p{max-width:none!important;margin:12px 0 0!important;font-size:.96rem!important;line-height:1.55!important}
  .contact-band .button,.contact-band .container.has-media>.button{grid-column:1!important;width:100%!important;min-width:0!important;max-width:none!important;justify-self:stretch!important}
  .contact-band-media{grid-column:1!important;width:100%!important;max-width:none!important;margin:0!important;aspect-ratio:16/9!important}

  .hero-art.hero-art-collage{min-height:112vw;max-height:560px}
  .hero-art-collage .hero-photo-rat{left:1%;top:24px;width:79%;height:68%;transform:rotate(-4deg)}
  .hero-art-collage .hero-photo-wasp{right:1%;bottom:28px;width:74%;height:61%;transform:rotate(5deg)}
  .pest-photo-grid,.home-guide-list{grid-template-columns:1fr!important}
  .home-page .stats{grid-template-columns:1fr!important}
  .home-page .stat{grid-template-columns:100px minmax(0,1fr)!important;min-height:104px!important;padding:20px 22px!important}
  .home-page .stat strong{font-size:3rem!important}
  .home-page .stat span{max-width:none!important}
}
@media(max-width:420px){
  .brand img{width:38px!important;height:38px!important}
  .brand::after{font-size:12px;letter-spacing:.055em}
  .mobile-call{font-size:15px!important}
  .contact-band{padding:32px 0 36px!important}
  .contact-band h2{font-size:clamp(1.9rem,10vw,2.55rem)!important}
  .contact-band .container,.contact-band .container.has-media{gap:15px!important}
  .hero-art.hero-art-collage{min-height:118vw}
  .hero-art-collage .hero-photo figcaption{font-size:8px}
  .home-page .stat{grid-template-columns:88px minmax(0,1fr)!important;padding:18px!important}
  .home-page .stat strong{font-size:2.55rem!important}
}


/* =========================================================
   V2.0.15 – SEITENWEITER QUALITÄTSPASS
   ========================================================= */

/* Sämtliche Layoutspalten dürfen auf schmalen Geräten schrumpfen */
.container,
.section-heading > *,
.split > *,
.contact-layout > *,
.contact-band .container > *,
.card-grid > *,
.footer-grid > *{
  min-width:0!important;
}

/* Überschriften und animierte Wörter niemals an Umlauten oder Unterlängen abschneiden */
:where(h1,h2,h3,h4,h5,h6){
  overflow:visible!important;
  text-wrap:balance;
}
:where(h1,h2,h3,h4,h5,h6) .word,
:where(h1,h2,h3,h4,h5,h6) .word-inner,
.motion-ready :where(h1,h2,h3,h4,h5,h6) .word,
.motion-ready :where(h1,h2,h3,h4,h5,h6) .word-inner{
  display:inline-block!important;
  overflow:visible!important;
  clip-path:none!important;
  line-height:inherit!important;
  padding:.13em 0 .20em!important;
  margin:-.13em 0 -.20em!important;
  vertical-align:baseline!important;
}
.reveal-heading{
  overflow:visible!important;
  clip-path:none!important;
}

/* Sichere Zeilenhöhen für große und kleine Überschriften auf der gesamten Website */
.section-heading h2,
.split h2,
.contact-layout h2,
.contact-panel h2,
.contact-band h2,
.section-dark h2,
.section-moss h2,
.article-body h2,
.error-page h1{
  line-height:1.07!important;
  overflow:visible!important;
  padding:.07em 0 .15em!important;
}
.service-card h3,
.article-card h3,
.city-card h3,
.info-card h3,
.step h3,
.article-body h3,
.faq-item button{
  line-height:1.16!important;
  overflow:visible!important;
  padding:.04em 0 .10em!important;
}

/* Lange Überschriften und Links brechen kontrolliert statt aus dem Bildschirm zu laufen */
.page-hero h1,
.section-heading h2,
.split h2,
.contact-layout h2,
.contact-band h2,
.section-dark h2,
.section-moss h2,
.service-card h3,
.article-card h3,
.city-card h3,
.info-card h3,
.site-footer a{
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

/* Einheitliches Button-System mit klaren Kontrasten */
.button{
  --btn-hover-bg:var(--warning);
  --btn-hover-color:#17130d;
  color:var(--btn-color)!important;
  isolation:isolate!important;
}
.button::before{
  background:var(--btn-hover-bg)!important;
}
.button:hover,
.button:focus-visible{
  color:var(--btn-hover-color)!important;
  border-color:transparent!important;
}
.button:hover::after,
.button:focus-visible::after{
  color:inherit!important;
}

/* Dunkler Standardbutton: dunkel → gold, Schrift weiß → dunkel */
.button-dark{
  --btn-bg:#121613;
  --btn-color:#fffdf8;
  --btn-hover-bg:var(--warning);
  --btn-hover-color:#17130d;
}

/* Goldene Hauptbuttons: gold → rostrot, Schrift dunkel → weiß */
.hero .button-dark,
.section-dark .button-dark,
.section-moss .button-dark,
.contact-band .button-dark,
.button-amber,
.home-page .split.reverse .button.button-dark{
  --btn-bg:var(--warning)!important;
  --btn-color:#17130d!important;
  --btn-hover-bg:var(--rust)!important;
  --btn-hover-color:#fffdf8!important;
}

/* Outline auf hellem Hintergrund: transparent → dunkel */
.button-outline{
  --btn-bg:transparent;
  --btn-color:#17130d;
  --btn-hover-bg:#121613;
  --btn-hover-color:#fffdf8;
  border-color:rgba(18,22,19,.38)!important;
}

/* Outline auf dunklem/grünem Hintergrund: transparent → gold */
.hero .button-outline,
.section-dark .button-outline,
.section-moss .button-outline,
.contact-band .button-outline{
  --btn-color:#fffdf8!important;
  --btn-hover-bg:var(--warning)!important;
  --btn-hover-color:#17130d!important;
  border-color:rgba(255,253,248,.34)!important;
}

/* Heller Footerbutton bleibt auch beim Hover gut lesbar */
.button-light,
.site-footer .button-light{
  --btn-bg:#fffdf8;
  --btn-color:#17130d;
  --btn-hover-bg:var(--warning);
  --btn-hover-color:#17130d;
}

/* Header- und Mobilbutton ebenfalls kontraststark */
.header-call:hover,
.header-call:focus-visible{
  color:#fffdf8!important;
  background:var(--rust)!important;
}
.mobile-call:hover,
.mobile-call:focus-visible{
  color:#17130d!important;
  background:#ffd477!important;
}

/* Alle dunklen/grünen Abschlussbereiche auf Tablet zuverlässig einspaltig */
@media(max-width:920px){
  .section-dark .split,
  .section-dark .split.reverse,
  .section-moss .split,
  .section-moss .split.reverse,
  .contact-band .container,
  .contact-band .container.has-media{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:26px!important;
  }

  .section-dark .split.reverse > :first-child,
  .section-dark .split.reverse > :last-child,
  .section-moss .split.reverse > :first-child,
  .section-moss .split.reverse > :last-child{
    order:initial!important;
  }

  .section-dark .section-heading,
  .section-moss .section-heading{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:14px!important;
  }

  .section-dark .stats,
  .section-moss .stats{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .section-dark .number-steps,
  .section-moss .number-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .section-dark :is(.illustration-frame,.content-media,.contact-band-media),
  .section-moss :is(.illustration-frame,.content-media,.contact-band-media){
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }

  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Vollständiger Handy-Pass für alle Seitentypen */
@media(max-width:760px){
  /* Jede dunkle/grüne Sektion nutzt denselben sicheren Innenabstand */
  .section-dark,
  .section-moss,
  .contact-band{
    padding:40px 0 44px!important;
    overflow:hidden!important;
  }

  .section-dark::before,
  .section-moss::before,
  .contact-band::before{
    pointer-events:none!important;
  }

  .section-dark .container,
  .section-moss .container,
  .contact-band .container,
  .contact-band .container.has-media{
    width:min(calc(100% - 28px),var(--container))!important;
    max-width:100%!important;
  }

  .section-dark .split,
  .section-dark .split.reverse,
  .section-moss .split,
  .section-moss .split.reverse,
  .contact-band .container,
  .contact-band .container.has-media{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }

  .section-dark .section-heading,
  .section-moss .section-heading{
    margin-bottom:26px!important;
    gap:10px!important;
  }

  .section-dark .section-heading > p:last-child,
  .section-moss .section-heading > p:last-child,
  .section-dark .split p,
  .section-moss .split p,
  .contact-band p{
    max-width:none!important;
    width:100%!important;
    margin-right:0!important;
    font-size:.96rem!important;
    line-height:1.58!important;
  }

  .section-dark h2,
  .section-moss h2,
  .contact-band h2,
  .section-dark .section-heading h2,
  .section-moss .section-heading h2,
  .section-dark .split h2,
  .section-moss .split h2{
    max-width:100%!important;
    font-size:clamp(2rem,10.4vw,3.2rem)!important;
    line-height:1.06!important;
    letter-spacing:-.052em!important;
    overflow-wrap:anywhere!important;
    padding:.10em 0 .18em!important;
  }

  .page-hero h1{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    line-height:1.12!important;
    padding:.10em 0 .18em!important;
  }

  .section-heading h2,
  .split h2,
  .contact-layout h2,
  .contact-panel h2,
  .article-body h2{
    line-height:1.09!important;
    padding:.09em 0 .17em!important;
  }

  .service-card h3,
  .article-card h3,
  .city-card h3,
  .info-card h3,
  .step h3,
  .article-body h3{
    line-height:1.18!important;
    padding:.06em 0 .12em!important;
  }

  /* Medien und Inhalt füllen die verfügbare Breite */
  .section-dark :is(.illustration-frame,.content-media,.article-figure,.contact-band-media),
  .section-moss :is(.illustration-frame,.content-media,.article-figure,.contact-band-media),
  .contact-band-media{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  .section-dark img,
  .section-moss img,
  .contact-band img{
    max-width:100%!important;
    height:auto;
  }

  /* Aktionen und Buttons werden sauber untereinander angeordnet */
  .section-dark .actions,
  .section-moss .actions,
  .contact-band .actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
    margin-top:22px!important;
  }

  .section-dark .button,
  .section-moss .button,
  .contact-band .button,
  .home-guide-links .button,
  .actions .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding-inline:16px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.28!important;
  }

  /* Kennzahlen und Abläufe dürfen nicht mehr seitlich herauslaufen */
  .section-dark .stats,
  .section-moss .stats,
  .stats{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .section-dark .stat,
  .section-moss .stat,
  .stat{
    min-width:0!important;
    border-right:0!important;
  }

  .section-dark .number-steps,
  .section-moss .number-steps,
  .number-steps{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .step,
  .step:not(:first-child){
    min-width:0!important;
    border-right:0!important;
  }

  /* Karten und Kontaktbereiche */
  .card-grid,
  .card-grid.two,
  .card-grid.four,
  .contact-layout,
  .form-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .service-card,
  .article-card,
  .city-card,
  .info-card,
  .contact-panel,
  .contact-form{
    min-width:0!important;
    max-width:100%!important;
  }

  .article-card{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Footer bereits ab 760 px komplett einspaltig */
  .site-footer .footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
  }

  .site-footer .footer-grid > *{
    grid-column:1!important;
  }

  .site-footer a,
  .site-footer p{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}

/* Sehr schmale Handys */
@media(max-width:420px){
  .section-dark,
  .section-moss,
  .contact-band{
    padding:34px 0 38px!important;
  }

  .section-dark .container,
  .section-moss .container,
  .contact-band .container,
  .contact-band .container.has-media{
    width:min(calc(100% - 22px),var(--container))!important;
  }

  .section-dark h2,
  .section-moss h2,
  .contact-band h2,
  .section-dark .section-heading h2,
  .section-moss .section-heading h2,
  .section-dark .split h2,
  .section-moss .split h2{
    font-size:clamp(1.8rem,10vw,2.55rem)!important;
    letter-spacing:-.045em!important;
  }

  .button{
    min-height:52px!important;
    padding-inline:14px!important;
    font-size:11px!important;
    letter-spacing:.055em!important;
  }
}

/* Tastaturfokus bleibt sichtbar und kontrastreich */
.button:focus-visible,
.header-call:focus-visible,
.mobile-call:focus-visible{
  outline:3px solid #fffdf8!important;
  outline-offset:3px!important;
}
