/* Real photography, editorial layouts. No tracking, scripts or external image requests. */
.editorial-section{padding-block:clamp(38px,6vw,76px);clear:both}
.editorial-section>h2{max-width:850px;margin:0 0 28px;font-size:clamp(28px,3.5vw,46px);line-height:1.14;letter-spacing:-.035em;color:#172635}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.editorial-photo{margin:0;min-width:0;overflow:hidden;border-radius:14px;background:#eef1ed;border:1px solid #dde3df}
.editorial-photo>img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .5s ease}
.editorial-photo>figcaption{padding:17px 19px;font-size:16px;line-height:1.5;font-weight:550;color:#33444d;overflow-wrap:break-word}
.editorial-grid:has(>.editorial-photo:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.editorial-grid:has(>.editorial-photo:only-child){grid-template-columns:1fr}
.editorial-grid>.editorial-photo:only-child{display:grid;grid-template-columns:1.5fr 1fr;align-items:center}
.editorial-grid>.editorial-photo:only-child>img{height:330px}
.editorial-grid>.editorial-photo:only-child>figcaption{padding:32px;font-size:clamp(21px,2.6vw,31px);line-height:1.3}
.editorial-grid:has(>.editorial-photo:nth-child(4):last-child),.editorial-grid:has(>.editorial-photo:nth-child(8):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.editorial-grid:has(>.editorial-photo:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
.editorial-grid:has(>.editorial-photo:nth-child(5):last-child)>.editorial-photo{grid-column:span 2}
.editorial-grid:has(>.editorial-photo:nth-child(5):last-child)>.editorial-photo:nth-child(n+4){grid-column:span 3}
.editorial-photo img[src*="radiator-measure"]{object-position:center 38%}
.editorial-photo img[src*="gas-control"]{object-fit:contain;background:#e9e8e2}
.editorial-photo img[src*="bath-daylight"]{object-position:center 69%}
.editorial-photo img[src*="bath-wood"]{object-position:center 69%}
.editorial-photo img[src*="craftswoman"]{object-position:center 25%}
.editorial-photo img[src*="project-cost"]{object-position:center 40%}
.editorial-surface{position:relative;isolation:isolate;overflow:hidden;background:#172635!important;color:white!important}
.editorial-surface>.editorial-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:1}
.editorial-surface:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,31,43,.94),rgba(14,31,43,.74) 55%,rgba(14,31,43,.42))}
.editorial-surface h2,.editorial-surface h3,.editorial-surface p,.editorial-surface .eyebrow,.editorial-surface a:not(.button),.editorial-surface small{color:#fff!important}
.editorial-surface .button{background:#fff!important;color:#172635!important;border-color:white!important}
.editorial-surface .clarity-steps article{border-color:#ffffff50}
.editorial-divider{height:220px;border-radius:14px;overflow:hidden;margin-block:20px 36px;background:#172635}
.editorial-divider>img{width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-credits{max-width:1180px;margin:24px auto 64px;padding:24px;border:1px solid #dde3df;border-radius:12px}
.editorial-credits summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}
.editorial-credits ul{columns:2;column-gap:40px;padding-left:20px}
.editorial-credits li{break-inside:avoid;margin-bottom:12px;line-height:1.6;font-size:15px}
/* Retain the existing background motifs, but let their photographs become visible. */
main.photo-about .page-intro{background-image:linear-gradient(90deg,#f7f8f5f7 0%,#f7f8f5e3 52%,#f7f8f575 100%),url('berlin-facade-photo.jpg')}
main.photo-contact .page-intro{background-image:linear-gradient(90deg,#f7f8f5f7 0%,#f7f8f5e0 52%,#f7f8f570 100%),url('spreewald-photo.jpg')}
main.photo-gas .contact-band{background-image:linear-gradient(90deg,#f1eee8f5,#f1eee8df 65%,#f1eee899),url('copper-detail-photo.jpg')}
.photo-sanitary .contact-band{background-image:linear-gradient(100deg,#f5f6f2fa,#f5f6f2dd 55%,#f5f6f28a),url('berlin-basins-photo.jpg')}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.editorial-photo:hover>img{transform:scale(1.025)}}
@media(max-width:800px){.editorial-grid{gap:18px}.editorial-photo>img{height:240px}.editorial-photo>figcaption{padding:15px;font-size:15px}.editorial-section>h2{margin-bottom:23px}.editorial-credits{margin-inline:20px}.editorial-credits ul{columns:1}}
@media(max-width:600px){.editorial-grid,.editorial-grid:has(>.editorial-photo:nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.editorial-grid:has(>.editorial-photo:nth-child(5):last-child)>.editorial-photo{grid-column:auto}.editorial-grid:has(>.editorial-photo:nth-child(5):last-child)>.editorial-photo:last-child{grid-column:1/-1}.editorial-photo>img{height:205px}.editorial-photo>figcaption{font-size:15px;line-height:1.5;padding:14px 12px}.editorial-grid>.editorial-photo:only-child{display:block}.editorial-grid>.editorial-photo:only-child>img{height:260px}.editorial-grid>.editorial-photo:only-child>figcaption{padding:20px;font-size:21px}.editorial-surface:after{background:linear-gradient(100deg,#0e1f2be8,#0e1f2bbd)}.editorial-divider{height:170px}.editorial-section{padding-block:34px}.editorial-section>h2{font-size:29px;line-height:1.2}.editorial-photo{border-radius:10px}}
@media(max-width:360px){.editorial-grid,.editorial-grid:has(>.editorial-photo:nth-child(2):last-child),.editorial-grid:has(>.editorial-photo:nth-child(4):last-child),.editorial-grid:has(>.editorial-photo:nth-child(5):last-child),.editorial-grid:has(>.editorial-photo:nth-child(8):last-child){grid-template-columns:1fr}.editorial-photo>img{height:245px}}
html.a11y-high .editorial-surface,html.a11y-light .editorial-surface{background:var(--tk-a11y-bg,#fff)!important;color:inherit!important}
html.a11y-high .editorial-surface>.editorial-backdrop,html.a11y-light .editorial-surface>.editorial-backdrop,html.a11y-high .editorial-surface:after,html.a11y-light .editorial-surface:after{display:none}
html.a11y-high .editorial-surface :is(h2,h3,p,a,small),html.a11y-light .editorial-surface :is(h2,h3,p,a,small){color:inherit!important}
.editorial-surface:after{width:100%;height:100%;border-radius:0;transform:none;pointer-events:none;background:linear-gradient(90deg,rgba(14,31,43,.9),rgba(14,31,43,.75))}
@media(max-width:600px){.editorial-grid>.editorial-photo{grid-column:auto!important}.editorial-grid:has(>.editorial-photo:nth-child(5):last-child)>.editorial-photo:last-child{grid-column:1/-1!important}}

/* Technical details retain the entire device; new galleries stay quiet and compact. */
.detail-photo-section .editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.detail-photo-section .editorial-photo{grid-column:auto!important}
.detail-photo-section .technical-photo>img{object-fit:contain;background:#f0f1ed;padding:14px;box-sizing:border-box}
.pool-service{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.pool-service p{font-size:18px;line-height:1.7}.pool-service .technical-photo>img{object-fit:contain;background:#f0f1ed;height:350px}
@media(max-width:800px){.detail-photo-section .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pool-service{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.detail-photo-section .editorial-grid{grid-template-columns:1fr}.detail-photo-section .editorial-photo>img{height:270px}.detail-photo-section .editorial-photo{grid-column:auto!important}.pool-service p{font-size:17px}}

.service-detail-photos{margin-top:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-photos .technical-photo>img{object-fit:contain;padding:14px;background:#f0f1ed;box-sizing:border-box}@media(max-width:600px){.service-detail-photos{grid-template-columns:1fr}}

.career-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.career-job{padding:32px;background:#eef1ed;border:1px solid #dde3df;border-radius:14px}.career-job h3{font-size:30px;line-height:1.2}.career-job p,.career-contact p{font-size:18px;line-height:1.65}.career-contact{max-width:1000px}.career-job .button{margin-top:20px}@media(max-width:700px){.career-jobs{grid-template-columns:1fr}.career-job{padding:24px}.career-job h3{font-size:26px}}

#poolheizung,#whirlpool{scroll-margin-top:140px}

/* Editorial photographic surfaces, with readable content and no duplicate images. */
.photo-lead{position:relative;isolation:isolate;max-width:1440px;margin:0 auto 48px;overflow:hidden;background:#e8eeeb}
.photo-lead>.service-hero{position:absolute;inset:0;z-index:-2;width:100%;max-width:none;height:100%;margin:0;border-radius:0;opacity:1;transform:none}
.photo-lead>.service-hero img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:75% center;border-radius:0}
.photo-lead:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,248,245,.98),rgba(247,248,245,.94) 38%,rgba(247,248,245,.64) 68%,rgba(247,248,245,.12))}
.photo-lead>.page-intro{position:relative;background:none!important;padding-block:clamp(50px,7vw,100px);min-height:500px;box-sizing:border-box}
.photo-lead .page-intro h1,.photo-lead .page-intro .lead{max-width:780px}
.photo-wash{position:relative;isolation:isolate;overflow:hidden;background:#edf0eb;border-radius:18px;padding:clamp(28px,5vw,64px)!important;box-sizing:border-box;margin-block:36px}
.photo-wash>.photo-wash-image{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.photo-wash:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(246,247,243,.96),rgba(246,247,243,.9) 45%,rgba(246,247,243,.62));pointer-events:none}
.photo-wash :is(.detail-card,.career-job){background:rgba(255,255,255,.9)}
.photo-wash .section-heading{position:relative;gap:28px}
.photo-wash.pool-service:before{background:linear-gradient(90deg,rgba(246,247,243,.97),rgba(246,247,243,.91) 48%,rgba(246,247,243,.35))}
.photo-wash.pool-service{padding-block:64px!important}
.photo-wash.pool-service .editorial-photo{box-shadow:0 10px 36px #17263515}
@media(max-width:767px){
 .photo-lead{margin-bottom:26px}.photo-lead>.page-intro{min-height:0;padding-block:42px 58px}.photo-lead:after{background:linear-gradient(100deg,rgba(247,248,245,.97),rgba(247,248,245,.89) 65%,rgba(247,248,245,.72))}
 .photo-wash{padding:28px 22px!important;border-radius:12px;margin-block:24px}.photo-wash:before{background:linear-gradient(100deg,rgba(246,247,243,.95),rgba(246,247,243,.88))}.photo-wash.pool-service{padding-block:32px!important}.photo-wash.pool-service:before{background:rgba(246,247,243,.88)}
}
html.a11y-high :is(.photo-lead,.photo-wash),html.a11y-light :is(.photo-lead,.photo-wash){background:var(--tk-a11y-bg,#fff)!important}
html.a11y-high :is(.photo-wash-image,.photo-lead>.service-hero),html.a11y-light :is(.photo-wash-image,.photo-lead>.service-hero){display:none}
html.a11y-high .photo-lead:after,html.a11y-high .photo-wash:before,html.a11y-light .photo-lead:after,html.a11y-light .photo-wash:before{display:none}
.photo-wash.faq details{background:rgba(255,255,255,.91);padding-inline:22px;border-radius:10px;margin-block:10px;border-color:#dde3df}
.photo-wash.faq:before{background:linear-gradient(105deg,rgba(239,242,237,.89),rgba(239,242,237,.72))}
.photo-wash.faq h2{background:rgba(247,248,245,.88);border-radius:10px;padding:18px 22px;width:fit-content;box-sizing:border-box;max-width:100%}
@media(max-width:767px){.photo-wash.faq details{padding-inline:16px}.photo-wash.faq h2{padding:14px 16px}}
.detail-photo-section .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.detail-photo-section .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.detail-photo-section .editorial-grid:has(>.editorial-photo){grid-template-columns:1fr}}
/* Consistent, generously sized workshop imagery; no letterboxed tool shots. */
.photo-about .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.photo-about .editorial-photo>img{width:100%;height:340px;object-fit:cover;padding:0;background:none}
.photo-about .editorial-photo{border:0;border-radius:16px;background:#eef1ed}
.photo-about .editorial-photo>figcaption{padding:20px 22px;line-height:1.5}
@media(max-width:767px){.photo-about .editorial-grid:has(>.editorial-photo){grid-template-columns:1fr;gap:22px}.photo-about .editorial-photo>img{height:auto;aspect-ratio:4/3;object-fit:cover}.photo-about .editorial-photo>figcaption{padding:17px 18px}}
main.photo-about .editorial-section .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(2,minmax(0,1fr))}
main.photo-about .editorial-section .editorial-grid>.editorial-photo:only-child{grid-column:1/-1;display:block}
@media(max-width:767px){main.photo-about .editorial-section .editorial-grid:has(>.editorial-photo){grid-template-columns:1fr}}

/* Responsive photo framing: intrinsic foreground ratios, stable gallery columns.
   Background photography deliberately retains cover; devices and people do not crop. */
main .editorial-section .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px;align-items:start}
main .editorial-section .editorial-grid>.editorial-photo{grid-column:auto!important;display:block;min-width:0}
main .editorial-section .editorial-grid>.editorial-photo:only-child{grid-column:1/-1!important;max-width:900px;width:100%;justify-self:center}
main .editorial-section .editorial-photo>img,
main .service-detail-photos .editorial-photo>img,
main .service-photo>img,
main .service-photo-pair .service-photo>img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;transform:none;background:transparent}
main .editorial-section .editorial-photo>figcaption{font-size:16px;line-height:1.5;padding:18px 20px}
main .service-photo{max-width:900px;margin-inline:auto}
main .service-photo-pair{align-items:start}
main .service-photo-pair .service-photo{width:100%;max-width:none}
main .pool-service .editorial-photo>img{height:auto;width:100%;object-fit:contain;padding:0}
main .photo-lead>.service-hero{margin:0;border-radius:0}
@media(min-width:1100px){main .detail-photo-section .editorial-grid:has(>.editorial-photo){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){
 main .editorial-section .editorial-grid:has(>.editorial-photo),main.photo-about .editorial-section .editorial-grid:has(>.editorial-photo),main .service-detail-photos{grid-template-columns:minmax(0,1fr)!important;gap:22px}
 main .editorial-section .editorial-photo>figcaption{padding:16px 18px}
 main .service-photo-pair{grid-template-columns:minmax(0,1fr)!important}
}

.career-job-paused{background:#e8e9e8;color:#545d62;border-color:#d4d7d5}.career-job-paused :is(h3,p,.eyebrow){color:#545d62}.career-status{display:inline-block;border:1px solid #a8b0ac;border-radius:8px;padding:8px 12px;font-weight:700}

/* Consistent readable job descriptions, including the paused apprenticeship. */
.career-jobs{align-items:stretch}.career-job{display:flex;flex-direction:column;gap:0}.career-job h3{font-size:clamp(24px,2.5vw,30px);overflow-wrap:break-word}.career-job>.button{margin-top:auto;align-self:flex-start}.career-description{border-top:1px solid #cdd5d0;margin:8px 0 26px;padding-top:24px}.career-description h4{font-size:18px;line-height:1.4;margin:0 0 12px;color:#263943}.career-description ul{padding-left:21px;margin:0 0 24px}.career-description li{font-size:17px;line-height:1.65;margin-bottom:9px;color:#40515a}.career-job-paused .career-description :is(h4,li){color:#545d62}.career-job-paused .career-status{align-self:flex-start}@media(max-width:700px){.career-description li{font-size:16px}.career-jobs{gap:22px}}
