@font-face{font-family:Oswald;src:url('/assets/oswald.ttf') format('truetype');font-weight:200 700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:#11171e;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3{margin:0}p{color:#b9c1ca}h1,h2,h3{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:400;line-height:1.13}h2{font-size:clamp(2.7rem,4.5vw,4.5rem);letter-spacing:-.02em}h3{font-size:2rem}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.section{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.17em;line-height:1.5;margin-bottom:25px;color:inherit}.blue{color:#65adf2}.skip{position:absolute;top:-100px;left:12px;background:#fff;color:#111;padding:12px;z-index:100}.skip:focus{top:12px}:focus-visible{outline:3px solid #7ac1ff;outline-offset:6px}.header{position:absolute;top:0;left:0;width:100%;padding:32px 48px;display:flex;justify-content:space-between;align-items:center;z-index:20}.brand{display:inline-flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark{font-family:Arial,sans-serif;font-size:62px;font-weight:800;line-height:1;letter-spacing:-8px;white-space:nowrap}.brand-mark>span{color:#3b8bdb;margin-right:7px}.brand-name{font-family:Oswald,sans-serif;font-size:25px;letter-spacing:.1em;line-height:1.1}.brand-name small{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.1em;margin-top:9px;font-weight:400}.header-right{display:flex;gap:35px;align-items:center}.header-contact{font-size:.85rem;letter-spacing:.05em;border-bottom:1px solid #ffffff80;padding:10px 0}.header-contact span{margin-left:25px}.menu-toggle{color:white;border:0;background:transparent;width:44px;min-height:48px;padding:5px;cursor:pointer;position:relative;z-index:22}.menu-toggle>span:not(.menu-label){display:block;height:1px;background:white;margin:7px 0;transition:transform .2s}.menu-label{display:block;font-size:12px;letter-spacing:.12em}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}#navigation{display:none;position:absolute;top:104px;right:48px;background:#14202d;border:1px solid #324255;padding:25px 32px;min-width:350px;box-shadow:0 20px 70px #0007}#navigation.open{display:grid}#navigation>a{font-family:Oswald,sans-serif;font-size:1.75rem;padding:12px 0;border-bottom:1px solid #ffffff20}#navigation>a:last-child{border:0}#navigation small{font-family:Arial,sans-serif;color:#65adf2;font-size:.8rem;margin-right:22px}.hero{position:relative;min-height:830px;height:100svh;max-height:1100px;display:flex;align-items:center;isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;z-index:-2}.hero-image{object-position:62% center}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(6,13,21,.76),rgba(6,13,21,.22) 70%),linear-gradient(0deg,rgba(6,13,21,.65),transparent 36%,transparent 75%,rgba(6,13,21,.36))}.hero-content{padding:135px 48px 150px;width:100%}.hero-content .eyebrow{font-size:.75rem}.hero h1{font-size:clamp(4rem,7vw,7rem);line-height:1.1;letter-spacing:-.025em;font-weight:400}.hero h1 span{color:#fff}.hero-content>p:not(.eyebrow){margin:28px 0 30px;color:#eceff3;font-size:1.1rem;line-height:1.6}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:44px;padding:16px 24px;background:#276fb5;color:#fff;font-size:.88rem;font-weight:600;transition:background .2s;min-height:54px}.button:hover{background:#195c9c}.hero-bottom{position:absolute;bottom:0;left:0;width:100%;padding:25px 48px;display:flex;align-items:center;gap:64px;border-top:1px solid #ffffff45}.scroll-link{display:flex;align-items:center;gap:20px;font-size:.75rem;letter-spacing:.13em}.scroll-link>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff75;border-radius:100%;font-size:22px}.hero-bottom p{color:white;font-size:.94rem;line-height:1.5}.hero-index{margin-left:auto;font-size:.8rem;letter-spacing:.15em;color:#ddd}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-copy p+p{margin-top:22px}.lead{font-size:1.35rem;line-height:1.6;color:#f3f5f7}.line-link{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;font-size:.9rem;border-bottom:1px solid #53616e;padding:12px 0;transition:color .2s}.line-link:hover{color:#77bfff}.intro-copy>.line-link{margin-top:25px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid #33404c;padding-top:28px;font-size:.94rem}.principles span:before{content:'—';color:#65adf2;margin-right:14px}.services-section{background:#19212a}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:52px}.section-heading>p{max-width:335px;margin-bottom:5px}.services-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.service-card{position:relative;min-height:330px;overflow:hidden;isolation:isolate}.sanitary{grid-row:span 2;min-height:660px}.service-card>img,.service-overlay{position:absolute;inset:0;height:100%;z-index:-2}.service-card>img{transition:transform .6s}.service-card:hover>img{transform:scale(1.035)}.service-overlay{z-index:-1;background:linear-gradient(0deg,rgba(5,14,22,.85),transparent 70%)}.card-heading{position:absolute;bottom:34px;left:34px;right:75px}.card-heading>span{font-size:.75rem;letter-spacing:.15em}.card-heading h3{font-size:3.2rem;margin:12px 0}.card-heading p{color:#f0f0f0;font-size:1rem}.card-link{position:absolute;right:30px;bottom:37px;border:1px solid #ffffff75;width:44px;height:44px;display:grid;place-items:center;font-size:24px}.ventilation-card{background:#276fb5;padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:306px}.ventilation-card h3{font-size:3rem;margin-bottom:10px}.ventilation-card p{color:#e4effb;font-size:1.1rem;line-height:1.5}.ventilation-card .line-link{border-color:#ffffff70;margin-top:20px}.ventilation-card .eyebrow{font-size:.75rem}.service-details{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:68px}.service-details article{scroll-margin-top:35px}.detail-number{color:#71b6f8;display:block;font-size:.85rem;margin-bottom:20px}.service-details h3{font-size:1.65rem;margin-bottom:18px}.service-details p{font-size:1rem;min-height:105px}.service-details ul{margin:22px 0 16px;padding:0;list-style:none;color:#c5ced7;font-size:.92rem}.service-details li{padding:9px 0;border-bottom:1px solid #ffffff12}.service-details .line-link{width:100%}.approach{display:grid;grid-template-columns:1fr 1.15fr;gap:110px}.approach-heading>p:last-child{margin-top:28px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:30px;padding:30px 0;border-bottom:1px solid #35404a}.steps li:first-child{padding-top:0}.steps li>span{font-family:Oswald,sans-serif;font-size:1.5rem;color:#6bacE6}.steps h3{font-size:1.8rem;margin:0 0 14px}.steps p{max-width:440px}.inspiration>a{display:block;position:relative;min-height:500px;isolation:isolate;overflow:hidden}.inspiration img,.inspiration-shade{position:absolute;inset:0;height:100%;z-index:-2}.inspiration img{object-position:center 60%}.inspiration-shade{z-index:-1;background:linear-gradient(90deg,#08131bd9,#08131b25)}.inspiration-caption{padding-top:100px;padding-bottom:70px}.inspiration-caption h2{font-size:clamp(2.5rem,4vw,4rem)}.image-note{display:inline-block;margin-top:38px;color:#c6d0da;font-size:.8rem}.image-note>span{margin-left:20px}.region{display:grid;grid-template-columns:1fr 1fr;gap:100px}.region p+p{margin-top:25px}.region-tags{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.region-tags span{border:1px solid #455464;padding:7px 14px;font-size:.85rem}.contact{background:#256bac}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact p{color:#e3effc;margin-top:26px}.contact .eyebrow{font-size:.75rem}.contact h2{font-size:clamp(3.3rem,5vw,5rem)}.contact-card{padding-top:8px}.contact-email{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff70;padding-bottom:17px;font-size:clamp(1.2rem,2vw,1.7rem);overflow-wrap:anywhere;margin-top:28px}.contact-card>p{font-size:1rem;margin-bottom:30px}.button-white{background:white;color:#1b4269}.button-white:hover{background:#d9eafb}.contact-card>small{display:block;margin-top:10px;color:#e0ecf7;font-size:.8rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:65px 0}.footer-top>p{font-size:.95rem;line-height:1.5}.footer-bottom{border-top:1px solid #35404a;padding-top:24px;display:flex;gap:30px;justify-content:space-between;font-size:.8rem;color:#b8c2cd}.photo-credit{font-size:.75rem;padding:20px 0 30px;color:#9daab8}
@media(min-width:1600px){.header,.hero-content{padding-left:max(48px,calc((100vw - 1440px)/2));padding-right:max(48px,calc((100vw - 1440px)/2))}.hero-bottom{padding-left:max(48px,calc((100vw - 1440px)/2));padding-right:max(48px,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.section{padding-top:80px;padding-bottom:80px}.header{padding:28px 32px}.hero-content{padding-left:32px;padding-right:32px}.hero-bottom{padding-left:32px;padding-right:32px}.intro-grid,.region,.contact-grid{gap:50px}.approach{gap:55px}.service-details{gap:25px}.sanitary{min-height:620px}.card-heading{left:24px}.service-details p{min-height:130px}.footer-top .brand-name{font-size:20px}.footer-top .brand-mark{font-size:52px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.section{padding-top:64px;padding-bottom:64px}.header{padding:22px 20px}.brand{gap:12px}.brand-mark{font-size:50px}.brand-name{font-size:20px;letter-spacing:.07em}.brand-name small{font-size:8px;letter-spacing:.05em;margin-top:7px}.header-contact{display:none}.header-right{gap:0}#navigation{top:92px;left:20px;right:20px;min-width:0;padding:18px 25px}#navigation>a{font-size:1.55rem}.hero{min-height:760px;height:100svh;max-height:950px}.hero-content{padding:135px 20px 180px}.hero h1{font-size:clamp(3.4rem,12.6vw,5.3rem)}.hero-content .eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:22px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#08131cd9,#08131c38),linear-gradient(0deg,#08131ca6,transparent 40%)}.hero-content>p:not(.eyebrow){font-size:1rem;margin-top:24px}.hero-bottom{padding:21px 20px;gap:20px;justify-content:space-between}.hero-bottom p{font-size:.8rem}.hero-index{display:none}.scroll-link{font-size:.75rem;gap:10px;letter-spacing:.06em}.scroll-link>span{width:39px;height:39px;font-size:18px}h2{font-size:2.8rem}.eyebrow{font-size:.75rem;letter-spacing:.12em}.intro-grid,.region,.contact-grid,.approach{grid-template-columns:1fr;gap:32px}.lead{font-size:1.16rem}.principles{grid-template-columns:1fr;gap:14px;margin-top:38px;padding-top:24px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px;max-width:none}.services-grid{grid-template-columns:1fr;gap:18px}.sanitary{grid-row:auto;min-height:420px}.heating{min-height:350px}.card-heading{left:26px;bottom:30px}.card-heading h3{font-size:2.8rem}.ventilation-card{padding:28px;min-height:290px}.service-details{grid-template-columns:1fr;gap:38px;margin-top:44px}.service-details p{min-height:0}.service-details h3{font-size:1.85rem}.service-details ul{margin-top:16px}.service-details article{padding-bottom:10px}.detail-number{margin-bottom:10px}.approach{gap:40px}.steps li{gap:22px;padding:26px 0}.steps h3{font-size:1.7rem}.inspiration>a{min-height:430px}.inspiration-caption{padding-top:80px;padding-bottom:65px}.inspiration-caption h2{font-size:2.65rem}.region-tags{gap:8px}.contact h2{font-size:3.3rem}.contact-email{font-size:1.25rem;margin-top:20px}.contact-card{padding-top:0}.contact-grid{gap:40px}.footer-top{align-items:flex-start;flex-wrap:wrap;padding:45px 0;gap:28px}.footer-top>p{width:100%;order:2}.footer-top>.line-link{font-size:.8rem;gap:14px}.footer-bottom{flex-wrap:wrap;gap:12px 25px}.footer-bottom>span:first-child{width:100%}.photo-credit{font-size:.75rem;line-height:1.5}.button{padding:15px 22px}.contact p{margin-top:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Shared identity and category pages */
.brand-logo{width:176px;height:auto;object-fit:contain}.footer-top .brand-logo{width:165px}#navigation{max-height:calc(100svh - 125px);overflow-y:auto}.nav-services{display:flex;flex-wrap:wrap;gap:8px 18px;padding:13px 0 17px;border-bottom:1px solid #ffffff20}.nav-services a{font-size:.9rem;color:#bbc9d7;padding:5px 0}.nav-services a:hover,.nav-services a[aria-current=page]{color:#7ec1ff}.service-card{display:block}.service-card:focus-visible{outline-offset:5px}.service-card .card-link{transition:background .2s}.service-card:hover .card-link{background:#276fb5}.ventilation{min-height:306px}.ventilation>img{object-position:center 15%}.ventilation .card-heading h3{font-size:2.6rem}.detail-hero{min-height:650px;height:75svh;max-height:850px}.detail-hero .hero-content{padding-top:160px;padding-bottom:65px}.detail-hero h1{font-size:clamp(3.3rem,6vw,6rem);margin-bottom:35px}.detail-hero .hero-shade{background:linear-gradient(90deg,#07121be6,#07121b30),linear-gradient(0deg,#07121b66,transparent 60%)}.breadcrumb{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:#ddd;margin-bottom:35px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.category-nav{display:flex;gap:42px;border-bottom:1px solid #34404d}.category-nav a{padding:25px 0;font-size:1rem;border-bottom:2px solid transparent}.category-nav a[aria-current=page]{border-color:#65adf2;color:#65adf2}.detail-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 42px}.detail-service-grid article{border-top:1px solid #46515d;padding-top:25px}.detail-service-grid h3{font-size:1.75rem;margin-bottom:18px}.detail-service-grid p{font-size:1rem}.detail-help{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:start}.issue-list{padding:0;list-style:none;margin:30px 0 0}.issue-list li{padding:15px 0;border-bottom:1px solid #35404a;color:#c5ced8}.detail-help aside{padding:35px;background:#19232e}.detail-help aside h3{font-size:2rem;margin-bottom:24px}.detail-help aside .line-link{margin-top:22px}.detail-process{padding:60px 0;background:#19212a}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.process-grid article>span{font-family:Oswald,sans-serif;color:#65adf2;font-size:2rem}.process-grid h3{font-size:1.8rem;margin:15px 0}.related>div{display:grid;grid-template-columns:1fr 1fr;gap:30px}.related>div>a{padding:30px;background:#1b2632;position:relative;border-bottom:1px solid #587086}.related>div>a>span:first-child{font-size:.75rem;letter-spacing:.1em;color:#94b8db}.related h3{margin-top:18px;font-size:2.5rem}.related>div>a>span:last-child{position:absolute;bottom:30px;right:30px;font-size:26px}.related>.line-link{margin-top:25px}
@media(max-width:1000px){.detail-service-grid{grid-template-columns:1fr 1fr}.detail-help{gap:40px}.detail-hero h1{font-size:4rem}}
@media(max-width:700px){.brand-logo{width:138px}.footer-top .brand-logo{width:138px}.header{align-items:flex-start}.menu-toggle{margin-top:8px}.ventilation{min-height:350px}.ventilation .card-heading h3{font-size:2.5rem}.detail-hero{height:auto;min-height:600px;max-height:none}.detail-hero .hero-content{padding:155px 20px 60px}.detail-hero h1{font-size:clamp(2.8rem,10vw,4rem);overflow-wrap:normal}.detail-hero .hero-image{object-position:center}.breadcrumb{font-size:.8rem;gap:10px;margin-bottom:35px}.category-nav{gap:20px;justify-content:space-between}.category-nav a{font-size:.85rem;padding:21px 0;white-space:nowrap}.detail-service-grid,.detail-help,.process-grid{grid-template-columns:1fr;gap:32px}.detail-service-grid article{padding-top:22px}.detail-help aside{padding:27px}.detail-process{padding:50px 0}.process-grid{gap:28px}.related>div{grid-template-columns:1fr;gap:16px}.related>div>a{padding:25px}.related h3{font-size:2.2rem}.detail-page .contact-card .button{gap:20px}}
/* Persistent navigation, contact and supplier directory */
html{scroll-padding-top:125px}.header{position:fixed;transition:padding .2s,background .2s,box-shadow .2s}.header.scrolled,.header.menu-open,.info-page .header{background:rgba(13,22,32,.97);box-shadow:0 1px 0 #ffffff20;backdrop-filter:blur(12px)}.header.scrolled{padding-top:12px;padding-bottom:12px;align-items:center}.header .brand-logo{transition:width .2s}.header.scrolled .brand-logo{width:118px}#navigation{top:calc(100% + 1px);max-height:calc(100dvh - 165px);overscroll-behavior:contain}.header.scrolled #navigation{max-height:calc(100dvh - 108px)}#navigation>a[aria-current=page]{color:#7ec1ff}.service-details article{scroll-margin-top:125px}.footer-bottom{flex-wrap:wrap}.compact-contact{padding:65px 0}.compact-contact>.wrap{display:flex;justify-content:space-between;align-items:center;gap:45px}.compact-contact h2{font-size:clamp(2.4rem,3.5vw,3.8rem)}.compact-contact p{margin-top:16px}.compact-contact .eyebrow{margin-top:0}.compact-contact .button{flex-shrink:0}.brand-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:30px;border-top:1px solid #3a4856;border-bottom:1px solid #3a4856;padding:35px 0}.brand-strip span{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;align-self:center}.brand-teaser>.line-link{margin-top:25px}.info-intro{padding-top:210px;padding-bottom:65px}.info-intro h1{font-size:clamp(3rem,6vw,5.7rem);margin-bottom:30px}.info-intro .lead{max-width:810px}.contact-page-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start}.contact-main{background:#256bac;padding:42px}.contact-main h2{font-size:2.8rem}.contact-main .contact-email{font-size:clamp(1.1rem,1.8vw,1.6rem);margin:35px 0 25px}.contact-main>p:not(.eyebrow){color:#e8f0fc;margin-bottom:30px}.contact-main>small{display:block;margin-top:12px;font-size:.8rem;color:#e8f0fc}.contact-prep h2{font-size:2.5rem}.contact-prep ol{margin:25px 0 0;padding-left:24px}.contact-prep li{padding:12px 0 12px 10px;border-bottom:1px solid #34404b}.contact-prep li::marker{color:#65adf2}.contact-prep p{margin-top:5px}.contact-region{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-region .line-link{margin-top:20px}.supplier-note{max-width:760px;font-size:.85rem;margin-top:25px}.supplier-nav{display:flex;flex-wrap:wrap;gap:12px;border-bottom:1px solid #394653;padding-bottom:30px}.supplier-nav a{padding:11px 18px;background:#202c39;font-size:.9rem}.supplier-nav a:hover{background:#2d4964}.supplier-section{padding-top:65px;scroll-margin-top:110px}.supplier-section h2{font-size:2.7rem;margin-bottom:30px}.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.supplier-card{display:flex;flex-direction:column;min-height:235px;padding:30px;background:#1a2531;border-top:2px solid #386a9a;transition:background .2s}.supplier-card:hover{background:#253748}.supplier-card h3{font-family:Arial,sans-serif;font-size:1.6rem;font-weight:600;line-height:1.25;letter-spacing:-.03em;margin-bottom:18px}.supplier-card p{font-size:.95rem}.supplier-card>span{margin-top:auto;padding-top:25px;font-size:.85rem;color:#81baf0;display:flex;justify-content:space-between;gap:20px}.supplier-advice{padding:70px 0 95px}.supplier-advice h2{font-size:2.7rem;margin-bottom:24px}.supplier-advice p{max-width:750px}.supplier-advice .line-link{margin-top:20px}
@media(max-width:1000px){.brand-strip{grid-template-columns:repeat(3,1fr)}.contact-page-grid{gap:35px}.contact-main{padding:30px}.supplier-grid{grid-template-columns:repeat(2,1fr)}.contact-region{gap:35px}}
@media(max-width:700px){html{scroll-padding-top:100px}.header.scrolled{padding-top:8px;padding-bottom:8px}.header.scrolled .brand-logo{width:110px}.header.scrolled .menu-toggle{margin-top:0}#navigation{max-height:calc(100dvh - 140px);left:20px;right:20px}.header.scrolled #navigation{max-height:calc(100dvh - 95px)}.compact-contact{padding:48px 0}.compact-contact>.wrap{display:block}.compact-contact .button{margin-top:25px}.brand-strip{grid-template-columns:repeat(2,1fr);gap:28px;padding:28px 0}.brand-strip span{font-size:1.2rem}.info-intro{padding-top:170px;padding-bottom:45px}.info-intro h1{font-size:3.1rem}.contact-page-grid,.contact-region{grid-template-columns:1fr;gap:40px}.contact-main{padding:28px 22px}.contact-main h2{font-size:2.4rem}.contact-main .contact-email{font-size:1.15rem}.contact-prep h2{font-size:2.4rem}.supplier-grid{grid-template-columns:1fr;gap:16px}.supplier-section{padding-top:45px;scroll-margin-top:90px}.supplier-section h2{font-size:2.2rem}.supplier-nav{gap:8px}.supplier-nav a{padding:9px 12px;font-size:.85rem}.supplier-card{min-height:210px;padding:27px}.supplier-advice{padding:50px 0 65px}.supplier-advice h2{font-size:2.3rem}.service-details article{scroll-margin-top:100px}}
