.elementor .container.e-con{width:min(var(--max),calc(100% - 104px));margin-inline:auto}
.elementor h1.elementor-heading-title,.elementor h2.elementor-heading-title,.elementor h3.elementor-heading-title{color:inherit;font-family:var(--klima-display)}
.elementor .elementor-button{font-family:var(--font)}
.elementor .elementor-button:not(.btn){background:transparent;color:inherit}
.elementor .desktop-nav a[aria-current]{color:var(--mint)}
.elementor .brand-mark{fill:currentColor}
.elementor .menu-btn .elementor-button-text,.elementor .back-top .elementor-button-text{display:none}
.elementor .mobile-menu[hidden]{display:none!important}
.elementor .reading-progress{width:100%;height:2px}
.elementor .motion-toggle:before{content:'Ⅱ';font-size:12px;color:var(--mint)}
.elementor .motion-toggle[aria-pressed=true]:before{content:'▷'}
.elementor .gbp-custom-art{display:block;width:100%;height:auto}
.elementor .hero-foot>a,.elementor .hero-foot>.ls-button a{display:flex;gap:25px;align-items:center;color:#c9ded9;font-size:10px}
.elementor .hero-foot .elementor-button-text{font-size:10px}
.elementor .service-top>.ls-text:last-child>span{font-size:10px;color:#7b9789}
.elementor .service-1 .service-top>.ls-text:last-child>span{position:absolute;right:26px;top:35px}
.elementor .process-top>.ls-text>span{font:500 46px/1 var(--klima-display);letter-spacing:-.055em;color:#2e805e}
.elementor .faq-list .elementor-accordion{counter-reset:faq}
.elementor .faq-list .elementor-accordion-item{border:0;border-bottom:1px solid #cdded3;counter-increment:faq}
.elementor .faq-list .elementor-tab-title{padding:23px 49px 23px 34px;font:550 16px/1.6 var(--font);color:var(--ink);position:relative}
.elementor .faq-list .elementor-tab-title a{font:inherit;color:inherit;line-height:inherit}
.elementor .faq-list .elementor-tab-title:before{content:counter(faq,decimal-leading-zero);position:absolute;left:0;top:27px;font:400 10px/1.6 var(--font);color:#7e9d8d}
.elementor .faq-list .elementor-tab-title:after{content:'+';position:absolute;right:6px;top:22px;color:#58836c;font:400 22px/1.2 var(--font)}
.elementor .faq-list .elementor-tab-title.elementor-active:after{content:'−'}
.elementor .faq-list .elementor-tab-title.elementor-active{color:#277858}
.elementor .faq-list .elementor-tab-content{padding:0 31px 25px 34px;border:0;font:400 14px/1.85 var(--font);color:var(--muted)}
.elementor .faq-list .elementor-tab-content p{font:inherit;line-height:inherit;color:inherit}
body.motion-ready .elementor .reveal:not(.visible){opacity:0;transform:translateY(24px)}
body.motion-paused .elementor .reveal{opacity:1!important;transform:none!important}
body.motion-paused .elementor *,body.motion-paused .elementor *:before,body.motion-paused .elementor *:after{animation-play-state:paused!important}
@media(max-width:1150px){.elementor .container.e-con{width:calc(100% - 64px)}}
@media(max-width:900px){.elementor .faq-list .elementor-tab-title{font-size:14px;padding-left:27px}.elementor .faq-list .elementor-tab-content{padding-left:27px;padding-right:10px}}
@media(max-width:700px){.elementor .container.e-con{width:calc(100% - 40px)}.elementor .hero-foot>.ls-button a{justify-content:space-between;width:100%}.elementor .process-top>.ls-text>span{font-size:34px}.elementor .faq-list .elementor-tab-title{font-size:15px;padding:22px 44px 22px 29px}.elementor .faq-list .elementor-tab-content{padding-left:29px;padding-right:23px}}
@media(max-width:370px){.elementor .container.e-con{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){body.motion-ready .elementor .reveal{opacity:1!important;transform:none!important}}
.elementor .body-copy>.ls-text+.ls-text p{margin-top:22px}
.elementor .section-index>.ls-text:last-child>span{display:block;letter-spacing:.12em;font:600 8px/1.8 var(--font);margin-top:8px}
.elementor .eyebrow.e-con:before{position:static;inset:auto;opacity:1;align-self:center;width:6px;height:6px;flex-shrink:0;pointer-events:none}
.elementor .closing-copy{flex:0 1 auto;min-width:0;width:100%}

.elementor .choose-top>.ls-text>span{font-size:9px;color:#699883}

/* Keep native Elementor buttons on the approved design palette. */
.elementor .ls-button .elementor-button{font-family:var(--font);background-color:transparent;color:inherit}
.elementor .ls-button .elementor-button.btn{background-color:var(--mint);color:var(--navy);font-weight:650}
.elementor .ls-button .elementor-button.btn.dark{background-color:var(--navy);color:var(--white)}
.elementor .ls-button .elementor-button.btn:hover{background-color:var(--mint2)}
.elementor .ls-button .elementor-button.btn.dark:hover{background-color:#294757}
.elementor .ls-button .elementor-button.text-link{font-weight:550}

/* hvac-nav-fit: room for the Case studies link */
@media (min-width:901px) and (max-width:1100px){.elementor .site-header .desktop-nav{gap:14px!important}}

/* hvac-lang-switch: DE / EN switcher in the homepage header */
.elementor .lang-switch.e-con{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #ffffff26;border-radius:999px;flex-shrink:0}
.elementor .lang-switch .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:.06em;line-height:1.2;color:#b9cbd2;background:transparent}
.elementor .lang-switch .elementor-button:hover{color:#66edbc}
.elementor .lang-switch .elementor-button[aria-current]{background:#66edbc;color:#101f2c}
/* hvac-trust-fix: number never squeezed, all trust labels same colour */
.elementor .trust-item .trust-number{flex-shrink:0}
.elementor .trust-item p,.elementor .trust-item p strong{color:rgb(211,225,228)}
/* hvac-nav-anchors: on medium screens keep only page links in the top menu so the language switcher and button fit */
@media (min-width:901px) and (max-width:1180px){.elementor .site-header .desktop-nav .elementor-widget:has(a[href^="#"]){display:none!important}}

/* hvac-mobile-header: brand, language switcher and menu button share the row */
.elementor .site-header .menu-btn{flex-shrink:0}
.elementor .site-header .menu-btn .icon{flex-shrink:0;min-width:22px}
@media (max-width:520px){.elementor .site-header .nav-wrap{gap:10px}.elementor .site-header .brand{min-width:0;flex-shrink:1}.elementor .site-header .brand-name{font-size:21px}.elementor .site-header .brand-mark{width:30px;height:30px}.elementor .lang-switch .elementor-button{min-width:30px;padding:5px 7px;font-size:10px}}
@media (max-width:370px){.elementor .site-header .brand-name{font-size:18px}.elementor .site-header .brand-mark{width:26px;height:26px}}
