@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2?v=20261103b') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#102d43;background:#fff;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}::selection{background:#d8e7f8;color:#102d43}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #08738c;outline-offset:5px}a:hover{text-decoration:underline}img{display:block;width:100%;height:auto}figure{margin:0}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;line-height:1.13;letter-spacing:-.04em;text-wrap:balance}h1{font-size:clamp(2.9rem,5.1vw,5.1rem)}h2{font-size:clamp(2rem,3.3vw,3.2rem)}h3{font-size:1.25rem;letter-spacing:-.025em}p{max-width:68ch;margin:0 0 1.25rem}p:last-child{margin-bottom:0}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.topbar{background:#eef5f7;font-size:12px;font-weight:550;letter-spacing:.01em}.topbar>.wrap{display:flex;justify-content:space-between;gap:20px;padding-block:9px}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e3ebef}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:108px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;line-height:1;text-decoration:none!important}.brand-first{position:relative;font-size:64px;font-weight:800;letter-spacing:-.08em;line-height:.95;padding:0 9px 4px 0}.brand-line{display:block;position:absolute;height:4px;background:#f4bd27;width:100%;bottom:-4px;left:0;transform:skewX(-20deg)}.brand-name{font-size:19px;font-weight:800;letter-spacing:.035em}.brand-name>span{display:block;font-size:12px;letter-spacing:.36em;margin-top:8px}.header nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:650}.header nav a{padding-block:10px;border-bottom:2px solid transparent}.header nav a[aria-current]{border-bottom-color:#245fa7}.header-call{padding-left:26px;border-left:1px solid #d4e1e7;font-size:18px;font-weight:750;line-height:1.4;white-space:nowrap}.header-call>span{display:block;font-size:11px;font-weight:500;color:#506a7c}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:54px;padding-block:64px 72px;align-items:center}.hero h1{margin-bottom:28px;line-height:1.08;font-weight:650}.hero h1>span{color:#35677c}.hero-copy>p{font-size:17px;line-height:1.8;max-width:420px;color:#466070}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;background:#102d43;color:#fff;font-size:13px;font-weight:650;padding:17px 23px;min-height:52px;transition:background .2s}.button:hover{background:#20546d;text-decoration:none}.button>span{font-size:23px;line-height:1;color:#ffda2b}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:750;border-bottom:1px solid #7b9da9;padding-block:6px}.text-link:hover{text-decoration:none;border-bottom-color:#102d43}.text-link>span{font-size:19px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:46px;font-size:12px;font-weight:550;color:#506a7c}.note-rule{width:28px;height:2px;background:#f4bd27}.hero-photo{position:relative;padding-bottom:25px}.hero-photo img{height:515px;object-fit:cover;object-position:45% center}.hero-photo:after{content:'';display:block;width:73px;height:6px;background:#f4bd27;position:absolute;right:0;bottom:22px}.hero-photo figcaption{padding-top:12px;font-size:11px;color:#526e7b}.sectors{background:#102d43;color:#fff}.sectors>.wrap{display:grid;grid-template-columns:repeat(3,1fr)}.sectors a{display:grid;grid-template-columns:1fr 25px;align-items:center;padding:34px 36px;border-left:1px solid #355063;transition:background .2s}.sectors a:first-child{padding-left:0;border:0}.sectors a:last-child{padding-right:0}.sectors a:hover{background:#183d55;text-decoration:none}.sectors a>span:first-child{font-size:25px;font-weight:600;line-height:1.4;letter-spacing:-.03em}.sectors a>span:nth-child(2){grid-row:2;font-size:12px;color:#bcd0db;margin-top:5px}.sectors b{grid-area:1/2/3/3;font-size:23px;color:#ffda2b;font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.intro{padding-block:112px}.intro h2{max-width:480px}.lead{font-size:21px;line-height:1.6;letter-spacing:-.02em;color:#163c52}.intro p:not(.lead){color:#4c6574;font-size:15px}.intro .text-link{margin-top:10px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}.section-head>p{max-width:365px;font-size:15px;color:#4c6574}.photo-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;align-items:start}.photo-pair figure:nth-child(2){margin-top:77px}.photo-pair img{height:360px;object-fit:cover}.photo-pair figure:nth-child(2) img{height:300px}.photo-pair figcaption{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d8e2e7;padding:16px 0;font-size:14px;font-weight:650}.photo-pair figcaption span:last-child{font-size:11px;font-weight:500;color:#506a7c}.work-preview{padding-bottom:110px}.services-home{background:#f1f6f7;padding-block:94px}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;border-top:1px solid #c4d6df;padding-top:30px}.service-list h3{font-size:18px;margin-bottom:18px}.service-list ul{list-style:none;padding:0;margin:0;font-size:13px;color:#4c6574}.service-list li{padding-block:6px}.services-home .text-link{margin-top:35px}.contact-band{background:#e9f0f8;padding-block:65px;color:#102d43}.contact-band>.wrap{display:flex;justify-content:space-between;align-items:center;gap:60px}.contact-band h2{font-size:clamp(2rem,3.2vw,3rem)}.big-call{display:flex;align-items:center;gap:42px;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:650;line-height:1.3;letter-spacing:-.04em}.big-call:hover{text-decoration:none}.email-link{display:block;margin-top:12px;font-size:14px;text-decoration:underline;text-underline-offset:6px}footer{background:#102d43;color:#d0e0e9;padding:64px 0 24px;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:52px}.footer-name{display:block;font-size:23px;font-weight:700;color:#fff;letter-spacing:-.04em;margin-bottom:15px}.footer-grid h3{font-size:13px;color:#fff;margin-bottom:16px;letter-spacing:0;font-weight:650}address{font-style:normal;line-height:1.8}.footer-bottom{display:flex;gap:32px;padding-top:22px;border-top:1px solid #345065;color:#a9c2d0;font-size:11px}.footer-bottom a:last-child{margin-left:auto}.page-heading{padding-block:75px 63px;border-bottom:1px solid #d5e2e8}.page-heading h1{max-width:950px;line-height:1.09;margin-bottom:25px}.page-heading p{max-width:580px;font-size:18px;color:#4c6574}.about-body{padding-block:80px 90px;gap:75px;align-items:center}.about-body img{height:560px;object-fit:cover}.about-body h2{font-size:30px;margin-bottom:25px}.about-body p:not(.lead){font-size:15px;color:#4c6574}.about-body .button{margin-top:12px}.approach{padding-bottom:100px}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid #cfdee5;margin-top:40px;padding-top:30px}.three-columns h3{margin-bottom:16px}.three-columns p{font-size:14px;color:#4c6574}.service-sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;padding-block:65px 70px}.service-sectors article{scroll-margin-top:135px}.service-sectors h2{font-size:26px;margin-bottom:20px}.service-sectors p{font-size:15px;color:#4c6574}.service-detail{padding-block:40px 75px}.service-photo{align-items:center;gap:85px;padding-bottom:90px}.service-photo img{height:390px;object-fit:cover}.service-photo h2{margin-bottom:22px}.service-photo p{color:#4c6574;font-size:15px}.service-photo .button{margin-top:14px}.portfolio-grid{padding-block:65px 90px;display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.portfolio-grid img{height:380px;object-fit:cover}.portfolio-grid figcaption{font-size:13px;color:#4c6574;padding-top:13px}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;padding-block:65px 100px}.contact-main h2{font-size:20px;letter-spacing:-.02em;margin-bottom:20px}.contact-main h2:not(:first-child){margin-top:52px}.contact-number{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.3;font-weight:650;letter-spacing:-.04em;display:flex;justify-content:space-between;max-width:490px;border-bottom:1px solid #bed4de;padding-bottom:15px;margin-bottom:16px}.contact-main p{font-size:14px;color:#4c6574}.contact-main p>a{text-decoration:underline}.contact-email{font-size:clamp(.95rem,1.5vw,1.4rem);font-weight:650;border-bottom:1px solid #bed4de;padding-bottom:15px;display:flex;justify-content:space-between;gap:15px;margin-bottom:17px;overflow-wrap:anywhere}.contact-layout aside{background:#eef5f7;padding:38px}.contact-layout aside h2{font-size:24px;margin-bottom:25px}.contact-layout aside address{font-size:15px;margin-bottom:25px}.contact-layout aside p{font-size:14px;color:#4c6574}.contact-layout aside .text-link{font-size:12px;margin-top:10px}.prose{max-width:850px;padding-block:65px 90px}.prose h2{font-size:26px;margin-block:40px 18px}.prose h2:first-child{margin-top:0}.prose p{color:#4c6574}.prose p a{text-decoration:underline}
@media(min-width:1100px){.hero-photo img{animation:photo-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes photo-in{from{clip-path:inset(0 0 10% 0)}to{clip-path:inset(0)}}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px}.header-call{font-size:16px;padding-left:20px}.nav-wrap{gap:22px}.brand-first{font-size:55px}.brand-name{font-size:16px}.brand-name>span{font-size:10px}.hero{gap:30px}.hero-photo img{height:490px}.hero-actions{gap:14px}.hero-actions .text-link{font-size:12px}.split{gap:55px}.service-list{gap:24px}.service-list h3{font-size:16px}.contact-layout{gap:45px}}
@media(max-width:900px){.header-call{display:none}.hero{padding-top:45px}.hero-photo img{height:470px}.hero h1{font-size:47px}.hero-copy>p{font-size:15px}.hero-note{font-size:11px;margin-top:28px}.hero-actions{margin-top:25px}.sectors a{padding-inline:23px}.sectors a>span:first-child{font-size:22px}.sectors a>span:nth-child(2){font-size:10px}.intro{padding-block:80px}.split{gap:40px}.lead{font-size:19px}.photo-pair img{height:300px}.photo-pair figure:nth-child(2) img{height:260px}.service-list{grid-template-columns:1fr 1fr;gap:30px}.service-list h3{font-size:18px}.contact-band>.wrap{gap:30px}.email-link{font-size:12px}.footer-grid{gap:30px}.about-body{gap:35px}.about-body img{height:520px}.portfolio-grid img{height:290px}.contact-layout{grid-template-columns:1.2fr 1fr;gap:30px}.contact-layout aside{padding:26px}.contact-layout aside h2{font-size:22px}.service-sectors{gap:30px}.contact-email{font-size:15px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.topbar>.wrap{justify-content:center;font-size:10px;padding-block:7px}.topbar a{display:none}.nav-wrap{height:84px;flex-wrap:wrap;gap:0}.brand-first{font-size:48px}.brand-name{font-size:15px}.brand-name>span{font-size:10px;margin-top:7px}.brand{gap:11px}.header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid #d5e2e8;padding:12px 20px 22px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 18px -14px #102d4366}.header nav.is-open{display:flex}.header nav a{padding:12px 0}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid #c7dbe3;padding:8px 12px;font-size:12px;font-weight:650;cursor:pointer}.menu-toggle>span{font-size:17px;line-height:1}.hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-block:39px 30px}.hero h1{font-size:clamp(39px,9.5vw,58px);margin-bottom:23px;line-height:1.08}.hero h1>span br{display:none}.hero-copy>p{font-size:15px;max-width:440px}.hero-actions{gap:19px;margin-top:25px}.hero-actions .text-link{font-size:11px}.button{padding:15px 18px;font-size:12px;gap:24px}.hero-note{margin-top:25px}.hero-photo{padding-bottom:24px}.hero-photo img{height:340px;object-position:center}.hero-photo figcaption{font-size:10px;padding-top:11px}.hero-photo:after{width:48px;height:4px;bottom:22px}.sectors>.wrap{grid-template-columns:1fr}.sectors a,.sectors a:first-child,.sectors a:last-child{border-left:0;border-bottom:1px solid #355063;padding:22px 0;grid-template-columns:1fr 25px}.sectors a:last-child{border-bottom:0}.sectors a>span:first-child{font-size:23px}.sectors a>span:nth-child(2){font-size:11px;margin-top:0}.sectors b{font-size:25px}.split{grid-template-columns:1fr;gap:27px}.intro{padding-block:65px}.intro h2{font-size:33px}.intro .lead{font-size:19px}.intro p:not(.lead){font-size:14px}.section-head{align-items:start;gap:24px;margin-bottom:28px;flex-direction:column}h2{font-size:33px}.section-head>p{font-size:14px}.section-head>.text-link{font-size:12px}.photo-pair{grid-template-columns:1fr;gap:30px}.photo-pair figure:nth-child(2){margin-top:0}.photo-pair img,.photo-pair figure:nth-child(2) img{height:290px}.photo-pair figcaption{font-size:13px;padding-block:12px}.photo-pair figcaption span:last-child{font-size:10px}.work-preview{padding-bottom:65px}.services-home{padding-block:60px}.service-list{gap:28px 18px;padding-top:25px}.service-list h3{font-size:16px;line-height:1.3;margin-bottom:10px;letter-spacing:-.02em}.service-list li{font-size:12px;line-height:1.7;padding-block:4px}.contact-band{padding-block:43px}.contact-band>.wrap{align-items:start;gap:28px;flex-direction:column}.contact-band h2{font-size:32px}.big-call{font-size:33px;gap:32px}.email-link{font-size:12px;margin-top:8px}footer{padding-top:42px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:34px}.footer-grid>div:first-child{grid-column:1/-1}.footer-name{font-size:23px;margin-bottom:10px}.footer-grid p,.footer-grid address{font-size:12px}.footer-grid h3{font-size:12px;margin-bottom:12px}.footer-bottom{font-size:10px;gap:20px;flex-wrap:wrap;padding-top:20px}.footer-bottom a:last-child{margin-left:auto}.page-heading{padding-block:45px 36px}.page-heading h1{font-size:clamp(37px,9.5vw,53px);margin-bottom:23px}.page-heading p{font-size:16px}.about-body{padding-block:40px 55px;gap:34px}.about-body img{height:340px}.about-body h2{font-size:29px}.about-body p:not(.lead){font-size:14px}.approach{padding-bottom:60px}.three-columns{grid-template-columns:1fr;gap:28px;margin-top:28px;padding-top:25px}.three-columns h3{font-size:21px;margin-bottom:12px}.service-sectors{grid-template-columns:1fr;padding-block:40px 30px;gap:30px}.service-sectors h2{font-size:25px;margin-bottom:15px}.service-sectors p{font-size:14px}.service-detail{padding-block:30px 50px}.service-photo{gap:30px;padding-bottom:60px}.service-photo img{height:290px}.portfolio-grid{padding-block:40px 55px;grid-template-columns:1fr;gap:30px}.portfolio-grid img{height:300px}.portfolio-grid figcaption{font-size:12px}.contact-layout{padding-block:40px 55px;grid-template-columns:1fr;gap:40px}.contact-main h2{font-size:19px}.contact-number{font-size:37px}.contact-email{font-size:15px}.contact-main h2:not(:first-child){margin-top:38px}.contact-layout aside{padding:27px}.contact-layout aside h2{font-size:25px}.prose{padding-block:40px 60px}.prose h2{font-size:24px}.prose p{font-size:14px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:36px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:13px;gap:16px}.hero-actions .text-link{gap:12px}.contact-email{font-size:13px}.contact-number{font-size:33px}.brand-first{font-size:43px}.brand-name{font-size:13px}.menu-toggle{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.brand-logo{width:290px;height:auto;max-width:100%}@media(max-width:1150px){.brand-logo{width:245px}}@media(max-width:900px){.brand-logo{width:230px}}@media(max-width:700px){.brand-logo{width:220px}}@media(max-width:370px){.brand-logo{width:185px}}
/* Version 2: finished-interior imagery and full-width homepage hero. */
.hero.hero-background{position:relative;isolation:isolate;display:block;padding:0;overflow:hidden;background:#102d43;color:#fff}
.hero-backdrop{position:absolute;inset:0;z-index:-2}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.hero-background:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,39,.92) 0%,rgba(8,25,39,.76) 32%,rgba(8,25,39,.25) 65%,rgba(8,25,39,.06) 100%)}
.hero-background .hero-content{min-height:670px;padding-block:70px;display:flex;align-items:center}
.hero-background .hero-copy{max-width:600px}.hero-background h1{font-size:clamp(3rem,4.6vw,4.6rem);color:#fff;line-height:1.08;margin-bottom:26px}.hero-background h1>span{color:#fff}
.hero-background .hero-copy>p{color:#e3edf2;max-width:440px;font-size:16px}.hero-background .hero-note{color:#e3edf2;margin-top:38px}.hero-background .note-rule{background:#ffda2b}
.hero-background .button{background:#ffda2b;color:#102d43}.hero-background .button>span{color:#102d43}.hero-background .button:hover{background:#ffe775}
.hero-background .text-link{color:#fff;border-color:#a7bac4}.hero-background a:focus-visible{outline-color:#ffda2b}
.contact-band{background:#102d43 url('/assets/ai-lighting-v1.webp?v=20261103d') center 54%/cover no-repeat;color:#fff;position:relative;isolation:isolate}
.contact-band:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,31,48,.94),rgba(10,31,48,.75) 60%,rgba(10,31,48,.64))}.contact-band .big-call>span{color:#ffda2b}.contact-band a:focus-visible{outline-color:#ffda2b}
@media(max-width:900px){.hero-background .hero-content{min-height:650px;padding-block:60px}.hero-background .hero-copy{max-width:520px}.hero-background h1{font-size:54px}.hero-background:after{background:linear-gradient(90deg,rgba(8,25,39,.93),rgba(8,25,39,.73) 55%,rgba(8,25,39,.28))}}
@media(max-width:700px){.hero-background .hero-content{min-height:660px;padding-block:48px 52px}.hero-background .hero-copy{max-width:440px}.hero-background h1{font-size:clamp(39px,9.5vw,54px);margin-bottom:23px}.hero-background .hero-copy>p{font-size:15px;color:#edf2f5}.hero-background .hero-note{font-size:11px;margin-top:30px}.hero-background .hero-actions{gap:19px;margin-top:27px}.hero-backdrop img{object-position:64% center}.hero-background:after{background:linear-gradient(90deg,rgba(8,25,39,.91),rgba(8,25,39,.72))}.contact-band{background-position:66% center}.contact-band:before{background:rgba(10,31,48,.85)}}

.outdoor-feature{position:relative;isolation:isolate;display:flex;align-items:center;min-height:430px;color:#fff;background:#102d43 url('/assets/ai-driveway-v1.webp?v=20261103d') center 58%/cover no-repeat}.outdoor-feature:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,39,.84),rgba(8,25,39,.55) 45%,rgba(8,25,39,.08))}.outdoor-feature .wrap{padding-block:65px}.outdoor-feature h2{font-size:clamp(2.1rem,3.6vw,3.5rem);max-width:560px;margin-bottom:24px}.outdoor-feature p{font-size:16px;max-width:370px;color:#edf2f5}.outdoor-feature .text-link{color:#fff;border-color:#9db0bc;margin-top:9px}.outdoor-feature .text-link>span{color:#ffda2b}.outdoor-feature a:focus-visible{outline-color:#ffda2b}
@media(max-width:700px){.outdoor-feature{min-height:430px;background-position:58% center}.outdoor-feature:before{background:linear-gradient(90deg,rgba(8,25,39,.87),rgba(8,25,39,.50))}.outdoor-feature .wrap{padding-block:55px}.outdoor-feature h2{font-size:33px}.outdoor-feature p{font-size:14px;max-width:270px}}

/* Draw UI icons consistently, without platform-dependent text/emoji glyphs. */
.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.menu-toggle .ui-icon{width:18px;height:18px}.footer-bottom .ui-icon{width:12px;height:12px;margin-left:3px}
