@font-face{font-family:Manrope;src:url('assets/fonts-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#10283c;--muted:#526575;--blue:#1352b9;--navy:#0c2941;--ice:#edf3f6;--paper:#fbfcfd;--line:#d6e0e6;--gutter:clamp(24px,4.6vw,92px);--ease:cubic-bezier(.22,.68,0,1.04)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #55a8ff;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.08;letter-spacing:-.055em}p{color:var(--muted)}.wrap{padding-inline:var(--gutter)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:var(--blue);margin:0 12px 1px 0}.text-link{display:inline-block;font-size:14px;font-weight:600;line-height:1.7;border-bottom:1px solid currentColor;padding-bottom:4px;transition:color .2s}.text-link:hover{color:var(--blue)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:13px 23px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:2px;transition:background .25s,transform .25s}.btn:hover{background:#0b3e91;transform:translateY(-2px)}.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:var(--ice)}.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.skip-link{position:fixed;top:-80px;left:20px;padding:14px;background:#fff;z-index:100}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:30;background:rgba(251,252,253,.98);border-bottom:1px solid var(--line);height:88px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter)}.brand{display:flex;align-items:center;gap:27px;flex-shrink:0}.brand img{width:160px;height:auto}.brand span{font-size:10px;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;max-width:90px;border-left:1px solid #bdccd6;padding-left:22px}.main-nav{display:flex;align-items:center;gap:36px}.nav-link{font-size:13px;font-weight:500;position:relative;padding-block:9px}.nav-link:after{content:'';position:absolute;height:1px;background:var(--blue);bottom:4px;left:0;width:0;transition:width .25s}.nav-link:hover:after,.nav-link[aria-current=page]:after{width:100%}.nav-call{margin-left:11px;min-height:42px;padding:9px 17px;font-size:12px}.menu-toggle{display:none}.mobile-nav-contact{display:none}
.hero{position:relative;background:#3c3830;color:#fff;isolation:isolate}.hero-visual{width:100%;position:relative;aspect-ratio:1672/941;overflow:hidden}.hero-visual picture,.hero-image{display:block;width:100%;height:100%}.hero-image{object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,22,25,.2),transparent 64%),linear-gradient(0deg,rgba(7,14,18,.45),transparent 30%);pointer-events:none}.hero-copy{position:absolute;top:15.5%;left:var(--gutter);width:45%}.hero-copy .eyebrow{color:#f1f1ec;font-weight:500;letter-spacing:.12em}.hero-copy .eyebrow:before{background:#77adff}.hero h1{font-size:clamp(64px,7.05vw,142px);line-height:1.015;letter-spacing:-.068em;margin:23px 0 24px}.hero-copy p{font-size:clamp(13px,1.08vw,18px);line-height:1.65;color:#f1f1ee;max-width:330px;margin-bottom:27px}.hero-copy .btn{min-height:49px;font-size:13px}.hero-lower{position:absolute;bottom:4.6%;left:var(--gutter);font-size:10px;display:flex;align-items:center;gap:15px;letter-spacing:.08em}.scroll-mark{display:block;width:21px;height:31px;border:1px solid #ffffff70;border-radius:15px;position:relative}.scroll-mark:before{content:'';position:absolute;top:6px;left:9px;width:1px;height:8px;background:#fff}.hero-caption{position:absolute;bottom:2.1%;right:var(--gutter);font-size:9px;letter-spacing:.025em;color:#fff9}.hotspot{position:absolute;z-index:2;width:42px;height:42px;border:1px solid #ffffffaa;border-radius:50%;background:rgba(18,33,42,.35);color:#fff;display:grid;place-items:center;backdrop-filter:blur(8px);box-shadow:0 0 0 7px #ffffff12;transition:background .25s,box-shadow .25s,transform .3s}.hotspot:before,.hotspot:after{content:'';width:12px;height:1px;background:currentColor;position:absolute}.hotspot:after{transform:rotate(90deg);transition:transform .2s}.hotspot:hover{transform:scale(1.12);box-shadow:0 0 0 10px #ffffff1c}.hotspot[aria-pressed=true]{background:var(--blue);border-color:#85bdff;box-shadow:0 0 0 7px #256bc02c}.hotspot[aria-pressed=true]:after{transform:rotate(0)}.hotspot-heat{left:60%;top:80%}.hotspot-water{left:51.2%;top:52%}.hotspot-air{left:88.5%;top:8.5%}.system-console{position:absolute;z-index:3;right:var(--gutter);bottom:6%;width:clamp(285px,25vw,430px);padding:23px 24px 24px;background:rgba(17,31,38,.77);backdrop-filter:blur(24px);border:1px solid #ffffff35;color:#fff}.console-head{font-size:9px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;color:#dbe4e9;margin-bottom:18px}.console-head span:last-child{font-size:12px;color:#a1c9ff}.system-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-bottom:1px solid #ffffff38;margin-bottom:21px}.system-tab{border:0;background:none;color:#ffffffbd;padding:9px 3px 11px;text-align:left;font-size:12px;position:relative;white-space:nowrap}.system-tab span{font-size:9px;color:#b4c3ce;margin-right:7px}.system-tab[aria-selected=true]{color:#fff}.system-tab[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#96c5ff}.system-content h2{font-size:23px;line-height:1.2;letter-spacing:-.045em;margin-bottom:9px;min-height:56px;max-width:280px}.system-content p{font-size:11px;line-height:1.6;min-height:36px;color:#d9e3e9;margin-bottom:14px}.system-content .text-link{font-size:11px;font-weight:500;border-color:#ffffff6b}.system-content .text-link:hover{color:#b4d6ff}.system-panel[hidden]{display:none}.references-strip{display:grid;grid-template-columns:1.1fr repeat(4,1fr);align-items:center;gap:30px;padding-block:32px;border-bottom:1px solid var(--line);background:var(--paper)}.references-strip .eyebrow{font-size:9px;letter-spacing:.1em;color:var(--muted)}.client-name{display:block;text-align:center;white-space:nowrap;letter-spacing:-.04em;font-size:26px;font-weight:700;color:#465967}.client-name:nth-child(3){font-style:italic;font-size:30px}.client-name:nth-child(4){font-size:29px;letter-spacing:-.055em}.client-name:nth-child(5){font-size:22px;letter-spacing:.05em;font-weight:600}.intro{padding-block:112px;display:grid;grid-template-columns:.6fr 2fr 1.35fr;gap:60px;align-items:start}.intro .eyebrow{margin-top:9px}.intro h2{font-size:clamp(38px,3.7vw,66px)}.intro h2 em{font-style:normal;color:var(--blue)}.intro p{font-size:15px;line-height:1.8}.intro .text-link{margin-top:22px;font-size:12px}.services-overview{background:var(--ice);padding-block:92px 82px;display:grid;grid-template-columns:1fr 1.5fr;gap:90px;position:relative;overflow:hidden}.services-lead .eyebrow{margin-bottom:26px}.services-lead h2{font-size:clamp(45px,4.6vw,76px)}.services-lead p{font-size:13px;max-width:230px;margin-top:26px;line-height:1.8}.system-list{align-self:start;margin-top:5px}.system-row{display:grid;grid-template-columns:30px 1fr 44px;align-items:center;gap:20px;padding:26px 0 27px;border-top:1px solid #b9cbd7;transition:color .3s}.system-row:last-of-type{border-bottom:1px solid #b9cbd7}.system-row:hover{color:var(--blue)}.row-number{font-size:11px;align-self:start;margin-top:8px;color:var(--muted)}.system-row h3{font-size:clamp(33px,3.6vw,56px);transition:transform .3s}.system-row:hover h3{transform:translateX(7px)}.system-row p{font-size:11px;letter-spacing:.025em;margin-top:9px}.line-icon{width:33px;height:33px;stroke:currentColor;fill:none;stroke-width:1.25;justify-self:end}.additional-services{font-size:11px;line-height:1.9;padding-top:21px;color:var(--muted);max-width:460px}.system-list>.text-link{margin-top:22px;font-size:12px}.work-section{background:var(--navy);color:#fff;padding-block:97px;display:grid;grid-template-columns:.85fr 1.65fr;gap:90px;align-items:center}.work-copy .eyebrow{color:#a9c3d6;margin-bottom:28px}.work-copy .eyebrow:before{background:#79a8e6}.work-copy h2{font-size:clamp(40px,4.5vw,75px);margin-bottom:26px}.work-copy p{font-size:14px;line-height:1.9;max-width:325px;color:#bdccd6}.work-principles{display:flex;flex-wrap:wrap;gap:9px 21px;border-top:1px solid #ffffff30;margin-top:35px;padding-top:23px;font-size:10px;color:#c2d3e0}.work-image img{width:100%;height:auto}.work-image figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:15px;font-size:10px;color:#bfd1de;line-height:1.8}.work-image figcaption span:last-child{color:#b5cadd;font-size:9px;white-space:nowrap}.references-section{padding-block:100px 104px;display:grid;grid-template-columns:1.12fr 1fr;gap:120px}.references-section .eyebrow{margin-bottom:26px}.references-section h2{font-size:clamp(35px,3.9vw,65px);max-width:620px}.references-section h2 em{font-style:normal;color:var(--blue)}.references-section p{font-size:12px;max-width:300px;margin-top:24px;line-height:1.9}.reference-list{border-top:1px solid var(--line)}.reference-item{padding:17px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}.reference-item span+span{font-size:10px;color:var(--muted);align-self:center;white-space:nowrap}.reference-list details{font-size:12px}.reference-list summary{list-style:none;cursor:pointer;font-size:11px;font-weight:600;padding-top:20px;display:flex;align-items:center;gap:13px}.reference-list summary::-webkit-details-marker{display:none}.reference-list summary:before{content:'+';font-size:19px;font-weight:400}.reference-list details[open] summary:before{content:'−'}.reference-more{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px;font-size:11px;color:var(--muted)}.contact-cta{background:var(--blue);color:#fff;position:relative;overflow:hidden;padding-block:73px 66px}.cta-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-start;padding-bottom:53px;border-bottom:1px solid #ffffff45}.cta-top h2{font-size:clamp(36px,4.2vw,70px);max-width:700px}.cta-top .btn{margin-top:5px;min-width:170px}.cta-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-top:29px}.cta-tel{font-size:clamp(43px,6.3vw,109px);line-height:1.2;letter-spacing:-.06em;white-space:nowrap}.cta-email{font-size:13px;line-height:1.8;max-width:290px;overflow-wrap:anywhere;align-self:center;border-bottom:1px solid #ffffff80;padding-bottom:3px}.site-footer{padding-block:39px 24px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-bottom:28px}.footer-top .brand img{width:119px}.footer-address{font-size:11px;color:var(--muted);text-align:right;line-height:1.8}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:19px;border-top:1px solid var(--line);font-size:9px;color:#617585;letter-spacing:.025em}.footer-bottom a:hover{color:var(--blue)}
.page-intro{padding-block:78px 72px;display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:center}.page-intro .eyebrow{margin-bottom:25px}.page-intro h1{font-size:clamp(56px,6.1vw,106px);line-height:1.06}.page-intro p{font-size:15px;max-width:390px;margin-top:26px;line-height:1.8}.service-diagram{justify-self:end;width:100%;max-width:350px;overflow:visible}.service-diagram text{fill:var(--ink);font:400 13px Manrope,Arial,sans-serif;letter-spacing:-.015em}.service-diagram .diagram-line{stroke:#a7c4db;fill:none;stroke-width:2}.service-diagram .diagram-circle{fill:var(--paper);stroke:var(--blue);stroke-width:1}.service-diagram .diagram-icon{stroke:var(--blue);fill:none;stroke-width:1.4}.service-nav{display:flex;gap:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px;font-size:12px}.service-nav a{position:relative;padding-bottom:4px;border-bottom:1px solid transparent}.service-nav a:hover{border-color:var(--blue);color:var(--blue)}.service-group{padding-block:87px;display:grid;grid-template-columns:.24fr 1fr .95fr;gap:60px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.service-number{font-size:64px;line-height:1;letter-spacing:-.07em;color:#a3b8c7;margin-top:5px}.service-text h2{font-size:clamp(38px,4.25vw,68px);margin-bottom:26px}.service-text p{font-size:14px;line-height:1.9;max-width:450px}.service-text .text-link{margin-top:25px;font-size:12px}.offer-list{list-style:none;padding:0;margin:0;display:grid;gap:0}.offer-list li{font-size:12px;line-height:1.9;padding:16px 0;border-bottom:1px solid var(--line)}.offer-list li:first-child{border-top:1px solid var(--line)}.offer-list li span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.service-group:nth-of-type(even){background:var(--ice)}.service-photo{margin-top:32px;max-width:320px}.service-photo img{width:100%;height:auto}.service-photo figcaption{font-size:9px;color:var(--muted);line-height:1.6;margin-top:12px}.service-note{display:flex;align-items:flex-start;gap:20px;margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.service-note svg{width:29px;height:29px;stroke:var(--blue);fill:none;stroke-width:1.25;flex-shrink:0}.service-note p{font-size:12px}.extra-service{border-bottom:1px solid #bdcdd8}.extra-service:first-child{border-top:1px solid #bdcdd8}.extra-service summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding-block:19px;font-size:13px}.extra-service summary::-webkit-details-marker{display:none}.extra-service summary:after{content:'+';font-size:18px;line-height:1.1;font-weight:400}.extra-service[open] summary:after{content:'−'}.extra-service p{font-size:12px;line-height:1.9;max-width:400px;padding-bottom:20px}.contact-main{background:var(--navy);color:#fff}.contact-intro{padding-block:78px 83px;display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact-intro .eyebrow{color:#b1c9da;margin-bottom:28px}.contact-intro .eyebrow:before{background:#79a8e6}.contact-intro h1{font-size:clamp(53px,6.35vw,107px);line-height:1.075;max-width:650px}.contact-intro p{color:#c6d6e1;font-size:14px;line-height:1.9;max-width:380px;margin-top:28px}.contact-info{padding-top:8px}.contact-info .contact-label{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#a8c0d1;margin-bottom:13px}.contact-info a{display:block}.contact-info .contact-tel{font-size:clamp(37px,4.55vw,77px);line-height:1.3;letter-spacing:-.055em;white-space:nowrap;display:inline-block;border-bottom:1px solid #ffffff65;padding-bottom:8px}.contact-info .contact-mail{font-size:clamp(14px,1.5vw,23px);overflow-wrap:anywhere;display:inline-block;line-height:1.6;border-bottom:1px solid #ffffff60;padding-bottom:5px}.contact-info address{font-size:14px;line-height:1.9;font-style:normal}.contact-info-group{padding-bottom:28px;margin-bottom:27px;border-bottom:1px solid #ffffff25}.contact-info-group:last-child{margin:0;padding:0;border:0}.map-section{padding-block:35px 48px;background:var(--ice)}.map-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:22px}.map-heading h2{font-size:22px;letter-spacing:-.04em;line-height:1.4}.map-heading .text-link{font-size:11px;white-space:nowrap}.map-frame{width:100%;height:440px;display:block;border:0;background:#d2e0e8}.map-fallback{font-size:10px;color:var(--muted);margin-top:12px}.map-fallback a{text-decoration:underline;text-underline-offset:3px}.contact-footer .footer-top{padding-top:3px}
@media(min-width:1800px){.hero-copy{top:17%}.system-console{padding:30px}.system-content h2{font-size:28px;min-height:66px}.system-content p{font-size:13px;min-height:42px}.system-content .text-link{font-size:13px}.system-tab{font-size:14px}.console-head{font-size:11px}.references-strip{padding-block:40px}}
@media(max-width:1180px){.brand span{display:none}.main-nav{gap:25px}.hero-copy{top:12%}.hero h1{font-size:7.2vw;margin:20px 0}.hero-copy p{font-size:13px;max-width:260px;margin-bottom:21px}.hero-copy .btn{min-height:43px;font-size:12px;padding:10px 17px}.system-console{padding:18px 20px;width:290px}.console-head{margin-bottom:12px}.system-tabs{margin-bottom:17px}.system-content h2{font-size:21px;min-height:50px}.intro{gap:35px;grid-template-columns:.55fr 1.65fr 1.25fr;padding-block:85px}.intro h2{font-size:41px}.intro p{font-size:13px}.services-overview{gap:60px}.work-section{gap:50px}.references-section{gap:70px}.service-group{gap:35px;grid-template-columns:.2fr 1fr 1fr}.contact-intro{gap:70px}}
@media(max-width:900px){.site-header{height:76px}.brand img{width:142px}.main-nav{gap:21px}.nav-link{font-size:12px}.nav-call{font-size:11px;min-height:39px;margin-left:0}.hero-visual{aspect-ratio:auto;height:640px}.hero-image{object-position:57% center}.hero-copy{top:78px;width:48%}.hero h1{font-size:68px}.hero-copy p{font-size:13px;max-width:250px}.hotspot{display:none}.system-console{right:24px;bottom:39px;width:285px}.hero-lower{bottom:37px}.hero-caption{bottom:13px}.references-strip{gap:20px;padding-block:27px;grid-template-columns:1.1fr repeat(4,1fr)}.client-name{font-size:21px}.client-name:nth-child(3){font-size:24px}.client-name:nth-child(4){font-size:23px}.client-name:nth-child(5){font-size:18px}.intro{grid-template-columns:1.2fr 1fr;gap:35px}.intro>.eyebrow{grid-column:1/-1;margin:0}.intro h2{font-size:43px}.intro p{font-size:14px}.services-overview{gap:50px;padding-block:72px}.services-lead h2{font-size:43px}.system-row h3{font-size:34px}.system-row{grid-template-columns:20px 1fr 34px;gap:14px}.work-section{padding-block:72px;gap:45px;grid-template-columns:.9fr 1.3fr}.work-copy h2{font-size:41px}.work-copy p{font-size:12px}.work-image figcaption{display:block}.work-image figcaption span{display:block}.references-section{gap:50px;padding-block:75px}.references-section h2{font-size:37px}.reference-item{font-size:12px}.reference-item span+span{font-size:9px}.cta-top{padding-bottom:35px}.cta-top h2{font-size:41px}.cta-tel{font-size:57px}.cta-email{font-size:11px}.page-intro{gap:40px;padding-block:62px}.page-intro h1{font-size:60px}.service-diagram{max-width:255px}.service-group{grid-template-columns:45px 1fr 1fr;gap:35px;padding-block:65px}.service-number{font-size:44px}.service-text h2{font-size:40px}.offer-list li{font-size:11px}.service-text p{font-size:13px}.contact-intro{gap:45px;padding-block:62px}.contact-intro h1{font-size:60px}.contact-info .contact-tel{font-size:40px}.contact-intro p{font-size:13px}}
@media(max-width:680px){:root{--gutter:22px}html{scroll-padding-top:91px}.site-header{height:72px;position:sticky}.brand img{width:132px}.brand span{display:none}.menu-toggle{border:1px solid var(--line);border-radius:2px;display:flex;align-items:center;gap:15px;background:transparent;padding:9px 13px;min-height:39px;font-size:11px;font-weight:600;z-index:32}.menu-icon{width:17px;height:13px;position:relative}.menu-icon:before,.menu-icon:after{content:'';position:absolute;width:17px;height:1px;background:var(--ink);transition:transform .25s,top .25s;top:3px;left:0}.menu-icon:after{top:10px}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:rotate(45deg);top:6px}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:rotate(-45deg);top:6px}.has-js .main-nav{display:none}.has-js .main-nav.is-open{display:flex}.main-nav{position:fixed;inset:72px 0 0;background:var(--paper);padding:47px 25px 36px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:13px;overflow-y:auto}.main-nav .nav-link{font-size:39px;font-weight:400;line-height:1.4;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding:12px 0}.main-nav .nav-link:after{display:none}.main-nav .nav-call{display:none}.mobile-nav-contact{display:block;margin-top:35px;max-width:100%}.mobile-nav-contact a{display:block}.mobile-nav-contact .menu-tel{font-size:27px;letter-spacing:-.035em;margin-bottom:15px}.mobile-nav-contact .menu-email{font-size:13px;overflow-wrap:anywhere}.mobile-nav-contact span{display:block;margin-top:25px;font-size:11px;color:var(--muted)}.hero-visual{height:660px;aspect-ratio:auto}.hero-image{object-position:67% center}.hero-shade{background:linear-gradient(180deg,rgba(6,19,25,.68) 0%,rgba(6,19,25,.29) 41%,transparent 64%,rgba(6,19,25,.34) 100%)}.hero-copy{top:43px;width:calc(100% - 44px)}.hero-copy .eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(58px,15.2vw,93px);line-height:1.015;letter-spacing:-.065em;margin:22px 0 19px}.hero-copy p{font-size:12px;line-height:1.65;max-width:255px;margin-bottom:22px}.hero-copy .btn{min-height:44px;font-size:11px;padding:11px 17px;background:#fff;color:var(--ink)}.hero-lower{display:none}.hero-caption{font-size:8px;bottom:13px;right:22px;color:#ffffffe0}.system-console{position:relative;inset:auto;width:100%;background:#132e40;border:0;backdrop-filter:none;padding:24px 23px 28px}.console-head{font-size:9px;margin-bottom:12px}.console-head span:last-child{font-size:11px}.system-tabs{margin-bottom:20px;gap:15px}.system-tab{font-size:13px;padding:9px 0 13px}.system-tab span{font-size:9px}.system-content h2{font-size:27px;min-height:0;max-width:100%;margin-bottom:9px}.system-content p{font-size:12px;min-height:38px;max-width:320px;margin-bottom:16px}.system-content .text-link{font-size:12px}.references-strip{padding-block:27px 30px;grid-template-columns:repeat(2,1fr);gap:23px 20px}.references-strip .eyebrow{grid-column:1/-1;margin-bottom:1px;font-size:9px}.client-name{text-align:left;font-size:25px}.client-name:nth-child(3){font-size:29px}.client-name:nth-child(4){font-size:29px}.client-name:nth-child(5){font-size:21px}.intro{display:block;padding-block:65px 62px}.intro>.eyebrow{margin-bottom:24px;font-size:10px}.intro h2{font-size:clamp(35px,9.6vw,55px);line-height:1.16}.intro>div{margin-top:27px;max-width:450px}.intro p{font-size:14px;line-height:1.9}.intro .text-link{font-size:12px;margin-top:22px}.services-overview{display:block;padding-block:61px}.services-lead .eyebrow{font-size:10px;margin-bottom:23px}.services-lead h2{font-size:clamp(42px,11.4vw,65px)}.services-lead p{font-size:12px;max-width:290px;margin-top:23px}.system-list{margin-top:35px}.system-row{gap:15px;padding-block:25px}.row-number{font-size:10px}.system-row h3{font-size:35px}.system-row p{font-size:10px;max-width:230px;line-height:1.6}.line-icon{width:29px;height:29px}.additional-services{font-size:11px;max-width:340px}.work-section{display:flex;flex-direction:column;align-items:stretch;gap:38px;padding-block:62px}.work-copy .eyebrow{font-size:10px;margin-bottom:24px}.work-copy h2{font-size:clamp(42px,11.4vw,67px);margin-bottom:23px}.work-copy p{font-size:13px;max-width:370px}.work-principles{margin-top:27px;padding-top:21px;font-size:10px}.work-image figcaption{font-size:9px;line-height:1.8;margin-top:12px}.work-image figcaption span:last-child{font-size:8px;margin-top:2px}.references-section{display:block;padding-block:61px}.references-section .eyebrow{font-size:10px;margin-bottom:23px}.references-section h2{font-size:clamp(34px,9.5vw,57px);line-height:1.16;max-width:530px}.references-section p{font-size:12px;max-width:330px;margin-top:23px}.reference-list{margin-top:33px}.reference-item{font-size:12px;padding-block:17px;gap:14px}.reference-item span:first-child{max-width:70%}.reference-item span+span{font-size:9px}.reference-more{font-size:10px;gap:11px 17px}.contact-cta{padding-block:48px 47px}.cta-top{display:block;padding-bottom:28px}.cta-top h2{font-size:clamp(34px,9.2vw,51px);line-height:1.14}.cta-top .btn{min-height:44px;font-size:12px;min-width:0;margin-top:26px;padding:11px 17px}.cta-bottom{display:block;padding-top:22px}.cta-tel{font-size:clamp(38px,10.6vw,59px);letter-spacing:-.055em}.cta-email{display:inline-block;font-size:12px;line-height:1.9;max-width:100%;margin-top:19px}.site-footer{padding-block:30px 22px}.footer-top{padding-bottom:23px;align-items:flex-start;gap:26px}.footer-top .brand img{width:105px}.footer-address{font-size:10px;line-height:1.8}.footer-bottom{font-size:8px;line-height:1.9;gap:15px;padding-top:17px}.page-intro{display:block;padding-block:49px 47px}.page-intro .eyebrow{font-size:10px;margin-bottom:23px}.page-intro h1{font-size:clamp(49px,12.7vw,74px);line-height:1.1;letter-spacing:-.06em}.page-intro p{font-size:13px;line-height:1.9;margin-top:25px;max-width:370px}.service-diagram{display:none}.service-nav{gap:21px;font-size:10px;padding-block:22px;overflow-x:auto;white-space:nowrap}.service-nav a{flex-shrink:0}.service-group{grid-template-columns:35px 1fr;gap:0 19px;padding-block:49px}.service-number{font-size:36px;margin-top:3px}.service-text h2{font-size:clamp(34px,9.2vw,56px);line-height:1.12;margin-bottom:23px}.service-text p{font-size:13px;line-height:1.85}.service-group>.service-offers{grid-column:2;margin-top:30px}.offer-list li{font-size:12px;line-height:1.8;padding-block:15px}.offer-list li span{font-size:10px}.service-text .text-link{font-size:11px;margin-top:21px}.service-photo{max-width:245px;margin-top:29px}.service-photo figcaption{font-size:9px}.service-note{gap:15px;margin-top:25px;padding-top:20px}.service-note p{font-size:11px}.extra-service summary{font-size:12px;padding-block:18px}.extra-service p{font-size:11px;line-height:1.9}.contact-intro{display:block;padding-block:49px 56px}.contact-intro .eyebrow{font-size:10px;margin-bottom:24px}.contact-intro h1{font-size:clamp(52px,13.6vw,77px);line-height:1.09}.contact-intro p{font-size:13px;line-height:1.9;margin-top:24px;max-width:330px}.contact-info{padding-top:43px}.contact-info .contact-tel{font-size:clamp(39px,10.9vw,63px);line-height:1.3}.contact-info .contact-mail{font-size:16px;line-height:1.7}.contact-info-group{padding-bottom:25px;margin-bottom:25px}.contact-info .contact-label{font-size:9px;margin-bottom:10px}.contact-info address{font-size:13px}.map-section{padding-block:29px 32px}.map-heading{display:block;margin-bottom:23px}.map-heading h2{font-size:22px}.map-heading .text-link{font-size:11px;margin-top:16px}.map-frame{height:365px}.map-fallback{font-size:9px;margin-top:13px}}
@media(max-width:360px){:root{--gutter:18px}.hero-copy{width:calc(100% - 36px)}.hero h1{font-size:55px}.hero-visual{height:620px}.system-console{padding-inline:18px}.system-row h3{font-size:31px}.reference-item{font-size:11px}.reference-item span+span{font-size:8px}.cta-tel{font-size:36px}.contact-info .contact-tel{font-size:37px}.contact-info .contact-mail{font-size:14px}}
@media(min-width:681px) and (max-width:900px){.system-console{position:relative;inset:auto;width:100%;padding:25px var(--gutter);display:grid;grid-template-columns:.7fr 1fr 1.15fr;gap:28px;align-items:start}.console-head{margin:10px 0 0;gap:18px;line-height:1.7}.console-head span:first-child{max-width:110px}.system-tabs{margin:0;padding-top:0;gap:9px}.system-tab{padding:8px 0 11px}.system-content h2{font-size:22px;min-height:0}.system-content p{min-height:0}.system-content .text-link{font-size:11px}.hero-caption{bottom:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.proposal-badge{font-size:9px;line-height:1.4;letter-spacing:.035em;color:var(--muted);margin-left:25px;margin-right:auto;padding-left:20px;border-left:1px solid var(--line);white-space:nowrap}
.service-sub-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.service-sub-links a{font-size:11px;line-height:1.65;border-bottom:1px solid #8aa5b9;color:var(--muted);padding-bottom:2px;transition:color .2s,border-color .2s}
.service-sub-links a:hover{color:var(--blue);border-color:var(--blue)}
.system-row--air h3{font-size:clamp(30px,3vw,47px)}
.system-row:nth-child(3){border-bottom:1px solid #b9cbd7}
.additional-service-links{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:26px}
.additional-service-links a{display:flex;align-items:baseline;gap:11px;font-size:13px;line-height:1.65}
.additional-service-links a:before{content:'';display:block;flex-shrink:0;width:5px;height:5px;background:var(--blue);align-self:baseline;transform:translateY(-2px)}
.additional-service-links a:hover{color:var(--blue)}
.map-shell{min-height:440px;display:grid;place-items:center;background-color:#dfe9ee;background-image:linear-gradient(#cbdce540 1px,transparent 1px),linear-gradient(90deg,#cbdce540 1px,transparent 1px);background-size:45px 45px}
.map-placeholder{text-align:center;padding:35px 22px}
.map-placeholder svg{width:35px;height:43px;fill:none;stroke:var(--blue);stroke-width:1.5;margin:0 auto 19px}
.map-placeholder h3{font-size:26px;line-height:1.25;letter-spacing:-.04em}
.map-placeholder p{font-size:13px;margin-top:8px}
.map-placeholder .btn{margin-top:23px;font-size:12px;min-height:45px}
.map-placeholder small{display:block;font-size:10px;color:var(--muted);margin-top:13px;line-height:1.7}
.offer-list li[id],.extra-service[id]{scroll-margin-top:115px}
@media(max-width:900px){.proposal-badge{font-size:8px;margin-left:15px;padding-left:13px}.additional-service-links{grid-template-columns:1fr;gap:15px}.system-row--air h3{font-size:32px}}
@media(max-width:680px){.proposal-badge{font-size:8px;white-space:normal;width:79px;line-height:1.45;padding-left:10px;margin-left:12px;margin-right:9px}.system-row--air h3{font-size:clamp(28px,7.9vw,35px)}.additional-service-links{grid-template-columns:1fr;gap:16px;margin-top:26px}.additional-service-links a{font-size:13px}.service-sub-links{margin-top:11px;gap:7px 13px}.service-sub-links a{font-size:10px}.map-shell{min-height:365px}.map-placeholder h3{font-size:24px}.map-placeholder small{font-size:9px}.offer-list li[id],.extra-service[id]{scroll-margin-top:96px}}
@media(max-width:360px){.site-header>.brand img{width:110px}.proposal-badge{width:70px;padding-left:8px;margin-left:10px;font-size:7px}}

/* Whole-building installation direction */
.engineering-hero{--hero-height:clamp(650px,calc(100svh - 88px),1050px);height:var(--hero-height);min-height:650px;max-height:1050px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 8% 8%,#133358 0%,#081e38 47%,#04152a 100%);color:#fff;overflow:hidden}
.building-visual{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:1}
.building-stage{position:absolute;right:0;top:50%;width:min(100%,calc(var(--hero-height)*1.77683));aspect-ratio:1672/941;transform:translateY(-50%)}
.building-stage picture{position:absolute;inset:0;display:block;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent 0%,#000 28%),linear-gradient(180deg,transparent 0%,#000 8%,#000 94%,transparent 100%);mask-composite:intersect}
.building-stage img{width:100%;height:100%;object-fit:cover;object-position:center}
.building-visual figcaption{position:absolute;right:var(--gutter);bottom:26px;font-size:9px;letter-spacing:.02em;color:#b7c7d7}
.engineering-copy{position:relative;z-index:2;left:var(--gutter);top:20%;width:42%;max-width:660px}
.engineering-copy .eyebrow{color:#b9d0e4;letter-spacing:.12em;font-weight:500}
.engineering-copy .eyebrow:before{background:#82b7f7}
.engineering-copy h1{font-size:clamp(70px,6.75vw,128px);line-height:1.035;letter-spacing:-.065em;margin-top:24px}
.hero-statement{font-size:clamp(23px,2.1vw,36px);line-height:1.25;letter-spacing:-.045em;margin-top:24px;color:#b8d4ef}
.engineering-copy p{font-size:clamp(12px,1.03vw,16px);line-height:1.8;color:#d2e0ea;margin-top:25px;max-width:390px}
.hero-actions{display:flex;align-items:center;gap:29px;margin-top:29px}
.hero-actions .btn{min-height:47px;font-size:12px;padding:12px 20px}
.hero-services-link{font-size:12px;color:#d2e0ea;border-bottom:1px solid #6a89a2;padding-bottom:3px;line-height:1.8}
.hero-services-link:hover{color:#fff;border-color:#fff}
.engineering-caption{z-index:2;position:absolute;bottom:27px;left:var(--gutter);display:flex;gap:31px;font-size:9px;line-height:1.7;letter-spacing:.035em;color:#a5bdd3}
.engineering-caption span{border-left:1px solid #5a7c9d;padding-left:12px}




.offer-section{background:var(--ice);padding-block:87px 76px;scroll-margin-top:15px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:41px}
.section-heading .eyebrow{margin-bottom:25px}
.section-heading h2{font-size:clamp(41px,4.5vw,76px)}
.section-heading>p{font-size:13px;line-height:1.9;max-width:300px;padding-bottom:5px}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.offer-card{background:#f9fbfd;border:1px solid #cfdde6;min-height:238px;display:flex;flex-direction:column;padding:25px 23px 28px;transition:background .25s,color .25s,border-color .25s,transform .25s}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.card-top>span{font-size:10px;color:#6b8395;line-height:1.5}
.service-icon{width:36px;height:36px;stroke:var(--blue);fill:none;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.offer-card h3{font-size:clamp(20px,1.67vw,29px);line-height:1.25;letter-spacing:-.043em;min-height:73px;margin-bottom:14px;overflow-wrap:normal}
.offer-card p{font-size:11px;line-height:1.8;color:#61788a;max-width:260px}
.offer-card:hover,.offer-card:focus-visible{background:#fff;border-color:#3279c6;transform:translateY(-3px)}
.offer-card:hover h3,.offer-card:focus-visible h3{color:var(--blue)}
.support-intro{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-top:46px;padding-top:31px;border-top:1px solid #b8cddb}
.support-intro h3{font-size:28px;line-height:1.25;letter-spacing:-.04em}
.support-intro p{font-size:11px;line-height:1.8;max-width:300px}
.support-links{display:grid;grid-template-columns:1fr;gap:12px;margin-top:21px}
.support-links a{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0 8px;border-top:1px solid #b8cddb}
.support-links a>span{font-size:16px;line-height:1.5;letter-spacing:-.025em}
.support-links small{font-size:10px;color:var(--muted);line-height:1.5;white-space:nowrap}
.support-links a:hover{color:var(--blue)}
.installation-page-intro{padding-block:79px 70px}
.installation-page-intro .eyebrow{margin-bottom:27px}
.installation-page-intro h1{font-size:clamp(52px,5.7vw,99px);line-height:1.09;max-width:1230px}
.installation-page-intro p{font-size:14px;line-height:1.9;max-width:520px;margin-top:29px}



.installation-detail-grid{padding-block:59px 73px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.installation-detail{padding:34px 34px 32px;border:1px solid var(--line);background:var(--paper);scroll-margin-top:117px;display:flex;flex-direction:column;align-items:flex-start}
.detail-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:26px;gap:30px}
.detail-top>span{font-size:11px;color:#6b8395;line-height:1.5}
.installation-detail h2{font-size:clamp(27px,2.7vw,45px);line-height:1.16;min-height:102px;max-width:490px}
.installation-detail>p{font-size:13px;line-height:1.9;max-width:480px;margin-top:14px}
.installation-detail ul{margin:25px 0 25px;padding:0;list-style:none;border-top:1px solid var(--line);width:100%}
.installation-detail li{font-size:11px;color:var(--muted);line-height:1.7;padding:11px 0;border-bottom:1px solid var(--line)}
.installation-detail .text-link{font-size:11px;margin-top:auto}
.inspection-section{background:var(--ice);padding-block:65px}
.inspection-section .section-heading h2{font-size:clamp(38px,3.7vw,62px)}
.inspection-grid{display:grid;grid-template-columns:1fr;gap:32px}
.inspection-grid article{scroll-margin-top:115px;border-top:1px solid #b8cddb;padding-top:28px}
.inspection-grid h3{font-size:clamp(26px,2.5vw,39px);line-height:1.2;max-width:460px}
.inspection-grid p{font-size:12px;line-height:1.9;margin-top:21px;max-width:440px}
.inspection-grid .text-link{font-size:11px;margin-top:23px}
.maintenance-section{padding-block:68px 73px;scroll-margin-top:105px}
.maintenance-section .eyebrow{margin-bottom:22px}
.maintenance-section h2{font-size:clamp(34px,3.8vw,63px);max-width:1050px;line-height:1.13}
.maintenance-section p{font-size:13px;line-height:1.9;margin-top:23px}
.maintenance-section .text-link{font-size:12px;margin-top:23px}
@media(min-width:1800px){.engineering-copy{top:23%}.engineering-copy h1{font-size:132px}.hero-actions .btn{font-size:14px;min-height:54px}.hero-services-link{font-size:14px}.engineering-caption{font-size:11px}.offer-card{min-height:265px;padding:30px}.offer-card p{font-size:13px}.card-top{margin-bottom:28px}.offer-card h3{min-height:82px}}
@media(max-width:1180px){.engineering-copy{top:19%}.engineering-copy h1{font-size:7.2vw}.hero-statement{font-size:27px}.offer-grid{gap:12px}.offer-card{padding:23px 18px;min-height:234px}.offer-card h3{font-size:21px;min-height:78px}.offer-card p{font-size:10px}.installation-detail h2{font-size:34px}}
@media(max-width:900px){.engineering-hero{--hero-height:clamp(650px,calc(100svh - 76px),1050px);height:var(--hero-height);min-height:650px}.engineering-copy{top:17%;width:44%}.engineering-copy h1{font-size:62px}.hero-statement{font-size:25px;margin-top:22px}.engineering-copy p{font-size:12px;max-width:280px}.hero-actions{gap:23px;margin-top:25px}.building-visual img{object-position:right center}.engineering-caption{font-size:8px;gap:23px}.offer-section{padding-block:63px}.section-heading{gap:45px;margin-bottom:34px}.section-heading h2{font-size:47px}.section-heading>p{font-size:12px;max-width:245px}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.offer-card{padding:27px;min-height:245px}.offer-card h3{font-size:27px;min-height:70px}.offer-card p{font-size:12px}.support-intro h3{font-size:25px}.support-links{gap:29px}.support-links a{display:block}.support-links small{display:block;margin-top:5px;font-size:9px}.installation-page-intro{padding-block:63px}.installation-page-intro h1{font-size:60px}.installation-detail-grid{gap:18px;padding-block:43px 60px}.installation-detail{padding:27px}.installation-detail h2{font-size:31px;min-height:106px}.installation-detail>p{font-size:12px}.installation-detail li{font-size:10px}.inspection-section{padding-block:58px}.inspection-grid{gap:35px}}
@media(max-width:680px){.engineering-hero{display:flex;flex-direction:column;min-height:calc(100svh - 72px);height:auto;max-height:none;overflow:hidden;background:radial-gradient(ellipse at 5% 5%,#123254,#071c33 60%,#04152a)}.engineering-copy{order:1;position:static;width:auto;max-width:none;padding:41px var(--gutter) 15px}.engineering-copy .eyebrow{font-size:9px;letter-spacing:.11em}.engineering-copy h1{font-size:clamp(55px,14.7vw,85px);line-height:1.04;margin-top:23px}.hero-statement{font-size:24px;line-height:1.2;margin-top:17px}.engineering-copy p{font-size:11px;line-height:1.8;margin-top:19px;max-width:340px}.hero-actions{gap:26px;margin-top:23px}.hero-actions .btn{min-height:43px;padding:10px 17px;font-size:11px}.hero-services-link{font-size:11px}.building-visual{order:2;position:relative;inset:auto;width:100%;height:auto;min-height:0;flex:none;z-index:1;margin-top:4px}.building-stage{position:relative;inset:auto;width:100%;aspect-ratio:1212/941;transform:none}.building-stage picture{mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 95%,transparent 100%);mask-composite:add}.building-visual img{object-fit:contain;object-position:center center}.building-visual figcaption{position:relative;font-size:8px;right:auto;bottom:auto;padding:14px var(--gutter) 0;text-align:right;color:#a8bed0}.engineering-caption{order:3;position:static;gap:15px;padding:16px var(--gutter) 22px;font-size:8px;line-height:1.7}.engineering-caption span{padding-left:9px}.offer-section{padding-block:55px 54px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:10px;margin-bottom:23px}.section-heading h2{font-size:clamp(39px,10.5vw,59px);line-height:1.11}.section-heading>p{font-size:12px;line-height:1.8;max-width:340px;margin-top:23px;padding:0}.offer-grid{gap:12px}.offer-card{padding:19px 16px 22px;min-height:238px}.card-top{margin-bottom:22px;gap:15px}.card-top>span{font-size:9px}.service-icon{width:29px;height:29px;stroke-width:1.35}.offer-card h3{font-size:19px;line-height:1.25;min-height:73px;margin-bottom:11px;letter-spacing:-.04em}.offer-card p{font-size:10px;line-height:1.8;max-width:100%}.support-intro{display:block;margin-top:33px;padding-top:26px}.support-intro h3{font-size:26px}.support-intro p{font-size:11px;line-height:1.8;margin-top:11px;max-width:320px}.support-links{display:block;margin-top:22px}.support-links a{display:flex;align-items:flex-start;gap:18px;margin-top:19px;padding-top:17px}.support-links a>span{font-size:14px;line-height:1.55;max-width:220px}.support-links small{font-size:9px;line-height:1.6;text-align:right;margin-top:1px;max-width:92px;white-space:normal}.installation-page-intro{padding-block:48px 46px}.installation-page-intro .eyebrow{font-size:10px;margin-bottom:24px}.installation-page-intro h1{font-size:clamp(44px,11.55vw,67px);line-height:1.1;letter-spacing:-.06em}.installation-page-intro p{font-size:12px;line-height:1.85;margin-top:25px}.installation-detail-grid{grid-template-columns:1fr;padding-block:31px 48px;gap:17px}.installation-detail{padding:26px 24px;scroll-margin-top:92px}.detail-top{margin-bottom:24px}.detail-top>span{font-size:10px}.installation-detail h2{font-size:31px;line-height:1.17;min-height:0;max-width:400px}.installation-detail>p{font-size:12px;line-height:1.9;margin-top:21px}.installation-detail ul{margin:23px 0}.installation-detail li{font-size:11px;padding-block:12px}.installation-detail .text-link{font-size:11px;margin-top:0}.inspection-section{padding-block:48px}.inspection-section .section-heading h2{font-size:37px;line-height:1.12}.inspection-grid{display:block}.inspection-grid article{padding-top:25px;margin-top:28px;scroll-margin-top:95px}.inspection-grid h3{font-size:28px;line-height:1.2}.inspection-grid p{font-size:12px;margin-top:18px}.inspection-grid .text-link{font-size:11px;margin-top:21px}.maintenance-section{padding-block:48px 52px;scroll-margin-top:95px}.maintenance-section .eyebrow{font-size:10px;margin-bottom:24px}.maintenance-section h2{font-size:clamp(30px,8.2vw,49px);line-height:1.17}.maintenance-section p{font-size:12px;margin-top:23px}.maintenance-section .text-link{font-size:11px;margin-top:23px}}
@media(max-width:360px){.offer-grid{grid-template-columns:1fr}.offer-card{min-height:0;padding:23px}.offer-card h3{font-size:25px;min-height:0;margin-bottom:17px}.offer-card p{font-size:11px}.card-top{margin-bottom:25px}.engineering-copy h1{font-size:52px}.hero-statement{font-size:22px}.engineering-copy{padding-top:34px}.building-visual{min-height:232px}.installation-page-intro h1{font-size:40px}}

/* Restored wordmark and consistent secondary service/reference rows. */
.site-header .brand img{width:198px}
.reference-more{display:block;color:var(--ink);font-size:inherit;gap:0;border-top:1px solid var(--line)}
.reference-more .reference-item>span{max-width:none}
.installation-detail-grid{padding-top:12px}
.building-visual figcaption{display:flex;flex-direction:column;gap:7px;text-align:right;line-height:1.65;pointer-events:none}
.scene-hint{font-size:10px;letter-spacing:.01em;color:#d1e5f7}
.house-points,.scene-hint{display:none}
.has-js .house-points{display:block}
.has-js .scene-hint{display:block}
.house-points{position:absolute;inset:0;pointer-events:none}
.house-hotspot{position:absolute;left:var(--point-x);top:var(--point-y);width:44px;height:44px;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;display:grid;place-items:center}
.house-hotspot>span{position:relative;display:block;width:23px;height:23px;border:1px solid #dbedff;border-radius:50%;background:#082644d9;box-shadow:0 0 0 5px #c8e4ff18,0 2px 15px #00112666;color:#fff;transition:background .2s,transform .2s,box-shadow .2s}
.house-hotspot>span:before,.house-hotspot>span:after{content:'';position:absolute;left:7px;top:10px;width:7px;height:1px;background:currentColor}
.house-hotspot>span:after{transform:rotate(90deg);transition:transform .2s}
.house-hotspot:hover>span,.house-hotspot:focus-visible>span{background:#266bb2;transform:scale(1.14);box-shadow:0 0 0 7px #c8e4ff28}
.house-hotspot[aria-expanded=true]>span{background:#edf7ff;color:#124376;box-shadow:0 0 0 7px #c8e4ff30}
.house-hotspot[aria-expanded=true]>span:after{transform:none}
.house-hotspot:first-child>span{animation:scene-beacon 3.5s ease-in-out 3}
.is-exploring .house-hotspot>span{animation:none}
@keyframes scene-beacon{0%,100%{box-shadow:0 0 0 5px #c8e4ff18}50%{box-shadow:0 0 0 10px #c8e4ff08}}
.house-service-popover{position:absolute;left:var(--card-x,60%);top:var(--card-y,35%);z-index:5;width:min(320px,calc(100% - 44px));background:#09243bea;border:1px solid #8aacc64d;border-radius:3px;box-shadow:0 15px 45px #00101d50;backdrop-filter:blur(18px);color:#fff;padding:25px 25px 24px;animation:scene-card-in .22s ease-out}
.house-service-popover[hidden]{display:none!important}
.house-popover-close{position:absolute;right:7px;top:7px;width:34px;height:34px;display:grid;place-items:center;background:none;border:0;border-radius:2px;color:#c7dfef}
.house-popover-close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.2}
.house-popover-close:hover{color:#fff;background:#ffffff0d}
.house-service-title{display:flex;align-items:flex-start;gap:13px;padding-right:14px}
.house-service-title .service-icon{width:25px;height:25px;stroke:#a9d6ff;margin-top:2px}
.house-service-title h2{font-size:23px;line-height:1.22;letter-spacing:-.035em}
.house-service-content p{font-size:11px;line-height:1.85;color:#c1d6e7;margin-top:16px;max-width:250px}
.house-service-link{display:inline-flex;align-items:center;gap:17px;font-size:11px;line-height:1.8;border-bottom:1px solid #90b6d669;padding-bottom:4px;margin-top:16px}
.house-service-link:hover{color:#b6ddff;border-color:#b6ddff}
@keyframes scene-card-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:1180px){.site-header .brand img{width:184px}}
@media(max-width:900px){.site-header .brand img{width:172px}.support-links a{display:flex}.support-links small{margin-top:0}.scene-hint{font-size:9px}}
@media(max-width:680px){.site-header .brand img{width:144px}.proposal-badge{font-size:7px;width:70px;margin-left:9px;margin-right:6px;padding-left:9px}.house-hotspot{left:var(--mobile-x)}.house-hotspot>span{width:22px;height:22px}.house-service-popover{position:relative;inset:auto;width:calc(100% - var(--gutter)*2);margin:18px var(--gutter) 0;padding:22px 23px;background:#0b2943;backdrop-filter:none}.house-service-title h2{font-size:23px}.house-service-content p{font-size:12px;max-width:none}.house-service-link{font-size:12px}.scene-hint{font-size:9px}.building-visual figcaption{gap:4px}.support-links{display:grid;gap:0}.support-links a{margin-top:19px}.installation-detail-grid{padding-top:0}}
@media(max-width:360px){.site-header .brand img{width:126px}.proposal-badge{width:63px;font-size:6.5px;margin-left:7px;margin-right:4px;padding-left:7px}}

/* About: the statement sits directly beneath its label, with company copy alongside. */
.engineering-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(50px,8vw,140px);align-items:center;padding-block:clamp(72px,6.4vw,112px)}
.engineering-intro .eyebrow{margin:0 0 25px}
.engineering-intro h2{font-size:clamp(44px,4.6vw,80px);line-height:1.08;letter-spacing:-.055em}
.engineering-intro h2 span{display:block;white-space:nowrap}
.engineering-intro h2 span+span{margin-top:8px}
.engineering-intro h2 span:last-child{color:var(--blue)}
.intro-about-copy{max-width:560px}
.intro-about-copy p{font-size:14px;line-height:1.9;margin:0;padding:0}
.intro-about-copy p+p{margin-top:18px}
@media(max-width:900px){.engineering-intro{gap:45px;padding-block:68px}.engineering-intro h2{font-size:clamp(42px,5.8vw,56px)}.intro-about-copy p{font-size:13px;line-height:1.85}.intro-about-copy p+p{margin-top:16px}}
@media(max-width:680px){.engineering-intro{grid-template-columns:1fr;gap:30px;padding-block:58px}.engineering-intro .eyebrow{font-size:10px;margin-bottom:24px}.engineering-intro h2{font-size:clamp(39px,10.7vw,58px);line-height:1.08}.engineering-intro h2 span+span{margin-top:6px}.intro-about-copy{max-width:560px}.intro-about-copy p{font-size:13px;line-height:1.9}.intro-about-copy p+p{margin-top:17px}}
/* Original organisation marks sit beside the published reference names. */
.reference-brand{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;min-width:0}
.reference-item{align-items:center;min-height:76px}
.reference-item>span.reference-brand{max-width:none}
.reference-brand .reference-name{font-size:14px;line-height:1.55;color:var(--ink);white-space:normal;max-width:none}
.reference-mark{width:84px;height:38px;object-fit:contain;object-position:left center;mix-blend-mode:multiply;flex-shrink:0}
.reference-mark--mono{filter:brightness(0)}
.reference-mark--empty{display:block}
.reference-item>.reference-place{font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.client-reference{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0}
.client-reference .reference-mark{width:64px;height:38px;object-position:center}
.client-reference .client-name{font-size:16px;font-weight:600;font-style:normal;letter-spacing:-.03em;text-align:left;line-height:1.45}
.client-place{display:block;font-size:9px;line-height:1.65;color:var(--muted);margin-top:3px}
@media(max-width:1180px){.references-strip{gap:22px}.client-reference{gap:12px}.client-reference .reference-mark{width:52px;height:34px}.client-reference .client-name{font-size:14px}.reference-brand{grid-template-columns:72px minmax(0,1fr);gap:15px}.reference-mark{width:72px;height:34px}.reference-brand .reference-name{font-size:12px}}
@media(max-width:900px){.references-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.references-strip>.eyebrow{grid-column:1/-1}.client-reference{justify-content:flex-start}.client-reference .reference-mark{width:46px;height:31px}.client-reference .client-name{font-size:13px}.client-place{font-size:8px}.references-section{gap:45px}.reference-brand{grid-template-columns:60px minmax(0,1fr);gap:12px}.reference-mark{width:60px;height:30px}.reference-item{gap:14px}.reference-brand .reference-name{font-size:12px}.reference-item>.reference-place{font-size:9px}}
@media(max-width:680px){.references-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 17px}.client-reference{gap:12px}.client-reference .reference-mark{width:52px;height:34px}.client-reference .client-name{font-size:14px}.client-place{font-size:9px}.reference-item{padding-block:17px;min-height:71px;gap:12px}.reference-brand{grid-template-columns:66px minmax(0,1fr);gap:15px}.reference-mark{width:66px;height:34px}.reference-brand .reference-name{font-size:12px}.reference-item>.reference-place{font-size:9px}}
@media(max-width:360px){.client-reference{gap:9px}.client-reference .reference-mark{width:42px;height:29px}.client-reference .client-name{font-size:13px}.client-place{font-size:8px}.reference-brand{grid-template-columns:54px minmax(0,1fr);gap:12px}.reference-mark{width:54px;height:31px}.reference-brand .reference-name{font-size:11px}.reference-item>.reference-place{font-size:8px}}
