/* Supplied logo, languages, commitments and project form. */
h1>span{color:var(--ink)}h1>.muted{color:var(--muted)}
.eyebrow>span[data-i18n]{width:auto;height:auto;background:none}
.brand{gap:3px}.brand img{width:140px;height:auto}.brand>span{font-size:7px;letter-spacing:3px}
.header{height:112px}.header-right{gap:26px}
.languages{display:flex;align-items:center;border:1px solid var(--line);border-radius:3px;padding:3px;gap:2px}
.languages button{padding:7px 6px;font-size:8px;font-weight:500;border-radius:2px}
.languages button[aria-pressed=true]{background:var(--ink);color:white}
.languages button:hover{background:#e2e7e7}.languages button[aria-pressed=true]:hover{background:var(--ink)}
.intro{padding:23px 0 21px}
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex-shrink:0;margin-bottom:22px}
.trust>div{display:flex;align-items:center;gap:12px;padding:5px 0}
.trust svg{width:25px;height:25px;flex-shrink:0;stroke-width:1.25;color:var(--ink)}
.trust p{display:flex;flex-direction:column;gap:5px}
.trust strong{font-size:11px;font-weight:500}
.trust p>span{font-size:8px;color:var(--muted);line-height:1.4}
.service.heating h2>span[data-i18n]{display:block;max-width:280px}
.form-required{font-size:9px!important;margin:17px 0 8px!important}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
#project-form{margin-top:12px}
#project-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:500}
#project-form>label{margin-top:13px}
input,select,textarea{width:100%;min-width:0;font:inherit;font-size:12px;font-weight:400;color:var(--ink);border:1px solid #c8d0d3;border-radius:3px;background:white;padding:10px 11px;line-height:1.4}
textarea{resize:vertical;min-height:75px;max-height:200px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}
.form-consent{flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:400!important;line-height:1.7}
.form-consent input{width:15px;height:15px;flex-shrink:0;margin:2px 0 0;accent-color:var(--ink)}
.form-note{font-size:9px!important;line-height:1.7!important;margin-top:12px!important}
.form-status{font-size:10px!important;margin-top:12px!important}.form-status:empty{display:none}
.compose-fallback{font-size:11px;display:inline-block;margin-top:12px}.compose-fallback[hidden]{display:none}
.form-contact{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}
.form-contact p{font-size:10px!important}.form-contact p+p{margin-top:7px!important}.form-contact a{white-space:nowrap}
html[lang=de] h1,html[lang=en] h1{font-size:clamp(27px,2.55vw,41px)}
@media(min-width:1500px) and (min-height:850px){
  .trust strong{font-size:13px}.trust p>span{font-size:10px}.trust{margin-bottom:27px}
  .intro{padding:32px 0 28px}.header{height:120px}
}
@media(max-height:760px) and (min-width:761px){
  .header{height:90px}.brand img{width:125px}.intro{padding:16px 0}
  .trust{margin-bottom:14px}.trust strong{font-size:10px}.trust p>span{font-size:7px}.trust svg{width:22px;height:22px}
  .services{min-height:210px}.service h2{font-size:24px}.service-top{padding-top:12px}.service-bottom{margin-top:10px}
  html[lang] h1{font-size:30px}
}
@media(max-width:1150px){.location{display:none}.header-right{gap:20px}.trust strong{font-size:10px}.trust p>span{font-size:7px}}
@media(max-width:760px) and (orientation:portrait){
  .welcome{min-height:620px}.header{height:93px}.brand img{width:115px}.brand>span{font-size:6px;letter-spacing:2.4px}
  .header-right{gap:10px}.languages button{font-size:7px;padding:6px 5px}.contact-link{font-size:0}.contact-link>span{display:none}
  .intro{padding:17px 0 14px}html[lang] h1{font-size:27px;letter-spacing:-1px}.intro-copy>span{margin-top:11px}
  .trust{gap:8px;margin-bottom:14px}.trust>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0}
  .trust svg{width:20px;height:20px}.trust p{gap:0}.trust strong{font-size:8px;line-height:1.4}.trust p>span{display:none}
  .services{min-height:265px}.service.heating h2>span[data-i18n]{max-width:none}.service h2{font-size:20px;padding-right:29px}
  .service-description{font-size:7px}.service-content{padding:11px 14px}.service-top{right:12px;top:10px}.service-bottom{right:12px;bottom:12px}
  .signature{padding:11px 0}.legal-links{gap:9px}.legal-links button{font-size:7px}
  .form-grid{grid-template-columns:1fr;gap:10px}#project-form label{font-size:10px}
  .dialog-header{margin-bottom:9px}dialog h2{margin-bottom:15px}dialog p{font-size:11px}dialog{max-height:92dvh}
  html[lang=de] .service h2{font-size:19px}
}
@media(max-width:359px) and (orientation:portrait){
  .welcome{padding:0 15px}.brand img{width:102px}.header-right{gap:7px}.languages button{padding:5px 4px}
  .contact-link{width:32px;height:32px}.header{height:83px}html[lang] h1{font-size:23px}
  .intro{padding:14px 0 12px}.trust{margin-bottom:12px}.trust strong{font-size:7px}.service h2{font-size:18px}.legal-links button{font-size:6px}
}
@media(max-width:1050px) and (max-height:500px) and (orientation:landscape){
  .header{height:64px}.brand img{width:95px}.brand>span{font-size:5px;letter-spacing:2px}
  .header-right{gap:16px}.contact-link{font-size:8px}.intro{padding:10px 0}html[lang] h1{font-size:21px}
  .trust{margin-bottom:10px;gap:8px}.trust>div{padding:0;gap:7px}.trust svg{width:17px;height:17px}.trust strong{font-size:8px}.trust p>span{display:none}
  .services{min-height:140px}.service h2{font-size:17px;min-height:45px}.service.heating h2>span[data-i18n]{max-width:none}
  .service-bottom{font-size:7px;padding-top:5px;margin-top:6px}.service-description{display:none}.service-brand{font-size:8px}.service-content{padding-bottom:8px}.legal-links button{font-size:6px}
}
.footer-brand-row{display:flex;align-items:center;gap:10px;min-width:0}
.cookie-toggle{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;padding:0;background:var(--paper)}
.cookie-toggle svg{width:15px;height:15px;stroke-width:1.4}
.cookie-toggle:hover{border-color:var(--ink);background:#e9eceb}
.cookie-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;padding:12px 16px;margin-bottom:12px;background:#edf0ee;border:1px solid var(--line);border-radius:3px}
.cookie-banner[hidden]{display:none}
.cookie-banner h2{font-size:11px;line-height:1.4;font-weight:500;margin:0 0 4px}
.cookie-banner p{font-size:9px;line-height:1.6;color:var(--muted)}
.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-banner-actions button{padding:10px 13px;border:1px solid #c8d0d3;border-radius:3px;font-size:9px;white-space:nowrap;background:var(--paper)}
.cookie-banner-actions [data-cookie-dismiss]{background:var(--ink);border-color:var(--ink);color:white}
@media(min-width:761px) and (max-height:850px){
  .has-cookie-banner .header{height:90px}
  .has-cookie-banner .intro{padding:16px 0}.has-cookie-banner h1{font-size:30px}
  .has-cookie-banner .trust{margin-bottom:14px}.has-cookie-banner .trust strong{font-size:10px}.has-cookie-banner .trust p>span{font-size:7px}
  .has-cookie-banner .services{min-height:225px}
  .has-cookie-banner .service-top{padding:15px 21px}.has-cookie-banner .service-content{padding:5px 21px 14px}
  .has-cookie-banner .service-tag{margin-bottom:8px}.has-cookie-banner .service-brand{margin-bottom:5px}
  .has-cookie-banner .service h2{font-size:24px;min-height:78px}
  .has-cookie-banner .service-description{margin-top:8px}
  .has-cookie-banner .service-bottom{padding-top:10px;margin-top:12px}
  .has-cookie-banner .signature{padding:12px 0}
}
@media(max-width:760px) and (orientation:portrait){
  .footer-brand-row{gap:8px}.cookie-toggle{width:26px;height:26px}.cookie-toggle svg{width:14px;height:14px}
  .cookie-banner{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:8px}
  .cookie-banner h2{font-size:10px;margin-bottom:3px}.cookie-banner p{font-size:8px;line-height:1.5}
  .cookie-banner-actions{gap:7px}.cookie-banner-actions button{padding:7px 10px;font-size:8px}
  .has-cookie-banner .services{min-height:225px}
}
@media(max-width:760px) and (max-height:760px) and (orientation:portrait){
  .has-cookie-banner .welcome{min-height:600px}
  .has-cookie-banner .header{height:75px}
  .has-cookie-banner .intro{padding:12px 0}
  .has-cookie-banner h1{font-size:23px}
  .has-cookie-banner .intro-copy>span{margin-top:8px}
  .has-cookie-banner .trust{margin-bottom:11px}.has-cookie-banner .trust svg{width:17px;height:17px}
  .has-cookie-banner .services{min-height:195px}
  .has-cookie-banner .service-content{padding:7px 12px}.has-cookie-banner .service h2{font-size:17px}
  .has-cookie-banner .service-brand{font-size:8px;margin-bottom:2px}.has-cookie-banner .service-description{margin-top:3px}
  .has-cookie-banner .service-top{top:8px}.has-cookie-banner .service-top svg{width:16px;height:16px}
  .has-cookie-banner .service-bottom{bottom:8px}.has-cookie-banner .arrow{width:23px;height:23px}
  .has-cookie-banner .signature{padding:6px 0}
}
@media(max-width:1050px) and (max-height:500px) and (orientation:landscape){
  .cookie-banner{padding:7px 10px;gap:15px;margin-bottom:7px}.cookie-banner h2{font-size:9px}.cookie-banner p{font-size:7px}
  .cookie-banner-actions button{font-size:7px;padding:6px 8px}.cookie-toggle{width:22px;height:22px}.cookie-toggle svg{width:12px;height:12px}
  .has-cookie-banner .header{height:52px}.has-cookie-banner .intro{padding:7px 0}
  .has-cookie-banner h1{font-size:21px}
  .has-cookie-banner .services{min-height:110px}.has-cookie-banner .service-top{padding:6px 12px}
  .has-cookie-banner .service-content{padding:3px 12px 8px}
  .has-cookie-banner .service h2{font-size:17px;min-height:40px}
  .has-cookie-banner .service-brand{font-size:8px;margin-bottom:3px}
  .has-cookie-banner .service-bottom{padding-top:4px;margin-top:5px}
  .has-cookie-banner .signature{padding:8px 0}
}

@media(max-width:359px) and (max-height:760px) and (orientation:portrait){
  .has-cookie-banner .header{height:63px}
  .has-cookie-banner h1{font-size:21px}.has-cookie-banner .intro{padding:10px 0}
  .has-cookie-banner .trust{margin-bottom:9px}
}

.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.recaptcha-disclosure{font-size:8px!important;line-height:1.6!important;margin-top:8px!important}
.recaptcha-disclosure[hidden]{display:none}
.grecaptcha-badge{visibility:hidden}
button:disabled{cursor:wait;opacity:.6}

/* Centered, full-photo service cards matching the supplied reference. */
.welcome{max-width:1340px}
.heating .service-image{object-position:72% 50%;transform-origin:70% 50%}
.electric .service-image{object-position:30% 0%;transform-origin:35% 16%}
.roofing .service-image{object-position:84% 25%;transform-origin:79% 32%}
@media(min-width:761px) and (min-height:501px){
  .welcome{padding:0 clamp(25px,3vw,52px)}
  .welcome .header{height:80px}.welcome .brand img{width:110px}
  .welcome .intro{padding:14px 0 16px}
  .welcome .intro h1{font-size:29px}
  .welcome .trust{margin-bottom:16px}.welcome .trust>div{padding:3px 0}.welcome .trust svg{width:21px;height:21px}.welcome .trust p{gap:4px}
  .welcome .trust strong{font-size:10px}.welcome .trust p>span{font-size:7px}
  .welcome .service-top{padding:20px 24px}
  .welcome .service-content{padding:8px 22px 18px}
  .welcome .service h2{font-size:28px;min-height:74px}
  .welcome .service-brand{font-size:11px;margin-bottom:5px}
  .welcome .service-tag{font-size:7px;letter-spacing:1.2px;margin-bottom:8px}
  .welcome .service-description{font-size:8px;margin-top:10px}
  .welcome .service-bottom{font-size:8px;padding-top:10px;margin-top:12px}.welcome .arrow{width:28px;height:28px}.welcome .arrow svg{width:16px;height:16px}
  .welcome .signature{padding:9px 0;font-size:8px}.welcome .signature>a{font-size:9px}
  .welcome footer{padding:10px 0 8px}.welcome .copyright,.welcome .legal-links button{font-size:7px}
  .welcome .credit{font-size:6px}
  .welcome .cookie-banner{padding:7px 12px;margin-bottom:8px}.welcome .cookie-banner h2{font-size:9px;margin-bottom:3px}.welcome .cookie-banner p{font-size:7px}
  .welcome .cookie-banner-actions button{padding:7px 10px;font-size:8px}
}
@media(min-width:761px) and (max-width:1050px) and (min-height:501px){
  .welcome .intro{padding:16px 0}
  .welcome .intro h1{font-size:29px}.welcome .intro-copy{max-width:290px}
  .welcome .service-content{padding:8px 18px 16px}.welcome .service-top{padding:16px 18px}
  .welcome .service h2{font-size:24px;min-height:61px}
  .welcome .service-tag{font-size:6px;letter-spacing:.8px}
  .welcome .service-description{font-size:8px}
}
@media(min-width:761px) and (max-height:700px) and (min-height:501px){
  .welcome .header{height:55px}.welcome .intro{padding:7px 0}
  .welcome .intro h1{font-size:23px}.welcome .trust{margin-bottom:10px}.welcome .trust svg{width:18px;height:18px}
  .welcome .service-top{padding:10px 18px}.welcome .service-content{padding:5px 18px 12px}
  .welcome .service h2{font-size:22px;min-height:50px}
  .welcome .service-tag{display:none}.welcome .service-brand{margin-bottom:5px}
  .welcome .service-description{margin-top:6px}.welcome .service-bottom{margin-top:10px;padding-top:8px}
  .welcome .signature{padding:9px 0}
}
@media(max-width:760px) and (orientation:portrait), (max-width:1050px) and (max-height:500px) and (orientation:landscape){
  .service .service-image{left:auto;right:0;width:42%}
  .shade{background:linear-gradient(90deg,#0c1825fa 0%,#0c1825ec 48%,#0c182548 73%,#0c182512 100%)}
  .service-top{display:none}
}

@media(min-width:761px) and (min-height:501px) and (max-height:700px){.welcome .electric .service-image{object-position:30% 10%}}

/* Give the commitments more presence and separate them from the introduction. */
.welcome .trust{border-top:1px solid var(--line);padding-top:14px}
.welcome .trust strong{font-size:14px;line-height:1.4}
.welcome .trust p>span{font-size:10px;line-height:1.5}
.welcome .trust svg{width:26px;height:26px}
@media(min-width:761px) and (max-height:800px){
  .welcome .trust{padding-top:10px;margin-bottom:12px}
  .welcome .trust strong{font-size:13px}.welcome .trust p>span{font-size:9px}
}
@media(max-width:760px) and (orientation:portrait){
  .welcome .trust{padding-top:10px}
  .welcome .trust strong{font-size:10px}
  .welcome .trust svg{width:21px;height:21px}
}
@media(max-width:1050px) and (max-height:500px) and (orientation:landscape){
  .welcome .trust{padding-top:6px;margin-bottom:8px}
  .welcome .trust strong{font-size:9px}.welcome .trust svg{width:18px;height:18px}
}

@media(max-width:359px) and (max-height:760px) and (orientation:portrait){
  .welcome .trust{padding-top:6px;margin-bottom:9px}
  .welcome .trust strong{font-size:9px}
  .welcome .trust svg{width:18px;height:18px}
  .has-cookie-banner .welcome .services{min-height:180px}
}

@media(max-width:760px) and (max-height:760px) and (orientation:portrait){
  .welcome .trust{padding-top:6px;margin-bottom:9px}
  .welcome .trust strong{font-size:9px}.welcome .trust svg{width:18px;height:18px}
  .has-cookie-banner .welcome .services{min-height:183px}
  .has-cookie-banner .welcome .service-content{padding:4px 12px}
  .has-cookie-banner .welcome .service h2{font-size:17px}
}

@media(max-width:760px) and (max-height:760px) and (orientation:portrait){
  .has-cookie-banner .welcome .intro h1{font-size:23px}
}
@media(max-width:359px) and (max-height:760px) and (orientation:portrait){
  .has-cookie-banner .welcome .intro h1{font-size:21px}
}

@media(max-width:760px) and (max-height:760px) and (orientation:portrait){
  .service.electric .service-image{object-position:30% 4%}
}
