@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142438;--navy:#0b1d30;--blue:#1e4df3;--blue-2:#1e4df3;--paper:#fff;--mist:#f3f6f8;--line:#dce3e9;--muted:#526172;--wrap:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 16px/1.65 Manrope,Arial,sans-serif;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.9rem,6vw,5.7rem);font-weight:800}h2{font-size:clamp(2rem,3.7vw,3.35rem);font-weight:800}h3{font-size:1.28rem;font-weight:800}p{margin-bottom:1.3rem}.wrap{max-width:var(--wrap);margin:auto;padding-inline:28px}.eyebrow{font:700 .78rem/1.4 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:1.4rem}.lead{font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.7;color:var(--muted)}.muted{color:var(--muted)}.skip{position:absolute;top:-80px;left:12px;background:#fff;padding:12px;z-index:50}.skip:focus{top:12px}:focus-visible{outline:3px solid #54a9ff;outline-offset:3px}
.topline{background:#071522;color:#d5e3f1;font-size:.78rem;font-weight:600;letter-spacing:.02em}.topline .wrap{display:flex;align-items:center;justify-content:space-between;min-height:36px}.topline a:hover{text-decoration:underline}.site-header{background:var(--navy);color:#fff;border-bottom:1px solid #314357;position:relative;z-index:20}.header-inner{display:flex;align-items:center;gap:24px;min-height:88px}.brand{width:160px;flex:none}.brand img{width:160px;height:auto}.desktop-nav{display:flex;gap:22px;margin-left:auto;align-items:center}.desktop-nav a{font-size:.86rem;font-weight:700;color:#e0ebf4;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:#8cc3ff}.header-cta{white-space:nowrap;background:var(--blue);color:#fff;font-weight:700;font-size:.84rem;padding:13px 16px}.header-cta:hover,.btn-blue:hover{background:#183cc6}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;font-weight:700}.mobile-nav summary::-webkit-details-marker{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;min-height:52px;font-weight:700;font-size:.91rem;line-height:1.35;transition:background .2s,color .2s,border-color .2s}.btn-blue{background:var(--blue);color:#fff}.btn-outline{border:1px solid #98a7b6;color:var(--ink);background:transparent}.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:#fff}.btn-white-outline{border:1px solid #c7d8e7;color:#fff}.btn-white-outline:hover{background:#fff;color:var(--ink)}.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:#e5f0fb}.btn-dark-outline{border:1px solid #8faac0;color:#fff}.btn-dark-outline:hover{background:#fff;color:var(--navy)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.text-link{font-weight:800;color:var(--blue);display:inline-block;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link:hover{color:#15477f}
.home-hero{position:relative;min-height:650px;color:#fff;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,19,34,.97) 0%,rgba(5,19,34,.83) 45%,rgba(5,19,34,.18) 100%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 56%}.hero-content{position:relative;min-height:650px;display:flex;align-items:center;justify-content:space-between;gap:5vw;padding-block:94px}.hero-text{max-width:710px}.home-hero h1{font-size:clamp(3.15rem,6.6vw,6.5rem);margin-bottom:27px}.home-hero .eyebrow{color:#9ccbff}.hero-text>p:not(.eyebrow){font-size:1.22rem;line-height:1.65;max-width:560px;color:#e2ebf4;margin-bottom:32px}.hero-note{align-self:flex-end;width:230px;flex:none;border-top:2px solid #a9c9ee;padding-top:18px;color:#e0e8ee}.hero-note span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero-note strong{display:block;font:800 1.45rem/1.2 Manrope,sans-serif;margin:10px 0}.hero-note p{font-size:.84rem;line-height:1.5;margin:0}.trust-strip{background:#eaf0f5;border-bottom:1px solid var(--line)}.trust-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.trust-strip span{font-size:.83rem;line-height:1.3;font-weight:800;padding:22px 18px 22px 0;border-right:1px solid #cdd9e4;margin-right:22px}.trust-strip span:last-child{border:0;margin:0}
.section{padding:100px 0}.section.tinted{background:var(--mist)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}.section-head>div{max-width:690px}.section-head h2{margin:0}.section-head>p{max-width:370px;color:var(--muted);margin:0 0 7px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(7,31,57,.1)}.service-card>img{width:100%;height:220px;object-fit:cover}.service-card .card-copy{padding:24px 25px 28px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.service-card .eyebrow{font-size:.66rem;margin-bottom:11px}.service-card h3{font-size:1.32rem;margin:0 0 9px}.service-card p{font-size:.91rem;color:var(--muted);margin-bottom:25px;line-height:1.55}.service-card .text-link{font-size:.82rem;margin-top:auto}.service-card.compact>img{height:170px}.section-link{text-align:right;margin-top:26px}.section-link a{font-weight:800;color:var(--blue);border-bottom:1px solid}.feature-band{background:#e9eff4}.feature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0}.feature-image{margin-left:calc((min(100vw,var(--wrap)) - 100vw)/2);min-height:530px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:90px 6% 90px 12%;align-self:center}.feature-copy p{max-width:500px;color:var(--muted)}.check-list{list-style:none;padding:0;margin:25px 0 32px}.check-list li{padding:9px 0;border-bottom:1px solid #cedae4;font-weight:700}.check-list li:before{content:'✓';color:var(--blue);margin-right:12px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line)}.process-grid>div{padding:29px 20px 0 0}.process-grid span{font-size:.73rem;color:var(--blue);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.process-grid h3{margin:18px 0 10px}.process-grid p{font-size:.91rem;color:var(--muted);max-width:310px}.proof{background:var(--navy);color:#fff;padding:95px 0}.proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.proof .eyebrow{color:#91c2ff}.proof p:not(.eyebrow){color:#c3d2e0}.proof .text-link{color:#9acaff}.proof-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.proof-photos img{width:100%;height:310px;object-fit:cover}.proof-photos img:last-child{margin-top:28px}.location-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 36px;border:1px solid var(--line);background:var(--mist)}.location-panel strong{font:800 1.35rem Manrope,sans-serif}.location-panel p{margin:7px 0 0;color:var(--muted)}
.intro{background:#f2f5f8}.intro-grid{display:grid;grid-template-columns:1fr .88fr;min-height:510px;align-items:stretch;gap:55px}.intro-copy{padding-block:95px;align-self:center}.intro h1{font-size:clamp(2.8rem,5vw,5rem);margin-bottom:24px}.intro .lead{max-width:650px;margin-bottom:32px}.intro-image{margin-right:calc((min(100vw,var(--wrap)) - 100vw)/2);min-height:460px}.intro-image img{width:100%;height:100%;object-fit:cover}.split{display:grid;grid-template-columns:.78fr 1fr;gap:10%;align-items:start}.split>div:first-child p{max-width:500px}.audience{border-left:3px solid var(--blue);padding-left:20px;margin-top:30px;color:var(--muted)}.audience strong{color:var(--ink)}.scope-list{border-top:1px solid var(--line)}.scope-list>div{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-weight:600}.check{color:var(--blue);font-weight:800}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.editorial-grid p{max-width:570px;color:var(--muted)}.editorial-grid img{width:100%;max-height:540px;object-fit:cover}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line);padding:22px 0}.faqs summary{list-style:none;cursor:pointer;font-weight:800;font-family:Manrope,sans-serif;padding-right:20px;position:relative}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:0;top:0;color:var(--blue)}.faqs details[open] summary:after{content:'−'}.faqs p{color:var(--muted);margin:15px 0 0}.cta{background:#123b67;color:#fff;padding:80px 0}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta .eyebrow{color:#aad3ff}.cta h2{max-width:700px}.cta p:not(.eyebrow){color:#d7e6f7;max-width:550px;margin-bottom:0}.cta .button-row{flex:none}
.estimate{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.estimate ul{padding-left:20px;color:var(--muted)}.estimate-form{display:grid;gap:20px;padding:36px;border:1px solid var(--line);background:var(--mist)}.estimate-form label{display:flex;gap:10px;align-items:center;font-weight:700}.estimate-form label:first-child{justify-content:space-between}.estimate-form input[type=number]{width:100px;padding:10px;border:1px solid #a8b6c4;background:#fff}.estimate-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue)}.estimate-form select{padding:12px;border:1px solid #a8b6c4;background:#fff;color:var(--ink)}.estimate-form output{font:800 1.3rem Manrope,sans-serif;border-top:1px solid var(--line);padding-top:20px}
.city-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.city-list span{border-bottom:1px solid var(--line);padding:14px 0;font-weight:800}.contact-intro{background:var(--navy);color:#fff;padding:95px 0}.contact-intro .eyebrow{color:#91c2ff}.contact-intro h1{max-width:850px}.contact-intro p:not(.eyebrow){font-size:1.15rem;color:#d0dbe5;max-width:650px}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.contact-info>p{color:var(--muted)}.contact-method{padding:22px 0;border-bottom:1px solid var(--line)}.contact-method span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.73rem;font-weight:800}.contact-method a,.contact-method strong{font:800 1.2rem Manrope,sans-serif}.contact-info .text-link{margin-top:30px}.quote-form{background:var(--mist);border:1px solid var(--line);padding:36px;display:grid;gap:19px}.quote-form h2{font-size:2rem;margin-bottom:0}.quote-form>p{margin:0;color:var(--muted)}.quote-form label{display:block;font-size:.86rem;font-weight:800}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #a9b6c3;background:#fff;color:var(--ink);border-radius:0}.quote-form button{justify-self:start;border:0}.quote-form .form-note{font-size:.84rem}.quote-form .form-note a{text-decoration:underline}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;min-height:290px}.article-card:hover{box-shadow:0 12px 30px #172d461c}.article-card .eyebrow{font-size:.68rem}.article-card h2{font-size:1.55rem}.article-card p{color:var(--muted)}.article-card .text-link{margin-top:auto;align-self:flex-start}.article-intro{background:var(--mist);padding:75px 0}.article-intro .wrap{max-width:960px}.article-intro h1{font-size:clamp(2.6rem,5vw,4.5rem)}.back-link{display:inline-block;margin-bottom:40px;font-weight:700;color:var(--blue)}.article-body{max-width:920px;padding-top:70px;padding-bottom:100px}.article-body section{margin-bottom:46px}.article-body h2{font-size:1.7rem}.article-body p{color:var(--muted);font-size:1.09rem}.article-callout{background:var(--mist);padding:35px;margin-top:60px}.article-callout h2{font-size:1.8rem}.simple-message{padding-block:100px;min-height:430px}.simple-message p{max-width:560px;color:var(--muted)}
.site-footer{background:#081827;color:#d2dfec;padding:73px 0 0}.footer-grid{display:grid;grid-template-columns:1.55fr .7fr 1.1fr .9fr;gap:6%}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{width:175px;height:auto;margin-bottom:10px}.footer-grid p{font-size:.85rem;max-width:330px;color:#aabed1}.footer-grid h2{font-size:.91rem;letter-spacing:.04em;color:#fff;margin:0 0 20px}.footer-grid a{font-size:.84rem;line-height:1.6;margin-bottom:9px}.footer-grid a:hover{color:#9dc8fb}.footer-bottom{border-top:1px solid #314458;margin-top:65px;padding-block:20px;display:flex;justify-content:space-between;gap:20px;color:#91a6b8;font-size:.78rem}
@media(max-width:1120px){.desktop-nav{gap:13px}.desktop-nav a{font-size:.78rem}.header-cta{font-size:.78rem}.brand,.brand img{width:140px}.header-inner{gap:15px}}
@media(max-width:920px){.desktop-nav,.header-cta{display:none}.mobile-nav{display:block;margin-left:auto;position:relative}.mobile-nav summary{padding:12px 0}.mobile-nav summary span{margin-left:10px}.mobile-nav nav{position:absolute;right:-28px;top:53px;width:min(340px,100vw);background:#fff;color:var(--ink);padding:16px 28px 26px;box-shadow:0 16px 30px #122d4530;display:flex;flex-direction:column}.mobile-nav nav a{padding:9px 0;border-bottom:1px solid var(--line);font-weight:700}.mobile-nav .mobile-quote{background:var(--blue);color:#fff;text-align:center;border:0;margin-top:14px}.hero-note{display:none}.trust-strip .wrap{grid-template-columns:repeat(2,1fr)}.trust-strip span:nth-child(2){border:0}.card-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.feature-copy{padding-left:8%}.section-head,.cta-inner{align-items:start;flex-direction:column;gap:20px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:40px}.intro-grid{grid-template-columns:1fr .7fr;gap:25px}.intro-image{margin-right:-28px}}
@media(max-width:680px){body{font-size:16px}.wrap{padding-inline:20px}.topline .wrap{min-height:34px}.topline span{display:none}.topline a{margin-left:auto}.header-inner{min-height:72px}.brand,.brand img{width:128px}.mobile-nav nav{right:-20px;top:46px}.home-hero,.hero-content{min-height:610px}.hero-content{padding-block:75px}.hero-photo img{object-position:68% 50%}.hero-photo:after{background:linear-gradient(90deg,rgba(5,19,34,.94),rgba(5,19,34,.66))}.home-hero h1{font-size:clamp(2.85rem,10.5vw,4.7rem)}.hero-text>p:not(.eyebrow){font-size:1.04rem}.btn{padding:13px 17px;min-height:49px}.trust-strip span{font-size:.73rem;padding:14px 8px 14px 0;margin-right:10px}.section,.proof{padding:70px 0}.section-head{margin-bottom:25px}.section-head h2{font-size:2.2rem}.card-grid,.article-grid{grid-template-columns:1fr}.service-card>img{height:230px}.feature-grid,.proof-grid,.intro-grid,.split,.editorial-grid,.faq-grid,.estimate,.contact-grid{grid-template-columns:1fr;gap:32px}.feature-image{margin:0 -20px;min-height:310px}.feature-copy{padding:45px 0 65px}.proof-photos img{height:220px}.intro-copy{padding-block:65px 10px}.intro h1{font-size:clamp(2.7rem,10vw,4rem)}.intro-image{margin:0 -20px;min-height:280px;height:320px}.intro-image img{object-position:center}.process-grid{grid-template-columns:1fr;gap:0}.process-grid>div{padding:24px 0;border-bottom:1px solid var(--line)}.process-grid h3{margin:9px 0}.cta{padding:65px 0}.cta-inner .button-row{flex-wrap:wrap}.editorial-grid img{max-height:330px}.location-panel{align-items:flex-start;flex-direction:column;padding:25px}.form-row{grid-template-columns:1fr}.quote-form{padding:23px}.contact-intro{padding:75px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;margin-top:45px}.article-intro{padding:65px 0}.article-body{padding-top:60px;padding-bottom:75px}}
@media(max-width:380px){.button-row .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.city-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Review refinement: compact editorial hero and full service navigation. */
.site-header .header-cta{border:0;font-family:Manrope,sans-serif;cursor:pointer}.services-menu{align-self:stretch;display:flex;align-items:center}.services-menu summary{list-style:none;cursor:pointer;font-size:.86rem;font-weight:700;color:#e0ebf4;white-space:nowrap}.services-menu summary::-webkit-details-marker,.mobile-services summary::-webkit-details-marker{display:none}.services-menu summary span{font-size:1rem;margin-left:4px;color:#8cb8e3}.services-menu[open] summary,.services-menu summary:hover{color:#8cc3ff}.services-dropdown{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;color:var(--ink);box-shadow:0 18px 35px #0a20383b;border-top:2px solid var(--blue);padding:27px max(28px,calc((100vw - var(--wrap))/2 + 28px)) 31px}.dropdown-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:12px}.dropdown-head strong{font:800 1.2rem Manrope,sans-serif}.desktop-nav .dropdown-head a{color:var(--blue);font-size:.79rem}.dropdown-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}.desktop-nav .dropdown-links a{color:var(--ink);font-size:.88rem;padding:10px 0;border-bottom:1px solid #e7edf2;white-space:normal}.desktop-nav .dropdown-links a:hover{color:var(--blue);border-color:var(--blue)}.mobile-services summary{cursor:pointer;list-style:none;padding:9px 0;border-bottom:1px solid var(--line);font-weight:700}.mobile-services summary span{float:right}.mobile-services>div{display:grid;grid-template-columns:1fr 1fr;column-gap:13px;padding:7px 0}.mobile-nav .mobile-services>div a{font-size:.78rem;font-weight:600}.mobile-nav .mobile-quote{display:block;width:100%;border:0;padding:12px;font-weight:800;margin-top:18px}
.home-hero{background:#edf2f5;color:var(--ink);min-height:0;overflow:visible}.hero-content{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;min-height:0;padding-block:72px 74px}.hero-text{max-width:675px}.home-hero h1{font-size:clamp(3rem,5.2vw,5.7rem);line-height:1.08;max-width:730px;letter-spacing:-.047em;margin:0 0 24px}.home-hero .eyebrow{color:var(--blue);margin-bottom:23px}.hero-text>p:not(.eyebrow){color:#4b5e6d;font-size:1.15rem;max-width:550px;margin-bottom:31px}.hero-footnote{margin-top:52px;padding-top:18px;border-top:1px solid #c8d5df;color:#41566a;font-size:.78rem;font-weight:800;letter-spacing:.015em}.hero-footnote span{color:#9badbd;margin:0 9px}.hero-visual{height:515px;max-width:490px;width:100%;position:relative;align-self:center;margin-left:auto}.hero-primary-photo{position:absolute;right:0;top:0;width:75%;height:88%;overflow:hidden}.hero-primary-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-secondary-photo{position:absolute;left:0;bottom:0;width:53%;height:42%;overflow:hidden;border:8px solid #edf2f5;background:#fff}.hero-secondary-photo img{width:100%;height:100%;object-fit:cover}.hero-caption{position:absolute;right:0;bottom:10px;width:42%;text-align:right;text-transform:uppercase;font-size:.65rem;line-height:1.5;font-weight:800;letter-spacing:.12em;color:#526677}.home-hero .btn-outline{border-color:#a1b3c3}.service-card>img{height:175px}.service-card.compact>img{height:145px}.feature-image{min-height:430px}.proof-photos img{height:240px}.intro-image{min-height:410px}.intro-grid{min-height:465px}.intro-copy{padding-block:72px}
.mobile-quote-bar{display:none}
.quote-dialog{position:fixed;inset:0;border:0;padding:0;width:min(630px,calc(100% - 28px));max-height:min(90vh,850px);box-shadow:0 35px 90px #071b3290;background:#fff;color:var(--ink);overflow:auto}.quote-dialog::backdrop{background:#071727c9;backdrop-filter:blur(3px)}.quote-dialog form{margin:0}.quote-head{display:flex;justify-content:space-between;gap:24px;padding:25px 30px 17px;border-bottom:1px solid var(--line)}.quote-head .eyebrow{display:block;font-size:.64rem;margin:0 0 6px}.quote-head h2{font-size:1.55rem;margin:0 0 4px}.quote-head p{font-size:.87rem;color:var(--muted);margin:0}.quote-close{border:0;background:#eef2f5;color:var(--ink);font-size:1.7rem;line-height:1;width:39px;height:39px;flex:none}.quote-close:hover{background:#d9e4ec}.quote-progress{display:flex;gap:5px;padding:15px 30px 0}.quote-progress span{height:3px;background:#dce7ef;flex:1}.quote-progress span.active{background:var(--blue)}.quote-body{padding:22px 30px 32px}.quote-step[hidden],[hidden]{display:none!important}.quote-choices{display:grid;gap:10px}.quote-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line);background:#fff;padding:16px 52px 17px 17px;cursor:pointer}.quote-choice:hover,.quote-choice:focus-visible{border-color:var(--blue);background:#f4f9fd}.quote-choice strong{font:800 1rem Manrope,sans-serif}.quote-choice small{font-size:.81rem;color:var(--muted)}.quote-choice span{position:absolute;right:18px;top:19px;color:var(--blue);font-size:1.2rem}.quote-back{background:none;border:0;padding:0;margin:0 0 20px;color:var(--blue);font-size:.84rem;font-weight:800}.quote-field{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:.82rem;margin-bottom:17px}.quote-field span{font-weight:400;color:var(--muted);font-size:.75rem;margin-top:-4px}.quote-field input,.quote-field select,.quote-field textarea{width:100%;border:1px solid #b2c2d0;background:#fff;color:var(--ink);padding:11px 12px;border-radius:0;font-size:.93rem}.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-options{display:grid;gap:8px}.quote-options label,.quote-check{display:flex;align-items:center;gap:10px;min-height:47px;border:1px solid var(--line);padding:10px 12px;font-size:.84rem;font-weight:700;cursor:pointer}.quote-options label:has(input:checked),.quote-check:has(input:checked){background:#edf5fc;border-color:#8bb5dc}.quote-options input,.quote-check input{accent-color:var(--blue);width:18px;height:18px;flex:none}.quote-options b{margin-left:auto;color:var(--blue)}.quote-check{flex-wrap:wrap;margin-bottom:17px}.quote-check small{flex-basis:100%;padding-left:28px;margin-top:-5px;color:var(--muted);font-weight:400}.quote-total{background:#eaf1f7;padding:17px;margin:20px 0;display:grid;gap:2px}.quote-total span,.quote-summary span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--muted)}.quote-total strong{font:800 1.65rem Manrope,sans-serif}.quote-total small{font-size:.72rem;color:var(--muted)}.quote-next,.quote-submit{width:100%;border:0}.quote-summary{background:#eaf1f7;padding:17px;margin-bottom:20px}.quote-summary strong{display:block;font:800 1rem Manrope,sans-serif;margin-top:7px}.quote-summary p{margin:2px 0 0;color:var(--blue);font-weight:800}.quote-fineprint{font-size:.77rem;color:var(--muted);text-align:center;margin:10px 0 0}.quote-preview-alert{font-size:.83rem;color:#9b4727;background:#fff1e9;padding:12px;margin:14px 0 0}
@media(max-width:1120px){.desktop-nav .dropdown-links a{font-size:.83rem}.services-menu summary{font-size:.78rem}.hero-content{gap:3%}}
@media(max-width:920px){.hero-content{grid-template-columns:1fr .75fr;gap:4%;padding-block:55px}.hero-visual{height:430px}.hero-footnote{margin-top:30px}.services-menu{display:none}}
@media(max-width:680px){body{padding-bottom:62px}.hero-content{display:flex;flex-direction:column;gap:32px;padding-block:55px 48px}.home-hero h1{font-size:clamp(2.65rem,10vw,4rem);max-width:540px}.hero-text>p:not(.eyebrow){font-size:1.02rem}.hero-footnote{margin-top:29px;line-height:1.6}.hero-visual{height:330px;max-width:430px;width:100%;margin:0}.hero-primary-photo{width:75%;height:93%}.hero-secondary-photo{width:51%;height:46%;border-width:6px}.hero-caption{display:none}.service-card>img{height:180px}.service-card.compact>img{height:165px}.feature-image{min-height:270px}.proof-photos img{height:185px}.intro-grid{min-height:0}.intro-image{min-height:260px}.intro-copy{padding-block:55px 12px}.mobile-quote-bar{position:fixed;bottom:0;left:0;right:0;z-index:19;display:grid;grid-template-columns:1.5fr 1fr;box-shadow:0 -7px 24px #0c2a402b;background:#fff;padding:9px 14px;gap:8px}.mobile-quote-bar button,.mobile-quote-bar a{display:grid;place-items:center;min-height:44px;border:0;font-size:.82rem;font-weight:800}.mobile-quote-bar button{background:var(--blue);color:#fff}.mobile-quote-bar a{border:1px solid #98a9b9}.quote-dialog{width:100%;max-height:100%;height:100dvh;margin:0;inset:0}.quote-head{padding:19px 20px 13px}.quote-body{padding:20px}.quote-progress{padding-inline:20px}.quote-row{grid-template-columns:1fr;gap:0}.quote-dialog:modal{top:0;left:0}}

/* Motion-led home: original project footage, a real J&A work image, and a stronger editorial rhythm. */
.home-hero{min-height:660px;background:#061725;color:#fff;overflow:hidden;isolation:isolate}.hero-film{position:absolute;inset:0 31% 0 0;z-index:-2;background:#142f42 url('/images/post-construction-cleaning.webp') center/cover}.hero-film video{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75)}.hero-film:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,30,.95) 0%,rgba(5,21,36,.85) 47%,rgba(5,21,36,.53) 100%),linear-gradient(0deg,rgba(4,15,27,.5),transparent 45%)}.hero-crew{position:absolute;right:0;top:0;bottom:0;width:31%;border-left:4px solid #1e4df3;overflow:hidden;z-index:-1;background:#132739}.hero-crew img{width:100%;height:100%;object-fit:cover;object-position:50% 31%;filter:saturate(.84) contrast(1.06)}.hero-crew:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(3,16,30,.81),transparent)}.hero-crew>span{position:absolute;bottom:40px;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.14em;font:800 .74rem Manrope,sans-serif}.hero-crew b{font-size:1.4rem;color:#6db3ee}.hero-content{display:flex;align-items:center;min-height:660px;padding-block:96px 113px}.hero-text{max-width:750px;width:67%}.home-hero .eyebrow{display:flex;align-items:center;gap:12px;color:#afdafb;font-size:.75rem;letter-spacing:.12em;margin-bottom:26px}.hero-kicker-line{display:inline-block;width:29px;height:2px;background:#67b6f4;flex:none}.home-hero h1{font-size:clamp(3.8rem,6.45vw,6.7rem);line-height:1.035;letter-spacing:-.055em;max-width:810px;margin-bottom:26px;text-wrap:balance}.home-hero h1 em{font-style:normal;color:#89c8ff}.hero-text>p:not(.eyebrow){font-size:1.22rem;max-width:580px;color:#e1edf6;margin-bottom:32px;line-height:1.55}.home-hero .btn-blue{background:#1e4df3}.home-hero .btn-blue:hover{background:#183cc6}.home-hero .btn-white-outline{border-color:#abc5d9}.hero-footnote{border-top:1px solid #ffffff52;color:#c7d8e5;display:flex;gap:22px;flex-wrap:wrap;margin-top:55px;padding-top:19px;font-size:.67rem;letter-spacing:.1em;line-height:1.5}.hero-footnote span{margin:0;color:inherit;white-space:nowrap}.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font:700 .59rem Manrope,sans-serif;letter-spacing:.19em;color:#cfdfeb}.hero-scroll span{display:inline-block;margin-left:9px;font-size:1rem;animation:scroll-bob 1.7s ease-in-out infinite}.trust-strip{background:#fff;border-bottom:1px solid #cddbe7}.trust-strip span{padding-top:25px;padding-bottom:25px;font-size:.79rem;font-weight:600;color:#496174}.trust-strip b{display:block;color:#102a43;font-size:1.03rem;letter-spacing:-.025em;line-height:1.45}
.home-hero .hero-text>*{animation:hero-enter .8s both}.home-hero .hero-text>:nth-child(2){animation-delay:.12s}.home-hero .hero-text>:nth-child(3){animation-delay:.22s}.home-hero .hero-text>:nth-child(4){animation-delay:.31s}.home-hero .hero-text>:nth-child(5){animation-delay:.41s}.hero-crew img{animation:hero-image-enter 1.4s both}.section-head h2{line-height:1.12;text-wrap:balance}.home-hero~.section .section-head h2{max-width:700px}.service-card{overflow:hidden;border:0;box-shadow:0 0 0 1px #d8e2ea}.service-card:hover{box-shadow:0 20px 42px #09243d21;transform:translateY(-7px)}.service-card>img{height:245px;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.service-card:hover>img{transform:scale(1.055)}.service-card .card-copy{padding:28px 28px 32px}.service-card h3{font-size:1.45rem}.feature-band{background:#102a43;color:#fff}.feature-copy .eyebrow{color:#8cc8f6}.feature-copy p{color:#d1dfe9}.feature-copy .text-link{color:#a6d5ff}.feature-copy .check-list li{border-color:#ffffff2b}.feature-copy .check-list li:before{color:#7ac1fa}.feature-image img{object-position:50% 54%;transition:transform .8s ease}.feature-band:hover .feature-image img{transform:scale(1.025)}.feature-image{overflow:hidden}.process-grid>div{border-top:3px solid #d4e4f2;padding-top:29px}.process-grid span{color:#2c75bb}.proof-photos img{filter:saturate(.85)}.proof-photos img:first-child{transform:translateY(-15px)}.proof-photos img:last-child{transform:translateY(15px);margin-top:0}
@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-enter{from{opacity:.6;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes scroll-bob{50%{transform:translateY(5px)}}
@media(max-width:1050px){.home-hero h1{font-size:clamp(3.45rem,6.8vw,5.6rem)}.hero-text{width:70%}.hero-crew{width:29%}.hero-film{right:29%}}
@media(max-width:680px){.home-hero{min-height:0}.hero-film{inset:0 0 0 0}.hero-film:after{background:linear-gradient(90deg,rgba(3,16,30,.96),rgba(3,16,30,.71)),linear-gradient(0deg,#061725 2%,transparent 50%)}.hero-crew{top:auto;bottom:0;height:210px;width:44%;border-left:3px solid #1e4df3;opacity:.6}.hero-crew>span{display:none}.hero-content{min-height:600px;display:flex;align-items:flex-start;padding-block:75px 78px}.hero-text{width:100%;position:relative;z-index:2}.home-hero h1{font-size:clamp(3.15rem,10.7vw,4.7rem);max-width:610px}.home-hero .eyebrow{font-size:.67rem;line-height:1.4}.hero-text>p:not(.eyebrow){font-size:1.05rem;max-width:460px}.home-hero .button-row{max-width:360px}.home-hero .button-row .btn{width:100%}.hero-footnote{margin-top:38px;padding-right:36%;gap:8px 15px;font-size:.58rem}.hero-footnote span{white-space:normal}.hero-scroll{display:none}.trust-strip span{font-size:.72rem}.trust-strip b{font-size:.92rem}.service-card>img{height:230px}.feature-band .feature-image{min-height:310px}.proof-photos img:first-child,.proof-photos img:last-child{transform:none}}
@media(max-width:390px){.hero-crew{width:38%;opacity:.4}.hero-footnote{padding-right:15%}.home-hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-text>*,.hero-crew img,.hero-scroll span{animation:none!important}.service-card>img,.feature-image img{transition:none!important}}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.61,.36,1)}.reveal.in-view{opacity:1;transform:translateY(0)}.card-grid .service-card:nth-child(2){transition-delay:.08s}.card-grid .service-card:nth-child(3){transition-delay:.16s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Navigation and quick quote refinement. */
.site-header .header-inner{min-height:80px}.site-header .desktop-nav{gap:23px}.site-header .desktop-nav>a,.site-header .services-menu summary{font-family:Manrope,Arial,sans-serif;font-size:.89rem;font-weight:600;letter-spacing:0}.site-header .header-cta{font-family:Manrope,Arial,sans-serif;font-weight:700;font-size:.87rem;padding:12px 17px;background:#1e4df3}.services-menu summary span{display:inline-block;margin-left:5px;transition:transform .2s}.services-menu[open] summary span{transform:rotate(180deg)}
.services-dropdown{border-top:1px solid #d8e3ed;background:#fff;padding:27px 0 33px;box-shadow:0 22px 32px #071a2d35}.dropdown-shell{width:100%}.dropdown-head{display:flex;align-items:end;justify-content:space-between;padding:0 0 20px;margin:0 0 25px;border-bottom:1px solid #dce5ec}.dropdown-kicker{display:block;color:#387cb4;font:700 .7rem/1.3 Manrope,sans-serif;letter-spacing:.11em;text-transform:uppercase;margin-bottom:6px}.dropdown-head strong{font:700 1.38rem/1.25 Manrope,sans-serif;letter-spacing:-.025em}.desktop-nav .dropdown-head a{font:700 .84rem Manrope,sans-serif;color:#1e4df3;padding-bottom:3px;border-bottom:1px solid #1e4df3}.dropdown-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.15fr;gap:26px;align-items:stretch}.dropdown-group h3{font:700 .75rem/1.4 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#668099;margin:0 0 11px}.desktop-nav .dropdown-group a{display:block;color:#18334c;font:600 .87rem/1.3 Manrope,sans-serif;white-space:normal;padding:9px 0;border-bottom:1px solid #e9eff3;transition:padding-left .2s,color .2s}.desktop-nav .dropdown-group a:hover{color:#1e4df3;padding-left:5px;border-color:#a9c7e0}.desktop-nav .dropdown-feature{display:flex;flex-direction:column;justify-content:flex-end;min-height:212px;padding:19px 20px;color:#fff;background:linear-gradient(0deg,#071827ed,#0718275c),url('/images/post-construction-cleaning.webp') center/cover;white-space:normal}.desktop-nav .dropdown-feature:hover{color:#fff;background-position:center,53% 50%}.dropdown-feature span{font:700 .65rem Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#a8d8fc}.dropdown-feature strong{font:700 1.17rem/1.16 Manrope,sans-serif;letter-spacing:-.025em;margin:8px 0}.dropdown-feature small{font:400 .77rem/1.4 Manrope,sans-serif;color:#deebf3}.dropdown-feature b{font:700 .76rem Manrope,sans-serif;color:#a8d8fc;margin-top:13px}
.hero-film video{filter:saturate(.9)}.hero-film:after{background:linear-gradient(90deg,rgba(3,16,30,.78) 0%,rgba(5,21,36,.65) 48%,rgba(5,21,36,.2) 100%),linear-gradient(0deg,rgba(4,15,27,.28),transparent 48%)}.home-hero h1,.hero-text>p:not(.eyebrow){text-shadow:0 2px 24px #061725b3}
.sticky-quote{position:fixed;z-index:18;right:22px;bottom:20px;display:flex;align-items:center;gap:19px;padding:10px 11px 10px 18px;min-height:65px;max-width:calc(100vw - 32px);border:1px solid #c3d6e5;background:#fff;color:#14334d;box-shadow:0 12px 38px #071d32a3;text-align:left;transition:transform .2s,box-shadow .2s}.sticky-quote:hover{transform:translateY(-3px);box-shadow:0 16px 42px #071d32b3}.sticky-quote-copy{display:flex;flex-direction:column;min-width:145px}.sticky-quote-copy strong{font:700 .88rem/1.25 Manrope,sans-serif}.sticky-quote-copy small{font:400 .73rem/1.35 Manrope,sans-serif;color:#60788d;margin-top:3px}.sticky-quote-action{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 13px;background:#1e4df3;color:#fff;font:700 .8rem Manrope,sans-serif;white-space:nowrap}.sticky-quote-action span{font-size:1rem}
@media(max-width:1120px){.site-header .desktop-nav{gap:14px}.site-header .desktop-nav>a,.site-header .services-menu summary{font-size:.81rem}.dropdown-grid{gap:18px}.desktop-nav .dropdown-group a{font-size:.79rem}.brand,.brand img{width:137px}}
@media(max-width:920px){.mobile-nav nav{max-height:calc(100dvh - 112px);overflow:auto}.mobile-services>div.mobile-service-groups{display:block;padding:7px 0 10px}.mobile-nav .mobile-service-groups .mobile-all-services{color:#1e4df3;font-weight:700}.mobile-service-groups .dropdown-group{padding:14px 0 5px;border-bottom:1px solid #e5edf3}.mobile-service-groups .dropdown-group h3{font-size:.68rem;margin:0 0 5px}.mobile-nav .mobile-service-groups .dropdown-group a{display:block;padding:6px 0;border:0;font-size:.87rem;font-weight:500}.mobile-services summary{font-family:Manrope,sans-serif}}
@media(max-width:680px){.hero-film:after{background:linear-gradient(90deg,rgba(3,16,30,.83),rgba(3,16,30,.56)),linear-gradient(0deg,#061725ad,transparent 55%)}.sticky-quote{left:0;right:0;bottom:0;max-width:none;min-height:66px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 23px #071d3238;border:0;border-top:1px solid #cedee9}.sticky-quote:hover{transform:none}.sticky-quote-copy{flex:1;min-width:0}.sticky-quote-action{min-height:43px}.mobile-quote-bar{display:none}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}

.site-header .header-cta:hover,.sticky-quote:hover .sticky-quote-action{background:#183cc6}

/* Shared type and a clear service area panel. */
body{font-family:Manrope,Arial,sans-serif}
.topline{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:.79rem;letter-spacing:0}
.site-header .desktop-nav>a,.site-header .services-menu summary{font-family:Manrope,Arial,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:-.025em}
.site-header .desktop-nav>a{padding-block:9px;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.site-header .desktop-nav>a:hover,.site-header .desktop-nav>a[aria-current=page]{border-bottom-color:#8aafff}
.site-header .services-menu summary{padding-block:9px;border-bottom:2px solid transparent}
.site-header .services-menu[open] summary,.site-header .services-menu summary:hover{border-bottom-color:#8aafff}
.site-header .header-cta{font-family:Manrope,Arial,sans-serif;font-weight:700}
.mobile-nav summary{font-family:Manrope,Arial,sans-serif;font-weight:700}
.btn,.sticky-quote-action,.sticky-quote-copy strong,.sticky-quote-copy small{font-family:Manrope,Arial,sans-serif}
.service-map{background:#edf5fa;border-top:1px solid #d7e6f1;padding:73px 0}
.service-map-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:7%;align-items:center}
.service-map-copy .eyebrow{margin-bottom:13px}
.service-map-copy h2{font-size:clamp(2rem,3.3vw,3.15rem);max-width:490px;margin-bottom:18px}
.service-map-copy p:not(.eyebrow){color:#435c70;max-width:460px;margin-bottom:23px}
.service-map iframe{display:block;width:100%;height:345px;border:1px solid #c9dce9;background:#dce8f0}
@media(max-width:920px){.service-map-grid{gap:4%;grid-template-columns:1fr 1fr}.service-map iframe{height:300px}}
@media(max-width:680px){.service-map{padding:55px 0}.service-map-grid{grid-template-columns:1fr;gap:24px}.service-map iframe{height:255px}.site-header .mobile-nav summary{font-size:.9rem}}

/* Compact service navigation, with the same three groups on desktop and mobile. */
.services-dropdown{padding:25px 0 29px}
.dropdown-shell{max-width:1050px}
.dropdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.dropdown-head{margin-bottom:20px}
.desktop-nav .dropdown-group a{font-size:.88rem;padding:8px 0}
@media(max-width:1120px){.site-header .desktop-nav>a,.site-header .services-menu summary{font-size:.81rem}.dropdown-grid{gap:23px}}

/* Original-site proof and buying questions. */
.accounts-section{background:#ecf4f9;padding:92px 0;border-block:1px solid #d4e5ef}.accounts-grid{display:grid;grid-template-columns:1fr .95fr;gap:9%;align-items:center}.accounts-grid h2{max-width:570px;margin-bottom:24px}.accounts-grid p:not(.eyebrow){max-width:550px;color:#425b70}.accounts-grid .btn{margin:12px 0 16px}.accounts-grid small{display:block;max-width:455px;color:#5b7183;font-size:.75rem;line-height:1.5}.account-details{border-top:1px solid #c4d9e6}.account-details>div{display:grid;grid-template-columns:122px 1fr;column-gap:24px;padding:25px 0;border-bottom:1px solid #c4d9e6}.account-details span{color:#1a72ae;font-size:.73rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding-top:4px}.account-details strong{font-size:1.25rem;line-height:1.3}.account-details p{grid-column:2;margin:7px 0 0;font-size:.9rem;line-height:1.55}
.reviews-section{padding:95px 0;background:#fff}.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.reviews-heading h2{max-width:670px;margin-bottom:0}.reviews-controls{display:flex;gap:8px;flex:none}.reviews-controls button{width:45px;height:45px;border:1px solid #bfd0dc;background:#fff;color:#16314b;font-size:1.25rem;line-height:1}.reviews-controls button:hover{background:#e7f3fb;border-color:#1e4df3}.review-list{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;padding:1px 1px 18px;scrollbar-color:#b9d2e4 transparent}.review-card{flex:0 0 calc((100% - 36px)/3);min-width:300px;scroll-snap-align:start;display:flex;flex-direction:column;min-height:315px;margin:0;padding:28px 30px;background:#f3f7fa;border-top:3px solid #1e4df3}.review-stars{color:#1a76b8;letter-spacing:.13em;font-size:1.04rem;margin-bottom:19px}.review-card blockquote{font-size:.96rem;line-height:1.67;color:#193248;margin:0 0 30px}.review-card figcaption{margin-top:auto;display:flex;flex-direction:column;border-top:1px solid #d3e1ea;padding-top:17px;gap:2px}.review-card figcaption strong{font-size:.9rem}.review-card figcaption span{font-size:.75rem;color:#5a7385}
.home-faq{background:#f4f8fb}.home-faq .faq-grid>div:first-child>p:not(.eyebrow){color:#496174;max-width:340px}.home-faq .faq-grid .text-link{margin-top:9px}.home-faq .faqs details{padding:20px 0}.home-faq .faqs summary{font-size:1rem;line-height:1.5}.home-faq .faqs p{font-size:.92rem;line-height:1.67;max-width:680px}
@media(max-width:920px){.accounts-grid{gap:5%}.account-details>div{grid-template-columns:1fr;gap:5px}.account-details p{grid-column:1}.review-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:680px){.accounts-section,.reviews-section{padding:64px 0}.accounts-grid{grid-template-columns:1fr;gap:30px}.account-details>div{grid-template-columns:100px 1fr;gap:12px}.account-details p{grid-column:2}.reviews-heading{align-items:end}.reviews-heading h2{font-size:2rem}.reviews-controls button{width:40px;height:40px}.review-card{flex-basis:min(86vw,360px);min-width:0;min-height:0;padding:25px}.home-faq .faq-grid{grid-template-columns:1fr;gap:28px}}

/* Real crew photos cycle beside the hero film. */
.hero-crew .hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;animation:none;transition:opacity 1s ease;object-fit:cover;object-position:50% 35%;filter:saturate(.96) contrast(1.03)}
.hero-crew .hero-slide.is-active{opacity:1}
.hero-crew .hero-slide:nth-child(2){object-position:53% 25%}
.hero-crew .hero-slide:nth-child(3){object-position:45% 35%}
.hero-crew .hero-slide:nth-child(4){object-position:50% 42%}
.review-card figcaption .review-source{display:flex;align-items:center;gap:7px;margin-top:9px;color:#486378;font-size:.75rem}
.review-source img{display:block;width:65px;height:auto}
.job-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.job-gallery-grid figure{margin:0;background:#fff;border:1px solid #d9e6ef}
.job-gallery-grid img{width:100%;height:340px;display:block;object-fit:cover;object-position:center 35%}
.job-gallery-grid figure:nth-child(3) img{object-position:center}
.job-gallery-grid figcaption{padding:18px 21px 22px;display:flex;flex-direction:column;gap:5px}
.job-gallery-grid figcaption strong{font-size:.98rem}
.job-gallery-grid figcaption span{font-size:.86rem;color:#536b7e}
@media(max-width:760px){.job-gallery-grid{grid-template-columns:1fr 1fr}.job-gallery-grid figure:last-child{grid-column:span 2}.job-gallery-grid figure:last-child img{height:245px}}
@media(max-width:540px){.job-gallery-grid{grid-template-columns:1fr}.job-gallery-grid figure:last-child{grid-column:auto}.job-gallery-grid img,.job-gallery-grid figure:last-child img{height:320px}}
@media(prefers-reduced-motion:reduce){.hero-crew .hero-slide{transition:none}}

/* Clear page hierarchy and compact mobile controls. */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;margin-bottom:22px;font-size:.78rem;line-height:1.45;font-weight:700;color:#5b6f80}
.breadcrumb a{color:#226d9f;text-decoration:underline;text-underline-offset:3px}
.breadcrumb [aria-current=page]{color:#445c70}
.article-intro .breadcrumb{margin-bottom:30px}
.reviews-controls button{width:auto;min-width:75px;padding-inline:12px;font:700 .82rem/1.2 Manrope,Arial,sans-serif}
.mobile-nav summary{display:flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:680px){
  .site-header .header-inner{min-height:66px}
  .mobile-nav nav{top:48px;padding:12px 20px 20px;width:min(345px,100vw);max-height:calc(100dvh - 105px);overscroll-behavior:contain}
  .mobile-nav nav a{min-height:43px;display:flex;align-items:center}
  .home-hero h1{font-size:clamp(2.8rem,10vw,4rem);line-height:1.04}
  .hero-content{padding-top:58px}
  .hero-crew{height:188px;width:45%;opacity:.86}
  .hero-footnote{padding-right:37%;gap:6px 12px}
  .section-head h2{font-size:clamp(1.95rem,8vw,2.25rem)}
  .reviews-heading{flex-wrap:wrap;gap:16px}
  .reviews-controls{margin-left:auto}
  .review-card{flex-basis:min(82vw,350px)}
  .breadcrumb{font-size:.76rem;margin-bottom:18px}
  .quote-dialog{height:100dvh;max-height:100dvh;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
  .quote-dialog .quote-head{padding-top:max(19px,env(safe-area-inset-top))}
  .sticky-quote-action{justify-content:center}
}
@media(max-width:390px){
  .wrap{padding-inline:17px}
  .hero-content{padding-top:48px}
  .home-hero h1{font-size:clamp(2.6rem,11vw,3rem)}
  .hero-text>p:not(.eyebrow){font-size:1rem}
  .hero-crew{width:40%;height:170px;opacity:.76}
  .hero-footnote{padding-right:25%;font-size:.61rem}
  .sticky-quote{padding-inline:12px;gap:8px}
  .sticky-quote-action{min-width:116px;padding-inline:10px}
}

/* The native dialog's browser max-width must be cleared on phones. */
@media(max-width:680px){
  dialog.quote-dialog,dialog.quote-dialog:modal{
    position:fixed;
    inset:0;
    box-sizing:border-box;
    margin:0;
    width:100vw;
    min-width:100vw;
    max-width:none;
    height:100dvh;
    min-height:100dvh;
    max-height:none;
    border:0;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .quote-dialog form,.quote-dialog .quote-body,.quote-dialog .quote-field{width:100%;min-width:0}
  .home-hero .button-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:none}
  .home-hero .button-row .btn{width:auto;max-width:100%;min-height:44px;padding:10px 16px;font-size:.84rem;line-height:1.25}
}

/* Commercial positioning and service programs. */
.positioning-banner{padding:76px 0;background:#092940;color:#fff;border-top:1px solid #255476}
.positioning-banner .eyebrow{color:#75caff}
.positioning-banner h2{max-width:930px;margin:10px 0 18px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.1}
.positioning-banner p:not(.eyebrow){font-size:1rem;color:#d8e6ee;line-height:1.65}
.positioning-banner .positioning-detail{max-width:800px;padding-top:14px;border-top:1px solid #35617c}
.managed-delivery{padding:86px 0;background:#eaf4fa}
.managed-head{max-width:790px;margin-bottom:35px}
.managed-head h2{margin:10px 0 18px}
.managed-head>p:last-child{color:#415c70;font-size:1.05rem;line-height:1.7}
.managed-grid,.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.managed-grid>div,.program-grid>div{padding:28px;background:#fff;border-top:3px solid #0a83ca;box-shadow:0 12px 32px rgba(19,63,90,.045)}
.managed-grid span,.program-grid span{font-size:.72rem;font-weight:800;letter-spacing:.09em;color:#0878b8}
.managed-grid h3,.program-grid h3{font-size:1.25rem;line-height:1.25;margin:18px 0 12px}
.managed-grid p,.program-grid p{font-size:.92rem;line-height:1.7;color:#4a6576;margin:0}
.project-operations .section-head,.facility-program .section-head{margin-bottom:30px}
.project-operations{background:#f2f8fb}
.project-operations .program-grid>div{border-color:#1579ba}
.facility-program .program-grid>div{background:#f4f9fc}
.program-cta{margin-top:28px}
.facility-reset .editorial-grid{align-items:center}
.facility-reset .check-list{padding-left:20px;margin:24px 0}
.facility-reset .check-list li{margin-bottom:11px}
.facility-reset .btn{margin-top:12px}
@media(max-width:760px){.managed-grid,.program-grid{grid-template-columns:1fr}.managed-delivery,.positioning-banner{padding:60px 0}.managed-grid>div,.program-grid>div{padding:24px}.positioning-banner h2{font-size:2.2rem}}


/* Compact paths and accessible contact actions. */
.site-header{position:sticky;top:0;z-index:40}.header-phone{margin-left:auto;white-space:nowrap;font-weight:800;font-size:.88rem;color:#fff;text-decoration:underline;text-underline-offset:4px}.header-phone:hover{color:#a6d9ff}.site-header .desktop-nav{margin-left:auto}.site-header .header-cta{min-height:43px;background:#1e4df3}.site-header.is-scrolled .header-inner{min-height:64px}.site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:126px}.mobile-actions{display:none}
.buyer-paths{background:#eef5f9;border-bottom:1px solid #d7e6ef}.buyer-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.buyer-path-grid>a{display:flex;flex-direction:column;padding:24px 32px 25px;text-decoration:none;border-right:1px solid #cfdfeb;transition:background .2s}.buyer-path-grid>a:first-child{border-left:1px solid #cfdfeb}.buyer-path-grid>a:hover,.buyer-path-grid>a:focus-visible{background:#fff}.buyer-path-grid span{font-size:.66rem;font-weight:800;letter-spacing:.12em;color:#1e4df3}.buyer-path-grid strong{font:800 1.34rem Manrope,Arial,sans-serif;margin:7px 0}.buyer-path-grid small{font-size:.82rem;color:#4c6274}.buyer-path-grid b{font-size:.8rem;margin-top:14px;color:#1e4df3}
.founder-visual{margin:0}.founder-visual img{max-height:590px;width:100%;object-fit:cover}.founder-visual figcaption{color:#536779;font-size:.77rem;padding-top:10px}.founder-story .editorial-grid{align-items:start}.founder-story .editorial-grid>div p{max-width:640px;line-height:1.8}.service-inline-action,.faq-cta,.gallery-cta{display:flex;align-items:center;gap:13px;padding-top:18px;padding-bottom:48px}.faq-cta{justify-content:space-between;padding-block:0 66px}.faq-cta span{font-weight:800;font-size:1.1rem}.gallery-cta{padding-top:26px;padding-bottom:0}.services-path-nav{display:flex;gap:14px;padding-top:25px;padding-bottom:0}.services-path-nav a{display:inline-block;padding:13px 17px;border:1px solid #9aafbe;font-weight:800;color:#124b72}
@media(max-width:1090px){.site-header .desktop-nav{gap:11px}.header-inner{gap:14px}.header-phone{font-size:.8rem}}
@media(max-width:920px){.header-phone{display:none}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:39;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #c9d9e4;box-shadow:0 -5px 22px #081e3426}.mobile-actions>a,.mobile-actions>button{display:grid;place-items:center;min-height:46px;line-height:1.25;border:1px solid #8ca8bc;font-size:.91rem;font-weight:800;background:#fff;color:#12364e}.mobile-actions>button{background:#1e4df3;border-color:#1e4df3;color:#fff}body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}}
@media(max-width:760px){.buyer-path-grid{grid-template-columns:1fr}.buyer-path-grid>a{padding:20px 22px;border-left:0!important;border-right:0;border-bottom:1px solid #cfdfeb}.buyer-path-grid strong{font-size:1.2rem}.service-inline-action,.faq-cta,.gallery-cta{flex-wrap:wrap}.faq-cta{padding-bottom:45px}}
@media(max-width:680px){.services-path-nav{flex-direction:column}.services-path-nav a{text-align:center}}
@media(max-width:440px){.service-inline-action .btn,.faq-cta .btn{width:100%}.mobile-actions{padding-inline:12px}}

/* Brand accents and mobile quote handling. */
.site-header .header-cta:hover,.btn-blue:hover,.mobile-actions>button:hover{background:#183cc6}
.buyer-path-grid>a:hover,.buyer-path-grid>a:focus-visible{box-shadow:inset 0 -3px 0 #1e4df3}
.services-menu summary,.mobile-services summary{padding-inline:3px}
.quote-dialog .quote-head{position:sticky;top:0;z-index:3;background:#fff}
.quote-dialog .quote-progress{background:#fff}
.quote-choice{min-height:69px}
.quote-field input,.quote-field select,.quote-field textarea,.quote-form input,.quote-form select,.quote-form textarea{min-height:46px;font-size:16px}
.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible,.quote-field input:focus-visible,.quote-field select:focus-visible,.quote-field textarea:focus-visible{outline:2px solid #1e4df3;outline-offset:2px}
@media(max-width:920px){.site-header .header-inner{min-height:66px}}
@media(max-width:680px){
 .quote-dialog{padding:0 0 env(safe-area-inset-bottom);scroll-padding-top:100px}
 .quote-dialog .quote-head{padding:15px 18px 12px;align-items:flex-start}
 .quote-dialog .quote-head h2{font-size:1.3rem;line-height:1.2}
 .quote-dialog .quote-head p{font-size:.8rem}
 .quote-dialog .quote-close{min-width:44px;min-height:44px;display:grid;place-items:center}
 .quote-dialog .quote-progress{padding:12px 18px 0}
 .quote-dialog .quote-body{padding:15px 18px max(24px,env(safe-area-inset-bottom))}
 .quote-dialog .quote-choices{gap:7px}
 .quote-dialog .quote-choice{padding:10px 14px;min-height:60px}
 .quote-dialog .quote-choice strong{font-size:.9rem}
 .quote-dialog .quote-choice small{font-size:.76rem;line-height:1.3}
 .quote-dialog .quote-field{margin-bottom:13px}
 .quote-dialog .quote-total{margin:15px 0;padding:14px}
 .quote-form{padding:21px;gap:15px;min-width:0}
 .quote-form .form-row{grid-template-columns:1fr;gap:15px}
 .quote-form input,.quote-form select,.quote-form textarea{min-width:0}
 .quote-form button[type=submit]{width:100%;min-height:50px}
}
@media(max-width:360px){.quote-dialog .quote-choice small{font-size:.72rem}.quote-dialog .quote-body{padding-inline:14px}}

/* Black and white surfaces give the real photography space; J&A blue marks actions. */
:root{--blue:#1e4df3;--blue-2:#1e4df3;--navy:#14191e;--ink:#172029;--mist:#f4f5f6}
.topline{background:#0d1013;color:#e6e9ec}
.site-header{background:#1e4df3;border-bottom:1px solid #ffffff45}
.site-header .desktop-nav>a,.site-header .services-menu summary,.site-header .header-phone{color:#fff}
.site-header .desktop-nav>a:hover,.site-header .desktop-nav>a[aria-current=page],.site-header .services-menu[open] summary,.site-header .services-menu summary:hover{color:#fff;border-bottom-color:#fff}
.site-header .header-cta{background:#fff;color:#173fc6}
.site-header .header-cta:hover{background:#e8eeff;color:#173fc6}
.home-hero,.hero-film,.hero-crew{background-color:#151b20;color:#fff}
.hero-film video{filter:none}
.hero-film:after{background:linear-gradient(90deg,rgba(9,11,14,.64) 0%,rgba(9,11,14,.39) 43%,rgba(9,11,14,.02) 100%)}
.hero-crew img{filter:none}
.hero-crew:after{background:linear-gradient(0deg,rgba(9,11,14,.63),transparent 48%)}
.home-hero h1 em{color:#fff}
.home-hero .eyebrow,.hero-text>p:not(.eyebrow){color:#f5f7ff}
.home-hero .btn-blue{background:#1e4df3;color:#fff}
.home-hero .btn-blue:hover{background:#173fc6}
.buyer-paths{background:#f4f5f6;border-color:#dce0e3}
.buyer-path-grid>a,.buyer-path-grid>a:first-child{background:#fff;border-color:#dce0e3}
.buyer-path-grid>a:hover,.buyer-path-grid>a:focus-visible{background:#f6f7fa}
.trust-strip b{color:#173fc6}
.positioning-banner{background:#fff;color:#172029;border-color:#e0e4e7}
.positioning-banner .eyebrow{color:#173fc6}
.positioning-banner p:not(.eyebrow){color:#3b4651}
.positioning-banner .positioning-detail{border-top-color:#cbd2d9;border-left:3px solid #1e4df3;padding-left:20px}
.feature-band,.proof{background:#14191e;color:#fff}
.feature-copy .eyebrow,.feature-copy .text-link,.proof .eyebrow,.proof .text-link{color:#bdcfff}
.feature-copy p,.proof p:not(.eyebrow){color:#e3e8eb}
.cta{background:#14191e;color:#fff}
.cta .eyebrow,.cta p:not(.eyebrow){color:#e3e8eb}
.section.tinted,.managed-delivery,.accounts-section,.project-operations,.service-map,.home-faq{background:#f4f5f6}
.managed-grid>div,.program-grid>div,.project-operations .program-grid>div{border-top-color:#1e4df3}
.managed-grid span,.program-grid span,.account-details span{color:#173fc6}
.site-footer{background:#1e4df3;color:#fff}
.site-footer .footer-grid p,.site-footer .footer-bottom{color:#f1f4ff}
.site-footer .footer-grid h2{color:#fff}
.site-footer .footer-grid a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{border-top-color:#ffffff63}
.contact-intro{background:#14191e;color:#fff}
.contact-intro .eyebrow,.contact-intro p:not(.eyebrow){color:#f0f3ff}
.mobile-actions{background:#fff;border-top-color:#d7dce0}
.mobile-actions>a{background:#fff;color:#172029;border-color:#aab3bc}
.mobile-actions>button{background:#1e4df3;border-color:#1e4df3;color:#fff}
.mobile-actions>button:hover{background:#173fc6;color:#fff}
body.quote-open{overflow:hidden}
.quote-dialog[open]{animation:quote-enter .22s cubic-bezier(.2,.7,.2,1) both}
.quote-dialog[open]::backdrop{animation:quote-backdrop-enter .22s ease-out both}
@keyframes quote-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes quote-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.quote-dialog[open],.quote-dialog[open]::backdrop{animation:none}}
@media(max-width:680px){
 .hero-film:after{background:linear-gradient(90deg,rgba(9,11,14,.68),rgba(9,11,14,.34)),linear-gradient(0deg,rgba(9,11,14,.34),transparent 60%)}
}

/* About page: introduce John with the supplied portrait, once. */
.about-intro .intro-image{position:relative;height:465px;min-height:0;margin-top:0;margin-bottom:0;margin-left:0;background:#dce5f1}
.about-intro .intro-image img{height:100%;width:100%;object-fit:cover;object-position:center 32%}
.about-intro .intro-image figcaption{position:absolute;bottom:18px;left:18px;padding:8px 12px;background:#fffffff2;color:#172029;font-size:.75rem;font-weight:800;line-height:1.35}
.founder-story-content{max-width:870px}
.founder-story-content>div p{line-height:1.8}
@media(max-width:680px){
 .about-intro .intro-image{height:360px;min-height:0;margin:0 -20px}
 .about-intro .intro-image img{object-position:center 28%}
 .about-intro .intro-image figcaption{left:20px;bottom:16px}
 .home-hero .hero-footnote{border-top:0;padding-top:0}
}
