:root{--ink:#11243a;--navy:#10263d;--blue:#1263a6;--red:#d64435;--paper:#f4f3ef;--muted:#526273;--line:#dce1e5;--white:#fff;--width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dc642a;outline-offset:5px}.wrap{width:min(var(--width),calc(100% - 64px));margin:auto}.top{background:var(--navy);color:#fff;font-size:12px;letter-spacing:.06em}.top .wrap{display:flex;justify-content:space-between;padding:9px 0}.top a{text-decoration:none}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header .wrap{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{text-decoration:none;font-size:28px;line-height:.95;font-weight:900;letter-spacing:-1.2px;display:flex;align-items:center;gap:12px}.brand-icon{width:54px;height:48px;object-fit:contain}.wordmark small{display:block;font-size:10px;letter-spacing:3px;margin-top:7px}.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:bold}.nav a{text-decoration:none}.nav a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 24px;background:var(--red);color:white;text-decoration:none;font-size:14px;font-weight:bold;border:1px solid transparent;cursor:pointer;min-height:52px}.btn:hover{background:#b73327;color:#fff}.btn.outline{background:transparent;border-color:#8d9ba9;color:inherit}.menu{display:none;border:1px solid var(--line);background:white;padding:8px 12px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;min-height:630px;align-items:center;gap:50px}.hero-copy{padding:70px 0}.eyebrow{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:2px;display:block;margin-bottom:22px;color:var(--blue)}.hero .eyebrow{color:#a9c8e5}.hero h1{font-size:clamp(44px,5.3vw,74px);line-height:1.05;letter-spacing:-3px;font-weight:750;margin:0 0 25px}.hero h1 em{font-style:normal;color:#85bbed}.hero p{color:#c3d0dc;max-width:510px;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center}.hero-art img{width:100%;height:100%;object-fit:cover}.art-note{position:absolute;bottom:44px;left:25px;border-left:3px solid var(--red);padding:12px 16px;background:var(--navy);font-size:12px;letter-spacing:1px}.credentials{background:white;border-bottom:1px solid var(--line)}.credentials .wrap{display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:13px;font-weight:bold}.credentials span:before{content:'✓';color:var(--blue);margin-right:10px}section.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-head p{max-width:360px;color:var(--muted);margin:0}.section h2,.interior h1{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 15px;max-width:680px}.section h3{font-size:23px;line-height:1.25;letter-spacing:-.5px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{background:#fff;padding:30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-decoration:none;transition:background .15s}.service:hover{background:#edf3f8}.service .num{font-family:monospace;color:var(--blue);font-size:12px}.service p{font-size:15px;color:var(--muted)}.service .arrow{font-size:21px;color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.dark{background:var(--navy);color:white}.dark .eyebrow{color:#97c8ef}.dark p{color:#c6d2de}.large-quote{font-size:clamp(35px,4vw,55px);line-height:1.15;letter-spacing:-1.5px;border-left:4px solid var(--red);padding:20px 0 20px 35px}.text-link{font-weight:bold;text-underline-offset:6px;font-size:14px}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:25px}.audience{padding:42px;background:white;border-top:4px solid var(--blue)}.audience:nth-child(2){border-color:var(--red)}.audience p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps b{color:var(--red);font-size:12px}.steps p{font-size:15px;color:var(--muted)}.subsidy{border:1px solid #bbc8d2;background:#e7eef3;padding:35px;display:flex;gap:40px;align-items:center;justify-content:space-between}.subsidy p{font-size:15px;max-width:720px}.subsidy h3{margin:0}.areas{display:flex;flex-wrap:wrap;gap:12px}.areas span{padding:10px 18px;border:1px solid var(--line);background:white;font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-grid .phone{font-size:clamp(27px,3.4vw,42px);font-weight:bold;text-decoration:none;letter-spacing:-1px}.contact-grid address{font-style:normal}.contact-grid table{width:100%;font-size:14px;margin-top:20px;border-collapse:collapse}.contact-grid td{padding:8px 0;border-bottom:1px solid #405267}.contact-grid td:last-child{text-align:right}.contact-form{background:#fff;padding:35px;color:var(--ink)}.contact-form h3{margin-top:0}.contact-form p{color:var(--muted);font-size:13px}.contact-form label{display:block;font-size:13px;font-weight:bold;margin:15px 0 6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #bcc7d0;padding:11px;border-radius:0;background:#fff;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:110px}.contact-form .btn{margin-top:18px;width:100%}.contact-form [role=status]{font-size:14px;color:var(--ink)}.footer{background:#0b1b2c;color:#b6c5d4;padding:50px 0;font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-brand img{width:190px;height:auto;background:#fff}.footer nav{display:flex;gap:22px;flex-wrap:wrap}.footer a{text-decoration:none}.footer small{display:block;margin-top:18px}.mobile-contact{display:none}.interior{padding:65px 0 70px;background:var(--navy);color:white}.interior p{max-width:710px;color:#c7d6e4;font-size:19px}.crumb{font-size:12px;margin-bottom:30px;display:block;color:#b9cad9}.body-grid{display:grid;grid-template-columns:2fr 1fr;gap:70px;align-items:start}.body-copy h2{font-size:32px;margin-top:40px}.body-copy h2:first-child{margin-top:0}.body-copy p,.body-copy li{color:var(--muted)}.body-copy li{margin-bottom:12px}.aside{background:#fff;border-top:4px solid var(--red);padding:30px}.aside h3{margin-top:0}.aside p{font-size:15px}.aside a{display:block;margin-top:15px}.faq{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:bold}.faq p{max-width:850px;color:var(--muted)}.draft-slot{border:1px dashed #8da3b4;padding:35px;background:#eaf0f4;color:#526273;min-height:220px;display:grid;place-content:center;text-align:center}.draft-slot span{font-size:12px;letter-spacing:2px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.draft-banner{background:#fff0d8;color:#664411;padding:9px;text-align:center;font-size:12px}.draft-banner a{text-underline-offset:3px}.noscript{padding:20px;background:#fff0d8}.body-copy .subsidy{display:block}.body-copy .subsidy h2{font-size:28px}.fine{font-size:13px}.section.tight{padding:60px 0}
@media(max-width:1000px){.nav{gap:15px}.nav .btn{display:none}.hero-grid{gap:25px}.hero h1{font-size:54px}.split,.contact-grid{gap:40px}.services{grid-template-columns:repeat(2,1fr)}.credentials .wrap{flex-wrap:wrap}.hero-art{min-height:400px}.body-grid{gap:35px}}@media(max-width:720px){.wrap{width:calc(100% - 38px)}.top .wrap{font-size:10px}.top .wrap span:last-child{display:none}.header .wrap{min-height:76px}.wordmark{font-size:25px}.menu{display:block}.nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px;display:none;box-shadow:0 10px 15px #0001}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a{padding:8px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:55px 0 30px}.hero h1{font-size:49px;letter-spacing:-2px}.hero-art{height:250px;min-height:0;overflow:hidden}.hero-art img{object-position:center 47%}.art-note{bottom:20px;left:0}.hero p{font-size:16px}.credentials .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:13px}.section-head{display:block}.section-head p{margin-top:20px}.section.section{padding:60px 0}.services,.audiences,.split,.contact-grid,.body-grid,.work-grid{grid-template-columns:1fr}.service{padding:25px}.steps{grid-template-columns:1fr;gap:10px}.audience{padding:28px}.subsidy{display:block;padding:25px}.subsidy .btn{margin-top:10px}.footer{padding-bottom:110px}.footer .wrap{display:block}.footer nav{margin-top:25px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;box-shadow:0 -3px 15px #0002;padding-bottom:env(safe-area-inset-bottom);background:var(--navy)}.mobile-contact a{padding:15px;text-align:center;color:white;background:var(--red);font-size:14px;font-weight:bold;text-decoration:none}.mobile-contact a:last-child{background:var(--navy)}.contact-form{padding:25px}.large-quote{padding-left:25px}.interior{padding:45px 0}.section h2{font-size:35px}.draft-banner{font-size:10px}.actions .btn{padding:14px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Contractor design revision: large brand, restrained palette, clear service structure. */
:root{--ink:#171c21;--navy:#161e25;--blue:#175b91;--red:#bd3b32;--paper:#fff;--muted:#5d6369;--line:#d9dcdf;--width:1220px}
body{font-size:17px}.draft-banner{padding:5px;background:#eee;color:#666;font-size:10px}.top{background:#fff;color:#555;border-bottom:1px solid #eee;font-size:10px}.header .wrap{min-height:85px}.header{position:relative}.wordmark{font-size:26px}.nav{gap:28px;font-size:13px}.btn{border-radius:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:16px 23px;background:var(--ink)}.btn:hover{background:var(--blue)}.btn.outline{border-color:#a3a6a9}.brand-hero{background:#171f27;color:#fff;overflow:hidden;position:relative;padding:60px 0 27px}.brand-hero:before{content:'';position:absolute;width:62vw;height:62vw;border:1px solid #ffffff14;right:-24vw;top:-30vw;transform:rotate(45deg);pointer-events:none}.hero-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}.hero-intro h1{font-size:clamp(38px,4.8vw,66px);line-height:1.04;letter-spacing:-2px;margin:0;font-weight:500}.hero-intro .eyebrow{color:#aaa;font-size:10px;max-width:190px}.hero-intro>p{font-size:14px;line-height:1.7;color:#bdc3c9;max-width:190px;margin:4px 0 0}.brand-hero .btn{background:#fff;color:#161e25}.brand-hero .btn:hover{background:#dce7f0}.brand-hero .btn.outline{background:transparent;color:#fff;border-color:#68727b}.hero-brand{width:calc(100% - 64px);margin:45px auto 35px;line-height:.75}.hero-brand>span{font-size:clamp(150px,31vw,430px);letter-spacing:-.075em;font-weight:900;display:block;line-height:.78}.hero-brand .brand-accent{color:#bd3b32}.hero-brand small{display:block;font-size:clamp(19px,3.8vw,52px);letter-spacing:.49em;line-height:1;margin-top:25px;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#abb4bd}.hero-bottom a{text-decoration:none;color:#fff}.section.section{padding:100px 0}.section h2{font-size:clamp(37px,4.6vw,62px);font-weight:500;letter-spacing:-2px;line-height:1.03}.section .eyebrow{color:#6a7076;font-weight:400}.company-intro .split{grid-template-columns:1.05fr 1fr}.company-intro .lead{font-size:25px;line-height:1.35;color:var(--ink);margin-top:0}.company-intro p{color:var(--muted)}.capability-section{background:#f1f1ee}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #bec2c4;border-bottom:1px solid #bec2c4}.capability{display:block;min-height:320px;padding:30px 35px;text-decoration:none;border-right:1px solid #bec2c4;transition:background .15s}.capability:first-child{padding-left:0}.capability:last-child{border:0}.cap-number{font-size:11px;color:#687079}.capability h3{font-size:32px;margin:60px 0 18px;font-weight:500}.capability p{font-size:15px;color:#656c73;max-width:290px}.capability .text-link{font-size:12px}.capability:hover{background:#e7e9e9}.services{display:grid;grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid var(--line);gap:0 36px}.service{padding:25px 0;border-right:0;background:transparent;position:relative}.service h3{font-size:20px;font-weight:500;padding-right:20px;min-height:48px}.service .num{font-family:inherit;font-size:10px;color:#777}.service .arrow{position:absolute;right:4px;top:50px;color:var(--ink)}.service p{font-size:14px}.service:hover{background:#f6f7f7}.qualification-section{background:#171f27;color:#fff}.qualification-section .eyebrow{color:#a0a8b1}.qualification-list>div{border-bottom:1px solid #535c63;padding:22px 0;display:flex;gap:40px;align-items:center}.qualification-list b{font-size:30px;font-weight:500;min-width:145px}.qualification-list span{color:#c4ccd2;font-size:14px}.areas{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.areas span{border:0;padding:18px 30px 18px 0;font-size:14px}.subsidy{background:#f5f5f3;border:0;border-left:3px solid var(--blue)}.subsidy h3{font-weight:500}.contact-grid{gap:85px}.contact-form{background:#f3f3f1;padding:35px}.contact-form .btn{background:#172029}.dark .eyebrow{color:#a8b4bf}.footer{background:#10171c;padding:55px 0}.footer-brand img{width:165px}.interior{background:#171f27;padding:75px 0}.interior h1{font-size:clamp(40px,5vw,68px);font-weight:500}.interior p{font-size:18px}.body-copy h2{font-size:30px}.aside{background:#f2f2ef;border-top:2px solid var(--ink)}
@media(max-width:1000px){.hero-intro{grid-template-columns:1fr 2.5fr}.hero-intro>p{display:none}.nav{gap:15px}.services{grid-template-columns:repeat(2,1fr)}.capability{padding:25px}.capability h3{font-size:26px}.qualification-list b{min-width:110px}.qualification-list>div{gap:20px}}
@media(max-width:720px){.header .wrap{min-height:75px}.header{position:sticky}.top .wrap span{max-width:180px}.brand-hero{padding:45px 0 25px}.hero-intro{display:block}.hero-intro .eyebrow{max-width:none;margin-bottom:25px}.hero-intro h1{font-size:45px;letter-spacing:-1.6px}.hero-brand{width:calc(100% - 38px);margin:55px auto 30px}.hero-brand>span{font-size:33vw;letter-spacing:-.075em}.hero-brand small{font-size:4.4vw;letter-spacing:.39em;margin-top:16px}.hero-bottom{font-size:8px;gap:20px}.hero-bottom>span{max-width:155px}.section.section{padding:65px 0}.section h2{font-size:40px;letter-spacing:-1.2px}.company-intro .split{grid-template-columns:1fr;gap:20px}.company-intro .lead{font-size:22px}.capabilities{grid-template-columns:1fr}.capability,.capability:first-child{padding:25px 0;min-height:0;border-right:0;border-bottom:1px solid #bec2c4}.capability h3{margin:20px 0 10px;font-size:29px}.services{grid-template-columns:1fr}.service h3{min-height:0}.qualification-list>div{gap:20px}.qualification-list b{font-size:25px;min-width:110px}.qualification-list span{font-size:12px}.contact-grid{gap:40px}.footer{padding-bottom:110px}.nav.open .btn{display:flex}.brand-hero .actions .btn{padding:13px 16px;font-size:10px}.interior h1{font-size:43px}}

.capability-section .eyebrow,.cap-number,.service .num{color:#505861}.contact-grid h1{font-size:clamp(38px,4vw,54px);line-height:1.06;font-weight:500;letter-spacing:-1.5px}
/* Complete company footer and mobile conversion layout. */
.header .wrap{min-height:82px}.menu{align-items:center;gap:10px;border:0;font-size:13px;font-weight:600;padding:12px 0 12px 16px}.menu-lines{display:inline-block;width:20px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}.menu[aria-expanded=true] .menu-lines{height:0;transform:rotate(-45deg)}
.trade-strip{background:#f1f1ee;border-bottom:1px solid #d9dcdf}.trade-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px}.trade-strip span{font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:600}.trade-strip span:before{content:'+';color:var(--red);margin-right:10px}
.process-section{background:#f1f1ee}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-grid article{border-top:1px solid #b8bec2;padding-top:24px}.process-grid article>span{font-size:10px;letter-spacing:.12em;color:#505861}.process-grid h3{font-size:24px;font-weight:500;margin:32px 0 14px}.process-grid p{font-size:15px;color:#535d65}.faq-section .split{align-items:start;gap:90px}.faq-section h2{max-width:450px}.faq-section .faq:first-child{border-top:1px solid var(--line)}.faq{padding:0}.faq summary{list-style:none;font-weight:500;font-size:17px;padding:24px 35px 24px 0;position:relative;line-height:1.45}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;top:20px;font-size:24px;font-weight:400;color:var(--red)}.faq[open] summary:after{content:'−'}.faq p{font-size:15px;padding:0 25px 22px 0;margin:0}.body-copy .services{grid-template-columns:repeat(2,minmax(0,1fr))}.body-copy .service{min-width:0}.aside{padding:28px;border-top:3px solid var(--red)}.aside .text-link{font-size:13px}.aside p:last-child{font-size:13px;line-height:1.9;border-top:1px solid #d4d8db;padding-top:20px;margin-top:24px}.body-copy>h2{font-size:32px;line-height:1.16;letter-spacing:-.9px}.body-copy>p{max-width:720px}.contact-form h3{font-size:26px;font-weight:500}.contact-form{border-top:3px solid var(--red)}
.site-footer{background:#101a23;color:#fff;padding:0 0 26px}.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:58px 0;border-bottom:1px solid #36424c}.footer-invitation .eyebrow{color:#bdc6ce;font-size:10px;margin-bottom:14px;letter-spacing:.13em}.footer-invitation h2{font-size:clamp(38px,4.8vw,66px);font-weight:500;line-height:1.08;letter-spacing:-2px;margin:0}.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:19px 22px;border:1px solid #5a6570;text-decoration:none;font-size:13px;min-width:235px}.footer-cta span{font-size:23px}.footer-cta:hover{background:#fff;color:#101a23}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .85fr 1.2fr;gap:40px;padding:52px 0 45px}.footer-wordmark{display:inline-block;text-decoration:none;font-size:43px;font-weight:800;letter-spacing:-2px;line-height:.85}.footer-wordmark span{display:block;font-size:10px;font-weight:600;letter-spacing:.35em;margin-top:13px}.footer-identity p{font-size:18px;line-height:1.5;color:#d0d7de;margin:26px 0 14px}.footer-location{display:block;font-size:11px;line-height:1.7;color:#b5c0c9;max-width:170px}.site-footer h3{color:#b1bcc5;font-size:10px;text-transform:uppercase;letter-spacing:.13em;line-height:1.5;margin:0 0 19px;font-weight:500}.footer-links{display:flex;flex-direction:column;align-items:start;gap:10px}.footer-links h3{margin-bottom:9px}.footer-links a,.footer-connect>a{font-size:12px;text-decoration:none;color:#e0e5e9;line-height:1.6}.footer-links a:hover,.footer-connect>a:hover,.footer-base a:hover{color:white;text-decoration:underline;text-underline-offset:5px}.footer-connect>a{display:block;margin-bottom:9px;overflow-wrap:anywhere}.footer-connect .footer-phone{font-size:22px;color:white;letter-spacing:-.4px;font-weight:500}.footer-connect .footer-whatsapp{font-size:11px;margin-top:17px;padding-bottom:18px;border-bottom:1px solid #36424c}.footer-connect .follow-label{margin:20px 0 12px}.social-links{display:flex;flex-wrap:wrap;gap:8px}.social-links a{display:flex;align-items:center;gap:8px;border:1px solid #46525c;padding:8px 10px;color:#e7ebee;text-decoration:none;font-size:10px}.social-links a:hover{background:#283742}.social-monogram{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #9daab6;font-weight:bold;font-size:8px}.social-links a>span:last-child{font-size:12px;color:#afbdc8}.footer-base{display:flex;gap:30px;align-items:center;border-top:1px solid #36424c;padding-top:23px;color:#b5c0c9;font-size:10px}.footer-base>span{margin-right:auto}.footer-base a{text-decoration:none}.mobile-contact{display:none}
@media(min-width:1100px){.brand-hero{padding-top:70px}.hero-intro{grid-template-columns:.8fr 2fr .8fr}.hero-brand{margin-top:60px;max-width:1220px}.hero-brand>span{font-size:min(28vw,375px)}.hero-brand small{font-size:38px}.interior .wrap{position:relative}.interior .wrap:after{content:'ALAN / MECHANICAL';position:absolute;right:0;bottom:10px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#a7b4bf}.interior h1{max-width:830px}}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px 50px}.footer-identity{grid-row:1}.footer-connect{grid-column:2;grid-row:1}.process-grid{gap:25px}.faq-section .split{gap:35px}}
@media(max-width:720px){.header .wrap{min-height:68px}.wordmark{font-size:24px;gap:9px}.brand-icon{width:44px;height:40px}.wordmark small{font-size:8px;letter-spacing:2.7px}.menu{display:flex}.draft-banner{font-size:8px;padding:3px;letter-spacing:.12em}.top .wrap{padding:7px 0;font-size:8px;letter-spacing:.06em}.top .wrap span{max-width:none}.nav.open{padding:20px 24px 25px;gap:6px;border-bottom:1px solid #d9dcdf}.nav a{font-size:16px}.nav .btn{margin-top:10px}.trade-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-block:20px}.trade-strip span{font-size:9px;letter-spacing:0}.trade-strip span:before{margin-right:6px}.process-grid{grid-template-columns:1fr;gap:24px}.process-grid article{padding-top:18px}.process-grid h3{margin:18px 0 10px;font-size:24px}.process-grid p{margin-bottom:0}.faq-section .split{gap:25px}.faq summary{font-size:16px}.body-copy .services{grid-template-columns:1fr}.body-grid{gap:32px}.body-copy>h2{font-size:29px}.body-copy p{font-size:16px}.interior{padding:38px 0 44px}.interior h1{font-size:40px;letter-spacing:-1.5px}.crumb{margin-bottom:24px}.site-footer{padding-bottom:100px}.footer-invitation{display:block;padding:35px 0}.footer-invitation .eyebrow{font-size:8px;letter-spacing:.1em}.footer-invitation h2{font-size:42px;letter-spacing:-1.5px}.footer-cta{width:100%;margin-top:22px;min-height:54px;padding:12px 16px;font-size:12px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px;padding:32px 0}.footer-identity{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:start;border-bottom:1px solid #36424c;padding-bottom:28px}.footer-wordmark{font-size:38px}.footer-wordmark span{font-size:9px;margin-top:11px}.footer-identity p{font-size:14px;margin:0;line-height:1.5}.footer-location{grid-column:1/-1;max-width:none;margin-top:20px;font-size:10px}.footer-connect{grid-column:1/-1;grid-row:auto;border-top:1px solid #36424c;padding-top:25px}.site-footer h3{font-size:9px;margin-bottom:13px}.footer-links{gap:10px}.footer-links a,.footer-connect>a{font-size:12px}.footer-links h3{margin-bottom:3px}.footer-connect .footer-phone{font-size:26px}.footer-connect .footer-whatsapp{border:0;padding:0;margin:15px 0}.footer-connect .follow-label{margin-top:23px}.social-links{gap:8px}.social-links a{font-size:11px;padding:9px 12px}.footer-base{gap:18px;flex-wrap:wrap;padding-top:19px;font-size:9px}.footer-base>span{flex-basis:100%;margin:0}.mobile-contact{display:grid;grid-template-columns:.85fr 1.15fr;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));border-radius:5px;overflow:hidden;background:#fff;border:1px solid #ccd1d5;box-shadow:0 5px 25px #0003;padding:0}.mobile-contact a{padding:14px 10px;font-size:12px;color:#17232e;background:#fff;display:flex;gap:12px;justify-content:center;align-items:center;min-height:48px}.mobile-contact a:last-child{background:#ad302b;color:white}.mobile-contact a>span{font-size:16px}.aside{padding:24px}.section.section{padding:56px 0}}

.process-section .eyebrow{color:#505861}
/* Editorial homepage: three disciplines with a self-hosted film layer. */
.cinematic-hero{padding:80px 0 27px;min-height:690px;background:#111e2c;isolation:isolate}.cinematic-hero:before{z-index:-1;width:65vw;height:65vw;border-color:#ffffff15;right:-10vw;top:-17vw}.cinematic-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,#111e2c 4%,#111e2cdb 46%,#0e1b2980)}.hero-content{display:grid;grid-template-columns:1.3fr 1fr;column-gap:85px;position:relative;padding-bottom:65px}.hero-content>.eyebrow{grid-column:1/-1;color:#c3cdd7;font-size:10px;margin-bottom:32px;letter-spacing:.19em}.hero-content h1{font-size:clamp(65px,8.2vw,112px);font-weight:500;line-height:.94;letter-spacing:-5px;margin:0}.hero-content h1>span{color:#9fbed5}.hero-description{align-self:end;padding-bottom:4px;max-width:440px}.hero-description>p{font-size:clamp(26px,3vw,40px);line-height:1.12;letter-spacing:-1px;margin:0 0 26px}.hero-description>span{font-size:14px;color:#c3ced8;line-height:1.8}.hero-description .actions{margin-top:30px;gap:10px}.cinematic-hero .hero-bottom{border-top:1px solid #64717e;padding-top:22px}.hero-film{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.film-toggle{position:absolute;right:30px;top:20px;background:#132232df;border:1px solid #c0cbd3;color:white;padding:10px 14px;font-size:11px;cursor:pointer}.expertise-section{background:#f1f1ee}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.expertise-card{padding:30px 28px;color:white;display:flex;flex-direction:column;min-height:465px}.plumbing-card{background:#19364e}.gas-card{background:#862f2a}.backflow-card{background:#183e40}.discipline-number{font-size:10px;letter-spacing:.14em}.expertise-card h3{font-size:30px;line-height:1.12;font-weight:500;letter-spacing:-1px;margin:44px 0 20px}.expertise-card p{font-size:14px;line-height:1.7;color:#ecf0f2}.expertise-card ul{font-size:12px;padding-left:15px;line-height:2;margin:4px 0 28px;color:#ecf0f2}.expertise-card>a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding-top:18px;border-top:1px solid #ffffff66;font-size:12px;margin-top:auto;gap:12px}.expertise-card>a>span{font-size:23px}.expertise-card>a:hover{text-decoration:underline;text-underline-offset:5px}.related-services{display:flex;flex-direction:column;border-top:1px solid var(--line)}.related-services>a{padding:15px 0;border-bottom:1px solid var(--line);font-size:15px;text-decoration:none;display:flex;justify-content:space-between;gap:12px}.related-services>a:hover{color:#155785}.body-copy .faq p{padding:0 20px 22px 0}.body-copy .faq summary{font-size:16px}.body-copy .faq{border-top:0}.body-copy .faq+h2{margin-top:40px}
@media(max-width:1000px){.hero-content{gap:35px}.hero-content h1{font-size:85px}.hero-description .btn{font-size:10px;padding:14px}.expertise-card{padding:25px 20px}.expertise-card h3{font-size:25px}}
@media(max-width:720px){.cinematic-hero{padding:43px 0 24px;min-height:0}.hero-content{display:block;padding-bottom:35px}.hero-content>.eyebrow{font-size:9px;line-height:1.5;margin-bottom:26px;letter-spacing:.12em}.hero-content h1{font-size:clamp(59px,16.7vw,85px);letter-spacing:-3.5px;line-height:.96}.hero-description{margin-top:29px;max-width:none}.hero-description>p{font-size:25px;letter-spacing:-.65px;margin-bottom:14px}.hero-description>p br{display:none}.hero-description>span{font-size:12px;line-height:1.7}.hero-description .actions{margin-top:23px}.hero-description .actions .btn{font-size:10px;padding:13px 14px;min-height:48px}.cinematic-hero .hero-bottom{font-size:8px;letter-spacing:.05em;padding-top:18px;gap:15px}.cinematic-hero .hero-bottom>span{max-width:165px}.expertise-grid{grid-template-columns:1fr;gap:14px}.expertise-card{padding:26px;min-height:0}.expertise-card h3{font-size:33px;margin:29px 0 16px}.expertise-card p{font-size:15px}.expertise-card ul{font-size:13px;margin-bottom:25px}.expertise-card>a{font-size:13px}.film-toggle{right:19px;top:auto;bottom:65px;font-size:10px;padding:8px 10px}.cinematic-hero:before{width:100vw;height:100vw;right:-40vw;top:-5vw}}

.expertise-section .eyebrow{color:#505861}.contact-form h2{font-size:26px;letter-spacing:-.5px;line-height:1.25;margin-top:0}

/* Authentic photography and film. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cinematic-hero{min-height:750px;padding:68px 0 25px;background:#111e2c}
.cinematic-hero:before{display:none}
.cinematic-hero:after{z-index:-1;background:linear-gradient(90deg,#111e2c 0%,#111e2c 45%,#111e2cf0 51%,#111e2c00 72%)}
.video-stage{position:absolute;inset:0 0 0 auto;width:51%;z-index:-2;background:#20303c}
.hero-film{position:absolute;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-content{display:block;position:relative;padding-bottom:44px;pointer-events:none}
.hero-content>*,.hero-description{max-width:52%;pointer-events:auto}
.hero-content h1{font-size:clamp(70px,7.3vw,100px);letter-spacing:-4px}
.hero-description{margin-top:30px;width:490px}
.hero-description>p{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin-bottom:13px}
.hero-description>p br{display:none}
.hero-description>span{font-size:14px;color:#d0dbe5}
.hero-description .actions{margin-top:26px}
.film-toggle{z-index:2;top:22px;right:24px;bottom:auto;background:#101e2cf0;color:#fff;border:1px solid #c3cbd3;min-height:42px}
.film-caption{position:absolute;bottom:100px;right:25px;z-index:2;color:#fff;font-size:10px;letter-spacing:.18em;background:#0c192ddd;padding:10px 14px}
.cinematic-hero .hero-bottom{position:relative;border-color:#8f9ba4;color:#d7e1e9}
.selected-work .section-head>div:last-child{max-width:360px}
.selected-work .text-link{display:inline-block;margin-top:20px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-card{min-width:0}
.project-image{display:block;position:relative;overflow:hidden;background:#dfe4e6;aspect-ratio:4/5}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.project-image:hover img{transform:scale(1.035)}
.image-expand{position:absolute;right:15px;bottom:15px;background:#fff;color:#132232;width:38px;height:38px;display:grid;place-content:center;font-size:23px}
.project-caption{border-bottom:1px solid var(--line);padding:22px 0 25px}
.project-caption>span{display:block;font-size:10px;font-weight:bold;letter-spacing:.13em;color:#59616a;text-transform:uppercase}
.project-caption h3{font-size:23px;font-weight:500;margin:10px 0 14px}
.project-caption>a{font-size:12px;text-decoration:none;color:#155785;font-weight:bold}
.project-caption>a:hover{text-decoration:underline}
.selected-work .project-card:nth-child(2){padding-top:65px}
.company-intro{background:#f1f1ee}
.gallery-intro .eyebrow{color:#cad5df}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}
.gallery-filters button{font-size:13px;background:#fff;color:#273846;border:1px solid #9aa5ad;padding:12px 17px;cursor:pointer;min-height:44px}
.gallery-filters button[aria-pressed=true]{background:#142b40;color:#fff;border-color:#142b40}
.gallery-status{margin:24px 0;color:#4b5660}
.project-card[hidden]{display:none}
.full-gallery{row-gap:45px}
.service-photos{margin:55px 0}
.service-photos .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-photos .project-caption h3{font-size:19px}
.service-photos>.text-link{display:inline-block;margin-top:25px}
.work-video{margin:40px 0;background:#ecf0f2;max-width:480px}
.work-video video{width:100%;height:auto;max-height:650px;display:block;background:#14202a}
.work-video figcaption{font-size:13px;padding:16px 20px;color:#364450}
.field-film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;margin-top:110px;padding-top:65px;border-top:1px solid var(--line)}
.field-film p{color:var(--muted);max-width:400px}
.lightbox{border:0;padding:60px 35px 20px;background:#101a24;color:#fff;width:min(1100px,96vw);max-height:95dvh;overflow:auto}
.lightbox::backdrop{background:#000d}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center}
.lightbox figure img{max-height:70dvh;width:auto;object-fit:contain}
.lightbox figcaption{font-size:14px;padding:15px;text-align:center}
.lightbox button{background:#243a4d;border:1px solid #8f9ca7;color:white;padding:10px 18px;cursor:pointer;min-height:44px;font-size:13px}
.lightbox-close{position:absolute;top:10px;right:16px}
.lightbox-controls{display:flex;justify-content:space-between;gap:20px}
@media(min-width:1500px){.video-stage{width:48%}.hero-content h1{font-size:104px}}
@media(max-width:1000px){.hero-content h1{font-size:80px}.hero-content>*,.hero-description{max-width:55%}.project-grid{gap:20px}.hero-description .actions{max-width:350px}.field-film{gap:50px}}
@media(max-width:720px){
 .cinematic-hero{min-height:730px;padding-top:45px;padding-bottom:25px}
 .video-stage{width:100%;z-index:-2}
 .hero-film{object-position:60% center;opacity:.76}
 .cinematic-hero:after{background:linear-gradient(90deg,#102132ee 0%,#102132c4 48%,#10213272 100%),linear-gradient(0deg,#102132 0%,#10213200 65%)}
 .hero-content>*,.hero-description{max-width:100%}
 .hero-content{padding-top:34px;padding-bottom:35px}
 .hero-content>.eyebrow{max-width:235px;margin-bottom:27px;color:#eef3f6}
 .hero-content h1{font-size:clamp(63px,17vw,88px);line-height:.96;letter-spacing:-3px}
 .hero-content h1>span{color:#b5d3e9}
 .hero-description{margin-top:27px;width:auto;max-width:360px}
 .hero-description>p{font-size:24px;max-width:280px}
 .hero-description>span{color:#e5edf4;font-size:13px}
 .hero-description .actions{margin-top:25px;gap:9px}
 .hero-description .actions .btn{font-size:10px;min-height:49px}
 .film-toggle{right:19px;top:14px;font-size:10px;min-height:35px;padding:7px 11px}
 .film-caption{display:none}
 .cinematic-hero .hero-bottom{font-size:8px;padding-top:20px}
 .project-grid,.service-photos .project-grid{grid-template-columns:1fr;gap:34px}
 .project-image{aspect-ratio:5/4}
 .project-image img{object-position:center 43%}
 .selected-work .project-card:nth-child(2){padding-top:0}
 .project-caption{padding:18px 0 22px}
 .project-caption h3{font-size:25px}
 .full-gallery .project-image{aspect-ratio:4/5}
 .gallery-filters{gap:7px}.gallery-filters button{padding:10px 13px;font-size:12px}
 .field-film{display:block;margin-top:60px;padding-top:45px}
 .work-video{margin-top:30px}.lightbox{padding:60px 12px 16px;width:96vw}.lightbox figure img{max-height:65dvh}
}

.cinematic-hero:after{pointer-events:none}

/* Keep the company label readable on the project section's pale background. */
.company-intro .eyebrow{color:#505861}

/* Visible social access and company portrait. */
.top .wrap{align-items:center;padding:3px 0}.header-socials{display:flex;gap:5px;align-items:center}.header-socials a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#263c50;border-radius:3px}.header-socials a:hover{background:#edf1f4;color:#a32d28}.header-socials svg{width:17px;height:17px}.follow-section{padding:38px 0;background:#edf1f3;border-top:1px solid #dce2e6;border-bottom:1px solid #dce2e6}.follow-section>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.follow-section .eyebrow{margin-bottom:8px;color:#505861}.follow-section h2{font-size:32px;font-weight:500;letter-spacing:-1px;margin:0}.follow-section p{font-size:14px;color:#526273;margin:8px 0 0}.follow-section .social-links a{color:#19364e;border-color:#aab7c1;font-size:12px;min-height:44px;background:#fff}.follow-section .social-links a:hover{background:#dbe6ed}.follow-section .social-links a>span:last-child{color:#19364e}.founder-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:center;margin-bottom:55px}.founder-profile figure{margin:0}.founder-profile img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.founder-profile figcaption{font-size:12px;padding-top:10px;color:#526273}.founder-profile .eyebrow{color:#505861}.founder-profile h2{margin-top:0;font-size:38px}.founder-profile .founder-role{color:#19364e;font-weight:bold;font-size:14px}
@media(max-width:900px){.follow-section>.wrap{display:block}.follow-section .social-links{margin-top:22px}.founder-profile{grid-template-columns:1fr}.founder-profile figure{max-width:420px}}
@media(max-width:720px){.top .wrap{width:calc(100% - 38px);padding:2px 0;gap:8px}.top .wrap>span{font-size:8px;letter-spacing:.03em}.header-socials{gap:0}.header-socials a{width:36px;height:40px}.header-socials svg{width:16px;height:16px}.follow-section{padding:30px 0}.follow-section h2{font-size:29px}.follow-section .social-links a{padding:10px 12px}.founder-profile{gap:22px}}
