:root{--navy:#102e48;--blue:#254c6d;--orange:#f58226;--ink:#173046;--muted:#687681;--line:#dce2e5;--paper:#f3f5f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1280px,88%);margin:auto}.topline{background:var(--navy);color:#cbd6de;font-size:10px;letter-spacing:1.4px}.topline .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px}.topline b{margin:0 12px;font-weight:400}.topline i{display:inline-block;width:5px;height:5px;background:var(--orange);border-radius:50%;margin-right:7px}header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8ebed}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:220px;height:auto}nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}nav>a:hover{color:#bc5000}.nav-contact{border-left:1px solid var(--line);padding-left:26px}.nav-contact span{color:var(--orange);margin-left:12px}.menu-toggle{display:none}.hero{min-height:680px;position:relative;overflow:hidden;background:var(--navy);color:#fff}.hero-image{position:absolute;inset:0 0 0 28%;background:url('assets/installation.jpg') center/cover;opacity:.8}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102e48 3%,#102e48ed 30%,#102e4855 75%,#102e4833)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ffffff12 50%,transparent 50.1%);z-index:1}.hero-inner{position:relative;z-index:2;padding-top:78px;padding-bottom:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--blue);margin-bottom:24px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';height:2px;width:27px;background:var(--orange)}.eyebrow.light{color:#cad7e0}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(54px,5.9vw,86px);line-height:1.06;font-weight:500;letter-spacing:-4px;margin-bottom:27px}h1 em{font-style:normal;color:#ff9a48}h2{font-size:clamp(35px,3.35vw,49px);font-weight:500;line-height:1.15;letter-spacing:-1.8px}h2 span{color:#738694}.hero p{max-width:420px;color:#dae2e7;font-size:17px;line-height:1.7}.actions{display:flex;align-items:center;gap:32px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;font-size:12px;font-weight:700;border:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.orange{background:var(--orange);color:#142e43}.orange:hover{background:#ff9c4e}.dark{background:var(--navy);color:#fff}.text-link{font-size:12px;border-bottom:1px solid #8d9ba7;padding:10px 0}.text-link span{margin-left:22px;color:#ff9a48;font-size:19px}.hero-bottom{margin-top:70px;border-top:1px solid #ffffff30;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;color:#c8d4dd}.hero-bottom strong{font-weight:600;color:#fff}.hero-bottom>a{display:flex;gap:20px;align-items:center}.hero-bottom>a span{font-size:24px}.photo-label{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;z-index:3;color:#cbd6dd}.disciplines{background:#eff2f3;border-bottom:1px solid var(--line)}.disciplines .wrap{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:15px}.disciplines b{color:var(--orange);font-weight:400}.section{padding-top:105px;padding-bottom:105px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%}.lead{font-size:25px;line-height:1.35;margin-bottom:24px;letter-spacing:-.5px}.intro-copy>p:not(.lead){font-size:14px;color:var(--muted);margin-bottom:15px}.intro-facts{display:flex;gap:55px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.intro-facts strong{font-size:22px;font-weight:500;display:block}.intro-facts span{font-size:11px;color:var(--muted)}.capabilities{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:48px}.section-head>p{max-width:320px;font-size:14px;color:var(--muted)}.services{display:grid;grid-template-columns:1.15fr 1fr;gap:7%}.service-list{border-top:1px solid #cbd5da}details{border-bottom:1px solid #cbd5da}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:23px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.service-number{font-size:10px;color:#7b8a95}summary h3{font-size:21px;font-weight:500;letter-spacing:-.5px}.plus{margin-left:auto;font-size:24px;font-weight:400;color:var(--blue)}details[open] .plus{transform:rotate(45deg);color:var(--orange)}.service-body{padding:0 30px 25px 36px;font-size:13px;color:var(--muted)}.service-body a{display:inline-block;margin-top:15px;color:var(--navy);font-size:11px;font-weight:700}.service-photo{position:relative;min-height:570px;overflow:hidden}.service-photo img{height:100%;width:100%;object-fit:cover;object-position:35%;position:absolute}.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102e48e6,transparent 65%)}.service-photo figcaption{position:absolute;left:30px;bottom:32px;color:#fff;z-index:1}.service-photo figcaption span{font-size:9px;letter-spacing:1.7px;color:#ffad68;display:block;margin-bottom:12px}.service-photo figcaption strong{font-size:30px;font-weight:400;line-height:1.25;letter-spacing:-.6px}.model{background:var(--navy);color:#fff}.model h2 span{color:#9bb0c1}.model .section-head>p{color:#b8c8d4}.process{display:grid;grid-template-columns:repeat(6,1fr);margin-top:65px}.process button{text-align:left;background:transparent;color:#aabccb;border:0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;padding:20px 12px 28px 0;font-size:13px;position:relative}.process button span{display:block;font-size:11px;margin-bottom:18px}.process button:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:#5b7489}.process button[aria-selected=true]{color:#fff;border-bottom:3px solid var(--orange)}.process button[aria-selected=true]:before{background:var(--orange)}.process button[aria-selected=true] span{color:#ff9a48}.phase{display:flex;align-items:center;gap:30px;margin-top:36px;min-height:130px}.phase-index{font-size:75px;color:#ffffff20;line-height:1;font-weight:500;letter-spacing:-5px}.phase h3{font-size:22px;font-weight:400;margin-bottom:8px}.phase p{font-size:13px;color:#b8c8d4;max-width:580px}.phase-tag{font-size:9px;letter-spacing:1.4px;margin-left:auto;color:#ffad68;white-space:nowrap}.quality{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.quality figure{align-self:stretch;min-height:590px}.quality figure img{width:100%;height:570px;object-fit:cover}.quality figcaption{font-size:10px;color:var(--muted);padding-top:10px}.quality>div>p{font-size:14px;color:var(--muted);max-width:320px;margin-top:25px}.quality-list{padding:0;margin:30px 0 0;list-style:none}.quality-list li{display:flex;gap:20px;border-top:1px solid var(--line);padding:18px 0}.quality-list li>span{font-size:10px;color:var(--orange)}.quality-list h3{font-size:15px;font-weight:500}.quality-list p{font-size:12px;color:var(--muted);margin-top:4px}.experience{background:var(--paper)}.filters{display:flex;gap:30px;border-bottom:1px solid #ccd6db;margin-bottom:32px}.filters button{padding:14px 0;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font-size:13px}.filters button.active{color:var(--navy);border-bottom-color:var(--orange)}.filters span{font-size:9px;margin-left:10px}.references{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;min-height:155px}.reference{padding:8px 0 24px;border-bottom:1px solid #cdd7dc}.reference small{font-size:9px;letter-spacing:1.4px;color:#7a8893}.reference h3{font-size:24px;font-weight:500;margin:10px 0}.reference p{font-size:13px;color:var(--muted);max-width:315px}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;margin-top:45px}.gallery img{width:100%;height:245px;object-fit:cover}.gallery figcaption{font-size:12px;margin-top:14px}.gallery figcaption span{display:block;font-size:10px;color:var(--muted)}.dossier{padding:60px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}.dossier h2{font-size:31px;letter-spacing:-1px}.dossier .eyebrow{margin-bottom:15px}.dossier p{font-size:12px;color:var(--muted);margin-top:14px;max-width:440px}.contact{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2 span{color:#ff9a48}.contact-grid>div>p{font-size:14px;color:#bbcad5;margin-top:25px;max-width:330px}.contact-email{display:inline-block;font-size:25px;margin-top:45px;border-bottom:1px solid #ffffff40;padding-bottom:10px;letter-spacing:-.5px}.contact-info{display:flex;gap:50px;margin-top:40px}.contact-info span{font-size:9px;letter-spacing:1.5px;color:#9db2c2;display:block;margin-bottom:15px}.contact-info a{display:block;font-size:14px}.contact-info p{font-size:14px}.contact form{padding:30px;background:#ffffff07;border:1px solid #ffffff20}.contact form h3{font-size:22px;font-weight:400;margin-bottom:22px}.contact label{display:block;font-size:11px;margin:15px 0 6px;color:#c5d2dc}.contact input,.contact select,.contact textarea{border:1px solid #ffffff35;background:#183b56;color:#fff;width:100%;padding:11px 12px;font-size:13px;border-radius:0}.contact input::placeholder,.contact textarea::placeholder{color:#a1b4c4}.contact textarea{resize:vertical}.contact .button{width:100%;margin-top:20px}.form-note,#form-status{font-size:10px;line-height:1.6;color:#adbfcd;margin-top:12px}footer{background:#0b2439;color:#93a8b8;padding:35px 0}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer a:not(.footer-wordmark){font-size:10px}.footer-wordmark{color:#fff;font-size:27px;font-weight:700;letter-spacing:-1px;line-height:1.1}.footer-wordmark span{display:block;font-size:8px;letter-spacing:.6px;font-weight:400;margin-top:6px}.skip{position:fixed;top:-80px;left:20px;background:white;color:var(--navy);padding:12px;z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.hero{min-height:760px}.hero-inner{padding-top:110px}.hero-bottom{margin-top:100px}}
@media(max-width:1050px){nav{gap:18px;font-size:11px}.logo{width:185px}.nav-contact{padding-left:18px}.header-inner{height:85px}.wrap{width:90%}h1{font-size:67px}.phase-tag{display:none}.services{gap:5%}summary h3{font-size:18px}.contact-email{font-size:22px}.contact-grid{gap:6%}}
@media(max-width:800px){html{scroll-padding-top:82px}.topline .wrap>span:first-child{display:none}.topline .wrap{justify-content:center}.topline{font-size:9px}.header-inner{height:78px}.logo{width:185px}.menu-toggle{display:flex;align-items:center;gap:18px;background:none;border:0;color:var(--navy);font-size:12px}.menu-toggle span{font-size:20px}nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:20px 5% 30px;box-shadow:0 12px 18px #102e4812;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:14px 0;font-size:14px;border-bottom:1px solid var(--line)}.nav-contact{border-left:0}.hero{min-height:650px}.hero-inner{padding-top:65px}.hero-image{left:0;background-position:60%;opacity:.55}.hero:after{background:linear-gradient(90deg,#102e48f5,#102e4875)}h1{font-size:62px;letter-spacing:-3px}.hero p{font-size:15px;max-width:340px}.hero-bottom{margin-top:65px}.photo-label{display:none}.actions{gap:25px}.button{font-size:11px;padding:16px}.disciplines .wrap{font-size:12px;padding:20px 0}.section{padding-top:70px;padding-bottom:70px}.intro,.quality,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-copy{max-width:600px}.section-head{gap:25px}.section-head>p{max-width:240px;font-size:12px}h2{font-size:37px;letter-spacing:-1.5px}.services{grid-template-columns:1fr}.service-photo{display:none}summary h3{font-size:20px}.process{grid-template-columns:repeat(3,1fr);row-gap:25px;margin-top:40px}.process button{padding-bottom:18px}.process button span{margin-bottom:10px}.phase{gap:20px}.phase-index{font-size:60px}.phase h3{font-size:20px}.quality figure{min-height:0;order:2}.quality figure img{height:420px;object-position:center 35%}.references{gap:20px}.reference h3{font-size:20px}.reference p{font-size:12px}.gallery{gap:15px;grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{height:330px}.gallery img{height:220px}.dossier{padding:45px 0;align-items:flex-start;flex-direction:column;gap:25px}.contact-email{font-size:27px}.contact-info{gap:65px}footer .wrap{flex-wrap:wrap}footer p{order:3;width:100%;margin-top:10px}}
@media(max-width:480px){.wrap{width:88%}.hero{min-height:650px}.hero-inner{padding-top:50px}h1{font-size:50px;letter-spacing:-2.7px;line-height:1.12}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero p{font-size:14px}.actions{align-items:flex-start;flex-direction:column;gap:12px;margin-top:26px}.hero-bottom{margin-top:33px;font-size:8px}.hero-bottom>a{font-size:8px;gap:10px}.disciplines .wrap{font-size:10px}.section-head{display:block}.section-head>p{max-width:100%;margin-top:20px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:34px}.intro-facts{gap:30px}.intro-facts strong{font-size:20px}.intro-facts span{font-size:10px}.lead{font-size:23px}summary{gap:15px}summary h3{font-size:18px}.service-body{padding-left:28px}.process button{font-size:11px}.phase{align-items:flex-start}.phase-index{font-size:45px}.phase h3{font-size:19px}.phase p{font-size:12px}.quality figure img{height:360px}.filters{gap:18px}.filters button{font-size:11px;text-align:left}.filters span{display:none}.references{grid-template-columns:1fr;gap:12px;min-height:0}.reference{padding:8px 0 20px}.reference h3{margin:5px 0}.reference p{max-width:100%}.gallery{gap:12px}.gallery figure:first-child img{height:250px}.gallery img{height:180px}.gallery figcaption{font-size:11px}.contact form{padding:22px}.contact-email{font-size:22px}.contact-info{gap:35px}.contact-info a,.contact-info p{font-size:12px}.dossier h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Photographs follow the selected specialty. Low-resolution originals stay at native size. */
.service-photo{background:#173b57;isolation:isolate}.service-photo.is-compact:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ffffff07 1px,transparent 1px),linear-gradient(#ffffff07 1px,transparent 1px);background-size:40px 40px}.service-photo.is-compact img{position:absolute;inset:42px 0 auto;margin:auto;width:auto;height:auto;max-width:min(320px,85%);max-height:350px;object-fit:contain;border:1px solid #ffffff20;box-shadow:0 12px 35px #071b2d55}.service-photo.is-compact:after{background:linear-gradient(0deg,#102e48f0,transparent 45%)}.service-photo figcaption{right:25px}.quality figure img{object-position:72% center}
@media(max-width:800px){.service-photo{display:block;min-height:380px;margin-top:28px}.service-photo.is-compact img{inset:25px 0 auto;max-height:240px;max-width:75%}.service-photo figcaption{left:25px;bottom:23px}.service-photo figcaption strong{font-size:25px}.quality figure img{object-position:65% center}}
.gallery[hidden]{display:none}.brand-image{height:245px;display:flex;align-items:center;justify-content:center;padding:38px;background:#fff;border:1px solid #e1e6e9}.gallery .brand-image img{width:100%;height:auto;max-height:125px;object-fit:contain}.gallery .image-source{display:inline-block;margin-top:8px;font-size:9px;color:#516b7e;border-bottom:1px solid #bac8d1}.gallery .image-source:hover{color:#a74a00;border-color:var(--orange)}.gallery-note{grid-column:1/-1;font-size:10px;color:var(--muted);margin-top:3px}.gallery-spain>figure:first-child img{object-position:center}
@media(max-width:800px){.brand-image{height:220px;padding:30px}.gallery .brand-image img{max-height:110px}}
@media(max-width:480px){.brand-image{height:180px;padding:23px}.gallery .brand-image img{max-height:90px}.gallery .image-source{font-size:8px}.gallery-note{font-size:9px}}
#gallery-dbyt img[src*="climate-technicians-blurred"]{object-position:50% 23%}
