@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root:where(:not(:has([data-portal]))){--white:#f6f3ec;--navy:#02271a;--anthracite:#16130f;--mineral:#efeae0;--slate:#57503f;--line:#d9d6cb;--muted:#a6aaa0;--container:1440px;--gutter:clamp(24px, 4.3vw, 72px);--section:112px;--ease:cubic-bezier(.22, 1, .36, 1);--progress:0;--fast:.18s;--standard:.32s;--reveal:.8s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:where(html:not(:has([data-portal]))) *{box-sizing:border-box}html:where(:not(:has([data-portal]))){scroll-behavior:smooth;scroll-padding-top:115px}:where(html:not(:has([data-portal]))) body{color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}:where(html:not(:has([data-portal]))) body:has(dialog[open]){overflow:hidden}:where(html:not(:has([data-portal]))) a{color:inherit;text-decoration:none}:where(html:not(:has([data-portal]))) button,:where(html:not(:has([data-portal]))) input,:where(html:not(:has([data-portal]))) select,:where(html:not(:has([data-portal]))) textarea{font:inherit}:where(html:not(:has([data-portal]))) button{color:inherit;cursor:pointer;background:0 0;border:0}:where(html:not(:has([data-portal]))) button:disabled{opacity:.55;cursor:wait}:where(html:not(:has([data-portal]))) img,:where(html:not(:has([data-portal]))) svg{display:block}:where(html:not(:has([data-portal]))) svg{flex-shrink:0}:where(html:not(:has([data-portal]))) img{max-width:100%}:where(html:not(:has([data-portal]))) figure,:where(html:not(:has([data-portal]))) p,:where(html:not(:has([data-portal]))) h1,:where(html:not(:has([data-portal]))) h2,:where(html:not(:has([data-portal]))) h3,:where(html:not(:has([data-portal]))) h4{margin:0}:where(html:not(:has([data-portal]))) ul,:where(html:not(:has([data-portal]))) ol{margin:0;padding:0}:where(html:not(:has([data-portal]))) h1,:where(html:not(:has([data-portal]))) h2,:where(html:not(:has([data-portal]))) h3{letter-spacing:-.045em;text-wrap:balance;font-weight:500;line-height:1.15}:where(html:not(:has([data-portal]))) h1{white-space:pre-line;font-size:clamp(44px,4.9vw,76px)}:where(html:not(:has([data-portal]))) h2{white-space:pre-line;font-size:clamp(32px,3.5vw,54px)}:where(html:not(:has([data-portal]))) h3{letter-spacing:-.03em;font-size:25px}:where(html:not(:has([data-portal]))) address{font-style:normal;line-height:1.9}:where(html:not(:has([data-portal]))) ::selection{color:var(--navy);background:#dce6ed}:where(html:not(:has([data-portal]))) :focus-visible{outline-offset:5px;outline:2px solid #33719a}:where(html:not(:has([data-portal]))) [hidden]{display:none!important}:where(html:not(:has([data-portal]))) .container{width:calc(100% - var(--gutter) * 2);max-width:var(--container);margin-inline:auto}:where(html:not(:has([data-portal]))) .section{padding-block:var(--section)}:where(html:not(:has([data-portal]))) .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:inherit;font-size:10px;font-weight:600;line-height:1.6}:where(html:not(:has([data-portal]))) .body-large{font-size:18px;line-height:1.75}:where(html:not(:has([data-portal]))) .section-head .eyebrow{margin-bottom:24px}:where(html:not(:has([data-portal]))) .section-head .body-large{max-width:560px;margin-top:28px}:where(html:not(:has([data-portal]))) .section-head.light p{color:#cad1d5}:where(html:not(:has([data-portal]))) .section-index{letter-spacing:.08em;font-size:12px}:where(html:not(:has([data-portal]))) .button{background:var(--navy);color:#fff;border:1px solid var(--navy);min-height:54px;transition:background var(--standard), color var(--standard), transform var(--fast);white-space:normal;justify-content:space-between;align-items:center;gap:34px;padding:16px 23px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}:where(html:not(:has([data-portal]))) .button svg{transition:transform var(--standard) var(--ease)}:where(html:not(:has([data-portal]))) .button:hover svg{transform:translate(3px,-3px)}:where(html:not(:has([data-portal]))) .button:active{transform:scale(.98)!important}:where(html:not(:has([data-portal]))) .button-light{color:var(--navy);background:#fff;border-color:#fff}:where(html:not(:has([data-portal]))) .button-light.button-outline{color:#fff;border-color:#7a858d}:where(html:not(:has([data-portal]))) .button-light.button-outline:hover{color:var(--navy);background:#fff}:where(html:not(:has([data-portal]))) .text-link{min-height:44px;color:var(--navy);justify-content:space-between;align-items:center;gap:30px;font-size:12px;font-weight:600;display:inline-flex;position:relative}:where(html:not(:has([data-portal]))) .text-link span{transition:background-size var(--standard);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}:where(html:not(:has([data-portal]))) .text-link:hover span{background-size:100% 1px}:where(html:not(:has([data-portal]))) .text-link svg{transition:transform var(--standard) var(--ease)}:where(html:not(:has([data-portal]))) .text-link:hover svg{transform:translate(4px)}:where(html:not(:has([data-portal]))) .circle-link{width:52px;height:52px;transition:background var(--standard), color var(--standard);border:1px solid;flex-shrink:0;justify-content:center;align-items:center;display:flex}:where(html:not(:has([data-portal]))) .circle-link:hover{background:var(--navy);color:#fff}:where(html:not(:has([data-portal]))) .skip-link{background:var(--navy);color:#fff;z-index:150;padding:12px 20px;position:fixed;top:-100px;left:24px}:where(html:not(:has([data-portal]))) .skip-link:focus{top:10px}:where(html:not(:has([data-portal]))) .scroll-progress{transform-origin:0;width:100%;height:2px;transform:scaleX(var(--progress));z-index:110;pointer-events:none;background:#7693a8;position:fixed;top:0;left:0}:where(html:not(:has([data-portal]))) .header{border-bottom:1px solid var(--line);z-index:50;background:#fffffffa;height:92px;position:sticky;top:0}:where(html:not(:has([data-portal]))) .header-inner{max-width:1660px;height:100%;padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:32px;margin:auto;display:flex}:where(html:not(:has([data-portal]))) .brand{color:inherit;align-items:center;gap:12px;display:flex}:where(html:not(:has([data-portal]))) .brand svg{width:40px;height:42px}:where(html:not(:has([data-portal]))) .brand-type{letter-spacing:.13em;font-size:22px;font-weight:600;line-height:1.1;display:block}:where(html:not(:has([data-portal]))) .brand-type>span{letter-spacing:.12em;white-space:nowrap;margin-top:7px;font-size:7.5px;font-weight:600;display:block}:where(html:not(:has([data-portal]))) .brand-link{flex-shrink:0}:where(html:not(:has([data-portal]))) .desktop-nav{align-items:center;gap:28px;margin-left:auto;display:flex}:where(html:not(:has([data-portal]))) .desktop-nav>a,:where(html:not(:has([data-portal]))) .nav-button{align-items:center;gap:7px;min-height:46px;font-size:12px;font-weight:500;display:flex;position:relative}:where(html:not(:has([data-portal]))) .desktop-nav>a:after,:where(html:not(:has([data-portal]))) .nav-button:after{content:"";background:var(--navy);transform-origin:0;width:100%;height:1px;transition:transform var(--standard);position:absolute;bottom:7px;left:0;transform:scaleX(0)}:where(html:not(:has([data-portal]))) .desktop-nav>a:hover:after,:where(html:not(:has([data-portal]))) .nav-button:hover:after,:where(html:not(:has([data-portal]))) .nav-button.active:after{transform:scaleX(1)}:where(html:not(:has([data-portal]))) .header-tools{align-items:center;gap:23px;display:flex}:where(html:not(:has([data-portal]))) .header-contact{background:var(--navy);color:#fff;align-items:center;gap:22px;padding:14px 19px;font-size:11px;font-weight:600;display:flex}:where(html:not(:has([data-portal]))) .language-control{position:relative}:where(html:not(:has([data-portal]))) .language-button{align-items:center;gap:7px;min-height:44px;padding:0;font-size:11px;display:flex}:where(html:not(:has([data-portal]))) .language-menu{border:1px solid var(--line);background:#fff;min-width:130px;padding:10px;position:absolute;top:53px;right:0;box-shadow:0 15px 40px #02271a15}:where(html:not(:has([data-portal]))) .language-menu a{padding:10px;font-size:12px;display:block}:where(html:not(:has([data-portal]))) .language-menu a:hover,:where(html:not(:has([data-portal]))) .language-menu a[aria-current]{background:var(--mineral)}:where(html:not(:has([data-portal]))) .mega-menu{border-top:1px solid var(--line);padding:35px var(--gutter) 42px;animation:menu-in .24s var(--ease);background:#fff;position:absolute;top:91px;left:0;right:0;box-shadow:0 22px 30px #02271a12}:where(html:not(:has([data-portal]))) .mega-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;display:flex}:where(html:not(:has([data-portal]))) .mega-intro>p{gap:40px;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .mega-intro .eyebrow{color:var(--slate);font-size:9px}:where(html:not(:has([data-portal]))) .mega-columns{grid-template-columns:repeat(5,1fr);gap:25px;display:grid}:where(html:not(:has([data-portal]))) .mega-heading{flex-wrap:wrap;align-content:flex-start;gap:10px;min-height:82px;font-size:14px;font-weight:600;line-height:1.45;display:flex}:where(html:not(:has([data-portal]))) .mega-heading>span{color:var(--slate);flex:0 0 100%;font-size:10px;font-weight:400;display:block}:where(html:not(:has([data-portal]))) .mega-heading>svg{margin-top:3px}:where(html:not(:has([data-portal]))) .mega-children{flex-direction:column;gap:12px;display:flex}:where(html:not(:has([data-portal]))) .mega-children a{color:var(--slate);min-height:24px;font-size:11px;line-height:1.65}:where(html:not(:has([data-portal]))) .mega-children a:hover{color:var(--navy);text-decoration:underline}:where(html:not(:has([data-portal]))) .mobile-toggle{padding:8px;display:none}:where(html:not(:has([data-portal]))) .mobile-dialog{width:min(100%,540px);max-width:100%;height:100dvh;max-height:100dvh;color:var(--navy);background:#fff;border:0;margin:0 0 0 auto;padding:24px 30px;position:fixed;inset:0;overflow-y:auto}:where(html:not(:has([data-portal]))) .mobile-dialog::backdrop{background:#02271a70}:where(html:not(:has([data-portal]))) .mobile-dialog-top{justify-content:space-between;align-items:center;padding-bottom:32px;display:flex}:where(html:not(:has([data-portal]))) .mobile-dialog-top button{place-items:center;min-width:44px;min-height:44px;display:grid}:where(html:not(:has([data-portal]))) .mobile-dialog nav>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:59px;font-size:19px;display:flex}:where(html:not(:has([data-portal]))) .mobile-dialog details{border-bottom:1px solid var(--line);padding:20px 0}:where(html:not(:has([data-portal]))) .mobile-dialog summary{cursor:pointer;font-size:19px}:where(html:not(:has([data-portal]))) .mobile-dialog details>div{padding:14px 0 0 14px}:where(html:not(:has([data-portal]))) .mobile-dialog details a{justify-content:space-between;align-items:center;gap:15px;padding:12px 0;font-size:14px;display:flex}:where(html:not(:has([data-portal]))) .mobile-languages{gap:26px;margin-top:35px;font-size:13px;display:flex}:where(html:not(:has([data-portal]))) .mobile-languages a{padding:10px 0}:where(html:not(:has([data-portal]))) .mobile-languages a[aria-current]{text-decoration:underline}:where(html:not(:has([data-portal]))) .media-figure{min-width:0;margin:0}:where(html:not(:has([data-portal]))) .media-frame{aspect-ratio:4/3;background:#e7ebed;position:relative;overflow:hidden}:where(html:not(:has([data-portal]))) .media-frame img{object-fit:cover;transition:transform 1.1s var(--ease);filter:saturate(.7)}:where(html:not(:has([data-portal]))) .media-figure figcaption,:where(html:not(:has([data-portal]))) .image-caption{color:var(--slate);margin-top:9px;font-size:9px;line-height:1.6}:where(html:not(:has([data-portal]))) .media-figure a:hover img,:where(html:not(:has([data-portal]))) a:hover>.media-figure img,:where(html:not(:has([data-portal]))) .feature-image-link:hover img{transform:scale(1.035)}:where(html:not(:has([data-portal]))) .breadcrumbs{min-height:69px;color:var(--slate);flex-wrap:wrap;align-items:center;gap:10px;padding:18px 0;font-size:10px;display:flex}:where(html:not(:has([data-portal]))) .breadcrumbs a:hover{color:var(--navy);text-decoration:underline}:where(html:not(:has([data-portal]))) .breadcrumbs span[aria-current]{color:var(--navy)}:where(html:not(:has([data-portal]))) .home-hero{background:var(--navy);color:#fff;height:min(730px,100svh - 92px);min-height:660px;position:relative;overflow:hidden}:where(html:not(:has([data-portal]))) .hero-media{transform:translateY(var(--parallax,0));will-change:transform;position:absolute;inset:-55px -10px}:where(html:not(:has([data-portal]))) .hero-media img{object-fit:cover;object-position:75% 55%;filter:saturate(.45);animation:hero-image 1.8s var(--ease) both}:where(html:not(:has([data-portal]))) .hero-shade{background:linear-gradient(90deg,#0c1d29de,#0f212db3 33%,#0f212d29 80%),linear-gradient(#0000 65%,#0e1d2859);position:absolute;inset:0}:where(html:not(:has([data-portal]))) .hero-content{flex-direction:column;align-items:flex-start;height:100%;padding-top:65px;padding-bottom:31px;display:flex;position:relative}:where(html:not(:has([data-portal]))) .hero-kicker{color:#d5dce1;letter-spacing:.2em;margin-bottom:33px;font-size:9px}:where(html:not(:has([data-portal]))) .home-hero h1{letter-spacing:-.05em;max-width:880px;animation:hero-text 1.1s var(--ease) both;font-size:clamp(48px,5.25vw,82px);font-weight:500;line-height:1.09}:where(html:not(:has([data-portal]))) .hero-intro{color:#e2e6e9;max-width:395px;animation:hero-text 1.1s .1s var(--ease) both;margin-top:26px;font-size:14px;line-height:1.8}:where(html:not(:has([data-portal]))) .hero-actions{animation:hero-text 1.1s .15s var(--ease) both;align-items:center;gap:30px;margin-top:31px;display:flex}:where(html:not(:has([data-portal]))) .hero-secondary{align-items:center;gap:20px;min-height:48px;font-size:11px;display:flex}:where(html:not(:has([data-portal]))) .hero-secondary:hover{text-decoration:underline}:where(html:not(:has([data-portal]))) .hero-bottom{letter-spacing:.19em;color:#c6d0d7;justify-content:space-between;align-self:stretch;align-items:center;margin-top:auto;padding-top:34px;font-size:8px;display:flex}:where(html:not(:has([data-portal]))) .hero-bottom a{border:1px solid #bac4cc80;place-items:center;width:38px;height:38px;display:grid}:where(html:not(:has([data-portal]))) .hero-discovery{border-bottom:1px solid var(--line);scroll-margin-top:91px}:where(html:not(:has([data-portal]))) .division-strip{grid-template-columns:repeat(5,1fr);min-height:96px;display:grid}:where(html:not(:has([data-portal]))) .division-strip a{border-left:1px solid var(--line);align-items:center;gap:14px;padding:22px;font-size:11px;font-weight:500;line-height:1.5;display:flex}:where(html:not(:has([data-portal]))) .division-strip a:first-child{border:0;padding-left:0}:where(html:not(:has([data-portal]))) .division-strip a:last-child{padding-right:0}:where(html:not(:has([data-portal]))) .strip-number{color:var(--slate);align-self:flex-start;padding-top:3px;font-size:9px}:where(html:not(:has([data-portal]))) .division-strip a>svg{margin-left:auto}:where(html:not(:has([data-portal]))) .division-strip a:hover{background:var(--mineral)}:where(html:not(:has([data-portal]))) .intro-section{padding-top:105px;padding-bottom:100px}:where(html:not(:has([data-portal]))) .intro-section>.eyebrow{margin-bottom:32px}:where(html:not(:has([data-portal]))) .intro-content{grid-template-columns:1.25fr 1fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .intro-content h2{font-size:clamp(32px,3.4vw,52px)}:where(html:not(:has([data-portal]))) .intro-content>div{max-width:440px;padding-top:3px}:where(html:not(:has([data-portal]))) .intro-content p{margin-bottom:17px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .focus-solar{padding-top:0}:where(html:not(:has([data-portal]))) .feature-heading{grid-template-columns:1fr 1.95fr 1.35fr;align-items:start;gap:38px;margin-bottom:44px;display:grid}:where(html:not(:has([data-portal]))) .number-label{align-items:flex-start;gap:19px;display:flex}:where(html:not(:has([data-portal]))) .number-label>span{font-size:12px;line-height:1.5}:where(html:not(:has([data-portal]))) .number-label .eyebrow{max-width:150px;font-size:9px}:where(html:not(:has([data-portal]))) .feature-heading h2{font-size:clamp(32px,3.1vw,48px)}:where(html:not(:has([data-portal]))) .feature-description p{margin-bottom:12px;font-size:13px;line-height:1.85}:where(html:not(:has([data-portal]))) .feature-image-link{display:block;position:relative}:where(html:not(:has([data-portal]))) .solar-panorama .media-frame{aspect-ratio:2.38}:where(html:not(:has([data-portal]))) .solar-panorama .media-frame img{object-position:50% 55%}:where(html:not(:has([data-portal]))) .image-corner{background:#fff;place-items:center;width:75px;height:75px;display:grid;position:absolute;bottom:0;right:0}:where(html:not(:has([data-portal]))) .solar-bottom{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 0 22px;display:flex}:where(html:not(:has([data-portal]))) .solar-bottom>span{letter-spacing:.12em;font-size:9px}:where(html:not(:has([data-portal]))) .solar-bottom>div{gap:28px;display:flex}:where(html:not(:has([data-portal]))) .solar-bottom a{align-items:center;gap:16px;min-height:32px;font-size:10px;display:flex}:where(html:not(:has([data-portal]))) .solar-bottom a:hover{text-decoration:underline}:where(html:not(:has([data-portal]))) .machine-feature{background:var(--navy);color:#fff;padding-block:90px}:where(html:not(:has([data-portal]))) .machine-layout{grid-template-columns:1fr 1.18fr;align-items:center;gap:85px;display:grid}:where(html:not(:has([data-portal]))) .machine-content .number-label{color:#c0ccd4;margin-bottom:45px}:where(html:not(:has([data-portal]))) .machine-content h2{margin-bottom:27px;font-size:clamp(35px,3.7vw,58px)}:where(html:not(:has([data-portal]))) .machine-content>p{color:#b8c5ce;max-width:380px;margin-bottom:28px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .machine-photo .media-frame{aspect-ratio:.96}:where(html:not(:has([data-portal]))) .machine-photo img{object-position:52% 50%;filter:saturate(.7)}:where(html:not(:has([data-portal]))) .machine-categories{margin-top:42px}:where(html:not(:has([data-portal]))) .machine-categories a{border-top:1px solid #465765;align-items:center;gap:20px;min-height:54px;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .machine-categories span{color:#a5b2bd;font-size:9px}:where(html:not(:has([data-portal]))) .machine-categories svg{margin-left:auto}:where(html:not(:has([data-portal]))) .machine-categories a:hover{color:#a8ccdf}:where(html:not(:has([data-portal]))) .heat-feature{grid-template-columns:1fr 1fr;align-items:center;gap:110px;padding-block:140px;display:grid}:where(html:not(:has([data-portal]))) .heat-content .number-label{margin-bottom:47px}:where(html:not(:has([data-portal]))) .heat-content .eyebrow{max-width:260px}:where(html:not(:has([data-portal]))) .heat-content h2{margin-bottom:27px;font-size:clamp(32px,3.55vw,56px)}:where(html:not(:has([data-portal]))) .heat-content>p{max-width:385px;margin-bottom:21px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .heat-subline{border-top:1px solid var(--line);letter-spacing:.12em;margin-top:50px;padding-top:22px;font-size:8px}:where(html:not(:has([data-portal]))) .other-section{background:var(--mineral)}:where(html:not(:has([data-portal]))) .other-heading{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:58px;display:flex}:where(html:not(:has([data-portal]))) .other-heading>p{max-width:250px;font-size:13px}:where(html:not(:has([data-portal]))) .other-rows>a{border-top:1px solid #cdd5d9;grid-template-columns:60px 1fr 1fr 60px;align-items:center;gap:35px;padding:37px 0;display:grid}:where(html:not(:has([data-portal]))) .other-rows>a:last-child{border-bottom:1px solid #cdd5d9}:where(html:not(:has([data-portal]))) .other-rows h3{font-size:clamp(24px,2.1vw,34px)}:where(html:not(:has([data-portal]))) .other-rows p{max-width:340px;font-size:12px;line-height:1.85}:where(html:not(:has([data-portal]))) .other-rows .circle-link{border-color:#a1aeb7}:where(html:not(:has([data-portal]))) .other-rows>a:hover .circle-link{background:var(--navy);color:#fff}:where(html:not(:has([data-portal]))) .two-col{grid-template-columns:1fr 1fr;align-items:end}:where(html:not(:has([data-portal]))) .two-col>.text-link{justify-self:end}:where(html:not(:has([data-portal]))) .industry-explorer{grid-template-columns:.8fr 1.5fr;gap:64px;margin-top:54px;display:grid}:where(html:not(:has([data-portal]))) .industry-tabs{padding-top:10px}:where(html:not(:has([data-portal]))) .industry-tabs button{text-align:left;border-bottom:1px solid var(--line);width:100%;color:var(--slate);align-items:center;gap:22px;padding:23px 0;font-size:17px;display:flex}:where(html:not(:has([data-portal]))) .industry-tabs button:first-child{border-top:1px solid var(--line)}:where(html:not(:has([data-portal]))) .industry-tabs button>span{font-size:10px}:where(html:not(:has([data-portal]))) .industry-tabs button>svg{opacity:0;transition:opacity var(--fast);margin-left:auto}:where(html:not(:has([data-portal]))) .industry-tabs button[aria-selected=true]{color:var(--navy)}:where(html:not(:has([data-portal]))) .industry-tabs button[aria-selected=true] svg{opacity:1}:where(html:not(:has([data-portal]))) .industry-tabs button[aria-selected=true]{box-shadow:0 -2px 0 var(--navy) inset}:where(html:not(:has([data-portal]))) .industry-panel-image{aspect-ratio:1.85;background:var(--mineral);position:relative;overflow:hidden}:where(html:not(:has([data-portal]))) .industry-panel-image img{object-fit:cover;filter:saturate(.6)}:where(html:not(:has([data-portal]))) .industry-panel-copy{grid-template-columns:1fr 52px;gap:24px;padding-top:22px;display:grid}:where(html:not(:has([data-portal]))) .industry-panel-copy>p{max-width:520px;font-size:15px;line-height:1.75}:where(html:not(:has([data-portal]))) .industry-connections{flex-wrap:wrap;grid-column:1/-1;gap:18px;display:flex}:where(html:not(:has([data-portal]))) .industry-connections a{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:4px;font-size:10px;display:flex}:where(html:not(:has([data-portal]))) .industry-connections a:hover{border-color:var(--navy)}:where(html:not(:has([data-portal]))) .industry-panel>.image-caption{margin-top:24px}:where(html:not(:has([data-portal]))) .approach-grid{grid-template-columns:1fr 1fr;gap:110px;display:grid}:where(html:not(:has([data-portal]))) .sticky-heading{align-self:start;position:sticky;top:150px}:where(html:not(:has([data-portal]))) .sticky-heading .body-large{max-width:380px;font-size:14px}:where(html:not(:has([data-portal]))) .sticky-heading .text-link{margin-top:18px}:where(html:not(:has([data-portal]))) .approach-steps{padding-top:35px}:where(html:not(:has([data-portal]))) .approach-step{border-top:1px solid #c9d2d7;gap:37px;padding:37px 0 53px;display:flex}:where(html:not(:has([data-portal]))) .approach-step>span{font-size:11px}:where(html:not(:has([data-portal]))) .approach-step h3{margin-bottom:16px;font-size:25px}:where(html:not(:has([data-portal]))) .approach-step p{font-size:13px}:where(html:not(:has([data-portal]))) .location-section{grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .location-section .section-head .body-large{max-width:400px;font-size:14px}:where(html:not(:has([data-portal]))) .location-section .text-link{margin-top:18px}:where(html:not(:has([data-portal]))) .location-address{border-left:1px solid var(--line);margin-top:35px;padding-left:18px;font-size:12px}:where(html:not(:has([data-portal]))) .location-photo .media-frame{aspect-ratio:1.05}:where(html:not(:has([data-portal]))) .location-photo img{object-position:43% 50%}:where(html:not(:has([data-portal]))) .enquiry-cta{background:#e9edef;margin-top:60px}:where(html:not(:has([data-portal]))) .enquiry-inner{grid-template-columns:1.4fr 1fr;gap:80px;padding-block:70px;display:grid}:where(html:not(:has([data-portal]))) .enquiry-inner h2{margin-top:21px;font-size:clamp(30px,3vw,46px)}:where(html:not(:has([data-portal]))) .enquiry-inner>div:last-child{padding-top:25px}:where(html:not(:has([data-portal]))) .enquiry-inner p:not(.eyebrow){max-width:350px;margin-bottom:24px;font-size:13px}:where(html:not(:has([data-portal]))) .footer{background:var(--navy);color:#fff;padding-top:64px}:where(html:not(:has([data-portal]))) .footer-top{border-bottom:1px solid #344653;justify-content:space-between;align-items:center;padding-bottom:54px;display:flex}:where(html:not(:has([data-portal]))) .footer-top>p{color:#b8c6d0;font-size:14px}:where(html:not(:has([data-portal]))) .footer-grid{grid-template-columns:1.5fr 1.3fr 1fr 1.1fr;gap:40px;padding-block:47px 60px;display:grid}:where(html:not(:has([data-portal]))) .footer-label{letter-spacing:.13em;text-transform:uppercase;color:#8496a3;margin-bottom:22px;font-size:9px}:where(html:not(:has([data-portal]))) .footer-grid address,:where(html:not(:has([data-portal]))) .footer-grid>div>a{color:#d6dfe5;font-size:11px;line-height:1.9;display:block}:where(html:not(:has([data-portal]))) .footer-grid>div>a{padding:4px 0}:where(html:not(:has([data-portal]))) .footer-grid>div>a:hover{text-decoration:underline}:where(html:not(:has([data-portal]))) .footer-grid>div>.text-link{margin-top:15px;font-size:10px;display:inline-flex}:where(html:not(:has([data-portal]))) .footer-note>p:last-child{color:#9badba;font-size:11px;line-height:1.9}:where(html:not(:has([data-portal]))) .footer-bottom{color:#9aabb8;border-top:1px solid #344653;justify-content:space-between;padding-block:23px;font-size:9px;display:flex}:where(html:not(:has([data-portal]))) .footer-bottom>div{gap:25px;display:flex}:where(html:not(:has([data-portal]))) .footer-bottom a:hover{color:#fff}:where(html:not(:has([data-portal]))) .division-hero{padding:22px 0 70px}:where(html:not(:has([data-portal]))) .division-hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;display:grid}:where(html:not(:has([data-portal]))) .division-hero-copy>.eyebrow{margin-bottom:32px}:where(html:not(:has([data-portal]))) .division-hero-copy h1{font-size:clamp(44px,4.8vw,73px)}:where(html:not(:has([data-portal]))) .division-hero-copy .body-large{max-width:520px;margin-top:30px;font-size:17px}:where(html:not(:has([data-portal]))) .division-hero-copy .button{margin-top:30px}:where(html:not(:has([data-portal]))) .division-hero-media .media-frame{aspect-ratio:1.06}:where(html:not(:has([data-portal]))) .division-machinery{background:var(--navy);color:#fff;padding-block:65px}:where(html:not(:has([data-portal]))) .division-machinery .body-large,:where(html:not(:has([data-portal]))) .division-machinery figcaption{color:#bfccd5}:where(html:not(:has([data-portal]))) .division-machinery .media-frame{aspect-ratio:.94}:where(html:not(:has([data-portal]))) .division-solar .division-hero-grid{grid-template-columns:1fr 1.1fr}:where(html:not(:has([data-portal]))) .division-solar .media-frame{aspect-ratio:1.2}:where(html:not(:has([data-portal]))) .division-elevators .division-hero-grid{grid-template-columns:1.2fr .75fr}:where(html:not(:has([data-portal]))) .division-elevators .media-frame{aspect-ratio:.82}:where(html:not(:has([data-portal]))) .division-hvac{background:var(--mineral);padding-block:50px}:where(html:not(:has([data-portal]))) .division-heating .media-frame{aspect-ratio:.97}:where(html:not(:has([data-portal]))) .division-principles{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding-block:26px;display:grid}:where(html:not(:has([data-portal]))) .division-principles a{border-left:1px solid var(--line);align-items:center;gap:18px;min-height:40px;padding-inline:30px;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .division-principles a:first-child{border:0;padding-left:0}:where(html:not(:has([data-portal]))) .division-principles a>span{color:var(--slate);font-size:10px}:where(html:not(:has([data-portal]))) .division-principles a>svg{margin-left:auto}:where(html:not(:has([data-portal]))) .division-intro{grid-template-columns:1fr 2fr;gap:60px;max-width:1200px;display:grid}:where(html:not(:has([data-portal]))) .division-intro p:not(.eyebrow){max-width:740px;margin-top:28px;font-size:17px;line-height:1.9}:where(html:not(:has([data-portal]))) .catalog-section{scroll-margin-top:130px}:where(html:not(:has([data-portal]))) .catalog-section>.section-head{margin-bottom:40px}:where(html:not(:has([data-portal]))) .catalog-section .display-section{font-size:35px}:where(html:not(:has([data-portal]))) .product-row{border-top:1px solid var(--line);grid-template-columns:70px 1fr 50px;align-items:center;gap:30px;padding:34px 0;display:grid}:where(html:not(:has([data-portal]))) .product-row:last-child{border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .product-number{color:var(--slate);align-self:start;padding-top:7px;font-size:11px}:where(html:not(:has([data-portal]))) .product-row h3{font-size:29px}:where(html:not(:has([data-portal]))) .product-row p{margin-top:12px;font-size:13px}:where(html:not(:has([data-portal]))) .product-arrow{width:45px;height:45px;transition:background var(--standard), color var(--standard);place-items:center;display:grid}:where(html:not(:has([data-portal]))) .product-row:hover .product-arrow{background:var(--navy);color:#fff}:where(html:not(:has([data-portal]))) .product-row:hover h3{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}:where(html:not(:has([data-portal]))) .products-solar{grid-template-columns:1fr 1fr;gap:0 50px;display:grid}:where(html:not(:has([data-portal]))) .products-solar .product-row{grid-template-columns:28px 1fr 40px;gap:16px}:where(html:not(:has([data-portal]))) .products-solar .product-row h3{font-size:24px}:where(html:not(:has([data-portal]))) .products-solar .product-row:nth-last-child(2){border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .products-elevators .product-row{min-height:145px}:where(html:not(:has([data-portal]))) .division-applications{grid-template-columns:1fr 1fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .application-links{border-top:1px solid var(--line)}:where(html:not(:has([data-portal]))) .application-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px 0;font-size:15px;display:flex}:where(html:not(:has([data-portal]))) .application-links a:hover{color:#477087}:where(html:not(:has([data-portal]))) .scope-note{background:var(--mineral);border-left:2px solid var(--navy);gap:30px;padding:35px;display:flex}:where(html:not(:has([data-portal]))) .scope-note h3{margin-bottom:13px;font-size:22px}:where(html:not(:has([data-portal]))) .scope-note p{max-width:970px;font-size:13px;line-height:1.9}:where(html:not(:has([data-portal]))) .related .section-head{margin-bottom:40px}:where(html:not(:has([data-portal]))) .related-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}:where(html:not(:has([data-portal]))) .related-item{border-top:1px solid var(--line);grid-template-columns:1fr 30px;gap:25px;padding:22px 0 28px;display:grid}:where(html:not(:has([data-portal]))) .related-item>.eyebrow{color:var(--slate);grid-column:1/-1}:where(html:not(:has([data-portal]))) .related-item h3{align-self:end;font-size:24px}:where(html:not(:has([data-portal]))) .related-item>svg{align-self:end}:where(html:not(:has([data-portal]))) .related-item:hover{border-color:var(--navy)}:where(html:not(:has([data-portal]))) .product-hero{border-bottom:1px solid var(--line);grid-template-columns:1.3fr 1fr;align-items:center;gap:70px;padding-block:30px 85px;display:grid}:where(html:not(:has([data-portal]))) .product-hero h1{overflow-wrap:anywhere;margin-top:28px;font-size:clamp(39px,4.5vw,66px)}:where(html:not(:has([data-portal]))) .product-lead{max-width:550px;margin-top:28px;font-size:19px}:where(html:not(:has([data-portal]))) .product-hero .button{margin-top:30px}:where(html:not(:has([data-portal]))) .product-hero-image .media-frame{aspect-ratio:1.2}:where(html:not(:has([data-portal]))) .product-hero-elevators .media-frame{aspect-ratio:.95}:where(html:not(:has([data-portal]))) .product-body-layout{grid-template-columns:260px 1fr;gap:100px;padding-top:85px;display:grid}:where(html:not(:has([data-portal]))) .product-aside{align-self:start;position:sticky;top:130px}:where(html:not(:has([data-portal]))) .product-aside nav{flex-direction:column;margin-top:23px;display:flex}:where(html:not(:has([data-portal]))) .product-aside a{border-top:1px solid var(--line);color:var(--slate);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;font-size:11px;display:flex}:where(html:not(:has([data-portal]))) .product-aside a[aria-current]{color:var(--navy);font-weight:700}:where(html:not(:has([data-portal]))) .product-body{max-width:820px}:where(html:not(:has([data-portal]))) .product-body h2{font-size:34px}:where(html:not(:has([data-portal]))) .product-overview>.eyebrow{margin-bottom:23px}:where(html:not(:has([data-portal]))) .product-overview>p:last-child{margin-top:26px;font-size:16px;line-height:1.9}:where(html:not(:has([data-portal]))) .selection-guide{padding-top:70px}:where(html:not(:has([data-portal]))) .selection-guide .body-large{max-width:640px;margin-top:22px;font-size:14px}:where(html:not(:has([data-portal]))) .selection-guide ol{margin-top:33px;list-style:none}:where(html:not(:has([data-portal]))) .selection-guide li{border-top:1px solid var(--line);align-items:flex-start;gap:30px;padding:24px 0;display:flex}:where(html:not(:has([data-portal]))) .selection-guide li>span{color:var(--slate);padding-top:6px;font-size:10px}:where(html:not(:has([data-portal]))) .selection-guide li h3{font-size:21px;line-height:1.4}:where(html:not(:has([data-portal]))) .options-section{background:var(--mineral);margin-top:40px;padding:32px}:where(html:not(:has([data-portal]))) .options-section h2{font-size:23px}:where(html:not(:has([data-portal]))) .options-section ul{margin-top:20px;list-style:none}:where(html:not(:has([data-portal]))) .options-section li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:16px 0;font-size:14px;display:flex}:where(html:not(:has([data-portal]))) .options-section li:last-child{padding-bottom:0}:where(html:not(:has([data-portal]))) .options-section svg{opacity:.5}:where(html:not(:has([data-portal]))) .product-faq{padding-top:70px}:where(html:not(:has([data-portal]))) .product-faq>h2{margin-bottom:30px}:where(html:not(:has([data-portal]))) .product-faq details{border-top:1px solid var(--line);padding:23px 0}:where(html:not(:has([data-portal]))) .product-faq details:last-child{border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .product-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:30px;font-size:15px;font-weight:500;list-style:none;display:flex}:where(html:not(:has([data-portal]))) .product-faq summary::-webkit-details-marker{display:none}:where(html:not(:has([data-portal]))) .product-faq details[open] summary svg{transform:rotate(45deg)}:where(html:not(:has([data-portal]))) .product-faq details p{max-width:680px;margin-top:20px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .sibling-grid{grid-template-columns:repeat(3,1fr);gap:35px;margin-top:42px;display:grid}:where(html:not(:has([data-portal]))) .sibling-grid>a{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;padding-top:24px;display:flex}:where(html:not(:has([data-portal]))) .sibling-grid h3{font-size:24px}:where(html:not(:has([data-portal]))) .sibling-grid p{margin-top:18px;margin-bottom:23px;font-size:13px}:where(html:not(:has([data-portal]))) .sibling-grid svg{margin-top:auto}:where(html:not(:has([data-portal]))) .sibling-grid>a:hover{border-color:var(--navy)}:where(html:not(:has([data-portal]))) .text-page-hero{max-width:1060px;padding:35px 0 75px}:where(html:not(:has([data-portal]))) .text-page-hero>.eyebrow{margin-bottom:30px}:where(html:not(:has([data-portal]))) .text-page-hero .body-large{max-width:720px;margin-top:33px}:where(html:not(:has([data-portal]))) .industry-directory{grid-template-columns:1fr 1fr;gap:65px 55px;padding-bottom:25px;display:grid}:where(html:not(:has([data-portal]))) .industry-directory-item:nth-child(2n){margin-top:95px}:where(html:not(:has([data-portal]))) .industry-directory-image{position:relative}:where(html:not(:has([data-portal]))) .industry-directory-image .media-frame{aspect-ratio:1.7}:where(html:not(:has([data-portal]))) .industry-directory-image>.circle-link{background:#fff;border:0;position:absolute;bottom:0;right:0}:where(html:not(:has([data-portal]))) .industry-directory-item:hover img{transform:scale(1.035)}:where(html:not(:has([data-portal]))) .industry-directory-copy{grid-template-columns:33px 1fr;gap:17px;margin-top:25px;display:grid}:where(html:not(:has([data-portal]))) .industry-directory-copy>.eyebrow{color:var(--slate);padding-top:5px}:where(html:not(:has([data-portal]))) .industry-directory-copy>h2{font-size:28px}:where(html:not(:has([data-portal]))) .industry-directory-copy>p{grid-column:2;font-size:13px}:where(html:not(:has([data-portal]))) .industry-detail-hero{padding:30px 0 0}:where(html:not(:has([data-portal]))) .industry-detail-hero>.eyebrow{margin-bottom:26px}:where(html:not(:has([data-portal]))) .industry-detail-hero>div{grid-template-columns:1.4fr 1fr;align-items:end;gap:80px;margin-bottom:45px;display:grid}:where(html:not(:has([data-portal]))) .industry-detail-hero h1{font-size:clamp(40px,4.8vw,70px)}:where(html:not(:has([data-portal]))) .industry-detail-hero .body-large{font-size:16px}:where(html:not(:has([data-portal]))) .industry-detail-hero .media-frame{aspect-ratio:2.4}:where(html:not(:has([data-portal]))) .industry-context{grid-template-columns:1fr 1.2fr;gap:90px;display:grid}:where(html:not(:has([data-portal]))) .industry-context .body-large{font-size:16px}:where(html:not(:has([data-portal]))) .context-list{margin-block:35px;list-style:none}:where(html:not(:has([data-portal]))) .context-list li{border-top:1px solid var(--line);gap:25px;padding:20px 0;font-size:14px;display:flex}:where(html:not(:has([data-portal]))) .context-list li>span{color:var(--slate);padding-top:3px;font-size:10px}:where(html:not(:has([data-portal]))) .company-panorama .media-frame{aspect-ratio:2.7}:where(html:not(:has([data-portal]))) .company-panorama img{object-position:50% 48%}:where(html:not(:has([data-portal]))) .corporate-intro{grid-template-columns:1fr 1fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .corporate-intro .body-large{font-size:17px}:where(html:not(:has([data-portal]))) .corporate-intro address{margin:30px 0 15px;font-size:14px}:where(html:not(:has([data-portal]))) .commercial-model{padding-top:0}:where(html:not(:has([data-portal]))) .commercial-model>div:last-child{margin-top:50px}:where(html:not(:has([data-portal]))) .commercial-model article,:where(html:not(:has([data-portal]))) .project-method article{border-top:1px solid var(--line);gap:40px;padding:35px 0;display:flex}:where(html:not(:has([data-portal]))) .commercial-model article>div{grid-template-columns:.8fr 1.6fr;gap:60px;width:100%;display:grid}:where(html:not(:has([data-portal]))) .commercial-model article h3{font-size:28px}:where(html:not(:has([data-portal]))) .commercial-model article p{font-size:14px}:where(html:not(:has([data-portal]))) .partner-hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;padding-top:25px;display:grid}:where(html:not(:has([data-portal]))) .partner-hero h1{margin-block:29px;font-size:clamp(40px,4.4vw,68px)}:where(html:not(:has([data-portal]))) .partner-hero .body-large{margin-bottom:32px;font-size:17px}:where(html:not(:has([data-portal]))) .partner-hero .media-frame{aspect-ratio:.85}:where(html:not(:has([data-portal]))) .partner-roles{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}:where(html:not(:has([data-portal]))) .partner-roles article{border-top:1px solid var(--line);padding-block:27px}:where(html:not(:has([data-portal]))) .partner-roles h2{margin-top:30px;font-size:29px}:where(html:not(:has([data-portal]))) .partner-roles p{min-height:70px;margin-top:19px;font-size:14px}:where(html:not(:has([data-portal]))) .partner-roles svg{margin-top:20px}:where(html:not(:has([data-portal]))) .project-scenario{background:var(--navy);color:#fff;padding:75px 0}:where(html:not(:has([data-portal]))) .scenario-grid{grid-template-columns:1fr 1fr;align-items:center;gap:85px;display:grid}:where(html:not(:has([data-portal]))) .scenario-grid .media-frame{aspect-ratio:.93}:where(html:not(:has([data-portal]))) .scenario-grid figcaption{color:#acbbc5}:where(html:not(:has([data-portal]))) .scenario-grid .eyebrow{letter-spacing:.1em;color:#bac7d0;font-size:8px}:where(html:not(:has([data-portal]))) .scenario-grid h2{margin-block:28px;font-size:clamp(35px,3.5vw,53px)}:where(html:not(:has([data-portal]))) .scenario-grid p:not(.eyebrow){color:#bdcbd5;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .scenario-links{grid-template-columns:1fr 1fr;gap:0 24px;margin-block:25px;display:grid}:where(html:not(:has([data-portal]))) .scenario-links a{border-top:1px solid #425767;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;font-size:11px;display:flex}:where(html:not(:has([data-portal]))) .scenario-grid .text-link{color:#fff}:where(html:not(:has([data-portal]))) .project-method{grid-template-columns:1fr 1.2fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .project-method article>div{display:block}:where(html:not(:has([data-portal]))) .project-method article h3{margin-bottom:19px;font-size:25px}:where(html:not(:has([data-portal]))) .project-method article p{font-size:13px}:where(html:not(:has([data-portal]))) .legal-page{padding-bottom:110px}:where(html:not(:has([data-portal]))) .legal-content{max-width:800px;margin-left:auto}:where(html:not(:has([data-portal]))) .legal-content h2{margin:44px 0 21px;font-size:27px}:where(html:not(:has([data-portal]))) .legal-content p{margin-bottom:22px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .legal-content a{text-decoration:underline}:where(html:not(:has([data-portal]))) .notice,:where(html:not(:has([data-portal]))) .form-notice{background:var(--mineral);color:var(--slate);border-left:2px solid #8799a6;padding:20px 23px;font-size:13px}:where(html:not(:has([data-portal]))) .contact-layout{grid-template-columns:1fr 1.3fr;gap:100px;padding-block:30px 110px;display:grid}:where(html:not(:has([data-portal]))) .contact-intro h1{margin-block:29px;font-size:clamp(42px,4.6vw,70px)}:where(html:not(:has([data-portal]))) .contact-intro .body-large{max-width:355px;font-size:15px}:where(html:not(:has([data-portal]))) .contact-address{border-top:1px solid var(--line);margin-top:45px;padding-top:40px}:where(html:not(:has([data-portal]))) .contact-address>.eyebrow{margin-bottom:19px}:where(html:not(:has([data-portal]))) .contact-address address{margin-bottom:14px;font-size:13px}:where(html:not(:has([data-portal]))) .contact-channels{margin-top:24px}:where(html:not(:has([data-portal]))) .contact-channels a{overflow-wrap:anywhere;align-items:center;gap:14px;padding:12px 0;font-size:13px;display:flex}:where(html:not(:has([data-portal]))) .contact-channels a>svg:last-child{margin-left:auto}:where(html:not(:has([data-portal]))) .contact-form-side>h2{margin:7px 0 30px;font-size:29px}:where(html:not(:has([data-portal]))) .form-notice{margin-bottom:30px;font-size:12px;line-height:1.8}:where(html:not(:has([data-portal]))) .form-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}:where(html:not(:has([data-portal]))) .form-grid label{font-size:11px;font-weight:600;display:block}:where(html:not(:has([data-portal]))) .form-grid input,:where(html:not(:has([data-portal]))) .form-grid select,:where(html:not(:has([data-portal]))) .form-grid textarea{width:100%;min-width:0;color:var(--navy);outline-offset:2px;background:#fff;border:1px solid #bfcbd2;border-radius:0;min-height:51px;margin-top:8px;padding:13px 14px;font-size:14px;font-weight:400;display:block}:where(html:not(:has([data-portal]))) .form-grid input:hover,:where(html:not(:has([data-portal]))) .form-grid select:hover,:where(html:not(:has([data-portal]))) .form-grid textarea:hover{border-color:#8199aa}:is(:where(html:not(:has([data-portal]))) .form-grid input:user-invalid,:where(html:not(:has([data-portal]))) .form-grid select:user-invalid,:where(html:not(:has([data-portal]))) .form-grid textarea:user-invalid){border-color:#a34535}:where(html:not(:has([data-portal]))) .form-grid textarea{resize:vertical;line-height:1.75}:where(html:not(:has([data-portal]))) .full-width{grid-column:1/-1}:where(html:not(:has([data-portal]))) .field-hint{color:var(--slate);margin-top:7px;font-size:10px;font-weight:400;display:block}:where(html:not(:has([data-portal]))) .consent{color:var(--slate);align-items:flex-start;gap:13px;margin-top:30px;font-size:11px;line-height:1.9;display:flex}:where(html:not(:has([data-portal]))) .consent input{width:19px;height:19px;accent-color:var(--navy);flex:0 0 19px;margin:1px 0 0}:where(html:not(:has([data-portal]))) .consent a{text-underline-offset:3px;text-decoration:underline}:where(html:not(:has([data-portal]))) .form-footer{justify-content:space-between;align-items:center;gap:25px;margin-top:30px;display:flex}:where(html:not(:has([data-portal]))) .form-footer>span{color:var(--slate);font-size:10px}:where(html:not(:has([data-portal]))) .form-status{align-items:flex-start;gap:12px;min-height:24px;margin-top:22px;font-size:13px;display:flex}:where(html:not(:has([data-portal]))) .form-status:empty{margin:0}:where(html:not(:has([data-portal]))) .form-status.error{color:#a34535}:where(html:not(:has([data-portal]))) .honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}:where(html:not(:has([data-portal]))) .will-reveal{opacity:0;transition:opacity var(--reveal) var(--ease), transform var(--reveal) var(--ease);transform:translateY(24px)}:where(html:not(:has([data-portal]))) .will-reveal.revealed{opacity:1;transform:none}@keyframes hero-text{0%{opacity:0;clip-path:inset(0 0 16%);transform:translateY(23px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes hero-image{0%{transform:scale(1.075)}to{transform:scale(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@view-transition{navigation:auto}:where(html:not(:has([data-portal]))) ::view-transition-old(root){animation-duration:.18s}:where(html:not(:has([data-portal]))) ::view-transition-new(root){animation-duration:.24s}@media (min-width:1600px){:where(html:not(:has([data-portal]))) .home-hero{height:760px}:where(html:not(:has([data-portal]))) .hero-content{padding-top:85px}:where(html:not(:has([data-portal]))) .hero-intro{max-width:440px;font-size:16px}}@media (max-width:1200px){:where(html:not(:has([data-portal]))) .header-inner{gap:20px}:where(html:not(:has([data-portal]))) .desktop-nav{gap:19px}:where(html:not(:has([data-portal]))) .header-tools{gap:15px}:where(html:not(:has([data-portal]))) .brand-type{font-size:20px}:where(html:not(:has([data-portal]))) .header-contact{gap:10px;padding:14px}:where(html:not(:has([data-portal]))) .desktop-nav>a,:where(html:not(:has([data-portal]))) .nav-button{font-size:11px}:where(html:not(:has([data-portal]))) .feature-heading{grid-template-columns:.8fr 1.8fr 1.2fr;gap:25px}:where(html:not(:has([data-portal]))) .machine-layout{gap:45px}:where(html:not(:has([data-portal]))) .heat-feature,:where(html:not(:has([data-portal]))) .intro-content{gap:65px}:where(html:not(:has([data-portal]))) .product-body-layout{grid-template-columns:225px 1fr;gap:60px}:where(html:not(:has([data-portal]))) .contact-layout{gap:60px}:where(html:not(:has([data-portal]))) .footer-grid{gap:30px}:where(html:not(:has([data-portal]))) .industry-tabs button{font-size:15px}:where(html:not(:has([data-portal]))) .other-rows>a{grid-template-columns:40px 1fr 1fr 52px;gap:24px}:where(html:not(:has([data-portal]))) .division-hero-grid{gap:45px}:where(html:not(:has([data-portal]))) .product-hero{gap:40px}}@media (max-width:1000px){:where(html:not(:has([data-portal]))) .desktop-nav{display:none}:where(html:not(:has([data-portal]))) .mobile-toggle{display:block}:where(html:not(:has([data-portal]))) .header-tools{margin-left:auto}:where(html:not(:has([data-portal]))) .mega-menu{display:none!important}:where(html:not(:has([data-portal]))) .brand-type{font-size:22px}:where(html:not(:has([data-portal]))) .header{height:82px}:where(html:not(:has([data-portal]))) .home-hero{height:690px;min-height:650px}:where(html:not(:has([data-portal]))) .hero-content{padding-top:66px}:where(html:not(:has([data-portal]))) .home-hero h1{font-size:66px}:where(html:not(:has([data-portal]))) .division-strip a{gap:8px;padding:20px 12px;font-size:10px}:where(html:not(:has([data-portal]))) .division-strip svg{width:14px}:where(html:not(:has([data-portal]))) .footer-grid{grid-template-columns:1.4fr 1.2fr 1fr}:where(html:not(:has([data-portal]))) .footer-note{display:none}:where(html:not(:has([data-portal]))) .feature-heading{grid-template-columns:1fr 1fr}:where(html:not(:has([data-portal]))) .feature-heading>.number-label{grid-column:1/-1}:where(html:not(:has([data-portal]))) .feature-description{align-self:end}:where(html:not(:has([data-portal]))) .feature-heading h2{font-size:40px}:where(html:not(:has([data-portal]))) .intro-content{gap:50px}:where(html:not(:has([data-portal]))) .heat-feature{gap:55px}:where(html:not(:has([data-portal]))) .heat-content h2{font-size:38px}:where(html:not(:has([data-portal]))) .machine-content h2{font-size:42px}:where(html:not(:has([data-portal]))) .machine-layout{gap:42px}:where(html:not(:has([data-portal]))) .industry-explorer{gap:35px}:where(html:not(:has([data-portal]))) .approach-grid,:where(html:not(:has([data-portal]))) .location-section,:where(html:not(:has([data-portal]))) .enquiry-inner{gap:55px}:where(html:not(:has([data-portal]))) .division-principles a{padding-inline:20px;font-size:11px}:where(html:not(:has([data-portal]))) .division-hero-copy h1{font-size:47px}:where(html:not(:has([data-portal]))) .division-hero-copy .body-large{font-size:15px}:where(html:not(:has([data-portal]))) .product-hero h1{font-size:44px}:where(html:not(:has([data-portal]))) .product-body-layout{grid-template-columns:190px 1fr;gap:45px}:where(html:not(:has([data-portal]))) .product-body h2{font-size:31px}:where(html:not(:has([data-portal]))) .industry-directory{gap:50px 35px}:where(html:not(:has([data-portal]))) .corporate-intro,:where(html:not(:has([data-portal]))) .project-method{gap:60px}:where(html:not(:has([data-portal]))) .scenario-grid{gap:50px}:where(html:not(:has([data-portal]))) .scenario-grid h2{font-size:38px}:where(html:not(:has([data-portal]))) .partner-hero{gap:45px}:where(html:not(:has([data-portal]))) .partner-hero h1{font-size:45px}:where(html:not(:has([data-portal]))) .contact-layout{grid-template-columns:.9fr 1.2fr;gap:40px}:where(html:not(:has([data-portal]))) .contact-intro h1{font-size:46px}:where(html:not(:has([data-portal]))) .form-grid{gap:21px 16px}:where(html:not(:has([data-portal]))) .form-footer{flex-direction:column;align-items:flex-start;gap:14px}}@media (max-width:900px){:root:where(:not(:has([data-portal]))){--gutter:32px;--section:80px}html:where(:not(:has([data-portal]))){scroll-padding-top:100px}:where(html:not(:has([data-portal]))) .home-hero{height:650px;min-height:0}:where(html:not(:has([data-portal]))) .hero-content{padding-top:50px}:where(html:not(:has([data-portal]))) .home-hero h1{font-size:clamp(46px,6.9vw,62px)}:where(html:not(:has([data-portal]))) .hero-media img{object-position:67% 50%}:where(html:not(:has([data-portal]))) .hero-kicker{margin-bottom:28px}:where(html:not(:has([data-portal]))) .hero-intro{max-width:355px}:where(html:not(:has([data-portal]))) .intro-content{grid-template-columns:1fr 1fr;gap:40px}:where(html:not(:has([data-portal]))) .intro-content h2{font-size:35px}:where(html:not(:has([data-portal]))) .machine-layout{grid-template-columns:1fr 1fr;gap:30px}:where(html:not(:has([data-portal]))) .machine-content h2{font-size:35px}:where(html:not(:has([data-portal]))) .machine-content .number-label{margin-bottom:28px}:where(html:not(:has([data-portal]))) .machine-photo .media-frame{aspect-ratio:.7}:where(html:not(:has([data-portal]))) .machine-categories{margin-top:25px}:where(html:not(:has([data-portal]))) .heat-feature{gap:40px;padding-block:90px}:where(html:not(:has([data-portal]))) .heat-content h2{font-size:34px}:where(html:not(:has([data-portal]))) .heat-content .number-label{margin-bottom:30px}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:.78}:where(html:not(:has([data-portal]))) .heat-subline{margin-top:25px;font-size:7px}:where(html:not(:has([data-portal]))) .other-rows>a{grid-template-columns:27px 1fr 45px;gap:20px}:where(html:not(:has([data-portal]))) .other-rows h3{font-size:27px}:where(html:not(:has([data-portal]))) .other-rows p{grid-area:2/2}:where(html:not(:has([data-portal]))) .other-rows .circle-link{grid-area:1/3/3;width:44px;height:44px}:where(html:not(:has([data-portal]))) .industry-explorer{grid-template-columns:1fr}:where(html:not(:has([data-portal]))) .industry-tabs{grid-template-columns:repeat(4,1fr);gap:20px;padding:0;display:grid}:where(html:not(:has([data-portal]))) .industry-tabs button{text-align:left;border-top:1px solid var(--line);padding:17px 0;font-size:13px;display:block}:where(html:not(:has([data-portal]))) .industry-tabs button span{margin-bottom:12px;display:block}:where(html:not(:has([data-portal]))) .industry-tabs button svg{display:none}:where(html:not(:has([data-portal]))) .industry-panel-image{aspect-ratio:1.95}:where(html:not(:has([data-portal]))) .approach-grid{gap:45px}:where(html:not(:has([data-portal]))) .sticky-heading{position:static}:where(html:not(:has([data-portal]))) .approach-step{gap:25px}:where(html:not(:has([data-portal]))) .approach-step h3{font-size:23px}:where(html:not(:has([data-portal]))) .location-section{gap:40px}:where(html:not(:has([data-portal]))) .location-section h2{font-size:35px}:where(html:not(:has([data-portal]))) .location-photo .media-frame{aspect-ratio:.8}:where(html:not(:has([data-portal]))) .enquiry-inner{grid-template-columns:1.2fr 1fr;gap:35px}:where(html:not(:has([data-portal]))) .enquiry-inner h2{font-size:34px}:where(html:not(:has([data-portal]))) .division-hero-grid,:where(html:not(:has([data-portal]))) .division-solar .division-hero-grid{grid-template-columns:1.1fr 1fr;gap:35px}:where(html:not(:has([data-portal]))) .division-hero-copy h1{font-size:43px}:where(html:not(:has([data-portal]))) .division-hero-media .media-frame{aspect-ratio:.85}:where(html:not(:has([data-portal]))) .division-intro{grid-template-columns:.7fr 1.7fr;gap:40px}:where(html:not(:has([data-portal]))) .division-intro p:not(.eyebrow){font-size:15px}:where(html:not(:has([data-portal]))) .division-applications{gap:45px}:where(html:not(:has([data-portal]))) .products-solar{gap:0 25px}:where(html:not(:has([data-portal]))) .products-solar .product-row{grid-template-columns:20px 1fr 30px;gap:10px}:where(html:not(:has([data-portal]))) .products-solar .product-row h3{font-size:21px}:where(html:not(:has([data-portal]))) .related-grid{gap:25px}:where(html:not(:has([data-portal]))) .related-item h3{font-size:22px}:where(html:not(:has([data-portal]))) .product-aside{display:none}:where(html:not(:has([data-portal]))) .product-body-layout{padding-top:60px;display:block}:where(html:not(:has([data-portal]))) .product-body{max-width:760px;margin-left:0}:where(html:not(:has([data-portal]))) .product-hero{grid-template-columns:1.2fr 1fr;gap:35px}:where(html:not(:has([data-portal]))) .product-hero-image .media-frame{aspect-ratio:.85}:where(html:not(:has([data-portal]))) .product-hero h1{font-size:40px}:where(html:not(:has([data-portal]))) .product-lead{font-size:17px}:where(html:not(:has([data-portal]))) .industry-detail-hero>div{gap:40px}:where(html:not(:has([data-portal]))) .industry-detail-hero h1{font-size:43px}:where(html:not(:has([data-portal]))) .industry-context{gap:50px}:where(html:not(:has([data-portal]))) .industry-context h2{font-size:34px}:where(html:not(:has([data-portal]))) .corporate-intro{gap:45px}:where(html:not(:has([data-portal]))) .commercial-model article>div{gap:35px}:where(html:not(:has([data-portal]))) .partner-roles{gap:25px}:where(html:not(:has([data-portal]))) .partner-roles h2{font-size:24px}:where(html:not(:has([data-portal]))) .contact-layout{display:block}:where(html:not(:has([data-portal]))) .contact-intro{grid-template-columns:1.1fr 1fr;gap:0 60px;display:grid}:where(html:not(:has([data-portal]))) .contact-intro>.eyebrow,:where(html:not(:has([data-portal]))) .contact-intro>h1,:where(html:not(:has([data-portal]))) .contact-intro>.body-large{grid-column:1}:where(html:not(:has([data-portal]))) .contact-address{grid-area:2/2/4;margin-top:20px;padding-top:20px}:where(html:not(:has([data-portal]))) .contact-channels{grid-column:2}:where(html:not(:has([data-portal]))) .contact-form-side{max-width:760px;margin-top:65px}:where(html:not(:has([data-portal]))) .form-footer{flex-direction:row;align-items:center}:where(html:not(:has([data-portal]))) .footer-grid{gap:30px}:where(html:not(:has([data-portal]))) .footer-top>p{font-size:12px}}@media (max-width:640px){:root:where(:not(:has([data-portal]))){--gutter:22px;--section:70px}:where(html:not(:has([data-portal]))) body{font-size:15px}:where(html:not(:has([data-portal]))) .header{height:76px}:where(html:not(:has([data-portal]))) .header-inner{gap:12px;padding-inline:20px}:where(html:not(:has([data-portal]))) .brand svg{width:30px;height:36px}:where(html:not(:has([data-portal]))) .brand{gap:9px}:where(html:not(:has([data-portal]))) .brand-type{letter-spacing:.1em;font-size:18px}:where(html:not(:has([data-portal]))) .brand-type>span{letter-spacing:.08em;margin-top:5px;font-size:6.2px}:where(html:not(:has([data-portal]))) .header-contact{display:none}:where(html:not(:has([data-portal]))) .header-tools{gap:10px}:where(html:not(:has([data-portal]))) .language-button{gap:5px;font-size:10px}:where(html:not(:has([data-portal]))) .language-button>svg:first-child{display:none}:where(html:not(:has([data-portal]))) .mobile-toggle{padding:5px}:where(html:not(:has([data-portal]))) .mega-menu{top:75px}:where(html:not(:has([data-portal]))) .home-hero{height:655px;min-height:0}:where(html:not(:has([data-portal]))) .hero-content{padding-top:37px;padding-bottom:23px}:where(html:not(:has([data-portal]))) .hero-media{inset:-15px -30px}:where(html:not(:has([data-portal]))) .hero-media img{object-position:64% 60%;filter:saturate(.3)}:where(html:not(:has([data-portal]))) .hero-shade{background:linear-gradient(90deg,#0c1d29e6,#02271a70),linear-gradient(#0000 40%,#02271a30)}:where(html:not(:has([data-portal]))) .hero-kicker{letter-spacing:.12em;max-width:300px;margin-bottom:30px;font-size:7.3px}:where(html:not(:has([data-portal]))) .home-hero h1{letter-spacing:-.047em;white-space:pre-line;text-wrap:initial;max-width:100%;font-size:clamp(39px,9.55vw,55px);line-height:1.13}:where(html:not(:has([data-portal]))) .hero-intro{max-width:290px;margin-top:27px;font-size:13px;line-height:1.85}:where(html:not(:has([data-portal]))) .hero-actions{flex-direction:column;align-items:flex-start;gap:17px;margin-top:30px}:where(html:not(:has([data-portal]))) .hero-actions>.button{gap:30px;min-height:51px;padding:15px 19px;font-size:11px}:where(html:not(:has([data-portal]))) .hero-secondary{gap:20px;min-height:32px;font-size:11px}:where(html:not(:has([data-portal]))) .hero-bottom{letter-spacing:.12em;padding-top:25px;font-size:7px}:where(html:not(:has([data-portal]))) .hero-bottom a{width:34px;height:34px}:where(html:not(:has([data-portal]))) .hero-discovery{scroll-margin-top:75px}:where(html:not(:has([data-portal]))) .division-strip{grid-template-columns:repeat(3,1fr);width:100%;padding:0 22px;display:grid}:where(html:not(:has([data-portal]))) .division-strip a{border-left:0;grid-template-columns:1fr 18px;align-content:start;gap:8px;font-size:10px;display:grid;padding:21px 10px!important}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(-n+3){border-bottom:1px solid var(--line);min-height:101px}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(4),:where(html:not(:has([data-portal]))) .division-strip a:nth-child(5){grid-column:auto;min-height:80px}:where(html:not(:has([data-portal]))) .division-strip a:first-child{padding-left:0!important}:where(html:not(:has([data-portal]))) .division-strip a>span:nth-child(2){grid-area:2/1/auto/3}:where(html:not(:has([data-portal]))) .division-strip a>svg{grid-area:1/2;width:13px;height:13px}:where(html:not(:has([data-portal]))) .strip-number{padding-top:0;font-size:8px}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(4){grid-column:1/2;padding-left:0!important}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(5){grid-column:2/4;align-items:center;display:flex;padding-left:10px!important}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(5)>span:nth-child(2){margin-left:3px}:where(html:not(:has([data-portal]))) .division-strip a:nth-child(5)>svg{margin-left:auto}:where(html:not(:has([data-portal]))) .intro-section{padding-block:62px 65px}:where(html:not(:has([data-portal]))) .intro-section>.eyebrow{margin-bottom:25px;font-size:8px}:where(html:not(:has([data-portal]))) .intro-content{display:block}:where(html:not(:has([data-portal]))) .intro-content h2{font-size:32px;line-height:1.2}:where(html:not(:has([data-portal]))) .intro-content>div{max-width:100%;margin-top:26px}:where(html:not(:has([data-portal]))) .intro-content p{font-size:13px;line-height:1.9}:where(html:not(:has([data-portal]))) .text-link{gap:25px;font-size:11px}:where(html:not(:has([data-portal]))) .feature-heading{margin-bottom:28px;display:block}:where(html:not(:has([data-portal]))) .feature-heading>.number-label{margin-bottom:27px}:where(html:not(:has([data-portal]))) .number-label{gap:15px}:where(html:not(:has([data-portal]))) .number-label .eyebrow{max-width:260px;font-size:8px}:where(html:not(:has([data-portal]))) .number-label>span{font-size:10px}:where(html:not(:has([data-portal]))) .feature-heading h2{font-size:34px;line-height:1.18}:where(html:not(:has([data-portal]))) .feature-description{max-width:350px;margin-top:23px}:where(html:not(:has([data-portal]))) .feature-description p{font-size:13px}:where(html:not(:has([data-portal]))) .solar-panorama .media-frame{aspect-ratio:1.12}:where(html:not(:has([data-portal]))) .solar-panorama img{object-position:36% 50%}:where(html:not(:has([data-portal]))) .image-corner{width:51px;height:51px;bottom:0}:where(html:not(:has([data-portal]))) .image-corner svg{width:22px}:where(html:not(:has([data-portal]))) .media-figure figcaption,:where(html:not(:has([data-portal]))) .image-caption{font-size:8px}:where(html:not(:has([data-portal]))) .solar-bottom{align-items:flex-start;gap:15px;padding-top:18px}:where(html:not(:has([data-portal]))) .solar-bottom>span{max-width:60px;font-size:7px;line-height:1.8}:where(html:not(:has([data-portal]))) .solar-bottom>div{flex-wrap:wrap;justify-content:flex-end;gap:5px 15px;max-width:230px}:where(html:not(:has([data-portal]))) .solar-bottom a{gap:7px;min-height:27px;font-size:8px}:where(html:not(:has([data-portal]))) .solar-bottom svg{width:11px}:where(html:not(:has([data-portal]))) .focus-solar{padding-bottom:70px}:where(html:not(:has([data-portal]))) .machine-feature{padding-block:54px}:where(html:not(:has([data-portal]))) .machine-layout{flex-direction:column;align-items:stretch;gap:35px;display:flex}:where(html:not(:has([data-portal]))) .machine-content .number-label{margin-bottom:29px}:where(html:not(:has([data-portal]))) .machine-content h2{margin-bottom:22px;font-size:38px;line-height:1.16}:where(html:not(:has([data-portal]))) .machine-content>p{margin-bottom:24px;font-size:13px}:where(html:not(:has([data-portal]))) .machine-content .button{min-height:50px;font-size:11px}:where(html:not(:has([data-portal]))) .machine-categories{margin-top:30px}:where(html:not(:has([data-portal]))) .machine-categories a{min-height:49px;font-size:11px}:where(html:not(:has([data-portal]))) .machine-photo .media-frame{aspect-ratio:1.12}:where(html:not(:has([data-portal]))) .machine-photo img{object-position:50% 50%}:where(html:not(:has([data-portal]))) .heat-feature{flex-direction:column-reverse;gap:32px;padding-block:70px;display:flex}:where(html:not(:has([data-portal]))) .heat-content .number-label{margin-bottom:26px}:where(html:not(:has([data-portal]))) .heat-content h2{margin-bottom:23px;font-size:35px;line-height:1.18}:where(html:not(:has([data-portal]))) .heat-content>p{max-width:100%;margin-bottom:16px;font-size:13px}:where(html:not(:has([data-portal]))) .heat-subline{margin-top:20px;font-size:7px}:where(html:not(:has([data-portal]))) .heat-photo{width:100%}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:1.18}:where(html:not(:has([data-portal]))) .heat-photo img{object-position:35% 50%}:where(html:not(:has([data-portal]))) .other-heading{margin-bottom:34px;display:block}:where(html:not(:has([data-portal]))) .section-head .eyebrow{margin-bottom:21px;font-size:8px}:where(html:not(:has([data-portal]))) .section-head h2{font-size:34px}:where(html:not(:has([data-portal]))) .other-heading>p{max-width:260px;margin-top:22px;font-size:12px}:where(html:not(:has([data-portal]))) .other-rows>a{grid-template-columns:21px 1fr 36px;gap:12px;padding:26px 0}:where(html:not(:has([data-portal]))) .other-rows h3{font-size:24px}:where(html:not(:has([data-portal]))) .other-rows p{font-size:11px;line-height:1.8}:where(html:not(:has([data-portal]))) .other-rows .eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .other-rows .circle-link{width:34px;height:34px}:where(html:not(:has([data-portal]))) .other-rows .circle-link svg{width:18px}:where(html:not(:has([data-portal]))) .industry-home .two-col{margin-bottom:0;display:block}:where(html:not(:has([data-portal]))) .two-col>.text-link{margin-top:19px}:where(html:not(:has([data-portal]))) .industry-explorer{gap:26px;margin-top:29px}:where(html:not(:has([data-portal]))) .industry-tabs{grid-template-columns:1fr 1fr;gap:0 20px}:where(html:not(:has([data-portal]))) .industry-tabs button{min-height:80px;padding:15px 0;font-size:12px}:where(html:not(:has([data-portal]))) .industry-tabs button span{margin-bottom:6px;font-size:8px}:where(html:not(:has([data-portal]))) .industry-panel-image{aspect-ratio:1.3}:where(html:not(:has([data-portal]))) .industry-panel-copy{grid-template-columns:1fr 40px;gap:18px;padding-top:19px}:where(html:not(:has([data-portal]))) .industry-panel-copy>p{font-size:13px}:where(html:not(:has([data-portal]))) .industry-panel-copy .circle-link{width:40px;height:40px}:where(html:not(:has([data-portal]))) .industry-panel-copy .circle-link svg{width:20px}:where(html:not(:has([data-portal]))) .industry-connections{gap:10px 18px}:where(html:not(:has([data-portal]))) .industry-connections a{font-size:9px}:where(html:not(:has([data-portal]))) .approach-grid{display:block}:where(html:not(:has([data-portal]))) .sticky-heading .body-large{margin-top:23px;font-size:13px}:where(html:not(:has([data-portal]))) .approach-steps{margin-top:30px;padding-top:0}:where(html:not(:has([data-portal]))) .approach-step{gap:23px;padding:25px 0 30px}:where(html:not(:has([data-portal]))) .approach-step>span{font-size:9px}:where(html:not(:has([data-portal]))) .approach-step h3{margin-bottom:12px;font-size:23px}:where(html:not(:has([data-portal]))) .approach-step p{font-size:12px}:where(html:not(:has([data-portal]))) .location-section{flex-direction:column;align-items:stretch;gap:30px;display:flex}:where(html:not(:has([data-portal]))) .location-section h2{font-size:34px}:where(html:not(:has([data-portal]))) .location-section .section-head .body-large{font-size:13px}:where(html:not(:has([data-portal]))) .location-address{margin-top:25px;font-size:11px}:where(html:not(:has([data-portal]))) .location-photo .media-frame{aspect-ratio:1.3}:where(html:not(:has([data-portal]))) .enquiry-cta{margin-top:30px}:where(html:not(:has([data-portal]))) .enquiry-inner{padding-block:48px;display:block}:where(html:not(:has([data-portal]))) .enquiry-inner h2{font-size:32px;line-height:1.2}:where(html:not(:has([data-portal]))) .enquiry-inner>div:last-child{padding-top:24px}:where(html:not(:has([data-portal]))) .enquiry-inner p:not(.eyebrow){max-width:100%;font-size:13px}:where(html:not(:has([data-portal]))) .enquiry-inner .button{font-size:11px}:where(html:not(:has([data-portal]))) .footer{padding-top:42px}:where(html:not(:has([data-portal]))) .footer-top{padding-bottom:30px;display:block}:where(html:not(:has([data-portal]))) .footer-top>p{margin-top:20px;font-size:11px}:where(html:not(:has([data-portal]))) .footer-grid{grid-template-columns:1.1fr 1fr;gap:30px 25px;padding-block:30px;display:grid}:where(html:not(:has([data-portal]))) .footer-grid>div:first-child{grid-column:1/-1}:where(html:not(:has([data-portal]))) .footer-label{margin-bottom:15px;font-size:8px}:where(html:not(:has([data-portal]))) .footer-grid address,:where(html:not(:has([data-portal]))) .footer-grid>div>a{font-size:10px}:where(html:not(:has([data-portal]))) .footer-grid>div:first-child .text-link{min-height:36px;margin-top:9px}:where(html:not(:has([data-portal]))) .footer-bottom{padding-block:21px;font-size:8px;display:block}:where(html:not(:has([data-portal]))) .footer-bottom>div{flex-wrap:wrap;gap:20px;margin-top:15px}:where(html:not(:has([data-portal]))) .breadcrumbs{gap:7px;min-height:58px;padding-block:15px;font-size:9px;line-height:1.6}:where(html:not(:has([data-portal]))) .breadcrumbs svg{width:10px;height:10px}:where(html:not(:has([data-portal]))) .division-hero{padding:15px 0 40px}:where(html:not(:has([data-portal]))) .division-hero-grid,:where(html:not(:has([data-portal]))) .division-solar .division-hero-grid,:where(html:not(:has([data-portal]))) .division-elevators .division-hero-grid{flex-direction:column;align-items:stretch;gap:34px;display:flex}:where(html:not(:has([data-portal]))) .division-hero-copy>.eyebrow{margin-bottom:24px;font-size:8px}:where(html:not(:has([data-portal]))) .division-hero-copy h1{font-size:43px;line-height:1.12}:where(html:not(:has([data-portal]))) .division-hero-copy .body-large{max-width:100%;margin-top:25px;font-size:14px}:where(html:not(:has([data-portal]))) .division-hero-copy .button{min-height:50px;margin-top:25px;font-size:11px}:where(html:not(:has([data-portal]))) .division-hero-media .media-frame,:where(html:not(:has([data-portal]))) .division-solar .media-frame,:where(html:not(:has([data-portal]))) .division-heating .media-frame{aspect-ratio:1.22}:where(html:not(:has([data-portal]))) .division-elevators .media-frame{aspect-ratio:1.05;max-height:430px}:where(html:not(:has([data-portal]))) .division-machinery,:where(html:not(:has([data-portal]))) .division-hvac{padding-block:40px}:where(html:not(:has([data-portal]))) .division-principles{padding-block:14px;display:block}:where(html:not(:has([data-portal]))) .division-principles a{border-left:0;border-top:1px solid var(--line);min-height:47px;padding:14px 0;font-size:11px}:where(html:not(:has([data-portal]))) .division-principles a:first-child{border-top:0}:where(html:not(:has([data-portal]))) .division-principles a>span{font-size:8px}:where(html:not(:has([data-portal]))) .division-intro{display:block}:where(html:not(:has([data-portal]))) .division-intro>.eyebrow{margin-bottom:23px;font-size:8px}:where(html:not(:has([data-portal]))) .division-intro h2{font-size:32px}:where(html:not(:has([data-portal]))) .division-intro p:not(.eyebrow){margin-top:23px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .catalog-section .display-section{font-size:31px}:where(html:not(:has([data-portal]))) .catalog-section>.section-head{margin-bottom:28px}:where(html:not(:has([data-portal]))) .products-solar{display:block}:where(html:not(:has([data-portal]))) .product-row,:where(html:not(:has([data-portal]))) .products-solar .product-row{grid-template-columns:22px 1fr 32px;gap:14px;padding:25px 0}:where(html:not(:has([data-portal]))) .product-row h3,:where(html:not(:has([data-portal]))) .products-solar .product-row h3{font-size:24px;line-height:1.22}:where(html:not(:has([data-portal]))) .product-row p{margin-top:12px;font-size:12px}:where(html:not(:has([data-portal]))) .product-number{font-size:9px}:where(html:not(:has([data-portal]))) .product-arrow{width:32px;height:32px}:where(html:not(:has([data-portal]))) .product-arrow svg{width:21px}:where(html:not(:has([data-portal]))) .products-solar .product-row:nth-last-child(2){border-bottom:0}:where(html:not(:has([data-portal]))) .products-elevators .product-row{min-height:130px}:where(html:not(:has([data-portal]))) .division-applications{display:block}:where(html:not(:has([data-portal]))) .division-applications .application-links{margin-top:30px}:where(html:not(:has([data-portal]))) .application-links a{padding:17px 0;font-size:13px}:where(html:not(:has([data-portal]))) .scope-note{gap:17px;padding:25px 21px}:where(html:not(:has([data-portal]))) .scope-note h3{font-size:21px}:where(html:not(:has([data-portal]))) .scope-note p{font-size:12px;line-height:1.9}:where(html:not(:has([data-portal]))) .related .section-head{margin-bottom:28px}:where(html:not(:has([data-portal]))) .related-grid{display:block}:where(html:not(:has([data-portal]))) .related-item{gap:17px;padding:23px 0}:where(html:not(:has([data-portal]))) .related-item>.eyebrow{grid-column:1;font-size:9px}:where(html:not(:has([data-portal]))) .related-item h3{grid-column:1;max-width:260px;font-size:26px}:where(html:not(:has([data-portal]))) .related-item>svg{grid-area:1/2/3}:where(html:not(:has([data-portal]))) .product-hero{flex-direction:column;align-items:stretch;gap:32px;padding-block:20px 40px;display:flex}:where(html:not(:has([data-portal]))) .product-hero h1{margin-top:22px;font-size:40px}:where(html:not(:has([data-portal]))) .product-hero .eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .product-lead{margin-top:22px;font-size:17px}:where(html:not(:has([data-portal]))) .product-hero .button{margin-top:25px}:where(html:not(:has([data-portal]))) .product-hero-image .media-frame{aspect-ratio:1.4}:where(html:not(:has([data-portal]))) .product-body-layout{padding-top:45px}:where(html:not(:has([data-portal]))) .product-body h2{font-size:29px}:where(html:not(:has([data-portal]))) .product-overview>.eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .product-overview>p:last-child{font-size:14px}:where(html:not(:has([data-portal]))) .selection-guide{padding-top:48px}:where(html:not(:has([data-portal]))) .selection-guide .body-large{font-size:13px}:where(html:not(:has([data-portal]))) .selection-guide li{gap:20px;padding:20px 0}:where(html:not(:has([data-portal]))) .selection-guide li h3{font-size:19px}:where(html:not(:has([data-portal]))) .options-section{margin-top:27px;padding:24px}:where(html:not(:has([data-portal]))) .options-section h2{font-size:23px}:where(html:not(:has([data-portal]))) .options-section li{font-size:12px}:where(html:not(:has([data-portal]))) .product-faq{padding-top:48px}:where(html:not(:has([data-portal]))) .product-faq summary{gap:17px;font-size:14px}:where(html:not(:has([data-portal]))) .product-faq details p{font-size:13px}:where(html:not(:has([data-portal]))) .sibling-grid{margin-top:30px;display:block}:where(html:not(:has([data-portal]))) .sibling-grid>a{grid-template-columns:1fr 24px;gap:15px;padding:25px 0;display:grid}:where(html:not(:has([data-portal]))) .sibling-grid h3{font-size:25px}:where(html:not(:has([data-portal]))) .sibling-grid p{margin:0;font-size:12px}:where(html:not(:has([data-portal]))) .sibling-grid svg{grid-area:1/2/3}:where(html:not(:has([data-portal]))) .text-page-hero{padding:24px 0 45px}:where(html:not(:has([data-portal]))) .text-page-hero>.eyebrow{margin-bottom:23px;font-size:8px}:where(html:not(:has([data-portal]))) .text-page-hero h1{font-size:40px;line-height:1.15}:where(html:not(:has([data-portal]))) .text-page-hero .body-large{margin-top:25px;font-size:15px}:where(html:not(:has([data-portal]))) .industry-directory{display:block}:where(html:not(:has([data-portal]))) .industry-directory-item{margin-bottom:35px;display:block}:where(html:not(:has([data-portal]))) .industry-directory-item:nth-child(2n){margin-top:0}:where(html:not(:has([data-portal]))) .industry-directory-image .media-frame{aspect-ratio:1.45}:where(html:not(:has([data-portal]))) .industry-directory-copy{grid-template-columns:24px 1fr;gap:12px;margin-top:19px}:where(html:not(:has([data-portal]))) .industry-directory-copy>h2{font-size:26px}:where(html:not(:has([data-portal]))) .industry-directory-copy>p{font-size:12px}:where(html:not(:has([data-portal]))) .industry-directory-copy>.eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .industry-detail-hero{padding-top:23px}:where(html:not(:has([data-portal]))) .industry-detail-hero>div{margin-bottom:30px;display:block}:where(html:not(:has([data-portal]))) .industry-detail-hero>.eyebrow{margin-bottom:24px;font-size:8px}:where(html:not(:has([data-portal]))) .industry-detail-hero h1{font-size:40px}:where(html:not(:has([data-portal]))) .industry-detail-hero .body-large{margin-top:25px;font-size:14px}:where(html:not(:has([data-portal]))) .industry-detail-hero .media-frame{aspect-ratio:1.25}:where(html:not(:has([data-portal]))) .industry-context{display:block}:where(html:not(:has([data-portal]))) .industry-context>div:last-child{margin-top:28px}:where(html:not(:has([data-portal]))) .industry-context .body-large{font-size:14px}:where(html:not(:has([data-portal]))) .context-list li{font-size:13px}:where(html:not(:has([data-portal]))) .company-panorama .media-frame{aspect-ratio:1.18}:where(html:not(:has([data-portal]))) .corporate-intro{display:block}:where(html:not(:has([data-portal]))) .corporate-intro>.body-large,:where(html:not(:has([data-portal]))) .corporate-intro>div:last-child{margin-top:30px}:where(html:not(:has([data-portal]))) .corporate-intro .body-large{font-size:14px}:where(html:not(:has([data-portal]))) .corporate-intro address{font-size:12px}:where(html:not(:has([data-portal]))) .commercial-model>div:last-child{margin-top:30px}:where(html:not(:has([data-portal]))) .commercial-model article,:where(html:not(:has([data-portal]))) .project-method article{gap:20px;padding:25px 0}:where(html:not(:has([data-portal]))) .commercial-model article>div{display:block}:where(html:not(:has([data-portal]))) .commercial-model article h3{font-size:26px}:where(html:not(:has([data-portal]))) .commercial-model article p{margin-top:18px;font-size:13px}:where(html:not(:has([data-portal]))) .partner-hero{flex-direction:column;align-items:stretch;gap:33px;padding-top:22px;display:flex}:where(html:not(:has([data-portal]))) .partner-hero .eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .partner-hero h1{margin-block:23px;font-size:40px}:where(html:not(:has([data-portal]))) .partner-hero .body-large{font-size:14px}:where(html:not(:has([data-portal]))) .partner-hero .media-frame{aspect-ratio:1.25}:where(html:not(:has([data-portal]))) .partner-roles{display:block}:where(html:not(:has([data-portal]))) .partner-roles article{position:relative}:where(html:not(:has([data-portal]))) .partner-roles h2{margin-top:19px;font-size:28px}:where(html:not(:has([data-portal]))) .partner-roles p{max-width:270px;min-height:0;margin-top:14px;font-size:13px}:where(html:not(:has([data-portal]))) .partner-roles svg{position:absolute;top:37px;right:0}:where(html:not(:has([data-portal]))) .project-scenario{padding-block:40px}:where(html:not(:has([data-portal]))) .scenario-grid{flex-direction:column-reverse;align-items:stretch;gap:35px;display:flex}:where(html:not(:has([data-portal]))) .scenario-grid h2{margin-block:23px;font-size:36px}:where(html:not(:has([data-portal]))) .scenario-grid p:not(.eyebrow){font-size:13px}:where(html:not(:has([data-portal]))) .scenario-grid .eyebrow{font-size:7px}:where(html:not(:has([data-portal]))) .scenario-grid .media-frame{aspect-ratio:1.3}:where(html:not(:has([data-portal]))) .scenario-links a{font-size:10px}:where(html:not(:has([data-portal]))) .project-method{display:block}:where(html:not(:has([data-portal]))) .project-method>div:last-child{margin-top:30px}:where(html:not(:has([data-portal]))) .project-method article h3{font-size:24px}:where(html:not(:has([data-portal]))) .legal-page{padding-bottom:65px}:where(html:not(:has([data-portal]))) .notice{padding:20px;font-size:12px}:where(html:not(:has([data-portal]))) .legal-content h2{margin-top:35px;font-size:26px}:where(html:not(:has([data-portal]))) .legal-content p,:where(html:not(:has([data-portal]))) .legal-content address{font-size:13px}:where(html:not(:has([data-portal]))) .contact-layout{padding-top:20px;padding-bottom:70px}:where(html:not(:has([data-portal]))) .contact-intro{flex-direction:column;gap:0;display:flex}:where(html:not(:has([data-portal]))) .contact-intro>.eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .contact-intro h1{margin-block:24px;font-size:45px;line-height:1.12}:where(html:not(:has([data-portal]))) .contact-intro .body-large{max-width:100%;font-size:14px}:where(html:not(:has([data-portal]))) .contact-address{margin-top:32px;padding-top:25px}:where(html:not(:has([data-portal]))) .contact-address address{font-size:12px}:where(html:not(:has([data-portal]))) .contact-channels{margin-top:12px}:where(html:not(:has([data-portal]))) .contact-form-side{margin-top:48px}:where(html:not(:has([data-portal]))) .contact-form-side>h2{margin-bottom:25px;font-size:28px}:where(html:not(:has([data-portal]))) .form-notice{padding:18px;font-size:11px}:where(html:not(:has([data-portal]))) .form-grid{gap:23px 15px}:where(html:not(:has([data-portal]))) .form-grid label{font-size:10px}:where(html:not(:has([data-portal]))) .form-grid input,:where(html:not(:has([data-portal]))) .form-grid select,:where(html:not(:has([data-portal]))) .form-grid textarea{min-height:51px;padding:12px 10px;font-size:16px}:where(html:not(:has([data-portal]))) .form-grid label:nth-child(3),:where(html:not(:has([data-portal]))) .form-grid label:nth-child(6){grid-column:1/-1}:where(html:not(:has([data-portal]))) .form-grid label:nth-child(4),:where(html:not(:has([data-portal]))) .form-grid label:nth-child(5){grid-row:3}:where(html:not(:has([data-portal]))) .form-grid label:nth-child(3){grid-row:2}:where(html:not(:has([data-portal]))) .form-grid label:nth-child(6){grid-row:4}:where(html:not(:has([data-portal]))) .consent{gap:12px;font-size:10px}:where(html:not(:has([data-portal]))) .form-footer{flex-direction:column;align-items:flex-start;gap:16px}:where(html:not(:has([data-portal]))) .form-footer .button{width:100%;min-height:53px;font-size:11px}:where(html:not(:has([data-portal]))) .form-status{font-size:12px}}@media (max-width:370px){:where(html:not(:has([data-portal]))) .brand-type{font-size:16px}:where(html:not(:has([data-portal]))) .brand svg{width:26px}:where(html:not(:has([data-portal]))) .header-tools{gap:5px}:where(html:not(:has([data-portal]))) .home-hero h1{font-size:36px}:where(html:not(:has([data-portal]))) .hero-kicker{font-size:6.6px}:where(html:not(:has([data-portal]))) .form-grid{display:block}:where(html:not(:has([data-portal]))) .form-grid>label{margin-bottom:22px}:where(html:not(:has([data-portal]))) .footer-grid{gap:25px 15px}}@media (prefers-reduced-motion:reduce){html:where(:not(:has([data-portal]))){scroll-behavior:auto}:where(html:not(:has([data-portal]))) *,:where(html:not(:has([data-portal]))) :before,:where(html:not(:has([data-portal]))) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:where(html:not(:has([data-portal]))) .hero-media{will-change:auto;transform:none!important}:where(html:not(:has([data-portal]))) .will-reveal{opacity:1!important;transform:none!important}:where(html:not(:has([data-portal]))) .scroll-progress{display:none}:where(html:not(:has([data-portal]))) ::view-transition-old(root){animation:none!important}:where(html:not(:has([data-portal]))) ::view-transition-new(root){animation:none!important}}:root:where(:not(:has([data-portal]))){--reveal:1s}:where(html:not(:has([data-portal]))) .home-hero h1{animation:none}:where(html:not(:has([data-portal]))) .hero-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}:where(html:not(:has([data-portal]))) .hero-line>span{animation:headline-in 1.35s var(--ease) both;display:block}@keyframes headline-in{0%{transform:translateY(108%)}to{transform:translateY(0)}}:where(html:not(:has([data-portal]))) .hero-media img{animation-duration:2.6s}:where(html:not(:has([data-portal]))) .hero-intro{animation-delay:.38s}:where(html:not(:has([data-portal]))) .hero-actions{animation-delay:.5s}:where(html:not(:has([data-portal]))) .hero-bottom a{min-width:44px;min-height:44px}:where(html:not(:has([data-portal]))) .hero-bottom a svg{animation:1.8s 1s 3 scroll-cue}@keyframes scroll-cue{0%,to{transform:translateY(-3px)}65%{transform:translateY(4px)}}:where(html:not(:has([data-portal]))) .business-routes>.eyebrow{margin-bottom:24px}:where(html:not(:has([data-portal]))) .business-route-list{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}:where(html:not(:has([data-portal]))) .business-route-list>a{border-top:1px solid var(--line);grid-template-columns:1fr 24px;align-content:start;gap:14px;padding-block:24px;display:grid;position:relative}:where(html:not(:has([data-portal]))) .business-route-number{color:var(--slate);grid-column:1;font-size:11px}:where(html:not(:has([data-portal]))) .business-route-list h3{grid-column:1;font-size:23px}:where(html:not(:has([data-portal]))) .business-route-list p{grid-column:1/-1;font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .business-route-list svg{transition:transform var(--standard) var(--ease);grid-area:1/2}:where(html:not(:has([data-portal]))) .business-route-list>a:hover svg{transform:translate(4px,-4px)}:where(html:not(:has([data-portal]))) .business-route-list>a:hover h3{text-underline-offset:5px;text-decoration:underline}:where(html:not(:has([data-portal]))) .energy-story{--story-progress:0;grid-template-columns:1.12fr 1fr;align-items:start;gap:clamp(40px,7vw,105px);display:grid}:where(html:not(:has([data-portal]))) .energy-story-visual{min-width:0}:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{position:sticky;top:118px}:where(html:not(:has([data-portal]))) .energy-story-image{background:var(--navy);height:min(65vh,660px);min-height:430px;position:relative;overflow:hidden}:where(html:not(:has([data-portal]))) .energy-story-image>img{object-fit:cover;object-position:37% 50%}:where(html:not(:has([data-portal]))) .energy-story-shade{background:linear-gradient(#02271a05 35%,#02271aeb);position:absolute;inset:0}:where(html:not(:has([data-portal]))) .energy-story-overlay{color:#fff;position:absolute;inset:auto 36px 32px}:where(html:not(:has([data-portal]))) .energy-story-overlay>.eyebrow{color:#e2ebef;font-size:10px}:where(html:not(:has([data-portal]))) .energy-story-titles{height:105px;margin-top:26px;position:relative}:where(html:not(:has([data-portal]))) .energy-story-title{opacity:0;transition:opacity .55s, transform .85s var(--ease);flex-direction:column;gap:6px;display:flex;position:absolute;inset:0;transform:translateY(18px)}:where(html:not(:has([data-portal]))) .energy-story-title>span{letter-spacing:.08em;font-size:13px}:where(html:not(:has([data-portal]))) .energy-story-title small{color:#cedae0;font-size:11px}:where(html:not(:has([data-portal]))) .energy-story-title strong{letter-spacing:-.04em;font-size:clamp(32px,3.4vw,52px);font-weight:500;line-height:1.2}:where(html:not(:has([data-portal]))) [data-phase="0"] [data-story-title="0"],:where(html:not(:has([data-portal]))) [data-phase="1"] [data-story-title="1"],:where(html:not(:has([data-portal]))) [data-phase="2"] [data-story-title="2"]{opacity:1;transform:none}:where(html:not(:has([data-portal]))) .energy-story-track{background:#ffffff50;height:2px}:where(html:not(:has([data-portal]))) .energy-story-track>span{transform-origin:0;height:100%;transform:scaleX(var(--story-progress));background:#fff;display:block}:where(html:not(:has([data-portal]))) .energy-story-step{border-top:1px solid var(--line);align-items:center;min-height:455px;padding-block:35px 64px;display:flex}:where(html:not(:has([data-portal]))) .energy-story-step:first-child{border-top-color:var(--navy);padding-top:22px}:where(html:not(:has([data-portal]))) .energy-story-step .eyebrow{gap:22px;margin-bottom:26px;display:flex}:where(html:not(:has([data-portal]))) .energy-story-step .eyebrow span{color:var(--slate)}:where(html:not(:has([data-portal]))) .energy-story-step h3{margin-bottom:24px;font-size:clamp(29px,2.55vw,39px);line-height:1.18}:where(html:not(:has([data-portal]))) .energy-story-step .story-body{font-size:15px;line-height:1.85}:where(html:not(:has([data-portal]))) .story-terms{letter-spacing:.09em;margin-block:25px 16px;font-size:9px;line-height:1.8}:where(html:not(:has([data-portal]))) .energy-story-step .text-link{gap:16px;min-height:44px;font-size:12px}:where(html:not(:has([data-portal]))) .energy-story-note{border-top:1px solid var(--line);padding:24px 0 40px;font-size:12px;line-height:1.85}:where(html:not(:has([data-portal]))) .solar-bottom{margin-top:28px}:where(html:not(:has([data-portal]))) .machinery-capabilities{border-top:1px solid #49606e;grid-template-columns:.85fr 1.3fr;gap:80px;margin-top:76px;padding-top:42px;display:grid}:where(html:not(:has([data-portal]))) .machinery-capabilities-heading>p{color:#c0ccd4;margin-bottom:28px}:where(html:not(:has([data-portal]))) .machinery-capabilities-heading>h3{white-space:pre-line;max-width:380px;font-size:clamp(26px,2.4vw,36px)}:where(html:not(:has([data-portal]))) .machine-task-list>a{border-bottom:1px solid #405766;grid-template-columns:22px 1fr 24px;gap:22px;padding-block:28px;display:grid}:where(html:not(:has([data-portal]))) .machine-task-list>a:first-child{padding-top:0}:where(html:not(:has([data-portal]))) .machine-task-list h3{margin-bottom:14px;font-size:24px}:where(html:not(:has([data-portal]))) .machine-task-list p{color:#becbd4;font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .machine-task-list>a>.eyebrow{color:#bdcad3}:where(html:not(:has([data-portal]))) .machine-task-list svg{transition:transform var(--standard)}:where(html:not(:has([data-portal]))) .machine-task-list a:hover svg{transform:translate(3px,-3px)}:where(html:not(:has([data-portal]))) .heat-feature{grid-template-columns:.95fr 1.05fr;align-items:start;gap:45px 90px}:where(html:not(:has([data-portal]))) .heat-photo{grid-row:1/3}:where(html:not(:has([data-portal]))) .motion-ready .heat-photo{position:sticky;top:120px}:where(html:not(:has([data-portal]))) .heat-content{grid-column:2}:where(html:not(:has([data-portal]))) .heat-content>p{max-width:100%}:where(html:not(:has([data-portal]))) .heat-subline{margin-top:30px}:where(html:not(:has([data-portal]))) .heat-selection{grid-column:2}:where(html:not(:has([data-portal]))) .heat-selection>.eyebrow{margin-bottom:24px}:where(html:not(:has([data-portal]))) .heat-selection-row{border-top:1px solid var(--line);grid-template-columns:18px 1fr 20px;gap:16px;padding-block:25px;display:grid}:where(html:not(:has([data-portal]))) .heat-selection-row h3{margin-bottom:12px;font-size:23px}:where(html:not(:has([data-portal]))) .heat-selection-row p{font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .heat-selection-row>.eyebrow{color:var(--slate);padding-top:5px}:where(html:not(:has([data-portal]))) .heat-selection-row svg{transition:transform var(--standard)}:where(html:not(:has([data-portal]))) .heat-selection-row:hover svg{transform:translate(3px,-3px)}:where(html:not(:has([data-portal]))) .secondary-divisions{gap:90px;display:grid}:where(html:not(:has([data-portal]))) .secondary-division{grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px;display:grid}:where(html:not(:has([data-portal]))) .secondary-division>div{min-width:0}:where(html:not(:has([data-portal]))) .secondary-division .media-frame{aspect-ratio:1.05}:where(html:not(:has([data-portal]))) .secondary-division .eyebrow{margin-bottom:22px}:where(html:not(:has([data-portal]))) .secondary-division h3{margin-bottom:23px;font-size:35px}:where(html:not(:has([data-portal]))) .secondary-division>div>p:not(.eyebrow){font-size:15px;line-height:1.85}:where(html:not(:has([data-portal]))) .secondary-product-links{margin-block:28px;list-style:none}:where(html:not(:has([data-portal]))) .secondary-product-links li{border-top:1px solid #cdd5d9}:where(html:not(:has([data-portal]))) .secondary-product-links a{justify-content:space-between;align-items:center;gap:20px;min-height:49px;padding-block:11px;font-size:13px;display:flex}:where(html:not(:has([data-portal]))) .secondary-product-links a:hover{text-underline-offset:4px;text-decoration:underline}:where(html:not(:has([data-portal]))) .secondary-elevators{grid-template-columns:1.05fr .95fr}:where(html:not(:has([data-portal]))) .secondary-elevators .media-figure{grid-area:1/2}:where(html:not(:has([data-portal]))) .secondary-elevators>div{grid-area:1/1}:where(html:not(:has([data-portal]))) .secondary-elevators .media-frame{aspect-ratio:.85;max-height:660px}:where(html:not(:has([data-portal]))) .connected-building{background:var(--navy);color:#fff}:where(html:not(:has([data-portal]))) .connection-heading{grid-template-columns:1.3fr 1fr;align-items:end;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .connection-heading>p{color:#becbd4;max-width:480px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .connection-heading h2{font-size:clamp(32px,3.6vw,54px)}:where(html:not(:has([data-portal]))) .connection-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;margin-top:50px;display:grid}:where(html:not(:has([data-portal]))) .building-diagram{color:#8fa5b3;width:100%;height:auto}:where(html:not(:has([data-portal]))) .motion-ready .system-route path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--diagram-progress,0))}:where(html:not(:has([data-portal]))) .connection-visual figcaption{color:#b8c9d3;margin-top:18px;font-size:10px}:where(html:not(:has([data-portal]))) .connection-list{list-style:none}:where(html:not(:has([data-portal]))) .connection-list li{border-top:1px solid #405766}:where(html:not(:has([data-portal]))) .connection-list a{grid-template-columns:25px 1fr 20px;gap:20px;padding-block:27px;display:grid}:where(html:not(:has([data-portal]))) .connection-number{color:#b8c9d3;padding-top:3px;font-size:11px}:where(html:not(:has([data-portal]))) .connection-list h3{margin-bottom:11px;font-size:23px}:where(html:not(:has([data-portal]))) .connection-list p{color:#becbd4;font-size:14px;line-height:1.8}:where(html:not(:has([data-portal]))) .connection-list a:hover h3{text-underline-offset:5px;text-decoration:underline}:where(html:not(:has([data-portal]))) .industry-panel-detail,:where(html:not(:has([data-portal]))) .industry-panel-criteria{grid-column:1/-1}:where(html:not(:has([data-portal]))) .industry-panel-copy .industry-panel-detail{animation:menu-in .5s var(--ease);font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .industry-panel-criteria{list-style:none}:where(html:not(:has([data-portal]))) .industry-panel-criteria li{border-top:1px solid var(--line);gap:15px;padding:12px 0;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .industry-panel-criteria li:before{content:"↗";color:var(--slate)}:where(html:not(:has([data-portal]))) .approach-step{padding-block:32px 42px}:where(html:not(:has([data-portal]))) .approach-step p{font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .approach-step .approach-result{letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-top:20px;font-size:10px}:where(html:not(:has([data-portal]))) .location-partner-body{max-width:520px;margin-block:25px 24px;font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .home-faq{border-top:1px solid var(--line);grid-template-columns:.85fr 1.2fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .home-faq-list details{border-top:1px solid var(--line)}:where(html:not(:has([data-portal]))) .home-faq-list details:last-child{border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .home-faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:22px;padding-block:26px;list-style:none;display:flex}:where(html:not(:has([data-portal]))) .home-faq-list summary::-webkit-details-marker{display:none}:where(html:not(:has([data-portal]))) .home-faq-list summary h3{letter-spacing:-.025em;font-size:22px;line-height:1.4}:where(html:not(:has([data-portal]))) .home-faq-list summary svg{transition:transform var(--standard)}:where(html:not(:has([data-portal]))) .home-faq-list details[open] summary svg{transform:rotate(45deg)}:where(html:not(:has([data-portal]))) .home-faq-list details>p{max-width:600px;padding-bottom:28px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .product-row .product-row-summary{max-width:760px;margin-top:18px;font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .products-solar .product-row{align-items:start}:where(html:not(:has([data-portal]))) .will-reveal{transition-duration:var(--reveal);transform:translateY(52px)}:where(html:not(:has([data-portal]))) .will-reveal.revealed{transform:none}:where(html:not(:has([data-portal]))) [data-reveal=image].will-reveal{opacity:1;clip-path:inset(0 0 100%);transition:clip-path 1.15s var(--ease);transform:none}:where(html:not(:has([data-portal]))) [data-reveal=image].will-reveal.revealed{clip-path:inset(0)}:where(html:not(:has([data-portal]))) .motion-ready [data-scroll-media] .media-frame>img{transform:translateY(var(--media-y,0px)) scale(var(--media-scale,1.12));transition:none}:where(html:not(:has([data-portal]))) .scroll-progress{background:#66869b;height:3px}@media (max-width:1200px){:where(html:not(:has([data-portal]))) .business-route-list{gap:26px}:where(html:not(:has([data-portal]))) .energy-story{gap:48px}:where(html:not(:has([data-portal]))) .energy-story-image{min-height:380px}:where(html:not(:has([data-portal]))) .machinery-capabilities,:where(html:not(:has([data-portal]))) .connection-layout{gap:50px}:where(html:not(:has([data-portal]))) .heat-feature,:where(html:not(:has([data-portal]))) .secondary-division{gap:38px 50px}:where(html:not(:has([data-portal]))) .connection-heading,:where(html:not(:has([data-portal]))) .home-faq{gap:50px}}@media (max-width:900px){:where(html:not(:has([data-portal]))) .energy-story{display:block}:where(html:not(:has([data-portal]))) .energy-story-visual{z-index:3;background:#fff;padding-block:10px 15px}:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{top:82px}:where(html:not(:has([data-portal]))) .energy-story-image{height:min(35svh,340px);min-height:0}:where(html:not(:has([data-portal]))) .energy-story-overlay{inset:auto 26px 24px}:where(html:not(:has([data-portal]))) .energy-story-titles{height:69px;margin-top:12px}:where(html:not(:has([data-portal]))) .energy-story-title{flex-direction:row;justify-content:space-between;align-items:baseline;gap:20px}:where(html:not(:has([data-portal]))) .energy-story-title strong{font-size:35px}:where(html:not(:has([data-portal]))) .energy-story-step{min-height:320px;padding:28px 18px 36px}:where(html:not(:has([data-portal]))) .energy-story-step>div{max-width:610px}:where(html:not(:has([data-portal]))) .energy-story-step h3{font-size:32px}:where(html:not(:has([data-portal]))) .energy-story-step .eyebrow{margin-bottom:19px}:where(html:not(:has([data-portal]))) .energy-story-note{padding:22px 18px}:where(html:not(:has([data-portal]))) .heat-feature{grid-template-columns:1fr 1fr;gap:40px;display:grid}:where(html:not(:has([data-portal]))) .heat-photo{grid-area:1/1}:where(html:not(:has([data-portal]))) .heat-content{grid-area:1/2}:where(html:not(:has([data-portal]))) .motion-ready .heat-photo{position:static}:where(html:not(:has([data-portal]))) .heat-selection{grid-column:1/-1}:where(html:not(:has([data-portal]))) .heat-selection-row{grid-template-columns:20px 1fr 20px}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:.78}:where(html:not(:has([data-portal]))) .secondary-division,:where(html:not(:has([data-portal]))) .secondary-elevators{grid-template-columns:1fr 1fr;gap:36px}:where(html:not(:has([data-portal]))) .secondary-division h3{font-size:29px}:where(html:not(:has([data-portal]))) .secondary-division .media-frame{aspect-ratio:.75}:where(html:not(:has([data-portal]))) .connection-heading{grid-template-columns:1fr;gap:28px}:where(html:not(:has([data-portal]))) .connection-heading>p{max-width:650px}:where(html:not(:has([data-portal]))) .connection-layout{gap:28px}:where(html:not(:has([data-portal]))) .connection-list h3{font-size:21px}:where(html:not(:has([data-portal]))) .connection-list a{grid-template-columns:22px 1fr 16px;gap:12px}}@media (max-width:640px){:where(html:not(:has([data-portal]))) .hero-media{inset:-38px -30px}:where(html:not(:has([data-portal]))) .hero-line{overflow:hidden}:where(html:not(:has([data-portal]))) .home-hero h1{font-size:clamp(36px,9.3vw,55px)}:where(html:not(:has([data-portal]))) .hero-intro{font-size:14px}:where(html:not(:has([data-portal]))) .hero-kicker{font-size:9px}:where(html:not(:has([data-portal]))) .hero-bottom{font-size:8px}:where(html:not(:has([data-portal]))) .intro-section{padding-block:76px}:where(html:not(:has([data-portal]))) .intro-content p,:where(html:not(:has([data-portal]))) .feature-description p,:where(html:not(:has([data-portal]))) .machine-content>p,:where(html:not(:has([data-portal]))) .heat-content>p{font-size:15px;line-height:1.85}:where(html:not(:has([data-portal]))) .business-routes{margin-top:42px}:where(html:not(:has([data-portal]))) .business-routes>.eyebrow{font-size:10px}:where(html:not(:has([data-portal]))) .business-route-list{grid-template-columns:1fr;gap:0}:where(html:not(:has([data-portal]))) .business-route-list>a{gap:11px;padding-block:24px 28px}:where(html:not(:has([data-portal]))) .business-route-list h3{font-size:25px}:where(html:not(:has([data-portal]))) .business-route-list p{font-size:14px}:where(html:not(:has([data-portal]))) .number-label .eyebrow,:where(html:not(:has([data-portal]))) .section-head .eyebrow{font-size:10px}:where(html:not(:has([data-portal]))) .feature-heading{margin-bottom:28px}:where(html:not(:has([data-portal]))) .feature-heading h2{font-size:35px}:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{top:75px}:where(html:not(:has([data-portal]))) .energy-story-image{height:clamp(190px,29svh,270px)}:where(html:not(:has([data-portal]))) .energy-story-overlay{inset:auto 22px 20px}:where(html:not(:has([data-portal]))) .energy-story-overlay>.eyebrow{font-size:8px}:where(html:not(:has([data-portal]))) .energy-story-titles{height:51px;margin-top:16px}:where(html:not(:has([data-portal]))) .energy-story-title strong{font-size:31px}:where(html:not(:has([data-portal]))) .energy-story-title>span{font-size:11px}:where(html:not(:has([data-portal]))) .energy-story-title small{font-size:9px}:where(html:not(:has([data-portal]))) .energy-story-step{min-height:365px;padding:29px 0 36px}:where(html:not(:has([data-portal]))) .energy-story-step h3{margin-bottom:20px;font-size:29px}:where(html:not(:has([data-portal]))) .energy-story-step .story-body{font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .energy-story-step .eyebrow{font-size:10px}:where(html:not(:has([data-portal]))) .story-terms{margin-block:20px 12px;font-size:8px}:where(html:not(:has([data-portal]))) .energy-story-step .text-link{font-size:12px}:where(html:not(:has([data-portal]))) .energy-story-note{padding-inline:0;font-size:12px}:where(html:not(:has([data-portal]))) .solar-bottom{margin-top:8px;display:block}:where(html:not(:has([data-portal]))) .solar-bottom>span{max-width:none;margin-bottom:10px;font-size:9px;display:block}:where(html:not(:has([data-portal]))) .solar-bottom>div{justify-content:flex-start;gap:8px 20px;max-width:none}:where(html:not(:has([data-portal]))) .solar-bottom a{min-height:44px;font-size:11px}:where(html:not(:has([data-portal]))) .machine-feature{padding-block:70px}:where(html:not(:has([data-portal]))) .machine-content .number-label{margin-bottom:30px}:where(html:not(:has([data-portal]))) .machine-categories a{min-height:55px;font-size:13px}:where(html:not(:has([data-portal]))) .machine-photo .media-frame{aspect-ratio:.97}:where(html:not(:has([data-portal]))) .machinery-capabilities{grid-template-columns:1fr;gap:36px;margin-top:45px;padding-top:35px}:where(html:not(:has([data-portal]))) .machinery-capabilities-heading>p{margin-bottom:22px;font-size:9px}:where(html:not(:has([data-portal]))) .machinery-capabilities-heading>h3{font-size:29px}:where(html:not(:has([data-portal]))) .machine-task-list>a{grid-template-columns:17px 1fr 18px;gap:15px;padding-block:24px}:where(html:not(:has([data-portal]))) .machine-task-list h3{font-size:23px}:where(html:not(:has([data-portal]))) .machine-task-list p{font-size:14px}:where(html:not(:has([data-portal]))) .heat-feature{grid-template-columns:1fr;gap:35px;padding-block:80px}:where(html:not(:has([data-portal]))) .heat-content{grid-area:1/1}:where(html:not(:has([data-portal]))) .heat-photo{grid-area:2/1;width:100%}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:1.1}:where(html:not(:has([data-portal]))) .heat-selection{grid-area:3/1}:where(html:not(:has([data-portal]))) .heat-selection>.eyebrow{margin-bottom:20px;font-size:10px}:where(html:not(:has([data-portal]))) .heat-selection-row{grid-template-columns:15px 1fr 18px;gap:13px}:where(html:not(:has([data-portal]))) .heat-selection-row h3{font-size:24px}:where(html:not(:has([data-portal]))) .heat-selection-row p{font-size:14px}:where(html:not(:has([data-portal]))) .heat-subline{font-size:9px}:where(html:not(:has([data-portal]))) .secondary-divisions{gap:65px}:where(html:not(:has([data-portal]))) .secondary-division,:where(html:not(:has([data-portal]))) .secondary-elevators{grid-template-columns:1fr;gap:25px}:where(html:not(:has([data-portal]))) .secondary-division .media-figure{grid-area:1/1}:where(html:not(:has([data-portal]))) .secondary-division>div{grid-area:2/1}:where(html:not(:has([data-portal]))) .secondary-division .media-frame{aspect-ratio:1.25}:where(html:not(:has([data-portal]))) .secondary-elevators .media-frame{aspect-ratio:1.05}:where(html:not(:has([data-portal]))) .secondary-division .eyebrow{margin-bottom:19px;font-size:9px}:where(html:not(:has([data-portal]))) .secondary-division h3{font-size:32px}:where(html:not(:has([data-portal]))) .secondary-division>div>p:not(.eyebrow){font-size:14px}:where(html:not(:has([data-portal]))) .secondary-product-links a{min-height:50px;font-size:13px}:where(html:not(:has([data-portal]))) .connection-heading{gap:25px}:where(html:not(:has([data-portal]))) .connection-heading h2{font-size:35px}:where(html:not(:has([data-portal]))) .connection-heading>p{font-size:14px}:where(html:not(:has([data-portal]))) .connection-layout{grid-template-columns:1fr;gap:38px;margin-top:26px}:where(html:not(:has([data-portal]))) .connection-visual{margin-inline:-12px}:where(html:not(:has([data-portal]))) .connection-visual figcaption{max-width:300px;padding-inline:12px;font-size:9px}:where(html:not(:has([data-portal]))) .connection-list a{grid-template-columns:22px 1fr 20px;gap:15px;padding-block:25px}:where(html:not(:has([data-portal]))) .connection-list h3{font-size:24px}:where(html:not(:has([data-portal]))) .connection-list p{font-size:14px}:where(html:not(:has([data-portal]))) .industry-panel-copy>p{font-size:15px}:where(html:not(:has([data-portal]))) .industry-panel-copy .industry-panel-detail{font-size:14px}:where(html:not(:has([data-portal]))) .industry-panel-criteria li{font-size:12px}:where(html:not(:has([data-portal]))) .industry-connections a{min-height:36px;font-size:11px}:where(html:not(:has([data-portal]))) .industry-tabs button{font-size:13px}:where(html:not(:has([data-portal]))) .approach-step{gap:20px;padding-block:29px 34px}:where(html:not(:has([data-portal]))) .approach-step h3{margin-bottom:20px;font-size:26px}:where(html:not(:has([data-portal]))) .approach-step p{font-size:14px}:where(html:not(:has([data-portal]))) .approach-step .approach-result{font-size:9px;line-height:1.8}:where(html:not(:has([data-portal]))) .sticky-heading .body-large{font-size:15px}:where(html:not(:has([data-portal]))) .location-partner-body{font-size:14px}:where(html:not(:has([data-portal]))) .location-section .section-head .body-large{font-size:15px}:where(html:not(:has([data-portal]))) .location-address{font-size:13px}:where(html:not(:has([data-portal]))) .home-faq{grid-template-columns:1fr;gap:34px;padding-block:74px}:where(html:not(:has([data-portal]))) .home-faq-list summary{padding-block:23px}:where(html:not(:has([data-portal]))) .home-faq-list summary h3{font-size:22px}:where(html:not(:has([data-portal]))) .home-faq-list details>p{font-size:14px}:where(html:not(:has([data-portal]))) .will-reveal{transform:translateY(36px)}:where(html:not(:has([data-portal]))) .will-reveal.revealed{transform:none}}@media (max-height:600px) and (max-width:900px){:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{position:static}:where(html:not(:has([data-portal]))) .energy-story-image{height:260px}}@media (prefers-reduced-motion:reduce){:where(html:not(:has([data-portal]))) .hero-line>span{animation:none;transform:none}:where(html:not(:has([data-portal]))) .energy-story-visual,:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual,:where(html:not(:has([data-portal]))) .motion-ready .heat-photo{position:static}:where(html:not(:has([data-portal]))) [data-reveal=image].will-reveal,:where(html:not(:has([data-portal]))) [data-reveal=image].will-reveal.revealed{clip-path:none;opacity:1;transform:none}:where(html:not(:has([data-portal]))) [data-scroll-media] .media-frame>img,:where(html:not(:has([data-portal]))) .motion-ready [data-scroll-media] .media-frame>img,:where(html:not(:has([data-portal]))) .energy-story-image>img{transition:none;transform:none}:where(html:not(:has([data-portal]))) .will-reveal{opacity:1;transform:none}:where(html:not(:has([data-portal]))) .system-route path{stroke-dashoffset:0!important}:where(html:not(:has([data-portal]))) .energy-story-title{transition:none}}:root:where(:not(:has([data-portal]))){--font-display:Manrope, Arial, sans-serif;--font-body:Manrope, Arial, sans-serif;--font-serif:Manrope, Arial, sans-serif;--font-mono:Manrope, Arial, sans-serif;--line-strong:#d2d0c5;--line-stronger:#a1a99e;--ease-lux:var(--ease)}html:where(:not(:has([data-portal]))){scroll-padding-top:108px}:where(html:not(:has([data-portal]))) body{background:var(--color-bg);color:var(--color-ink);overflow-x:clip}:where(html:not(:has([data-portal]))) body:after{display:none}:where(html:not(:has([data-portal]))) p{color:var(--color-ink-soft)}:where(html:not(:has([data-portal]))) h1,:where(html:not(:has([data-portal]))) h2,:where(html:not(:has([data-portal]))) h3,:where(html:not(:has([data-portal]))) h4{letter-spacing:-.045em;font-weight:500;line-height:1.15}:where(html:not(:has([data-portal]))) h1,:where(html:not(:has([data-portal]))) h2,:where(html:not(:has([data-portal]))) h3{text-wrap:balance}:where(html:not(:has([data-portal]))) h3{white-space:pre-line}:where(html:not(:has([data-portal]))) h1,:where(html:not(:has([data-portal]))) h2{overflow-wrap:normal}:where(html:not(:has([data-portal]))) button,:where(html:not(:has([data-portal]))) a,:where(html:not(:has([data-portal]))) input,:where(html:not(:has([data-portal]))) select,:where(html:not(:has([data-portal]))) textarea{-webkit-tap-highlight-color:transparent}:where(html:not(:has([data-portal]))) button,:where(html:not(:has([data-portal]))) input,:where(html:not(:has([data-portal]))) select,:where(html:not(:has([data-portal]))) textarea{font-family:Manrope,Arial,sans-serif}:where(html:not(:has([data-portal]))) button:disabled{cursor:not-allowed}:where(html:not(:has([data-portal]))) main{min-width:0}:where(html:not(:has([data-portal]))) main:focus{outline:none}:where(html:not(:has([data-portal]))) .accent-serif,:where(html:not(:has([data-portal]))) .display-light{letter-spacing:inherit;font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:inherit!important;font-weight:inherit!important;color:inherit!important}:where(html:not(:has([data-portal]))) .display{font-weight:500;line-height:1.15}:where(html:not(:has([data-portal]))) .label-mono{letter-spacing:.14em;font-family:Manrope,Arial,sans-serif;font-size:10px;font-weight:600;line-height:1.6}:where(html:not(:has([data-portal]))) .reveal{opacity:1;filter:none;transform:none}:where(html:not(:has([data-portal]))) .eyebrow-pill,:where(html:not(:has([data-portal]))) .bezel,:where(html:not(:has([data-portal]))) .bezel-core,:where(html:not(:has([data-portal]))) .btn-island{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}:where(html:not(:has([data-portal]))) .bezel{background:0 0;border:0;padding:0}:where(html:not(:has([data-portal]))) .btn-island .ic{border-radius:0}:where(html:not(:has([data-portal]))) .marquee-track{animation:none}:where(html:not(:has([data-portal]))) .header{background:var(--color-bg);border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .header-inner{max-width:1584px;height:88px}:where(html:not(:has([data-portal]))) .ibs-brand{gap:12px}:where(html:not(:has([data-portal]))) .ibs-brand>img{width:36px;height:43px}:where(html:not(:has([data-portal]))) .ibs-brand .brand-type{letter-spacing:.06em;font-size:20px;font-weight:600;line-height:1.15}:where(html:not(:has([data-portal]))) .ibs-brand .brand-type>span{letter-spacing:.135em;margin-top:7px;font-size:7px}:where(html:not(:has([data-portal]))) .header-contact{background:var(--color-petrol);border-color:var(--color-petrol);color:var(--color-bg)}:where(html:not(:has([data-portal]))) .header-contact:hover{background:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .portal-link{padding:12px 0;font-size:11px}:where(html:not(:has([data-portal]))) .portal-link:hover{text-underline-offset:4px;text-decoration:underline}:where(html:not(:has([data-portal]))) .desktop-nav{gap:26px}:where(html:not(:has([data-portal]))) .header-tools{gap:23px}:where(html:not(:has([data-portal]))) .mega-description{margin-top:16px;font-size:12px;line-height:1.8}:where(html:not(:has([data-portal]))) .mega-all{justify-content:flex-end;align-items:center;gap:20px;padding-top:28px;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .mega-menu{background:var(--color-bg)}:where(html:not(:has([data-portal]))) .menu-preview-note{color:var(--slate);padding:30px 0;font-size:11px}:where(html:not(:has([data-portal]))) .mobile-dialog{background:var(--color-bg)}:where(html:not(:has([data-portal]))) .home-hero{height:min(770px,100svh - 88px);min-height:650px}:where(html:not(:has([data-portal]))) .hero-media{inset:-35px -4px}:where(html:not(:has([data-portal]))) .hero-media img{object-position:68% 48%;filter:saturate(.78)}:where(html:not(:has([data-portal]))) .hero-shade{background:linear-gradient(90deg,#021910e3,#021e138f 46%,#021e1314 86%),linear-gradient(#0000 50%,#021e1359)}:where(html:not(:has([data-portal]))) .hero-content{padding-top:65px}:where(html:not(:has([data-portal]))) .home-hero h1{letter-spacing:-.05em;max-width:830px;max-height:none;font-size:clamp(44px,4.85vw,76px);font-weight:500;line-height:1.12}:where(html:not(:has([data-portal]))) .home-hero .hero-intro{color:#f6f3eccc;max-width:470px}:where(html:not(:has([data-portal]))) .hero-kicker{color:#e7e6d8}:where(html:not(:has([data-portal]))) .hero-discovery{background:var(--color-bg)}:where(html:not(:has([data-portal]))) .division-strip>a:hover{background:var(--color-bg-soft)}:where(html:not(:has([data-portal]))) .button{background:var(--color-petrol);border-color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .button:hover{background:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .button-light{background:var(--color-bg);color:var(--color-petrol-deep);border-color:var(--color-bg)}:where(html:not(:has([data-portal]))) .button-light:hover{background:#fff}:where(html:not(:has([data-portal]))) .button-outline{background:0 0}:where(html:not(:has([data-portal]))) .button-light.button-outline{color:var(--color-bg)}:where(html:not(:has([data-portal]))) .button-light.button-outline:hover{background:var(--color-bg);color:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .media-frame img,:where(html:not(:has([data-portal]))) .machine-photo img,:where(html:not(:has([data-portal]))) .heat-photo img{filter:none}:where(html:not(:has([data-portal]))) .media-frame{background:var(--color-bg-soft)}:where(html:not(:has([data-portal]))) .image-caption,:where(html:not(:has([data-portal]))) figcaption{color:var(--color-ink-soft)}:where(html:not(:has([data-portal]))) .intro-section{padding-top:112px}:where(html:not(:has([data-portal]))) .business-routes{margin-top:68px}:where(html:not(:has([data-portal]))) .energy-story-image>img{object-position:50% 50%}:where(html:not(:has([data-portal]))) .energy-story-shade{background:linear-gradient(#0000 35%,#02271aee)}:where(html:not(:has([data-portal]))) .ibs-heat{background:var(--color-petrol-deep);color:var(--color-bg)}:where(html:not(:has([data-portal]))) .ibs-heat .machine-photo .media-frame{aspect-ratio:1.08;min-height:580px}:where(html:not(:has([data-portal]))) .ibs-heat .machine-photo img{object-position:48% center}:where(html:not(:has([data-portal]))) .machine-categories,:where(html:not(:has([data-portal]))) .machine-categories a{border-color:#ffffff30}:where(html:not(:has([data-portal]))) .machine-content>p,:where(html:not(:has([data-portal]))) .machine-content .eyebrow,:where(html:not(:has([data-portal]))) .machine-categories span{color:#e4e9db}:where(html:not(:has([data-portal]))) .machine-photo figcaption{color:#d4ddcf}:where(html:not(:has([data-portal]))) .heat-proof{border-top:1px solid #ffffff30;margin-top:70px;padding-top:36px;padding-bottom:10px}:where(html:not(:has([data-portal]))) .heat-proof>.eyebrow{color:#d7dfce;margin-bottom:28px}:where(html:not(:has([data-portal]))) .heat-proof>div{grid-template-columns:repeat(3,1fr);gap:55px;display:grid}:where(html:not(:has([data-portal]))) .heat-proof article{grid-template-columns:25px 1fr;gap:15px;display:grid}:where(html:not(:has([data-portal]))) .heat-proof article>span{color:#d9ddce;padding-top:6px;font-size:11px}:where(html:not(:has([data-portal]))) .heat-proof article>h3{font-size:23px}:where(html:not(:has([data-portal]))) .heat-proof article>p{color:#d7dece;grid-column:2;font-size:14px;line-height:1.8}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:.87}:where(html:not(:has([data-portal]))) .heat-photo img{object-position:center 52%}:where(html:not(:has([data-portal]))) .ibs-secondary-services{grid-template-columns:1fr 1fr;gap:90px;display:grid}:where(html:not(:has([data-portal]))) .ibs-secondary-services article{border-top:1px solid var(--line-stronger);padding-top:32px}:where(html:not(:has([data-portal]))) .ibs-secondary-services .section-index{color:var(--color-petrol);letter-spacing:.13em;font-size:10px}:where(html:not(:has([data-portal]))) .ibs-secondary-services h3{margin-block:28px;font-size:clamp(30px,3vw,43px)}:where(html:not(:has([data-portal]))) .ibs-secondary-services p{max-width:480px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .technical-rule{border-block:1px solid var(--line);color:var(--color-petrol);justify-content:space-between;align-items:center;gap:15px;margin-block:34px 18px;padding-block:23px;font-size:11px;display:flex}:where(html:not(:has([data-portal]))) .technical-rule svg{width:16px}:where(html:not(:has([data-portal]))) .work-heading{grid-template-columns:1.5fr 1fr;align-items:end;gap:80px;margin-bottom:55px;display:grid}:where(html:not(:has([data-portal]))) .work-heading>p{max-width:430px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .work-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:35px;display:grid}:where(html:not(:has([data-portal]))) .work-grid>a:nth-child(2){margin-top:110px}:where(html:not(:has([data-portal]))) .work-grid>a:first-child .media-frame{aspect-ratio:1.13}:where(html:not(:has([data-portal]))) .work-grid>a:nth-child(2) .media-frame{aspect-ratio:.88}:where(html:not(:has([data-portal]))) .work-caption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:20px;font-size:12px;display:flex}:where(html:not(:has([data-portal]))) .work-grid a:hover .work-caption{color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .work-grid a:hover svg{transform:translate(3px,-3px)}:where(html:not(:has([data-portal]))) .approach-section{background:var(--color-bg-soft)}:where(html:not(:has([data-portal]))) .approach-step{border-color:var(--line-strong)}:where(html:not(:has([data-portal]))) .ibs-system{background:var(--color-petrol-deep);color:var(--color-bg)}:where(html:not(:has([data-portal]))) .system-layout{grid-template-columns:1fr 1fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .ibs-system p,:where(html:not(:has([data-portal]))) .ibs-system .text-link{color:#e0e6d7}:where(html:not(:has([data-portal]))) .system-lines{margin-block:30px}:where(html:not(:has([data-portal]))) .system-lines>p{border-top:1px solid #ffffff30;gap:23px;padding:19px 0;font-size:14px;display:flex}:where(html:not(:has([data-portal]))) .system-lines>p>span{color:#bdcfb5;font-size:11px}:where(html:not(:has([data-portal]))) .faq-list details{border-top:1px solid var(--line)}:where(html:not(:has([data-portal]))) .faq-list details:last-child{border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .faq-list summary{cursor:pointer;letter-spacing:-.025em;justify-content:space-between;align-items:center;gap:24px;padding-block:25px;font-size:20px;line-height:1.4;list-style:none;display:flex}:where(html:not(:has([data-portal]))) .faq-list summary::-webkit-details-marker{display:none}:where(html:not(:has([data-portal]))) .faq-list p{padding-bottom:28px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .faq-plus{font-size:25px;font-weight:400;transition:transform .3s}:where(html:not(:has([data-portal]))) .faq-list details[open] .faq-plus{transform:rotate(45deg)}:where(html:not(:has([data-portal]))) .enquiry-cta{background:var(--color-petrol);color:var(--color-bg)}:where(html:not(:has([data-portal]))) .enquiry-inner p:not(.eyebrow){color:#e7e9dd}:where(html:not(:has([data-portal]))) .enquiry-inner .eyebrow{color:#f6f3ec}:where(html:not(:has([data-portal]))) .footer{background:var(--color-petrol-darker)}:where(html:not(:has([data-portal]))) .footer .ibs-brand>img{filter:brightness(0)invert()}:where(html:not(:has([data-portal]))) .footer p,:where(html:not(:has([data-portal]))) .footer-grid>div>a,:where(html:not(:has([data-portal]))) .footer address{color:#d3dccb}:where(html:not(:has([data-portal]))) .footer-top,:where(html:not(:has([data-portal]))) .footer-bottom{border-color:#ffffff24}:where(html:not(:has([data-portal]))) .footer-label{color:#aabb9e!important}:where(html:not(:has([data-portal]))) .footer-top .brand-type{color:var(--color-bg)}:where(html:not(:has([data-portal]))) .footer-bottom{color:#c3cebb}:where(html:not(:has([data-portal]))) .footer-grid .text-link{color:var(--color-bg)}:where(html:not(:has([data-portal]))) main>section:first-child:not(.home-hero):not(.ibs-service-hero):not(.legal-hero){padding-top:75px}:where(html:not(:has([data-portal]))) main>section:first-child h1:not(.home-hero h1){letter-spacing:-.045em!important;font-size:clamp(42px,4.9vw,76px)!important;font-weight:500!important;line-height:1.15!important}:where(html:not(:has([data-portal]))) main h1>span:not(.hero-line),:where(html:not(:has([data-portal]))) main h2>span{font-style:normal;font-weight:inherit!important;color:inherit!important}:where(html:not(:has([data-portal]))) main h2[style]{font-size:clamp(31px,3.5vw,54px)!important;font-weight:500!important;line-height:1.15!important}:where(html:not(:has([data-portal]))) main h3[style]{font-weight:500!important;line-height:1.2!important}html:where(:not(:has([data-portal]))).ibs-preview .mx-auto.max-w-\[1440px\]{max-width:1440px;width:calc(100% - var(--gutter) * 2);padding-left:0;padding-right:0}:where(html:not(:has([data-portal]))) .legacy-section-head{grid-template-columns:1.35fr 1fr;align-items:end;gap:80px;margin-bottom:50px;display:grid}:where(html:not(:has([data-portal]))) .legacy-section-head h2{font-size:clamp(32px,3.5vw,54px);font-weight:500}:where(html:not(:has([data-portal]))) .legacy-section-head .eyebrow{margin-bottom:25px}:where(html:not(:has([data-portal]))) .legacy-section-head>p{max-width:500px;font-size:15px;line-height:1.9}:where(html:not(:has([data-portal]))) .legacy-section-head .accent-serif{color:inherit!important}:where(html:not(:has([data-portal]))) .preview-form-note{border-left:2px solid var(--color-petrol);background:var(--color-bg-soft);padding:16px 20px;font-size:13px;line-height:1.7}:where(html:not(:has([data-portal]))) .preview-result{border:1px solid var(--line);background:var(--color-bg-soft);padding:35px}:where(html:not(:has([data-portal]))) .preview-result h3{margin-block:15px;font-size:30px}:where(html:not(:has([data-portal]))) .preview-result button{margin-top:25px}:where(html:not(:has([data-portal]))) .contact-form label{line-height:1.6;font-size:12px!important}:where(html:not(:has([data-portal]))) .contact-form input,:where(html:not(:has([data-portal]))) .contact-form textarea,:where(html:not(:has([data-portal]))) .contact-form select{border-radius:0;min-height:48px;border-color:var(--line-stronger)!important;background:0 0!important;padding:12px 14px!important;font-size:15px!important}:where(html:not(:has([data-portal]))) .contact-form input[type=checkbox]{min-height:20px;padding:0!important}:where(html:not(:has([data-portal]))) .contact-form textarea{min-height:150px}:where(html:not(:has([data-portal]))) .contact-form button[type=submit]{background:var(--color-petrol);color:var(--color-bg);border-color:var(--color-petrol);min-height:54px}:where(html:not(:has([data-portal]))) .contact-aside{border-left:1px solid var(--line);padding-left:65px}:where(html:not(:has([data-portal]))) .contact-aside>div{margin-bottom:35px}:where(html:not(:has([data-portal]))) .contact-aside h2{letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-size:11px}:where(html:not(:has([data-portal]))) .contact-aside a{overflow-wrap:anywhere;font-size:clamp(16px,1.7vw,24px);line-height:1.7;display:block}:where(html:not(:has([data-portal]))) .contact-aside address{color:var(--slate);font-size:16px}:where(html:not(:has([data-portal]))) .contact-layout{padding-bottom:var(--section);grid-template-columns:1.25fr 1fr;gap:80px;display:grid}:where(html:not(:has([data-portal]))) .ibs-service-hero{padding-top:42px}:where(html:not(:has([data-portal]))) .ibs-service-heading{grid-template-columns:1.3fr 1fr;align-items:end;gap:80px;margin-top:40px;margin-bottom:55px;display:grid}:where(html:not(:has([data-portal]))) .ibs-service-heading h1{font-size:clamp(42px,4.9vw,74px)!important}:where(html:not(:has([data-portal]))) .ibs-service-heading .eyebrow{margin-bottom:24px}:where(html:not(:has([data-portal]))) .ibs-service-heading h1>span{display:block}:where(html:not(:has([data-portal]))) .ibs-service-heading .lead{font-size:16px;line-height:1.8}:where(html:not(:has([data-portal]))) .ibs-service-actions{flex-wrap:wrap;gap:18px;margin-top:28px;display:flex}:where(html:not(:has([data-portal]))) .ibs-service-hero .media-frame{aspect-ratio:2.35}:where(html:not(:has([data-portal]))) .ibs-service-hero .media-frame img{object-position:50% 44%}:where(html:not(:has([data-portal]))) .ibs-service-hero[data-service=waermepumpen] .media-frame img{object-position:center 54%}:where(html:not(:has([data-portal]))) .service-intro{grid-template-columns:1fr 1fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .service-intro p+p{margin-top:24px}:where(html:not(:has([data-portal]))) .service-intro p{font-size:16px;line-height:1.9}:where(html:not(:has([data-portal]))) .service-feature-section{background:var(--color-bg-soft)}:where(html:not(:has([data-portal]))) .service-feature-layout{grid-template-columns:.85fr 1.35fr;gap:100px;display:grid}:where(html:not(:has([data-portal]))) .service-feature-list article{border-top:1px solid var(--line-strong);grid-template-columns:28px 1fr;gap:20px;padding:28px 0;display:grid}:where(html:not(:has([data-portal]))) .service-feature-list article>span{color:var(--slate);padding-top:7px;font-size:11px}:where(html:not(:has([data-portal]))) .service-feature-list h3{margin-bottom:12px;font-size:24px}:where(html:not(:has([data-portal]))) .service-feature-list p{font-size:15px;line-height:1.85}:where(html:not(:has([data-portal]))) .service-facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px;padding:40px 0 0;display:grid}:where(html:not(:has([data-portal]))) .service-facts dt{color:var(--slate);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:10px}:where(html:not(:has([data-portal]))) .service-facts dd{letter-spacing:-.025em;margin:0;font-size:20px}:where(html:not(:has([data-portal]))) .service-photo-grid{grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:50px;display:grid}:where(html:not(:has([data-portal]))) .service-photo-grid .media-frame{aspect-ratio:.82}:where(html:not(:has([data-portal]))) .service-photo-grid figure:nth-child(3n+2){margin-top:60px}:where(html:not(:has([data-portal]))) .service-photo-grid img{object-position:center}:where(html:not(:has([data-portal]))) .service-no-image{background:var(--color-petrol-deep);color:var(--color-bg);justify-content:space-between;gap:35px;margin-bottom:20px;padding:45px;display:flex}:where(html:not(:has([data-portal]))) .service-no-image>span{opacity:.5;letter-spacing:-.08em;font-size:76px;line-height:1}:where(html:not(:has([data-portal]))) .service-no-image>p{color:#e1e8d8;align-self:center;max-width:500px;font-size:20px}:where(html:not(:has([data-portal]))) .related-services{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:45px;display:grid}:where(html:not(:has([data-portal]))) .related-services>a{border-right:1px solid var(--line);grid-template-columns:1fr 20px;gap:22px;padding:28px 23px 28px 0;display:grid}:where(html:not(:has([data-portal]))) .related-services>a:not(:first-child){padding-left:23px}:where(html:not(:has([data-portal]))) .related-services>a>span{color:var(--slate);grid-column:1/-1;font-size:10px}:where(html:not(:has([data-portal]))) .related-services h3{font-size:21px}:where(html:not(:has([data-portal]))) .related-services a:hover{color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .legal-hero{padding:42px 0 68px}:where(html:not(:has([data-portal]))) .legal-hero .eyebrow{margin-top:44px;margin-bottom:26px}:where(html:not(:has([data-portal]))) .legal-hero h1{max-width:980px}:where(html:not(:has([data-portal]))) .legal-hero .body-large{max-width:720px;margin-top:30px}:where(html:not(:has([data-portal]))) .legal-layout{border-top:1px solid var(--line);grid-template-columns:.45fr 1fr;gap:100px;padding-top:40px;padding-bottom:100px;display:grid}:where(html:not(:has([data-portal]))) .legal-aside{color:var(--slate);font-size:12px}:where(html:not(:has([data-portal]))) .legal-aside p{max-width:170px;margin-bottom:20px}:where(html:not(:has([data-portal]))) .legal-aside a{min-height:44px;color:var(--color-petrol);display:block}:where(html:not(:has([data-portal]))) .legal-content{min-width:0;max-width:840px}:where(html:not(:has([data-portal]))) .prose-legal h2{letter-spacing:-.035em;margin:48px 0 20px;font-size:30px;font-weight:500;line-height:1.2}:where(html:not(:has([data-portal]))) .prose-legal>div:first-child h2,:where(html:not(:has([data-portal]))) .prose-legal>h2:first-child{margin-top:0}:where(html:not(:has([data-portal]))) .prose-legal h3{margin:32px 0 16px;font-size:22px}:where(html:not(:has([data-portal]))) .prose-legal p{margin-bottom:18px;line-height:1.85}:where(html:not(:has([data-portal]))) .prose-legal ul{color:var(--slate);margin-block:20px;padding-left:23px;list-style:outside}:where(html:not(:has([data-portal]))) .prose-legal li{margin-bottom:12px;line-height:1.8}:where(html:not(:has([data-portal]))) .prose-legal a{color:var(--color-petrol);text-underline-offset:4px;text-decoration:underline}:where(html:not(:has([data-portal]))) .editorial-directory{grid-template-columns:.8fr 1.3fr;gap:100px;padding-bottom:112px;display:grid}:where(html:not(:has([data-portal]))) .directory-visual{align-self:start;position:sticky;top:120px}:where(html:not(:has([data-portal]))) .directory-visual .media-frame{aspect-ratio:.8}:where(html:not(:has([data-portal]))) .editorial-list>a{border-top:1px solid var(--line);grid-template-columns:26px 1fr 24px;gap:20px;padding:34px 0;display:grid}:where(html:not(:has([data-portal]))) .editorial-list>a:first-child{border-top:0;padding-top:0}:where(html:not(:has([data-portal]))) .editorial-list h2{margin-bottom:18px;font-size:29px}:where(html:not(:has([data-portal]))) .editorial-list p{font-size:14px;line-height:1.9}:where(html:not(:has([data-portal]))) .editorial-list .section-index{color:var(--slate)}:where(html:not(:has([data-portal]))) .editorial-list a:hover h2{color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .preview-portal{min-height:65vh;padding-block:90px}:where(html:not(:has([data-portal]))) .preview-portal h1{margin-block:30px}:where(html:not(:has([data-portal]))) .preview-portal p{max-width:650px;line-height:1.9}:where(html:not(:has([data-portal]))) .preview-portal .button{margin-top:30px}@media (min-width:1500px){:where(html:not(:has([data-portal]))) .hero-media img{object-position:68% 45%}}@media (max-width:1199px){:where(html:not(:has([data-portal]))) .desktop-nav{gap:20px}:where(html:not(:has([data-portal]))) .portal-link{display:none}:where(html:not(:has([data-portal]))) .ibs-brand .brand-type{font-size:18px}:where(html:not(:has([data-portal]))) .ibs-heat .machine-photo .media-frame{min-height:480px}:where(html:not(:has([data-portal]))) .ibs-secondary-services{gap:50px}:where(html:not(:has([data-portal]))) .service-feature-layout,:where(html:not(:has([data-portal]))) .service-intro{gap:65px}:where(html:not(:has([data-portal]))) .header-tools{gap:18px}}@media (max-width:900px){:root:where(:not(:has([data-portal]))){--section:80px}:where(html:not(:has([data-portal]))) .header-inner{height:72px}:where(html:not(:has([data-portal]))) .home-hero{height:auto;min-height:690px}:where(html:not(:has([data-portal]))) .hero-content{min-height:690px;padding-top:70px}:where(html:not(:has([data-portal]))) .home-hero h1{max-width:620px;font-size:clamp(43px,7.5vw,66px)}:where(html:not(:has([data-portal]))) .hero-shade{background:linear-gradient(90deg,#02271ae0,#02271a66),linear-gradient(#0000,#02271a55)}:where(html:not(:has([data-portal]))) .hero-media img{object-position:62% center}:where(html:not(:has([data-portal]))) .hero-content .hero-intro{max-width:430px}:where(html:not(:has([data-portal]))) .intro-section{padding-top:80px}:where(html:not(:has([data-portal]))) .ibs-heat .machine-photo .media-frame{aspect-ratio:1.35;min-height:0}:where(html:not(:has([data-portal]))) .heat-proof>div{gap:30px}:where(html:not(:has([data-portal]))) .heat-proof article{display:block}:where(html:not(:has([data-portal]))) .heat-proof h3{margin:15px 0}:where(html:not(:has([data-portal]))) .heat-proof article>p{font-size:13px}:where(html:not(:has([data-portal]))) .work-heading{gap:40px}:where(html:not(:has([data-portal]))) .work-grid{gap:23px}:where(html:not(:has([data-portal]))) .work-grid>a:nth-child(2){margin-top:80px}:where(html:not(:has([data-portal]))) .system-layout,:where(html:not(:has([data-portal]))) .legacy-section-head,:where(html:not(:has([data-portal]))) .service-intro,:where(html:not(:has([data-portal]))) .service-feature-layout,:where(html:not(:has([data-portal]))) .ibs-service-heading,:where(html:not(:has([data-portal]))) .contact-layout,:where(html:not(:has([data-portal]))) .editorial-directory{grid-template-columns:1fr;gap:40px}:where(html:not(:has([data-portal]))) .legacy-section-head{margin-bottom:36px}:where(html:not(:has([data-portal]))) .system-layout .body-large{font-size:17px}:where(html:not(:has([data-portal]))) .contact-aside{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;padding-top:40px;padding-left:0;display:grid}:where(html:not(:has([data-portal]))) .service-feature-layout .sticky-heading{position:static}:where(html:not(:has([data-portal]))) .ibs-service-heading{margin-top:35px}:where(html:not(:has([data-portal]))) .service-facts{grid-template-columns:1fr 1fr;gap:32px}:where(html:not(:has([data-portal]))) .service-photo-grid{grid-template-columns:1fr 1fr;gap:20px}:where(html:not(:has([data-portal]))) .service-photo-grid figure:nth-child(3n+2){margin-top:0}:where(html:not(:has([data-portal]))) .service-photo-grid figure:nth-child(2n){margin-top:40px}:where(html:not(:has([data-portal]))) .related-services{grid-template-columns:1fr 1fr}:where(html:not(:has([data-portal]))) .related-services>a{border-bottom:1px solid var(--line)}:where(html:not(:has([data-portal]))) .related-services>a:nth-child(3){padding-left:0}:where(html:not(:has([data-portal]))) .legal-layout{grid-template-columns:1fr;gap:40px}:where(html:not(:has([data-portal]))) .legal-aside{justify-content:space-between;gap:30px;display:flex}:where(html:not(:has([data-portal]))) .legal-aside p{max-width:none}:where(html:not(:has([data-portal]))) .directory-visual{position:static}:where(html:not(:has([data-portal]))) .directory-visual .media-frame{aspect-ratio:1.6}:where(html:not(:has([data-portal]))) .editorial-list>a:first-child{border-top:1px solid var(--line);padding-top:30px}:where(html:not(:has([data-portal]))) .ibs-service-hero .media-frame{aspect-ratio:1.5}:where(html:not(:has([data-portal]))) .ibs-service-hero[data-service=waermepumpen] .media-frame{aspect-ratio:1.6}:where(html:not(:has([data-portal]))) .service-no-image{padding:30px}:where(html:not(:has([data-portal]))) main>section:first-child:not(.home-hero):not(.ibs-service-hero):not(.legal-hero){padding-top:55px}}@media (max-width:600px){:root:where(:not(:has([data-portal]))){--gutter:22px;--section:72px}html:where(:not(:has([data-portal]))){scroll-padding-top:88px}:where(html:not(:has([data-portal]))) .ibs-brand>img{width:31px;height:38px}:where(html:not(:has([data-portal]))) .ibs-brand{gap:10px}:where(html:not(:has([data-portal]))) .ibs-brand .brand-type{letter-spacing:.045em;font-size:17px}:where(html:not(:has([data-portal]))) .ibs-brand .brand-type>span{margin-top:6px;font-size:6.2px}:where(html:not(:has([data-portal]))) .home-hero{min-height:660px}:where(html:not(:has([data-portal]))) .hero-content{min-height:660px;padding-top:50px;padding-bottom:25px}:where(html:not(:has([data-portal]))) .hero-kicker{margin-top:20px;font-size:8px}:where(html:not(:has([data-portal]))) .home-hero h1{margin-top:30px;font-size:clamp(37px,10.2vw,51px);line-height:1.13}:where(html:not(:has([data-portal]))) .hero-content .hero-intro{max-width:335px;margin-top:28px;font-size:14px;line-height:1.85}:where(html:not(:has([data-portal]))) .hero-actions{align-items:flex-start;gap:20px;margin-top:28px}:where(html:not(:has([data-portal]))) .hero-actions .button{gap:25px;min-height:50px;padding:14px 18px;font-size:11px}:where(html:not(:has([data-portal]))) .hero-secondary{min-height:45px;font-size:11px}:where(html:not(:has([data-portal]))) .hero-bottom{gap:10px;margin-top:auto;padding-top:30px;font-size:7px}:where(html:not(:has([data-portal]))) .hero-media img{object-position:61% 48%}:where(html:not(:has([data-portal]))) .division-strip>a{min-height:76px}:where(html:not(:has([data-portal]))) .division-strip>a:last-child{grid-column:1/-1}:where(html:not(:has([data-portal]))) .intro-section{padding-top:65px}:where(html:not(:has([data-portal]))) .business-routes{margin-top:45px}:where(html:not(:has([data-portal]))) .business-route-list{gap:8px}:where(html:not(:has([data-portal]))) .business-route-list p{font-size:14px}:where(html:not(:has([data-portal]))) .feature-heading h2{font-size:34px}:where(html:not(:has([data-portal]))) .energy-story-visual{background:var(--color-bg)}:where(html:not(:has([data-portal]))) .energy-story-image{height:245px;min-height:0}:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{top:74px}:where(html:not(:has([data-portal]))) .energy-story-step{min-height:440px}:where(html:not(:has([data-portal]))) .energy-story-step h3{font-size:29px}:where(html:not(:has([data-portal]))) .energy-story-step .story-body{font-size:14px}:where(html:not(:has([data-portal]))) .ibs-heat .machine-photo .media-frame{aspect-ratio:1.06}:where(html:not(:has([data-portal]))) .machine-content h2{font-size:36px}:where(html:not(:has([data-portal]))) .machine-content>p{font-size:15px}:where(html:not(:has([data-portal]))) .heat-proof{margin-top:42px}:where(html:not(:has([data-portal]))) .heat-proof>div{grid-template-columns:1fr;gap:25px}:where(html:not(:has([data-portal]))) .heat-proof article{border-top:1px solid #ffffff24;grid-template-columns:23px 1fr;gap:15px;padding-block:15px;display:grid}:where(html:not(:has([data-portal]))) .heat-proof h3{margin:0}:where(html:not(:has([data-portal]))) .heat-proof article>p{grid-column:2;font-size:14px}:where(html:not(:has([data-portal]))) .heat-photo .media-frame{aspect-ratio:.92}:where(html:not(:has([data-portal]))) .ibs-secondary-services{grid-template-columns:1fr;gap:48px}:where(html:not(:has([data-portal]))) .ibs-secondary-services h3{font-size:34px}:where(html:not(:has([data-portal]))) .technical-rule{gap:8px;font-size:10px}:where(html:not(:has([data-portal]))) .work-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}:where(html:not(:has([data-portal]))) .work-grid{grid-template-columns:1fr;gap:35px}:where(html:not(:has([data-portal]))) .work-grid>a:nth-child(2){justify-self:end;width:88%;margin-top:0}:where(html:not(:has([data-portal]))) .work-grid>a:nth-child(2) .media-frame{aspect-ratio:1}:where(html:not(:has([data-portal]))) .system-layout{gap:32px}:where(html:not(:has([data-portal]))) .faq-list summary{padding-block:22px;font-size:19px}:where(html:not(:has([data-portal]))) .enquiry-cta{margin-top:0}:where(html:not(:has([data-portal]))) .enquiry-inner{padding-block:55px}:where(html:not(:has([data-portal]))) .footer-top{align-items:flex-start}:where(html:not(:has([data-portal]))) .contact-aside{grid-template-columns:1fr}:where(html:not(:has([data-portal]))) .service-intro,:where(html:not(:has([data-portal]))) .service-feature-layout{gap:35px}:where(html:not(:has([data-portal]))) .ibs-service-heading h1,:where(html:not(:has([data-portal]))) main>section:first-child h1:not(.home-hero h1){font-size:41px!important;line-height:1.15!important}:where(html:not(:has([data-portal]))) .ibs-service-heading .lead{font-size:15px}:where(html:not(:has([data-portal]))) .ibs-service-hero .media-frame{aspect-ratio:1.06}:where(html:not(:has([data-portal]))) .ibs-service-hero[data-service=waermepumpen] .media-frame{aspect-ratio:1.05}:where(html:not(:has([data-portal]))) .service-facts{padding-top:28px}:where(html:not(:has([data-portal]))) .service-facts dd{font-size:17px}:where(html:not(:has([data-portal]))) .service-facts dt{font-size:9px}:where(html:not(:has([data-portal]))) .service-photo-grid{gap:14px}:where(html:not(:has([data-portal]))) .service-photo-grid figure:nth-child(2n){margin-top:28px}:where(html:not(:has([data-portal]))) .service-photo-grid figcaption{font-size:9px}:where(html:not(:has([data-portal]))) .service-no-image{flex-direction:column;gap:20px;padding:25px}:where(html:not(:has([data-portal]))) .service-no-image>span{font-size:52px}:where(html:not(:has([data-portal]))) .service-no-image>p{font-size:18px}:where(html:not(:has([data-portal]))) .related-services{grid-template-columns:1fr}:where(html:not(:has([data-portal]))) .related-services>a,:where(html:not(:has([data-portal]))) .related-services>a:not(:first-child){border-right:0;gap:15px;padding:23px 0}:where(html:not(:has([data-portal]))) .legal-hero{padding-top:25px;padding-bottom:45px}:where(html:not(:has([data-portal]))) .legal-hero .eyebrow{margin-top:30px}:where(html:not(:has([data-portal]))) .legal-hero .body-large{font-size:16px}:where(html:not(:has([data-portal]))) .legal-layout{gap:24px;padding-bottom:65px}:where(html:not(:has([data-portal]))) .legal-aside{display:none}:where(html:not(:has([data-portal]))) .prose-legal h2{font-size:27px}:where(html:not(:has([data-portal]))) .prose-legal p,:where(html:not(:has([data-portal]))) .prose-legal li{font-size:15px}:where(html:not(:has([data-portal]))) .editorial-list h2{font-size:27px}:where(html:not(:has([data-portal]))) .editorial-list>a{grid-template-columns:20px 1fr 18px;gap:14px}:where(html:not(:has([data-portal]))) .editorial-directory{gap:28px;padding-bottom:65px}:where(html:not(:has([data-portal]))) .location-section .location-photo .media-frame{aspect-ratio:1.15}:where(html:not(:has([data-portal]))) .preview-portal{padding-block:65px}}@media (prefers-reduced-motion:reduce){html:where(:not(:has([data-portal]))){scroll-behavior:auto}:where(html:not(:has([data-portal]))) .sticky-heading,:where(html:not(:has([data-portal]))) .directory-visual,:where(html:not(:has([data-portal]))) .motion-ready .energy-story-visual{position:static!important}:where(html:not(:has([data-portal]))) .hero-line>span{animation:none}:where(html:not(:has([data-portal]))) .reveal{opacity:1;filter:none;transform:none}:where(html:not(:has([data-portal]))) .work-grid a:hover svg{transform:none}}:where(html:not(:has([data-portal]))) .about-photo{padding-bottom:90px}:where(html:not(:has([data-portal]))) .about-photo .media-frame{aspect-ratio:2.5}:where(html:not(:has([data-portal]))) .about-photo img{object-position:50% 52%}@media (max-width:600px){:where(html:not(:has([data-portal]))) .about-photo{padding-bottom:55px}:where(html:not(:has([data-portal]))) .about-photo .media-frame{aspect-ratio:1.2}:where(html:not(:has([data-portal]))) .division-strip{grid-template-columns:repeat(2,minmax(0,1fr))}:where(html:not(:has([data-portal]))) .division-strip>a:last-child{grid-column:1/-1}:where(html:not(:has([data-portal]))) .division-strip>a{font-size:12px}}:where(html:not(:has([data-portal]))) .contact-aside a.text-link{display:inline-flex}:where(html:not(:has([data-portal]))) .scroll-progress{background:var(--color-petrol)}:where(html:not(:has([data-portal]))) .heat-craft-heading{grid-template-columns:1.3fr 1fr;align-items:end;gap:clamp(45px,7vw,110px);margin-bottom:52px;display:grid}:where(html:not(:has([data-portal]))) .heat-craft-heading .number-label{margin-bottom:32px}:where(html:not(:has([data-portal]))) .heat-craft-heading .eyebrow{color:#d4ddcf}:where(html:not(:has([data-portal]))) .heat-craft-heading h2{font-size:clamp(36px,4.3vw,64px)}:where(html:not(:has([data-portal]))) .heat-craft-heading p:not(.eyebrow){color:#e4e9db;max-width:480px;margin-bottom:26px;font-size:16px;line-height:1.85}:where(html:not(:has([data-portal]))) .heat-craft-media{grid-template-columns:2.7fr 1fr;align-items:end;gap:32px;display:grid}:where(html:not(:has([data-portal]))) .heat-exterior .media-frame{aspect-ratio:16/9}:where(html:not(:has([data-portal]))) .heat-exterior .media-frame img{object-fit:contain;object-position:center;transform:none}:where(html:not(:has([data-portal]))) .heat-craft-media figcaption{color:#d4ddcf;margin-top:14px;font-size:11px}:where(html:not(:has([data-portal]))) .heat-craft-detail{padding-top:70px}:where(html:not(:has([data-portal]))) .heat-craft-detail .media-frame{aspect-ratio:.88}:where(html:not(:has([data-portal]))) .heat-craft-detail>p{color:#e4e9db;margin-top:24px;font-size:19px;line-height:1.5}:where(html:not(:has([data-portal]))) .ibs-service-hero[data-service=waermepumpen] .media-frame{aspect-ratio:16/9}:where(html:not(:has([data-portal]))) .ibs-service-hero[data-service=waermepumpen] .media-frame img{object-fit:contain;object-position:center;transform:none}:where(html:not(:has([data-portal]))) .energy-story-image .solar-story-photo{opacity:0;transition:opacity .8s var(--ease), transform 1.4s var(--ease)}:where(html:not(:has([data-portal]))) [data-phase="0"] [data-story-photo="0"],:where(html:not(:has([data-portal]))) [data-phase="1"] [data-story-photo="1"],:where(html:not(:has([data-portal]))) [data-phase="2"] [data-story-photo="2"]{opacity:1}:where(html:not(:has([data-portal]))) .motion-ready .energy-story-image>img{transform:scale(calc(1.22 - var(--story-progress,0) * .2))}html:where(:not(:has([data-portal]))).ibs-preview .will-reveal{transition-delay:var(--reveal-delay,0s);transition-duration:1.05s}html:where(:not(:has([data-portal]))).ibs-preview [data-reveal=image].will-reveal{transition-duration:1.25s}:where(html:not(:has([data-portal]))) .hero-bottom>a svg{animation:craft-scroll-hint 2.5s var(--ease) 3}@keyframes craft-scroll-hint{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}:where(html:not(:has([data-portal]))) [data-process-flow]{padding-left:34px;position:relative}:where(html:not(:has([data-portal]))) [data-process-flow]:before,:where(html:not(:has([data-portal]))) [data-process-flow]:after{content:"";background:var(--line-strong);width:2px;position:absolute;top:0;bottom:0;left:0}:where(html:not(:has([data-portal]))) [data-process-flow]:after{background:var(--color-petrol);transform-origin:top;transform:scaleY(var(--process-progress,0))}:where(html:not(:has([data-portal]))) [data-process-step]>span{transition:color .55s,background .55s}:where(html:not(:has([data-portal]))) [data-process-step].process-reached>span{color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .calculator-section{background:var(--color-bg-soft);padding-block:var(--section)}:where(html:not(:has([data-portal]))) .calculator-hero{grid-template-columns:1fr .95fr;align-items:center;gap:clamp(50px,7vw,105px);margin-bottom:54px;display:grid}:where(html:not(:has([data-portal]))) .calculator-hero-copy h2{margin-block:25px;font-size:clamp(38px,4.2vw,64px)}:where(html:not(:has([data-portal]))) .calculator-hero-copy>p:not(.eyebrow){color:var(--color-ink-soft);max-width:470px;margin-bottom:26px;font-size:16px;line-height:1.85}:where(html:not(:has([data-portal]))) .calculator-hero-photo .media-frame{aspect-ratio:1.26}:where(html:not(:has([data-portal]))) .calculator-hero-photo img{object-position:center 53%}:where(html:not(:has([data-portal]))) .calculator-hero-photo figcaption{margin-top:14px;font-size:11px}:where(html:not(:has([data-portal]))) .calculator-privacy{color:var(--color-petrol-deep);align-items:center;gap:9px;margin-top:32px;font-size:11px;line-height:1.7;display:flex}:where(html:not(:has([data-portal]))) .calculator-privacy svg{flex:none}:where(html:not(:has([data-portal]))) .calculator-workbench{scroll-margin-top:110px}:where(html:not(:has([data-portal]))) .calculator-tabs{background:var(--line-strong);border:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}:where(html:not(:has([data-portal]))) .calculator-tabs>button{text-align:left;background:var(--color-bg);min-width:0;color:var(--color-ink);padding:25px 28px;transition:color .25s,background .25s;position:relative}:where(html:not(:has([data-portal]))) .calculator-tabs>button:hover{background:#e3e9de}:where(html:not(:has([data-portal]))) .calculator-tabs>button[aria-selected=true]{color:var(--color-bg);background:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .calculator-tabs>button:focus-visible{outline-offset:-5px;outline-color:var(--color-copper-soft)}:where(html:not(:has([data-portal]))) .calculator-tab-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}:where(html:not(:has([data-portal]))) .calculator-tab-top>span{letter-spacing:.1em;font-size:10px}:where(html:not(:has([data-portal]))) .calculator-tab-name{letter-spacing:-.03em;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(18px,1.8vw,27px);font-weight:500;display:flex}:where(html:not(:has([data-portal]))) .calculator-tab-name svg{transition:transform .3s var(--ease);flex:none}:where(html:not(:has([data-portal]))) .calculator-tabs>button:hover .calculator-tab-name svg{transform:translate(3px,-3px)}:where(html:not(:has([data-portal]))) .calculator-tab-detail{margin-top:10px;font-size:12px;line-height:1.5;display:block}:where(html:not(:has([data-portal]))) .calculator-panels{background:var(--color-bg);border:1px solid var(--line-strong);border-top:0}:where(html:not(:has([data-portal]))) .calculator-panels>[role=tabpanel]:not([hidden]){animation:calculator-entry .6s var(--ease) both}:where(html:not(:has([data-portal]))) .calculator-panels>[hidden]{display:none}:where(html:not(:has([data-portal]))) .calculator-panels>[role=tabpanel]:focus-visible{outline-offset:-3px}@keyframes calculator-entry{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}:where(html:not(:has([data-portal]))) .calculator-section .tool-panel{grid-template-columns:1.12fr 1fr}:where(html:not(:has([data-portal]))) .calculator-section .tool-form{min-width:0;padding:clamp(26px,3.7vw,54px)}:where(html:not(:has([data-portal]))) .calculator-section .tool-form h3{overflow-wrap:break-word;margin-bottom:17px;font-size:clamp(27px,2.8vw,39px)!important;font-weight:500!important;line-height:1.15!important}:where(html:not(:has([data-portal]))) .calculator-section .tool-form h3+p{font-size:13px;line-height:1.8}:where(html:not(:has([data-portal]))) .calculator-section .tool-result-overlay{background:var(--color-petrol-darker);min-width:0;padding:clamp(26px,3.7vw,54px)}:where(html:not(:has([data-portal]))) .calculator-section .tool-result-overlay:before,:where(html:not(:has([data-portal]))) .calculator-section .tool-result-overlay:after{display:none}:where(html:not(:has([data-portal]))) .calculator-result-intro{letter-spacing:-.045em;margin-bottom:26px;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.2}:where(html:not(:has([data-portal]))) .calculator-section input[type=range]{max-width:100%;accent-color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .calculator-section input:not([type=range]):not([type=checkbox]){background:0 0}:where(html:not(:has([data-portal]))) .calculator-section input[type=checkbox]{accent-color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .calculator-section .rounded-full{border-radius:0}:where(html:not(:has([data-portal]))) .calculator-footnote{max-width:700px;color:var(--color-ink-soft);margin-top:20px;font-size:11px;line-height:1.8}:where(html:not(:has([data-portal]))) .calculator-section .tool-field{margin-bottom:28px}:where(html:not(:has([data-portal]))) .calculator-section .tool-field>label{letter-spacing:0;text-transform:none;margin-bottom:10px;font-size:12px;font-weight:600}:where(html:not(:has([data-portal]))) .calculator-section .tool-field>p{margin-bottom:12px;line-height:1.65}:where(html:not(:has([data-portal]))) .calculator-section .tool-options{border:0;gap:8px}:where(html:not(:has([data-portal]))) .calculator-section .tool-options button{border:1px solid var(--line-stronger);min-height:44px;color:var(--color-ink);background:0 0;padding:11px 16px;font-size:13px;line-height:1.45}:where(html:not(:has([data-portal]))) .calculator-section .tool-options button[aria-pressed=true]{color:var(--color-bg);background:var(--color-petrol-deep);border-color:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .calculator-section .tool-options button:hover{border-color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .calculator-section .tool-next,:where(html:not(:has([data-portal]))) .calculator-section .tool-back{border:1px solid var(--line-stronger);min-height:48px;padding:13px 23px;font-size:13px;font-weight:600}:where(html:not(:has([data-portal]))) .calculator-section .tool-next{background:var(--color-petrol);color:var(--color-bg);border-color:var(--color-petrol)}:where(html:not(:has([data-portal]))) .calculator-section .tool-next:hover{background:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .calculator-section .tool-back:disabled{cursor:not-allowed}:where(html:not(:has([data-portal]))) .calculator-section .tool-steps{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:30px 0;padding:0 0 23px;display:grid}:where(html:not(:has([data-portal]))) .calculator-section .tool-step-button{text-align:left;letter-spacing:0;flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-height:66px;font-size:9px;line-height:1.5;display:flex}:where(html:not(:has([data-portal]))) .calculator-section .tool-step-button:disabled{cursor:default;opacity:1}:where(html:not(:has([data-portal]))) .calculator-section .tool-step-number{border:1px solid var(--line-strong);place-items:center;width:32px;height:32px;font-size:11px;display:grid}:where(html:not(:has([data-portal]))) .calculator-section .tool-step-button[aria-current=step]{color:var(--color-petrol-deep);font-weight:600}:where(html:not(:has([data-portal]))) .calculator-section .tool-step-button[aria-current=step] .tool-step-number{background:var(--color-petrol-deep);color:var(--color-bg);border-color:var(--color-petrol-deep)}:where(html:not(:has([data-portal]))) .calculator-section .tool-result-value{overflow-wrap:anywhere;margin:15px 0 18px;font-size:clamp(62px,6.6vw,100px)!important;font-weight:500!important;line-height:1.08!important}@media (max-width:900px){:where(html:not(:has([data-portal]))) .heat-craft-heading{grid-template-columns:1fr;gap:28px;margin-bottom:35px}:where(html:not(:has([data-portal]))) .heat-craft-heading p:not(.eyebrow){max-width:650px}:where(html:not(:has([data-portal]))) .heat-craft-media{grid-template-columns:2.4fr 1fr;gap:22px}:where(html:not(:has([data-portal]))) .heat-craft-detail{padding-top:0}:where(html:not(:has([data-portal]))) .heat-craft-detail>p{font-size:15px}:where(html:not(:has([data-portal]))) .calculator-hero{gap:38px}:where(html:not(:has([data-portal]))) .calculator-hero-copy h2{font-size:39px}:where(html:not(:has([data-portal]))) .calculator-hero-copy>p:not(.eyebrow){font-size:14px}:where(html:not(:has([data-portal]))) .calculator-hero-photo .media-frame{aspect-ratio:.85}:where(html:not(:has([data-portal]))) .calculator-tabs>button{padding:22px}:where(html:not(:has([data-portal]))) .calculator-tab-name{font-size:21px}:where(html:not(:has([data-portal]))) .calculator-section .tool-panel{grid-template-columns:1fr}:where(html:not(:has([data-portal]))) .calculator-section .tool-form{border-right:0}}@media (max-width:600px){:where(html:not(:has([data-portal]))) .hero-kicker{letter-spacing:.09em;font-size:7px}:where(html:not(:has([data-portal]))) .hero-secondary{max-width:145px}:where(html:not(:has([data-portal]))) .heat-craft-heading h2{font-size:36px}:where(html:not(:has([data-portal]))) .heat-craft-heading .number-label{margin-bottom:26px}:where(html:not(:has([data-portal]))) .heat-craft-heading p:not(.eyebrow){font-size:15px}:where(html:not(:has([data-portal]))) .heat-craft-media{grid-template-columns:1fr;gap:28px}:where(html:not(:has([data-portal]))) .heat-craft-detail{grid-template-columns:1fr 1fr;align-items:center;gap:22px;display:grid}:where(html:not(:has([data-portal]))) .heat-craft-detail .media-frame{aspect-ratio:1}:where(html:not(:has([data-portal]))) .heat-craft-detail>p{margin:0;font-size:17px}:where(html:not(:has([data-portal]))) .heat-craft-media figcaption{font-size:10px;line-height:1.7}:where(html:not(:has([data-portal]))) [data-process-flow]{padding-left:22px}:where(html:not(:has([data-portal]))) .calculator-hero{grid-template-columns:1fr;gap:30px;margin-bottom:30px}:where(html:not(:has([data-portal]))) .calculator-hero-copy h2{margin-block:20px;font-size:39px}:where(html:not(:has([data-portal]))) .calculator-hero-copy>p:not(.eyebrow){font-size:15px}:where(html:not(:has([data-portal]))) .calculator-privacy{margin-top:24px;font-size:10px}:where(html:not(:has([data-portal]))) .calculator-hero-photo .media-frame{aspect-ratio:1.8}:where(html:not(:has([data-portal]))) .calculator-hero-photo figcaption{font-size:10px}:where(html:not(:has([data-portal]))) .calculator-tabs>button{padding:18px 12px}:where(html:not(:has([data-portal]))) .calculator-tab-top{margin-bottom:18px}:where(html:not(:has([data-portal]))) .calculator-tab-top svg{width:22px;height:22px}:where(html:not(:has([data-portal]))) .calculator-tab-name{letter-spacing:-.035em;font-size:clamp(11px,3.3vw,17px)}:where(html:not(:has([data-portal]))) .calculator-tab-name>svg,:where(html:not(:has([data-portal]))) .calculator-tab-detail{display:none}:where(html:not(:has([data-portal]))) .calculator-section .tool-form,:where(html:not(:has([data-portal]))) .calculator-section .tool-result-overlay{padding:28px 20px}:where(html:not(:has([data-portal]))) .calculator-section .tool-form h3{font-size:29px!important}:where(html:not(:has([data-portal]))) .calculator-result-intro{font-size:34px}:where(html:not(:has([data-portal]))) .calculator-footnote{font-size:10px}}@media (prefers-reduced-motion:reduce){:where(html:not(:has([data-portal]))) .hero-bottom>a svg,:where(html:not(:has([data-portal]))) .calculator-panels>[role=tabpanel]:not([hidden]){animation:none}:where(html:not(:has([data-portal]))) .energy-story-image .solar-story-photo{transition:none;transform:none!important}html:where(:not(:has([data-portal]))).ibs-preview .will-reveal{transition:none}:where(html:not(:has([data-portal]))) [data-process-flow]:after,:where(html:not(:has([data-portal]))) .calculator-tabs>button:hover .calculator-tab-name svg{transform:none}}:where(html:not(:has([data-portal]))) .form-result{border:1px solid var(--line-strong);background:var(--color-bg-soft);padding:40px}:where(html:not(:has([data-portal]))) .form-result h3{margin:18px 0 22px;font-size:38px!important;font-weight:500!important;line-height:1.2!important}:where(html:not(:has([data-portal]))) .form-result p{line-height:1.8}
