.window-hero{background:var(--page);padding:20px 0 48px}
.window-hero .breadcrumbs{margin-bottom:25px}
.window-hero-grid{display:grid;gap:32px;align-items:center}
.window-hero .eyebrow{font-size:9px;letter-spacing:1.2px}
.window-hero h1{font-size:clamp(34px,9.5vw,42px);line-height:1.1;letter-spacing:-1.6px}
.window-lead{font-size:15px;line-height:1.85;color:var(--muted);max-width:590px;margin:24px 0}
.window-phone{font-size:12px;color:var(--muted);margin:20px 0 0;line-height:1.8}
.window-phone a{font-weight:700;color:var(--ink)}
.window-hero-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.window-jump-links{display:flex;gap:5px 24px;flex-wrap:wrap;padding-block:21px;font-size:12px}
.window-jump-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}
.window-jump-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.window-section{padding:52px 0 60px;background:#fff}
.window-soft{background:var(--page)}
.window-section h2{font-size:33px;line-height:1.2;letter-spacing:-.8px;margin:0 0 22px}
.window-section h2 em{font-weight:400}
.window-section p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 19px}
.window-section .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:18px;color:var(--ink)}
.window-section-heading{max-width:690px;margin-bottom:32px}
.window-section-heading>p:last-child{max-width:580px}
.window-problem-grid{display:grid;gap:28px}
.window-problem-grid article>i{font-size:26px;color:#957000;margin-bottom:15px}
.window-section h3{font-family:"Trebuchet MS",sans-serif;font-size:21px;letter-spacing:-.3px;line-height:1.3;margin:0 0 13px}
.window-two-col{display:grid;gap:30px}
.window-service-list{margin:0;display:grid;gap:26px}
.window-service-list dt{font-family:"Trebuchet MS",sans-serif;font-size:20px;font-weight:700;line-height:1.4;margin-bottom:9px}
.window-service-list dd{margin:0;font-size:14px;line-height:1.85;color:var(--muted)}
.window-decision ul{padding-left:19px;font-size:14px;line-height:1.8;color:var(--muted);margin:20px 0}
.window-decision li{padding-left:4px;margin-bottom:9px}
.window-decision li::marker{color:#957000}
.window-steps{display:grid;gap:28px;margin:0;padding:0;list-style:none}
.window-steps li>span{display:block;font-family:"Trebuchet MS",sans-serif;font-size:40px;color:#957000;margin-bottom:18px}
.window-service-page .manufacturers-copy p{text-transform:none;font-size:14px;line-height:1.85}
@media(min-width:640px){.window-hero h1{font-size:54px}.window-hero-image{max-height:480px}.window-section{padding:70px 0}.window-section h2{font-size:40px}.window-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 45px}.window-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}}
@media(min-width:1100px){.window-hero{padding-bottom:65px}.window-hero-grid{grid-template-columns:1.05fr 1fr;gap:62px}.window-hero h1{font-size:clamp(48px,4.4vw,64px)}.window-hero-image{aspect-ratio:1/1;height:auto;max-height:none;object-position:65% center}.window-hero .eyebrow{font-size:10px}.window-section{padding:85px 0}.window-section h2{font-size:44px}.window-two-col{grid-template-columns:1fr 1fr;gap:90px}.window-section-heading{margin-bottom:45px}.window-problem-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.window-problem-grid h3{font-size:21px}.window-steps{gap:65px}}

.window-hero-grid>*{min-width:0}
.sliding-service-page .window-hero h1 .light-title{font-size:.78em}
.sliding-service-page .window-hero-image{object-position:46% center}

/* Emergency service hero: make the two contact actions distinct and easy to tap. */
.emergency-hero-actions{align-items:stretch;gap:12px}
.emergency-hero-button{width:100%;min-height:72px;justify-content:space-between;gap:18px;text-align:left;padding:13px 18px}
.emergency-hero-button>span{display:block;font-size:13px;line-height:1.35}
.emergency-hero-button small{display:block;margin-top:4px;font-size:12px;font-weight:500;letter-spacing:.1px}
.emergency-hero-button>.fa-solid,.emergency-hero-button>.fa-brands{flex:0 0 auto;font-size:19px}
.emergency-hero-whatsapp{background:#20313b;color:#fff;transition:background .18s,transform .18s}
.emergency-hero-whatsapp:hover{background:#314955;color:#fff;transform:translateY(-2px)}
.emergency-hero-whatsapp small{color:#d4dee2}
.emergency-hero-whatsapp>.fa-brands{color:#f5c518}
@media(min-width:640px){.emergency-hero-actions{align-items:center}.emergency-hero-button{width:auto;min-width:235px}.emergency-hero-whatsapp{min-width:265px}}
.emergency-hero-button{display:flex;flex-direction:row}
.emergency-hero-button>span{display:block!important}
.emergency-hero-button small{display:block!important}
@media(min-width:640px){.emergency-hero-actions{max-width:570px}.emergency-hero-button{width:calc(50% - 6px);min-width:0;flex:1 1 240px}}

/* Authentic FensterFix project photos on the emergency service page. */
.window-work-section{background:var(--page)}
.window-work-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px}
.window-work-gallery figure{min-width:0;margin:0}
.window-work-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 44%}
.window-work-gallery figcaption{display:grid;gap:6px;padding-top:15px}
.window-work-gallery figcaption strong{font-family:"Trebuchet MS",sans-serif;font-size:17px;color:var(--ink)}
.window-work-gallery figcaption span{font-size:13px;line-height:1.7;color:var(--muted)}

/* Local landing page service directory */
.district-service-grid{display:grid;gap:38px}
.district-service-group>i{display:block;margin:0 0 15px;color:#957000;font-size:25px}
.district-service-group h3{margin:0 0 11px;font-family:"Trebuchet MS",sans-serif;font-size:24px;line-height:1.3;color:var(--ink)}
.district-service-group>p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.8}
.district-service-group ul{margin:0;padding:0;list-style:none}
.district-service-group li{margin:0}
.district-service-group li a{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:14px;font-size:13px;font-weight:700;line-height:1.55}
.district-service-group li a:hover{text-decoration:underline;text-underline-offset:4px}
.district-service-group li a i{flex:0 0 auto;color:#957000}
@media(min-width:640px){.district-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}}
@media(min-width:1100px){.district-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}}

/* Price overview for the Offenbach-Zentrum landing page */
.district-pricing{scroll-margin-top:110px}
.district-pricing .window-section-heading{max-width:690px;margin:0 0 32px;text-align:left}
.district-pricing .window-section-heading>p{max-width:580px;margin-left:0;margin-right:0}
.district-price-grid{display:grid;gap:20px;align-items:stretch}
.district-price-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:24px 21px;background:#fff;border-radius:14px;box-shadow:0 10px 28px #172a350d}
.district-price-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.district-price-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:#edf1f6;color:var(--ink);font-size:17px}
.district-price-amount{display:flex;flex-direction:column;align-items:flex-end;text-align:right;color:#718096}
.district-price-amount small{font-size:9px;font-weight:800;letter-spacing:.08em}
.district-price-amount strong{color:var(--ink);font-size:25px;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.district-price-amount span{font-size:10px;line-height:1.4}
.district-price-card h3{margin:0 0 10px;font-family:"Trebuchet MS",sans-serif;font-size:19px;line-height:1.25;color:var(--ink)}
.district-price-card>p{margin:0 0 16px;color:#53616a;font-size:13px;line-height:1.65}
.district-price-card ul{display:grid;gap:9px;margin:0 0 19px;padding:0;list-style:none;color:#596770;font-size:12px;line-height:1.45}
.district-price-card li{display:grid;grid-template-columns:13px minmax(0,1fr);gap:8px;align-items:start}
.district-price-card li i{margin-top:2px;color:#398c68;font-size:11px}
.district-price-button{display:flex;min-height:44px;align-items:center;justify-content:center;margin-top:auto;padding:10px 15px;border:2px solid #263e5c;border-radius:8px;color:#263e5c;font-size:12px;font-weight:700;text-align:center;transition:background .2s ease,color .2s ease}
.district-price-button:hover{background:#263e5c;color:#fff}
.district-price-featured{padding-top:31px;background:#1e3858;color:#fff;box-shadow:0 18px 36px #172a3526}
.district-price-featured .district-price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:6px 13px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:10px;font-weight:800;white-space:nowrap}
.district-price-featured .district-price-icon{background:#ffffff20;color:#fff}
.district-price-featured .district-price-amount,.district-price-featured .district-price-amount strong,.district-price-featured h3{color:#fff}
.district-price-featured>p,.district-price-featured ul{color:#e0e7ed}
.district-price-featured li i{color:#7de2ad}
.district-price-featured .district-price-button{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}
.district-price-featured .district-price-button:hover{background:#fff;border-color:#fff}
.district-travel-note{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;margin-top:26px;padding:18px;background:#fff;border-radius:14px;box-shadow:0 8px 24px #172a3509}
.district-travel-note strong{display:block;font-size:13px;line-height:1.45;color:var(--ink)}
.district-travel-note p{margin:4px 0 0;font-size:11px;line-height:1.6;color:#596770}
.district-travel-note>a{grid-column:1/-1;display:flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.district-travel-note>a:hover{background:#2e4a64}
@media(min-width:640px){.district-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.district-price-card{padding:26px 22px}.district-price-featured{padding-top:33px}.district-travel-note{grid-template-columns:42px minmax(0,1fr) auto;padding:18px 22px}.district-travel-note>a{grid-column:auto;min-width:150px}}
@media(min-width:1100px){.district-price-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.district-price-card{padding:23px 19px}.district-price-featured{transform:translateY(-9px);padding-top:32px}.district-price-card h3{font-size:17px}.district-price-card>p{font-size:12px}.district-price-card ul{font-size:11px;gap:8px}.district-price-button{font-size:11px}.district-travel-note{margin-top:24px;padding:17px 20px}}
@media(prefers-reduced-motion:reduce){.district-price-button{transition:none}}

/* Urgent-contact banner for the Zentrum landing page */
.district-emergency-cta{scroll-margin-top:110px;padding:52px 0;background:var(--ink);color:#fff}
.district-emergency-layout{display:grid;gap:28px;align-items:center}
.district-emergency-copy .eyebrow{margin:0 0 15px;color:var(--yellow);font-size:10px;font-weight:700;letter-spacing:1.2px}
.district-emergency-copy h2{margin:0 0 17px;color:#fff;font-size:clamp(27px,7vw,39px);line-height:1.17;letter-spacing:-.035em}
.district-emergency-copy h2 em{color:var(--yellow);font-weight:400}
.district-emergency-copy>p:not(.eyebrow){max-width:590px;margin:0;color:#dbe2e8;font-size:14px;line-height:1.8}
.district-emergency-links{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:21px}
.district-emergency-links a{display:inline-flex;min-height:42px;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:700}
.district-emergency-links a i{color:var(--yellow);font-size:10px}
.district-emergency-links a:hover{text-decoration:underline;text-underline-offset:4px}
.district-emergency-actions{display:grid;gap:10px}
.district-emergency-call{display:flex;min-height:72px;align-items:center;justify-content:center;gap:14px;padding:14px 18px;background:var(--yellow);color:var(--ink)}
.district-emergency-call>i{font-size:18px}
.district-emergency-call small,.district-emergency-call strong{display:block}
.district-emergency-call small{margin-bottom:4px;font-size:11px;font-weight:600}
.district-emergency-call strong{font-size:19px;letter-spacing:-.02em;white-space:nowrap}
.district-emergency-call:hover{background:#ffdc52}
.district-emergency-whatsapp{display:flex;min-height:44px;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:13px;font-weight:700}
.district-emergency-whatsapp i{color:#75dda5;font-size:17px}
.district-emergency-whatsapp:hover{text-decoration:underline;text-underline-offset:4px}
.district-emergency-actions>p{margin:0;color:#cbd5dc;font-size:11px;line-height:1.6;text-align:center}
@media(min-width:640px){.district-emergency-cta{padding:62px 0}.district-emergency-layout{gap:32px}.district-emergency-actions{max-width:360px}.district-emergency-actions>p{text-align:left}}
@media(min-width:1100px){.district-emergency-cta{padding:70px 0}.district-emergency-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:70px}.district-emergency-copy h2{font-size:42px}.district-emergency-actions{justify-self:end;width:100%}}

/* Matching corner radius for service and district call-to-action buttons */
.emergency-hero-button,.district-emergency-call{border-radius:8px}
