/* Lorenz Schädlingsbekämpfung – Mobile-/Browser-Härtung V2.3.1
   Viewport-basiert statt User-Agent-Erkennung: robust für iOS Safari,
   Chrome/Android, Samsung Internet, Firefox, Edge und Opera. */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}

/* Einheitliches Hamburger-Symbol – unabhängig vom Systemfont des Geräts. */
.menu{
  display:inline-grid!important;
  place-items:center!important;
  position:relative!important;
  flex:0 0 auto!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}
.menu::before,.menu::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:20px;height:2px;
  margin-left:-10px;
  border-radius:999px;
  background:currentColor;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.menu::before{transform:translateY(-6px);box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}
.menu::after{opacity:0}
body.lorenz-menu-open .menu::before{transform:rotate(45deg);box-shadow:none}
body.lorenz-menu-open .menu::after{opacity:1;transform:rotate(-45deg)}

/* Tablets und Smartphones: eigenes, vollständig scrollbareres Menü-Panel. */
@media (max-width:1279px){
  #mobileMenu.lorenz-mobile-panel{
    display:none!important;
    position:fixed!important;
    z-index:10000!important;
    top:var(--lorenz-menu-top,72px)!important;
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:8px 14px 24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    background:var(--bg)!important;
    border:1px solid var(--line)!important;
    border-radius:0 0 20px 20px!important;
    box-shadow:0 22px 50px rgba(0,0,0,.22)!important;
  }
  @supports (padding:max(0px)){
    #mobileMenu.lorenz-mobile-panel{
      left:max(12px,env(safe-area-inset-left))!important;
      right:max(12px,env(safe-area-inset-right))!important;
      bottom:max(10px,env(safe-area-inset-bottom))!important;
      padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px))!important;
    }
  }
  body.lorenz-menu-open #mobileMenu.lorenz-mobile-panel{display:block!important}
  body.lorenz-menu-open{overflow:hidden!important;touch-action:none}
  body.lorenz-menu-open #mobileMenu{touch-action:pan-y}
  body.lorenz-menu-open .mobilebar,
  body.lorenz-menu-open .privacyFab,
  body.lorenz-menu-open .privacyInfo{display:none!important}

  #mobileMenu .mobileClose{
    position:sticky;
    top:-8px;
    z-index:2;
    display:block;
    margin:0 -2px 6px;
    padding:12px 4px 11px!important;
    text-align:right;
    background:var(--bg)!important;
    border-bottom:1px solid var(--line)!important;
    font-size:14px!important;
    font-weight:800!important;
  }
  #mobileMenu>details{
    margin:6px 0 8px!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:var(--paper)!important;
  }
  #mobileMenu>details>summary{
    padding:12px 12px!important;
    font-size:15px!important;
    line-height:1.25!important;
    border-bottom:0!important;
  }
  #mobileMenu>details[open]>summary{border-bottom:1px solid var(--line)!important}
  #mobileMenu>details>div{
    padding:4px 10px 9px!important;
    background:var(--paper)!important;
  }
  #mobileMenu>details>div>a{
    padding:9px 4px!important;
    font-size:14px!important;
    line-height:1.25!important;
    border-bottom:1px solid var(--line)!important;
  }
  #mobileMenu>details>div>a:last-child{border-bottom:0!important}
  #mobileMenu>a:not(.mobileClose){
    display:block!important;
    padding:11px 4px!important;
    font-size:15px!important;
    line-height:1.25!important;
    border-bottom:1px solid var(--line)!important;
  }
}

