/* Scoped repairs for existing service templates; homepage art direction is unchanged. */
.seo-grid>*,.seo-faq-grid>*,.seo-contact-grid>*,.seo-section-grid>*,.heating-contact-grid>*{min-width:0}
.seo-hero h1,.seo-section h2,.seo-topic h3,.seo-faq h2,.seo-contact-card h2,.seo-cta h2{overflow-wrap:anywhere;hyphens:auto}
.seo-lead,.seo-topic,.seo-faq summary,.seo-contact-consent,.seo-sources a,.seo-link-pill{overflow-wrap:anywhere}
.seo-list li>span{min-width:0}
.seo-list i,.seo-button i{flex:none}
.seo-button{min-height:48px;justify-content:center;line-height:1.45;max-width:100%;white-space:normal}
.seo-button:focus-visible,.seo-link-pill:focus-visible,.seo-faq summary:focus-visible{outline:3px solid #ffb52a;outline-offset:4px}
.seo-personal-note{margin-top:22px;margin-bottom:0}
.seo-card img{aspect-ratio:auto;height:auto;max-height:370px;object-fit:contain;object-position:center}
.seo-contact{scroll-margin-top:24px}
.seo-contact-person img{display:block;height:auto;max-height:640px;object-fit:contain;background:#eef3f7}
.seo-contact-card input,.seo-contact-card textarea{min-width:0;font-size:16px!important}
.seo-contact-consent input{flex:none;width:19px;height:19px}
.seo-contact-consent>span{min-width:0}
.seo-contact-form button{width:100%;border:0}
@media(max-width:991px){
 .seo-hero h1{font-size:clamp(30px,5.1vw,41px)!important;line-height:1.13;letter-spacing:-.025em}
 .seo-section h2,.seo-faq h2,.seo-cta h2,.seo-contact-card h2{font-size:clamp(26px,4.5vw,34px)!important;line-height:1.2;letter-spacing:-.025em}
 .seo-topic h3{font-size:21px!important;line-height:1.3}
}
@media(max-width:900px){
 .seo-grid,.seo-faq-grid,.seo-contact-grid{grid-template-columns:minmax(0,1fr)}
 .seo-hero{min-height:0;padding:32px 0;background:#102b3c;color:#fff}
 .seo-hero .container,.seo-section .container,.seo-faq .container,.seo-contact .container,.seo-cta .container{width:100%;max-width:720px;padding-left:20px;padding-right:20px}
 .seo-grid{gap:24px}
 .seo-hero .seo-eyebrow{color:#ffc16e;font-size:11px;margin-bottom:13px}
 .seo-hero h1{margin-bottom:18px}
 .seo-hero .seo-lead{font-size:16px!important;line-height:1.75;color:#dce6eb}
 .seo-hero .seo-personal-note{font-size:14px!important;line-height:1.7;color:#c7d6df;margin-top:20px}
 .seo-hero .seo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
 .seo-hero .seo-button{font-size:14px;padding:13px 12px;border-radius:8px;font-weight:750}
 .seo-hero .seo-button--primary{background:#ffad27;color:#112b3b}
 .seo-hero .seo-button--ghost{background:#ffffff08;color:#fff;border-color:#8fa6b6}
 .seo-card{display:block;padding:18px;border-radius:12px;box-shadow:none;color:#112b3b}
 .seo-card img{max-height:260px;margin:0 auto 18px}
 .seo-list{gap:10px}
 .seo-list li{font-size:14px;line-height:1.6}
 .seo-section,.seo-faq{padding:42px 0}
 .seo-section-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px}
 .seo-topic{padding:22px;border-radius:10px;box-shadow:none}
 .seo-topic p,.seo-faq p{font-size:16px!important;line-height:1.75}
 .seo-topic p:last-child{margin-bottom:0}
 .seo-links{display:grid;grid-template-columns:minmax(0,1fr);margin-top:22px;gap:10px}
 .seo-link-pill{display:flex;border-radius:8px;min-height:46px;padding:12px 16px;font-size:14px;line-height:1.5}
 .seo-faq-grid{gap:16px}
 .seo-faq summary{font-size:16px;line-height:1.55;padding-right:8px}
 .seo-contact{padding:26px 0 38px}
 .seo-contact-grid{gap:22px}
 .seo-contact-card{order:-1;padding:24px 20px;box-shadow:0 6px 24px #07233f0b}
 .seo-contact-person{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;overflow:visible;box-shadow:none;padding:16px;gap:15px}
 .seo-contact-person img{width:92px;height:auto;max-height:none;border-radius:8px}
 .seo-contact-person figcaption{padding:0;font-size:13px;line-height:1.65;min-width:0;overflow-wrap:anywhere}
 .seo-contact-form__row{grid-template-columns:minmax(0,1fr)}
 .seo-contact-consent{font-size:13px;line-height:1.65}
 .seo-cta{padding:36px 0}
 .heating-contact-grid{gap:24px}
}
@media(max-width:370px){
 .seo-hero .container,.seo-section .container,.seo-faq .container,.seo-contact .container,.seo-cta .container{padding-left:16px;padding-right:16px}
 .seo-hero .seo-actions{grid-template-columns:minmax(0,1fr)}
 .seo-hero .seo-button{min-height:48px}
 .seo-contact-card{padding:22px 16px}
 .seo-contact-person{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:14px}
 .seo-contact-person img{width:68px}
}
/* Long German service names must not enlarge the mobile B2B grid track. */
.b2b-hero__grid>*,.b2b-hero__copy,.b2b-contact__grid>*{min-width:0}
.b2b-hero h1{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:767px){.b2b-hero h1{font-size:clamp(30px,5.2vw,41px)!important;line-height:1.15}}

/* 2026-09-07: prevent verified long-word clipping in existing content layouts. */
.blog-card h2,
.legal-page h1,.legal-page h2,.legal-page h3,
.policy-wrap h1,.policy-wrap h2,.policy-wrap h3,
.service-shell h2,.service-shell h3 {
  hyphens:auto;
  overflow-wrap:anywhere;
}

/* Bootstrap's default .btn color was unreadable on the dark footer. */
.footer-col .btn-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  padding:10px 16px;
  white-space:normal;
  color:#102b3c;
  background:#ffad27;
  border:1px solid #ffad27;
  font-weight:700;
}
.footer-col .btn-cta:hover {
  color:#102b3c;
  background:#ffc16e;
  border-color:#ffc16e;
}
.footer-col .btn-cta:focus-visible {
  outline:3px solid #fff;
  outline-offset:4px;
}

/* Match card heading size to the four-column blog grid, overriding the global h2 rule. */
.blog-card h2 {
  font-size:clamp(22px,1.7vw,26px)!important;
  line-height:1.25;
}

/* Keep the description clear of the overlapping policy card after heading wraps. */
.policy-wrap .policy-hero { padding:36px 0 78px; }
@media(max-width:768px) {
  .policy-wrap .policy-hero { padding:28px 0 62px; }
  .policy-wrap .policy-hero h1 { font-size:clamp(30px,8vw,45px)!important; line-height:1.12; }
}

/* The legacy proof row needs a wrap between its phone and desktop breakpoints. */
@media(min-width:769px) and (max-width:1100px) {
  .bottom-proof .proof-inner { flex-wrap:wrap; justify-content:center; gap:20px; }
  .bottom-proof .proof-media-logos { flex-wrap:wrap; min-width:0; justify-content:center; }
}

/* Preserve the intended B2B card heading size against the global h3 override. */
.b2b-segment h3 {
  font-size:1.18rem!important;
  hyphens:auto;
  overflow-wrap:anywhere;
}

/* Four footer groups fit on one desktop row; tablets use two balanced columns. */
@media(min-width:1101px) {
  .footer .footer-content {
    grid-template-columns:minmax(220px,1.15fr) minmax(180px,1fr) minmax(190px,1fr) minmax(175px,.85fr);
    gap:28px;
  }
}
@media(min-width:769px) and (max-width:1100px) {
  .footer .footer-content {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
  }
}
