
/* V15 — premium contextual hero photography on every page */
.page-photo-hero{position:relative;min-height:540px;overflow:hidden;isolation:isolate;background:#113641;color:#fff;margin-bottom:0}
.page-photo-hero__media{position:absolute;inset:0;z-index:0}
.page-photo-hero__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.03) contrast(1.03)}
.page-photo-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,34,.88) 0%,rgba(7,27,34,.76) 30%,rgba(7,27,34,.38) 62%,rgba(7,27,34,.12) 100%),linear-gradient(180deg,rgba(5,19,24,.08),rgba(5,19,24,.42))}
.page-photo-hero__inner{position:relative;z-index:2;min-height:540px;display:flex;align-items:center;padding-top:72px;padding-bottom:72px}
.page-photo-hero__content{width:min(650px,60%);padding:32px 34px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(10,34,41,.32);backdrop-filter:blur(10px);box-shadow:0 28px 70px rgba(4,17,22,.16)}
.page-photo-hero .eyebrow{color:#dff2e8;margin-bottom:22px}.page-photo-hero .small-square{background:linear-gradient(135deg,#bce66c,#61c8e5)}
.page-photo-hero h1{color:#fff;font-size:clamp(42px,4.7vw,72px);line-height:1.03;letter-spacing:-.055em;margin-bottom:22px}
.page-photo-hero .lead{color:#edf7f3;font-size:17px;line-height:1.75;max-width:560px;margin-bottom:0}
.page-photo-hero .button{margin-top:25px}
.page-photo-hero__caption{position:absolute;z-index:3;right:24px;bottom:20px;padding:8px 12px;border-radius:999px;background:rgba(7,29,35,.62);backdrop-filter:blur(8px);font-size:10px;color:#f4fbf8}
.page-photo-hero[data-hero="wdvs"] .page-photo-hero__media img{object-position:center 48%}
.page-photo-hero[data-hero="sanierung"] .page-photo-hero__media img{object-position:center 45%}
.page-photo-hero[data-hero="sockel"] .page-photo-hero__media img{object-position:center 58%}
.page-photo-hero[data-hero="innenraum"] .page-photo-hero__media img{object-position:center 52%}
.page-photo-hero[data-hero="ueber-uns"] .page-photo-hero__media img{object-position:center 42%}
.page-photo-hero[data-hero="einsatzgebiet"] .page-photo-hero__media img{object-position:center 55%}
.page-photo-hero[data-hero="kontakt"] .page-photo-hero__media img{object-position:center 52%}
.page-photo-hero[data-hero="leistungen"] .page-photo-hero__media img{object-position:center 55%}

/* Contact content starts as a second deliberate section below its photo hero. */
.contact-layout{padding-top:78px}.contact-content-kicker{margin-bottom:24px!important}

/* Legal/system pages get a slimmer image header rather than a giant sales hero. */
.page-photo-hero--compact{min-height:330px}
.page-photo-hero--compact .page-photo-hero__inner{min-height:330px;padding-top:45px;padding-bottom:45px}
.page-photo-hero--compact .page-photo-hero__content{width:min(600px,70%);padding:24px 28px}
.page-photo-hero--compact h1{font-size:clamp(36px,4vw,56px);margin-bottom:12px}
.page-photo-hero--compact .lead{font-size:15px}

/* Footer agency credit */
.footer-bottom .tettoweb-credit{margin-left:auto;color:#5a6e68;font-size:10px;letter-spacing:.01em;white-space:nowrap}
.footer-bottom .tettoweb-credit a{font-weight:700;color:#174d65;position:relative}
.footer-bottom .tettoweb-credit a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:linear-gradient(90deg,#8fbd4c,#2396c4);transform:scaleX(.35);transform-origin:left;transition:transform .2s ease}
.footer-bottom .tettoweb-credit a:hover::after{transform:scaleX(1)}

@media(max-width:900px){
 .page-photo-hero{min-height:500px}.page-photo-hero__inner{min-height:500px;padding-top:55px;padding-bottom:55px}.page-photo-hero__content{width:min(630px,78%)}
 .page-photo-hero__overlay{background:linear-gradient(90deg,rgba(7,27,34,.86),rgba(7,27,34,.62) 55%,rgba(7,27,34,.24)),linear-gradient(180deg,rgba(5,19,24,.08),rgba(5,19,24,.42))}
 .footer-bottom .tettoweb-credit{width:100%;margin-left:0;margin-top:7px}
}
@media(max-width:650px){
 .page-photo-hero{min-height:520px}.page-photo-hero__inner{min-height:520px;align-items:flex-end;padding-top:90px;padding-bottom:38px}.page-photo-hero__content{width:100%;padding:22px 20px;border-radius:22px;background:rgba(8,31,38,.48)}
 .page-photo-hero h1{font-size:clamp(36px,10vw,50px);line-height:1.06}.page-photo-hero .lead{font-size:14px;line-height:1.7}.page-photo-hero .button{width:100%;justify-content:center}
 .page-photo-hero__caption{right:12px;bottom:10px;font-size:8px;padding:6px 9px}.page-photo-hero__overlay{background:linear-gradient(180deg,rgba(6,23,29,.25) 0%,rgba(6,23,29,.55) 45%,rgba(6,23,29,.88) 100%)}
 .page-photo-hero--compact{min-height:360px}.page-photo-hero--compact .page-photo-hero__inner{min-height:360px;padding-top:72px;padding-bottom:34px}.page-photo-hero--compact .page-photo-hero__content{width:100%;padding:18px}.page-photo-hero--compact h1{font-size:38px}
 .contact-layout{padding-top:52px}
 .footer-bottom .tettoweb-credit{font-size:10px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.footer-bottom .tettoweb-credit a::after{transition:none}}

.page-photo-hero__title{color:#fff;font-size:clamp(36px,4vw,56px);line-height:1.05;letter-spacing:-.05em;font-weight:600;margin:0 0 12px}.page-photo-hero--compact .page-photo-hero__title{font-size:clamp(34px,3.7vw,50px)}
@media(max-width:650px){.page-photo-hero__title{font-size:38px}}