/* Smartphone-Typografie: kompakter, ohne die Desktop-Gestaltung zu verändern. */
@media (max-width:719px){
  body{font-size:15px!important;line-height:1.5!important}
  .wrap{width:min(var(--max),calc(100% - 28px))!important}

  .navin{height:70px!important;gap:8px!important}
  .brand{min-width:0!important;gap:8px!important}
  .brand img{width:56px!important;max-height:56px!important;object-fit:contain}
  .navcta{gap:7px!important;flex:0 0 auto!important}
  .navcta .btn{min-height:43px!important;padding:9px 14px!important;font-size:14px!important;white-space:nowrap}
  .menu{width:43px!important;height:43px!important}

  h1{
    font-size:clamp(28px,8.2vw,36px)!important;
    line-height:1.03!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  h2.sectionTitle,.sectionHead h2,.sectionhead h2,.ctabox h2,.regionTop h2,
  .panel h2,.business h2{
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.08!important;
    overflow-wrap:break-word;
  }
  h3{overflow-wrap:break-word}
  .heroLead,.hero>.wrap p,.hero p{font-size:15.5px!important;line-height:1.48!important}
  .sectionHead p,.sectionhead p{font-size:15px!important;line-height:1.48!important}
  .panel p,.serviceCard p,.warning p,.regionCard p,.detailbody,.metric span{line-height:1.47}
  .panel,.heroCard,.regionCard,.warning,.serviceCard{padding-left:17px!important;padding-right:17px!important}
  section{scroll-margin-top:82px}

  .heroGrid,.grid2,.stripgrid,.serviceGrid,.related{min-width:0!important}
  .heroGrid>*,.grid2>*,.stripgrid>*,.serviceGrid>*,.related>*{min-width:0!important}

  .mobilebar .btn{min-height:46px!important;font-size:14.5px!important}
  .privacyFab{transform:scale(.92);transform-origin:left bottom}

  /* Sonntag-/Saisonkarte: auf kleinen Displays niemals starre Höhe. */
  #heroSeasonCard{height:auto!important;min-height:0!important;overflow:visible!important}
  #heroSeasonCard .heroCardTop{min-height:0!important}
  #heroSeasonCard .season{min-height:0!important;padding-bottom:18px!important}
  .sundaySpecial:not([hidden]){gap:12px!important;margin-top:14px!important;padding-bottom:2px!important}
  .sundayActions{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:8px!important}
  .sundayActions .btn{min-height:46px!important;font-size:13px!important}
  .sundayFair{padding:12px 13px!important}

  /* Kontakt-Dialog auch auf älteren/kleinen Geräten vollständig bedienbar. */
  dialog#contactDialog{
    width:calc(100% - 14px)!important;
    max-width:720px!important;
    max-height:calc(100vh - 14px)!important;
    margin:auto!important;
    border-radius:20px!important;
  }
  @supports (height:100dvh){dialog#contactDialog{max-height:calc(100dvh - 14px)!important}}
  #contactDialog .modal{padding:17px!important}
  #contactDialog .modalTop{gap:10px!important;align-items:flex-start!important}
  #contactDialog .modalTop>div{min-width:0!important}
  #contactDialog h2{font-size:clamp(21px,6vw,27px)!important;line-height:1.12!important;overflow-wrap:break-word!important}
  #contactDialog p{font-size:14px!important;line-height:1.45!important}
  #contactDialog input,#contactDialog textarea,#contactDialog select{font-size:16px!important;max-width:100%!important}

  /* Lange Orts-/Leistungsnamen dürfen niemals seitlich aus dem Viewport laufen. */
  .breadcrumbs,.related a,.serviceCard,.servicechips>*{overflow-wrap:break-word;word-break:normal}
}

@media (max-width:390px){
  h1{font-size:30px!important}
  .navcta .btn{padding-left:12px!important;padding-right:12px!important}
  #mobileMenu>details>summary,#mobileMenu>a:not(.mobileClose){font-size:14.5px!important}
  #mobileMenu>details>div>a{font-size:13.5px!important}
}

@media (max-width:340px){
  .wrap{width:calc(100% - 20px)!important}
  .brand img{width:50px!important;max-height:50px!important}
  .navcta .btn{font-size:13px!important;padding:8px 10px!important}
  .menu{width:40px!important;height:40px!important}
  h1{font-size:27px!important}
  h2.sectionTitle,.sectionHead h2,.sectionhead h2,.ctabox h2,.regionTop h2,.panel h2,.business h2{font-size:24px!important}
}

@media (min-width:1280px){#mobileMenu.lorenz-mobile-panel{display:none!important}}

@media (prefers-reduced-motion:reduce){
  .menu::before,.menu::after{transition:none}
  html{scroll-behavior:auto}
}

/* Tablet-Härtung und nachträgliche QA-Korrekturen V2.3.1.1 */
#heroSeasonCard.sundayMode{
  height:auto!important;
  min-height:470px!important;
  overflow:visible!important;
}

@media (max-width:1279px){
  .heroGrid,.grid2,.stripgrid,.steps,.serviceGrid,.related,.citycards,.audience{min-width:0!important}
  .heroGrid>*,.grid2>*,.stripgrid>*,.steps>*,.serviceGrid>*,.related>*,.citycards>*,.audience>*{min-width:0!important;max-width:100%!important}
}

@media (min-width:720px) and (max-width:1099px){
  h1{
    font-size:clamp(40px,5.6vw,52px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  h2.sectionTitle,.sectionHead h2,.sectionhead h2,.ctabox h2,.regionTop h2,.panel h2,.business h2{
    font-size:clamp(30px,4.2vw,40px)!important;
    line-height:1.07!important;
  }
  .heroLead,.hero>.wrap p,.hero p{font-size:16.5px!important;line-height:1.5!important}
  #heroSeasonCard.sundayMode{min-height:0!important}
}

@media (max-width:719px){
  #heroSeasonCard.sundayMode{min-height:0!important}
  .audience>*{width:100%!important}
}

@media (max-width:1099px){
  #heroSeasonCard .heroCardTop{min-width:0!important;gap:8px!important}
  #heroSeasonCard .heroCardTop>div{min-width:0!important}
  #heroSeasonCard .auto{
    flex:0 1 auto!important;
    max-width:46%!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.15!important;
  }
}

/* Karten-/Leistungsrahmen explizit absichern, damit Browser-Cascades keine
   einzelne Leistungsauflistung rahmenlos darstellen. */
.serviceGrid .serviceCard,.related a,.steps .step{
  border-style:solid!important;
  border-width:1px!important;
  border-color:var(--line)!important;
}

/* V3.2 SEO intent blocks: bewusst großzügige Abstände, kein zusammenlaufender Keyword-Text */
.seoIntent .sectionhead p{max-width:78ch;line-height:1.72}
.seoIntent .intentGrid{gap:18px}
.seoIntent .intentGrid .panel{min-width:0}
.seoIntent .intentGrid h3,.seoIntent .intentGrid p{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.seoIntent .intentGrid p{line-height:1.68;margin-top:8px}
.areaBox{margin-top:18px;padding:16px 18px;border:1px solid var(--line,#d8d5cc);border-radius:16px;line-height:1.65}
.areaBox strong{display:block;margin-bottom:5px}
.related{gap:12px!important}
.related a{min-width:0;overflow-wrap:anywhere;line-height:1.35}
@media(max-width:480px){.seoIntent .intentGrid{gap:12px}.seoIntent .intentGrid .panel{padding:17px}.areaBox{padding:14px 15px}.seoIntent .sectionhead p{line-height:1.62}}

/* V33_USERQUESTIONS_CSS */
.userQuestions .sectionhead{margin-bottom:18px}
.userQuestions details.box{margin:0 0 12px}
.userQuestions details.box:last-child{margin-bottom:0}
.userQuestions summary{line-height:1.35;overflow-wrap:anywhere}
.userQuestions .detailbody p{line-height:1.65}
@media(max-width:480px){.userQuestions .sectionhead{margin-bottom:14px}.userQuestions details.box{margin-bottom:10px}.userQuestions summary{padding-right:30px}}

/* V3.4 Hornissen-Querverweis: klarer Abstand ohne zusätzliche Keyword-Wand */
.asianHornetCallout{padding-top:8px}
.asianHornetCallout .panel{min-width:0}
.asianHornetCallout h2,.asianHornetCallout p{overflow-wrap:anywhere}
.asianHornetCallout p{line-height:1.68}
@media(max-width:480px){.asianHornetCallout{padding-top:4px}.asianHornetCallout .panel{padding:17px}.asianHornetCallout .btn{white-space:normal;text-align:center}}


/* V4.0 – Herbst/SEO/Trust/Accessibility, 06.09.2026 */
html.lorenz-modal-locked,body.lorenz-modal-open{overflow:hidden!important}
body.lorenz-modal-open{position:fixed!important;left:0!important;right:0!important;width:100%!important;touch-action:none!important}
dialog#contactDialog[open]{overflow:hidden!important;overscroll-behavior:none!important}
#contactDialog .modal{max-height:min(90vh,760px)!important;max-height:min(90dvh,760px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable}
#contactDialog .modalTop{position:sticky!important;top:-1px!important;z-index:5!important;background:var(--paper,#fff)!important;padding-bottom:12px!important;margin-bottom:4px!important}
#contactDialog .close{margin-left:auto!important;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:31px!important;line-height:1!important;font-weight:650!important;cursor:pointer!important;touch-action:manipulation!important}
body.night #contactDialog .modalTop{background:#3b342d!important}

.langSwitch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper);white-space:nowrap;flex:none}
.langSwitch a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:0 7px;border-radius:999px;font-size:17px;line-height:1;text-decoration:none!important}
.langSwitch a[aria-current="page"]{background:var(--sage2,var(--sage));box-shadow:inset 0 0 0 1px rgba(64,105,77,.12)}
body.night .langSwitch{background:#3b342d;border-color:#5d5147}
body.night .langSwitch a[aria-current="page"]{background:#4b443b}
@media(max-width:520px){.langSwitch{gap:2px;padding:3px}.langSwitch a{min-width:31px;height:30px;padding:0 4px;font-size:15px}.navcta{gap:5px!important}.navcta>.btn{display:none!important}}

/* Redaktionelle Bildmodule */
.evidenceGrid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px}
.evidenceGrid.cols2{grid-template-columns:1fr}
.evidenceGrid.cols3{grid-template-columns:1fr}
.evidenceCard{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.05)}
.evidenceCard img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:cover;background:#eee}
.evidenceCard figcaption{padding:13px 15px 15px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.evidenceCard figcaption strong{display:block;color:var(--ink);margin-bottom:4px;font-size:14px}
.evidenceNote{margin-top:14px;padding:14px 16px;border-left:4px solid var(--green);background:var(--sage2,var(--sage));border-radius:0 14px 14px 0;line-height:1.6}
@media(min-width:720px){.evidenceGrid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.evidenceGrid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.night .evidenceCard{background:#3b342d;border-color:#5d5147}

/* Consumer protection / priority blocks */
.consumerShield{padding:22px;border:1px solid rgba(159,200,43,.45);border-radius:20px;background:linear-gradient(135deg,rgba(159,200,43,.12),rgba(159,200,43,.03));box-shadow:0 12px 34px rgba(0,0,0,.06)}
.consumerShield .badgeRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.consumerShield .warningBadge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#695333;color:#fff1d2;border:1px solid #8b7146;font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.consumerShield h2{margin:.2em 0 .35em}
.consumerShield p{max-width:82ch}
.focusLinks{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.focusLinks a{display:block;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);font-weight:850;line-height:1.25}
.focusLinks a span{display:block;margin-top:5px;color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.4}
@media(min-width:720px){.focusLinks{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.night .consumerShield,body.night .focusLinks a{background:#3b342d;border-color:#5d5147}

.localFocus{margin-top:18px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--sage2,var(--sage))}
.localFocus h2,.localFocus h3{margin-top:0}
.localFocus .related{margin-top:12px}

/* Statistik: Landingpages kompakt einklappbar */
.seoAccordionControls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
.seoLanding{border:1px solid #d9e0dc;border-radius:14px;background:#3b342e;margin:0 0 9px;overflow:hidden}
.seoLanding summary{list-style:none;cursor:pointer;padding:13px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.seoLanding summary::-webkit-details-marker{display:none}
.seoLanding summary:after{content:'+';font-size:24px;color:#41634f;grid-column:2;grid-row:1/3;align-self:center}
.seoLanding[open] summary:after{content:'–'}
.seoLandingSummary strong{display:block}.seoLandingSummary small{display:block;color:#66736b;margin-top:3px;overflow-wrap:anywhere}
.seoLandingBody{border-top:1px solid #e6ebe8;padding:14px 15px;background:#342e29}
.seoMetricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.seoMetric{padding:9px 10px;border:1px solid #e4e9e6;border-radius:10px;background:#3b342e}.seoMetric span{display:block;font-size:11px;color:#6b776f}.seoMetric b{display:block;margin-top:2px;font-size:16px}
@media(min-width:700px){.seoMetricGrid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* minimalistisches Saisonlogo */
.brand img.lorenz-season-logo{object-fit:contain!important;width:58px!important;max-height:56px!important}
@media(min-width:1280px){.brand img.lorenz-season-logo{width:68px!important;max-height:60px!important}}

/* V4.1: saisonale Markenbilder – Originalsymbol bleibt unverzerrt, Dekorationen bleiben im Bildrahmen. */
.brand img[data-seasonal-logo]{object-fit:contain!important;object-position:center!important}


/* V4.2.1 – Header-Fix: kein Gedränge/Überlappen auf kleinen Desktopbreiten.
   Unter 1180 px bewusst die kompakte Navigation nutzen; ab 1180 px volle Desktop-Navigation. */
@media (min-width:940px) and (max-width:1279px){
  .desktopnav{display:none!important}
  .menu{display:inline-grid!important}
  .navin{height:78px!important;gap:12px!important}
  .brand{flex:0 1 auto!important;min-width:0!important}
  .brand img{width:58px!important;max-height:58px!important}
  .brand img.lorenz-season-logo{width:58px!important;max-height:56px!important}
  .brand span{font-size:14px!important;line-height:1.05!important}
  .navcta{margin-left:auto!important;flex:0 0 auto!important}
}
@media (min-width:1280px){
  .navin{height:82px!important;gap:14px!important}
  .brand{flex:0 0 auto!important}
  .brand img{width:66px!important;max-height:62px!important}
  .brand img.lorenz-season-logo{width:68px!important;max-height:60px!important}
  .desktopnav{gap:clamp(12px,1.25vw,19px)!important;font-size:13.5px!important}
}


/* V4.3 – Bildführung, echte Flaggen und zusätzlicher Header-Sicherheitsabstand */
.evidenceSolo{max-width:900px;margin:24px auto 0}
.evidenceSoloNarrow{max-width:760px}
.evidenceSolo .evidenceCard{margin:0!important}
.evidenceSolo .evidenceCard img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:transparent}
.lorenz-evidence.evidence-early{padding-top:clamp(28px,4vw,58px)}
.langSwitch a img{display:block!important;width:28px!important;height:auto!important;border-radius:2px!important;box-shadow:0 0 0 1px rgba(0,0,0,.12)!important}
.langSwitch a{min-width:38px!important;padding:0 5px!important}
@media(max-width:520px){.langSwitch a{min-width:32px!important;padding:0 3px!important}.langSwitch a img{width:24px!important}}
@media (min-width:1280px){
  .navin{gap:18px!important}
  .brand{margin-right:10px!important}
  .desktopnav{gap:clamp(11px,1.05vw,18px)!important;margin-left:auto!important}
  .brand span{font-size:13px!important;line-height:1.05!important;max-width:150px!important}
  .brand img,.brand img.lorenz-season-logo{width:60px!important;max-height:58px!important}
}


/* V4.4 – Sprachstruktur, Header-Abstand, Monitoring-Priorität, Verbraucherschutz, Back-to-top */
.langSwitch{display:flex;align-items:center;gap:4px;flex:0 0 auto;margin-right:2px}
.langSwitch a{display:grid;place-items:center;width:36px;height:30px;padding:4px!important;border:1px solid var(--line);border-radius:8px;background:var(--paper);opacity:.82;transition:opacity .15s ease,transform .15s ease,border-color .15s ease}
.langSwitch a:hover,.langSwitch a[aria-current="page"]{opacity:1;transform:translateY(-1px);border-color:rgba(168,233,8,.45)}
.langSwitch a img{width:25px!important;height:16px!important;object-fit:cover!important;border-radius:2px!important;box-shadow:0 0 0 1px rgba(0,0,0,.12)!important}
.navmenu .monitoring-highlight,.mobilemenu .monitoring-highlight{font-weight:900!important;color:var(--ink)!important;background:linear-gradient(135deg,rgba(168,233,8,.16),rgba(168,233,8,.05))!important;border:1px solid rgba(168,233,8,.24)!important}
body.night .navmenu .monitoring-highlight,body.night .mobilemenu .monitoring-highlight{background:linear-gradient(135deg,rgba(189,219,116,.16),rgba(189,219,116,.04))!important;border-color:rgba(189,219,116,.22)!important}

/* Das breite Saisonmotiv darf den Markennamen / die Navigation nie überfahren. */
.brand{flex:0 0 auto!important;max-width:245px!important;overflow:visible!important}
.brand img,.brand img.lorenz-season-logo{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;object-fit:contain!important;flex:0 0 58px!important}
.brand span{min-width:122px!important;max-width:148px!important}
.desktopnav{margin-left:18px!important}
.navcta{margin-left:12px!important}
@media(min-width:1280px){
  .navin{gap:16px!important}
  .brand{margin-right:18px!important;max-width:238px!important}
  .desktopnav{gap:clamp(10px,.86vw,16px)!important;font-size:13px!important;margin-left:0!important}
  .navcta{margin-left:auto!important}
}
@media(min-width:940px) and (max-width:1279px){.brand{max-width:230px!important}}
@media(max-width:520px){.langSwitch{gap:2px}.langSwitch a{width:30px;height:27px;padding:3px!important}.langSwitch a img{width:22px!important;height:14px!important}.brand{max-width:132px!important}.brand img,.brand img.lorenz-season-logo{width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important;flex-basis:54px!important}}

.backToTop{position:fixed;z-index:59;right:16px;bottom:22px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 12px 36px rgba(0,0,0,.18);display:grid;place-items:center;font-size:22px;font-weight:900;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s ease}
.backToTop.visible{opacity:1;pointer-events:auto;transform:none}.backToTop:hover{transform:translateY(-2px)}
@media(max-width:719px){.backToTop{bottom:88px;right:14px;width:44px;height:44px}}


/* English layout polish: no cramped punctuation/line breaks, comfortable reading measure. */
html[lang^="en"] body{word-spacing:.015em}
html[lang^="en"] .heroLead,html[lang^="en"] .sectionhead p,html[lang^="en"] .panel p,html[lang^="en"] .detailbody{line-height:1.66}
html[lang^="en"] .heroActions{gap:10px 12px}
html[lang^="en"] .breadcrumbs{word-spacing:.08em}
html[lang^="en"] .navmenu a{line-height:1.28}
html[lang^="en"] .panel,html[lang^="en"] .heroCard,html[lang^="en"] .regionCard{padding:clamp(20px,3vw,25px)}
html[lang^="en"] .sectionhead{margin-bottom:24px}

/* Bildqualität: nichts strecken, keine ungeplanten weißen Kartenränder hinter freigestellten Markenbildern. */
.brand img[data-seasonal-logo]{background:transparent!important;filter:none!important}
.lorenz-evidence img{object-position:center!important}
.evidenceCard{overflow:hidden}
.evidenceCard img{background:transparent!important}

/* V4.4 consumer-protection page spacing */
body.consumer-page .hero{padding-bottom:56px}
body.consumer-page section.content{padding-block:clamp(44px,6vw,72px)}
body.consumer-page .sectionhead{max-width:850px;margin-bottom:28px}
body.consumer-page .steps{gap:14px}
body.consumer-page .step{padding:20px}
body.consumer-page .grid2{gap:18px}
body.consumer-page .panel{padding:clamp(22px,3vw,28px)}
body.consumer-page .focusLinks{gap:16px;margin-top:24px}
body.consumer-page .cta{padding-top:24px}
@media(max-width:719px){body.consumer-page .hero{padding-bottom:38px}body.consumer-page section.content{padding-block:38px}body.consumer-page .sectionhead{margin-bottom:20px}}


/* V4.6 SEO + TRUST + RESPONSIVE CONSISTENCY */
.seo46Authority,.seo46RegionalLinks,.seo46PriorityPlaces{position:relative}
.seo46Authority .sectionhead,.seo46RegionalLinks .sectionhead,.seo46PriorityPlaces .sectionhead{max-width:900px;margin-bottom:26px}
.seo46TrustGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.seo46TrustCard{height:100%;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 10px 30px rgba(31,53,43,.055)}
.seo46TrustCard h3{margin:0 0 10px;font-size:17px;line-height:1.28}
.seo46TrustCard p{margin:0;color:var(--muted);line-height:1.62}
.seo46ProofLinks{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.seo46ProofLinks a{font-weight:800;color:var(--green2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.seo46CityLinkGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.seo46CityLink{display:flex;flex-direction:column;gap:5px;min-height:94px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.seo46CityLink b{font-size:15px;line-height:1.3}.seo46CityLink span{font-size:13px;color:var(--muted)}
.seo46PlaceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.seo46PlaceCard{height:100%;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.seo46PlaceCard h3{margin:0 0 10px;font-size:20px}.seo46PlaceCard p{margin:0 0 16px;color:var(--muted);line-height:1.62}
.seo46MiniLinks{display:flex;flex-wrap:wrap;gap:8px}.seo46MiniLinks a{padding:7px 10px;border-radius:999px;background:var(--sage2);font-size:12px;font-weight:780}
/* Make existing common cards visually consistent without changing page structure. */
.grid2>.panel,.steps>.step,.related>a,.focusLinks>a,.citycards>.citycard{box-sizing:border-box}
.grid2{align-items:stretch}.grid2>.panel{height:100%}
/* Native-English reading rhythm: wider measure, less mechanical line wrapping. */
html[lang^="en"] .heroLead,html[lang^="en"] .sectionhead>p,html[lang^="en"] .seo46TrustCard p{max-width:72ch}
html[lang^="en"] h1,html[lang^="en"] h2,html[lang^="en"] h3{text-wrap:balance;hyphens:none;-webkit-hyphens:none}
html[lang^="en"] p{text-wrap:pretty}
@media(max-width:1050px){
 .seo46TrustGrid,.seo46CityLinkGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .seo46Authority .sectionhead,.seo46RegionalLinks .sectionhead,.seo46PriorityPlaces .sectionhead{margin-bottom:20px}
 .seo46PlaceGrid{grid-template-columns:1fr}
 .seo46TrustCard,.seo46PlaceCard{padding:20px}
}
@media(max-width:520px){
 .seo46TrustGrid,.seo46CityLinkGrid{grid-template-columns:1fr;gap:12px}
 .seo46TrustCard,.seo46PlaceCard,.seo46CityLink{padding:18px;border-radius:17px}
 .seo46CityLink{min-height:0}
 .seo46ProofLinks{display:grid;grid-template-columns:1fr;gap:9px;margin-top:16px;padding-top:16px}
 .seo46ProofLinks a{display:block;padding:7px 0}
 .seo46MiniLinks{gap:7px}.seo46MiniLinks a{font-size:11.5px}
}


/* V4.7 FINAL – Verbraucherschutz bewusst anklickbar, kombinierte EN-Flagge, konsistente Abstände */
.topnote .topnoteRow{min-height:36px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;text-align:left!important}
.topnoteRegion{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.consumerTopLink{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;padding:5px 10px;border:1px solid rgba(103,65,5,.32);border-radius:999px;background:#f4c15d;color:#3f2a08!important;font-weight:900;line-height:1.15;text-decoration:none;box-shadow:0 2px 9px rgba(0,0,0,.10)}
.consumerTopLink:hover{background:#b68437;transform:translateY(-1px)}
.mobilemenu .consumerMenuLink{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin-top:10px!important;padding:13px 14px!important;border:1px solid #d7a13a!important;border-radius:14px!important;background:#f4c15d!important;color:#3f2a08!important;font-weight:950!important;line-height:1.3!important}
.mobilemenu .consumerMenuLink::after{content:"→";font-size:18px;font-weight:900}
body.night .consumerTopLink,body.night .mobilemenu .consumerMenuLink{background:#d6a13e!important;color:#241906!important;border-color:#e5b65b!important}
.langSwitch{gap:6px!important}
.langSwitch a.englishCombined{width:38px!important}
.langSwitch a.englishCombined img{width:29px!important;height:16px!important;object-fit:cover!important}
/* Karten/Boxen: gleiche Innenabstände und kein horizontaler Textüberlauf. */
.heroCard,.panel,.serviceCard,.regionCard,.step,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink{min-width:0;overflow-wrap:break-word}
.heroCard p,.panel p,.serviceCard p,.regionCard p,.step p,.citycard span{max-width:100%}
@media(max-width:760px){
  .topnote .topnoteRow{justify-content:center!important;padding-block:4px!important}
  .topnoteRegion{display:none!important}
  .consumerTopLink{width:100%;max-width:430px;padding:7px 11px;border-radius:10px;white-space:normal;text-align:center}
}
@media(max-width:520px){
  .langSwitch a{width:31px!important;height:28px!important}
  .langSwitch a.englishCombined{width:37px!important}
  .consumerTopLink{font-size:11.5px}
  .mobilemenu .consumerMenuLink{padding:13px!important}
}

/* V4.7 FINAL – Desktop-Hero: rechte Wechselkachel darf nie von der H1 zusammengedrückt werden. */
.heroGrid>*{min-width:0!important}
#heroSeasonCard{width:100%!important;justify-self:stretch!important}
@media(min-width:1100px){
  .heroGrid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;gap:42px!important;align-items:center!important}
}
@media(min-width:1100px){
  .hero h1{font-size:clamp(52px,4.35vw,62px)!important;line-height:1.01!important;letter-spacing:-.045em!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
}
/* V4.7 FINAL – Desktopnavigation vollständig; Burger nur auf kompakteren Viewports. */
@media(min-width:1280px){
  .desktopnav{display:flex!important}
  .menu,#mobileMenu{display:none!important}
}


/* V4.8 FINAL LAYOUT QA — consistent cards, CTA colors, spacing and trust presentation */
:root{
  --lorenz-card-radius:22px;
  --lorenz-card-bg:var(--paper);
  --lorenz-soft-bg:#d8c2aa;
  --lorenz-soft-hover:#c9ae91;
  --lorenz-soft-ink:#2f261d;
}
body.night{
  --lorenz-soft-bg:#6a5849;
  --lorenz-soft-hover:#786352;
  --lorenz-soft-ink:#fff8ef;
}

/* Top bar is informational only; consumer protection no longer reads like a warning against Lorenz. */
.topnote .topnoteRow{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.topnoteRegion{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.consumerTopLink{display:none!important}

/* Consumer protection remains deliberately discoverable in the mobile menu, with a calm trust-oriented treatment. */
.mobilemenu .consumerMenuLink{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:10px!important;
  padding:13px 14px!important;
  border:1px solid #bca78f!important;
  border-radius:14px!important;
  background:var(--lorenz-soft-bg)!important;
  color:var(--lorenz-soft-ink)!important;
  font-weight:900!important;
  line-height:1.3!important;
}
.mobilemenu .consumerMenuLink::after{content:"→";font-size:18px;font-weight:900}

/* All recurring content cards use the same geometry and surface. Intentional emphasis components are excluded. */
.heroCard,.panel,.serviceCard,.regionCard,.step,.metric,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink,
details.box,.areaBox,.evidenceCard,.aboutCard,.contactbox{
  box-sizing:border-box!important;
  min-width:0!important;
  border-radius:var(--lorenz-card-radius)!important;
  border-color:var(--line)!important;
  background:var(--lorenz-card-bg)!important;
  overflow-wrap:break-word!important;
}
.panel.business{
  background:var(--green2)!important;
  border-color:var(--green2)!important;
}
.panel.business p{color:#dbe5de!important}
body.night .panel.business p{color:#e6eee8!important}

/* Consistent internal rhythm. */
.heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:22px!important}
.metric{padding:16px!important}
details.box summary{padding:18px!important;line-height:1.4!important}
details.box .detailbody{padding:0 18px 18px!important}
.heroCard h2,.panel h2,.panel h3,.serviceCard h3,.seo46TrustCard h3,.seo46PlaceCard h3{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.heroCard p,.panel p,.serviceCard p,.regionCard p,.step p,.seo46TrustCard p,.seo46PlaceCard p{line-height:1.62!important}
.heroActions{gap:10px!important;align-items:stretch!important}

/* CTA color system: phone/call actions green; secondary actions warm brown. */
a.btn[href^="tel:"],a.btn.primary[href^="tel:"]{
  background:var(--green)!important;
  border-color:var(--green)!important;
  color:#fff!important;
}
a.btn[href^="tel:"]:hover,a.btn.primary[href^="tel:"]:hover{background:var(--green2)!important}
a.btn.soft:not([href^="tel:"]),a.btn[data-open-contact]:not([href^="tel:"]){
  background:var(--lorenz-soft-bg)!important;
  border:1px solid rgba(91,70,49,.24)!important;
  color:var(--lorenz-soft-ink)!important;
}
a.btn.soft:not([href^="tel:"]):hover,a.btn[data-open-contact]:not([href^="tel:"]):hover{background:var(--lorenz-soft-hover)!important}
.ctabox a.btn[href^="tel:"]{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.ctabox a.btn.soft:not([href^="tel:"]){background:var(--lorenz-soft-bg)!important;color:var(--lorenz-soft-ink)!important;border-color:transparent!important}

/* Trust card in the English hero and consumer-protection state in the rotating German card. */
.consumerTrustHero .textlink{display:inline-flex;margin-top:16px}
#heroSeasonCard .season{border-radius:var(--lorenz-card-radius)!important}
#heroSeasonCard .season p{line-height:1.62!important}
#heroSeasonCard .dots{margin-top:14px!important}

/* Tablet/mobile: preserve breathing room and avoid compressed cards/buttons. */
@media(max-width:1050px){
  .heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:20px!important}
  .heroActions{flex-wrap:wrap!important}
  .heroActions .btn{min-height:46px!important}
}
@media(max-width:760px){
  .topnote .topnoteRow{padding:6px 0!important}
  .topnoteRegion{display:block!important;font-size:11.5px!important;line-height:1.45!important}
  .heroCard,.panel,.serviceCard,.regionCard,.step,.metric,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink,
  details.box,.areaBox,.evidenceCard,.aboutCard,.contactbox{border-radius:18px!important}
  .heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:18px!important}
  .heroActions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .heroActions .btn{width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important}
  .trust{row-gap:8px!important}
}
@media(max-width:420px){
  .heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:16px!important}
  details.box summary{padding:16px!important;gap:12px!important}
  details.box .detailbody{padding:0 16px 16px!important}
  .btn{padding-inline:14px!important}
}

/* V4.8 final: CTA priority must also win over legacy English CTA first-child rules. */
.ctabox .heroActions a.btn[href^="tel:"]:first-child,
.ctabox .heroActions a.btn.primary[href^="tel:"]:first-child{
  background:var(--green)!important;
  border-color:var(--green)!important;
  color:#fff!important;
}
.ctabox .heroActions a.btn[href^="tel:"]:first-child:hover,
.ctabox .heroActions a.btn.primary[href^="tel:"]:first-child:hover{
  background:var(--green2)!important;
}

/* V5.0 FINAL — permanent warm theme, card/spacing/CTA consistency */
:root{
  --bg:#2f2924;
  --paper:#3b342e;
  --ink:#f5efe7;
  --muted:#c9bdb2;
  --sage:#4e463d;
  --sage2:#443b33;
  --green:#58705b;
  --green2:#26382d;
  --line:#584d43;
  --lime:#bddb74;
  --warm:#40362e;
  --shadow:0 18px 55px rgba(0,0,0,.24);
  --lorenz-card-radius:22px;
  --lorenz-card-bg:#3b342e;
  --lorenz-card-soft:#443b33;
  --lorenz-soft-bg:#6a5849;
  --lorenz-soft-hover:#786352;
  --lorenz-soft-ink:#fff8ef;
}
html{color-scheme:dark!important;background:var(--bg)!important}
body{background:var(--bg)!important;color:var(--ink)!important;line-height:1.62!important}
header.nav{background:rgba(47,41,36,.97)!important;border-bottom-color:rgba(255,255,255,.08)!important}
.topnote{background:#241f1b!important;color:#f5efe7!important}
.mobilebar{background:rgba(47,41,36,.97)!important;border-color:var(--line)!important}
#mobileMenu.lorenz-mobile-panel{background:var(--bg)!important;border-color:var(--line)!important}
#mobileMenu .mobileClose{background:var(--bg)!important}

/* No light card surfaces anywhere in the public design. */
.navmenu,.menu,.langSwitch,.langSwitch a,.privacyFab,.privacyInfo,.backToTop,dialog,#contactDialog .modalTop,
.heroCard,.panel,.serviceCard,.regionCard,.step,.metric,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink,
details.box,.areaBox,.evidenceCard,.aboutCard,.contactbox,.focusLinks a,.related a,.citychips span,.servicechips a,
.localFocus,.captchaQuestion{
  background:var(--paper)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
.region{background:var(--warm)!important}
.season,.navmenu a:hover,.navmenu .all,.related a:hover,.servicechips a:hover,.langSwitch a[aria-current="page"],
.textlink,.evidenceNote{background:var(--sage2)!important}
#heroSeasonCard .season{background:var(--sage2)!important}
.panel.business,.ctabox{background:var(--green2)!important;border-color:var(--green2)!important;color:var(--ink)!important}
.panel.business p,.ctabox p{color:#e4ddd5!important}
.consumerShield{background:linear-gradient(135deg,rgba(189,219,116,.10),rgba(88,112,91,.06))!important;border-color:rgba(189,219,116,.28)!important}
.consumerShield .warningBadge{background:#695333!important;color:#fff1d2!important;border-color:#8b7146!important}

/* Typography and editorial rhythm. */
p,li,.detailbody,.sectionHead p,.sectionhead p,.heroLead,.hero p{line-height:1.66!important}
p{margin-top:0}
h1,h2,h3{word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;text-wrap:balance}
html[lang^="en"] p{word-spacing:normal!important;text-wrap:pretty}
html[lang^="en"] h1,html[lang^="en"] h2,html[lang^="en"] h3{hyphens:none!important;-webkit-hyphens:none!important}
.sectionHead,.sectionhead{margin-bottom:clamp(20px,2.4vw,28px)!important}
.sectionHead h2,.sectionhead h2{margin-top:7px!important;margin-bottom:12px!important}
.heroActions{gap:10px 12px!important}
.trust{gap:8px 11px!important;line-height:1.45!important}
.breadcrumbs{line-height:1.45!important}

/* Balanced section spacing at desktop, tablet, and mobile sizes. */
section{padding-block:clamp(44px,5.5vw,70px)!important}
.hero{padding-top:clamp(42px,5.5vw,68px)!important;padding-bottom:clamp(28px,3.5vw,42px)!important}
.strip{padding-top:14px!important;padding-bottom:clamp(38px,5vw,56px)!important}
.cta{padding-top:clamp(42px,5vw,62px)!important;padding-bottom:clamp(64px,7vw,88px)!important}
.heroGrid,.grid2,.serviceGrid,.steps,.related,.audience,.seo46TrustGrid,.seo46PlaceGrid,.seo46CityLinkGrid{gap:clamp(14px,2vw,20px)!important}

/* One card geometry system; content cards stay visually distinct from the page background. */
.heroCard,.panel,.serviceCard,.regionCard,.step,.metric,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink,
details.box,.areaBox,.evidenceCard,.aboutCard,.contactbox,.focusLinks a,.related a{
  border-style:solid!important;
  border-width:1px!important;
  border-radius:var(--lorenz-card-radius)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.10)!important;
  min-width:0!important;
}
.heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:22px!important}
.metric,.citycard,.seo46CityLink{padding:17px!important}
details.box summary{padding:18px!important;line-height:1.42!important}
details.box .detailbody{padding:0 18px 18px!important}
.heroCard h2,.panel h2,.panel h3,.serviceCard h3,.seo46TrustCard h3,.seo46PlaceCard h3{margin-top:0}
.heroCard p:last-child,.panel p:last-child,.serviceCard p:last-child,.regionCard p:last-child,.step p:last-child{margin-bottom:0!important}

/* CTA hierarchy: calls are green; contact/request actions are warm brown. */
.btn{border-radius:999px!important;min-height:46px!important;line-height:1.25!important}
a.btn[href^="tel:"],a.btn.primary[href^="tel:"],.ctabox .heroActions a.btn[href^="tel:"]{
  background:var(--green)!important;color:#fff!important;border:1px solid var(--green)!important;
}
a.btn[href^="tel:"]:hover,a.btn.primary[href^="tel:"]:hover,.ctabox .heroActions a.btn[href^="tel:"]:hover{background:#48614c!important;border-color:#48614c!important}
a.btn.soft:not([href^="tel:"]),a.btn[data-open-contact]:not([href^="tel:"]),.ctabox .heroActions a.btn.soft:not([href^="tel:"]){
  background:var(--lorenz-soft-bg)!important;color:var(--lorenz-soft-ink)!important;border:1px solid #7a6655!important;
}
a.btn.soft:not([href^="tel:"]):hover,a.btn[data-open-contact]:not([href^="tel:"]):hover{background:var(--lorenz-soft-hover)!important}
.ctabox .heroActions .btn:first-child,.ctabox .heroActions .btn:last-child{box-shadow:0 8px 24px rgba(0,0,0,.16)!important}

/* Forms use the same permanent warm surface instead of browser-white fields. */
.formgrid input,.formgrid select,.formgrid textarea,#contactDialog input,#contactDialog select,#contactDialog textarea,#formular input,#formular select,#formular textarea{
  background:#342e29!important;color:var(--ink)!important;border-color:var(--line)!important;border-radius:15px!important;
}
.formgrid input::placeholder,.formgrid textarea::placeholder,#contactDialog input::placeholder,#contactDialog textarea::placeholder,#formular input::placeholder,#formular textarea::placeholder{color:#a99d92!important;opacity:1!important}
.close{background:var(--sage2)!important;color:var(--ink)!important}

/* Mobile: comfortable line lengths, stable cards, no cramped button or heading rows. */
@media(max-width:760px){
  body{font-size:15.5px!important;line-height:1.6!important}
  .wrap{width:min(var(--max),calc(100% - 28px))!important}
  section{padding-block:38px!important}
  .hero{padding-top:38px!important;padding-bottom:28px!important}
  .heroGrid,.grid2,.serviceGrid,.steps,.related,.audience,.seo46TrustGrid,.seo46PlaceGrid,.seo46CityLinkGrid{gap:14px!important}
  h1{font-size:clamp(30px,8.4vw,38px)!important;line-height:1.06!important;letter-spacing:-.035em!important}
  h2.sectionTitle,.sectionHead h2,.sectionhead h2,.ctabox h2,.regionTop h2,.panel h2,.business h2{font-size:clamp(25px,7vw,33px)!important;line-height:1.1!important}
  h3{line-height:1.22!important}
  .heroLead,.hero>.wrap p,.hero p,.sectionHead p,.sectionhead p{font-size:15.5px!important;line-height:1.62!important}
  .heroCard,.panel,.serviceCard,.regionCard,.step,.metric,.citycard,.seo46TrustCard,.seo46PlaceCard,.seo46CityLink,details.box,.areaBox,.evidenceCard,.aboutCard,.contactbox,.focusLinks a,.related a{border-radius:18px!important}
  .heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:18px!important}
  .metric,.citycard,.seo46CityLink{padding:16px!important}
  .heroActions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .heroActions .btn{width:100%!important;min-width:0!important;white-space:normal!important;padding:12px 14px!important}
  .trust{row-gap:8px!important}
  #heroSeasonCard{height:auto!important;min-height:0!important}
  #heroSeasonCard .heroCardTop{min-height:0!important}
  #heroSeasonCard .season{min-height:0!important;padding:17px!important}
  .topnoteRegion{font-size:11px!important;line-height:1.4!important}
}
@media(max-width:420px){
  .wrap{width:calc(100% - 24px)!important}
  h1{font-size:clamp(28px,8.7vw,34px)!important}
  .heroCard,.panel,.serviceCard,.regionCard,.step,.seo46TrustCard,.seo46PlaceCard,.aboutCard,.contactbox{padding:16px!important}
  details.box summary{padding:16px!important}
  details.box .detailbody{padding:0 16px 16px!important}
}

/* V5.0 QA patch — catch legacy compound surfaces and internal statistic cards. */
.business.soft,.ctabox.soft,.seoLanding,.seoLandingBody,.seoMetric{
  background:var(--paper)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
.seoLandingSummary small,.seoMetric span{color:var(--muted)!important}
