@font-face{font-family:Barlow;src:url('/assets/barlow-regular.ttf')}@font-face{font-family:Barlow;src:url('/assets/barlow-bold.ttf');font-weight:700}@font-face{font-family:Condensed;src:url('/assets/barlow-condensed-extrabold.ttf');font-weight:800}
:root{--ink:#112d20;--forest:#103b27;--green:#155f37;--lime:#b9d879;--paper:#f5f6f0;--muted:#58635a;--line:#d9dfd3;--white:#fff;--orange:#c47639}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Barlow,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Condensed,'Arial Narrow',sans-serif;font-weight:800;line-height:1.02;text-transform:uppercase}h1{font-size:clamp(3.6rem,6.7vw,6.35rem);letter-spacing:-.025em}h2{font-size:clamp(2.6rem,4vw,4rem);letter-spacing:-.015em}h3{font-size:1.8rem}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:20px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:2px;background:currentColor}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:54px;padding:14px 22px;text-decoration:none;font-weight:700;font-size:16px;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;transition:background .2s,transform .2s}.btn:hover{background:#0d4729;transform:translateY(-2px)}.btn.light{background:var(--lime);color:var(--ink);border-color:var(--lime)}.btn.outline{background:transparent;color:var(--ink);border-color:#9da99c}.btn.white{background:white;color:var(--ink);border-color:white}.arrow{font-size:23px;line-height:1;font-family:Arial,sans-serif;font-weight:400}.actions{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:25px;font-weight:700;text-underline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--lime)}.skip:focus{top:10px}:focus-visible{outline:3px solid #c67a21;outline-offset:5px}.utility{background:var(--forest);color:#edf5e7;font-size:13px}.utility .wrap{height:35px;display:flex;align-items:center;justify-content:space-between}.utility a{text-decoration:none;font-weight:700}.utility-right{display:flex;gap:30px}.header{background:white;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px}.logo{width:100px;flex-shrink:0;display:block}.logo img{width:100px;height:88px;object-fit:contain}.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.nav>a{text-decoration:none;padding:20px 0}.nav>a:hover,.nav>a[aria-current]{color:var(--green);text-decoration:underline;text-underline-offset:7px}.nav .btn{padding:12px 18px;min-height:46px;font-size:14px;color:white}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:10px 14px;color:var(--ink);min-height:44px;font-weight:700}.hero{position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;min-height:630px}.hero-copy{padding:65px 54px 44px 0;display:flex;flex-direction:column;align-items:flex-start}.hero-copy h1 span{color:var(--green)}.hero-copy>p{font-size:18px;max-width:440px;margin:25px 0 29px}.hero-photo{position:relative;margin-right:calc((min(1280px,100vw - 96px) - 100vw)/2);min-height:620px;background:#476c42}.hero-photo>img{width:100%;height:100%;position:absolute;object-position:50% 42%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#102819b3)}.photo-caption{position:absolute;bottom:27px;left:28px;color:white;z-index:1;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.year-tag{position:absolute;right:30px;top:30px;background:var(--paper);width:108px;padding:16px;text-align:center;line-height:1.2;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.year-tag strong{display:block;font-family:Condensed;font-size:40px;letter-spacing:0;color:var(--green)}.hero-review{margin-top:auto;padding-top:30px;display:flex;gap:13px;align-items:center;font-size:14px}.rating-num{font-size:28px;font-weight:700}.stars{color:#a96317;letter-spacing:2px;font-size:17px}.hero-review a{font-size:13px;text-underline-offset:3px}.trust-strip{background:var(--forest);color:#f7f8f2}.trust-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:23px;gap:20px}.trust-item{font-size:15px;display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px solid #52705b}.trust-item:last-child{border:0}.trust-item svg{width:22px;height:22px;stroke:var(--lime);fill:none;stroke-width:1.6}.section{padding:96px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:38px}.section-head p{max-width:370px}.paths{background:white}.paths-top{padding-top:50px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:50px}.path{padding:22px 32px;border-right:1px solid var(--line);position:relative;text-decoration:none;display:block}.path:first-child{padding-left:0}.path:last-child{border:0;padding-right:0}.path .number{font-size:13px;letter-spacing:.12em;color:var(--green);display:block;margin-bottom:14px}.path h3{font-size:25px;margin-bottom:12px}.path p{font-size:16px;max-width:280px}.path .text-link{font-size:14px;margin-top:20px}.path:hover h3{color:var(--green)}.mobile-actions{display:none}footer{background:#0c271b;color:#e8ecdf;padding:55px 0}footer p{color:#abbcad}.section[id],section[id]{scroll-margin-top:105px}
@media(min-width:1500px){.hero-grid{min-height:700px}.hero-copy{padding-top:80px}}@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav{gap:16px;font-size:13px}.nav-row{gap:18px}.hero-photo{margin-right:-32px}.hero-copy{padding-right:30px}.hero-copy>p{font-size:17px}.hero-grid{min-height:610px}.nav .btn{padding:12px}.logo,.logo img{width:85px}.nav-row{min-height:88px}}@media(max-width:1000px){.nav{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;gap:0;padding:15px 32px 26px;max-height:calc(100dvh - 90px);overflow:auto;border-bottom:1px solid var(--line)}.nav.open>a{padding:12px;min-height:44px}.nav.open .btn{margin-top:10px}.hero-grid{min-height:590px}.hero-photo{min-height:590px}.hero-copy{padding-top:45px}.trust-strip .wrap{gap:10px}.trust-item{font-size:13px;gap:8px}.path{padding-inline:22px}}@media(max-width:700px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}body{font-size:16px}.utility .wrap{height:30px;font-size:12px;justify-content:center}.utility-right{display:none}.nav-row{min-height:74px}.logo,.logo img{width:75px;height:66px}.menu-toggle{font-size:14px}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:36px 0 30px}.eyebrow{font-size:12px;margin-bottom:16px}.hero h1{font-size:clamp(3.5rem,13vw,5.5rem)}.hero-copy>p{margin:20px 0 23px;font-size:17px;max-width:450px}.hero-copy .actions{width:100%;gap:10px}.hero-copy .btn{font-size:14px;gap:12px;padding-inline:15px}.hero-review{padding-top:23px;margin:0}.hero-photo{min-height:410px;height:410px;margin:0 -20px}.hero-photo>img{object-position:50% 36%}.year-tag{right:20px;top:20px;width:88px;padding:12px;font-size:11px}.year-tag strong{font-size:33px}.photo-caption{font-size:11px;left:20px;bottom:20px}.trust-strip .wrap{grid-template-columns:1fr 1fr;gap:18px 8px;padding:24px 0}.trust-item{border:0;justify-content:flex-start;font-size:13px}.section{padding:62px 0}.section-head{display:block;margin-bottom:26px}.section-head p,.section-head>a{margin-top:20px}.path-grid{grid-template-columns:1fr;padding-bottom:24px}.path,.path:first-child,.path:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.path:last-child{border:0}.path .number{margin-bottom:10px}.path p{max-width:none}.path .text-link{margin-top:12px}.paths-top{padding-top:28px}.paths-top .eyebrow{margin-bottom:0}.mobile-actions{display:grid;grid-template-columns:.8fr 1.2fr;position:fixed;bottom:0;left:0;right:0;background:white;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:9px;z-index:40;box-shadow:0 -3px 18px #102d2017}.mobile-actions .btn{min-height:46px;font-size:14px;padding:10px 14px}.mobile-actions.hidden{display:none}body{padding-bottom:80px}footer{padding-bottom:35px}.section[id],section[id]{scroll-margin-top:83px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{text-decoration:none;background:white;min-width:0}.service-img{height:270px;position:relative;overflow:hidden}.service-img img{width:100%;height:100%;transition:transform .35s}.service-card:hover img{transform:scale(1.035)}.image-index{position:absolute;left:0;bottom:0;background:var(--forest);color:white;padding:7px 16px;font-family:Condensed;font-size:19px}.service-copy{padding:25px 25px 27px;position:relative}.service-copy h3{padding-right:30px}.service-copy p{margin:15px 0 22px;font-size:16px}.service-copy .text-link{font-size:14px}.card-arrow{position:absolute;right:24px;top:23px;color:var(--green);font-size:27px}.service-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}.service-rows>a{display:flex;align-items:center;text-decoration:none;gap:15px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-rows>a>span:first-child{font-size:13px;color:var(--green)}.service-rows h3{font-size:23px}.service-rows p{font-size:14px;margin-top:7px}.service-rows .arrow{margin-left:auto}.about-section{background:#e9eedf}.about-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:100px;align-items:center}.about-image{position:relative;margin-bottom:24px}.about-image>img{width:100%;height:600px;object-position:center 55%}.experience{position:absolute;right:-28px;bottom:-25px;background:var(--green);color:white;padding:20px 30px;display:flex;align-items:center;gap:22px;border:7px solid #e9eedf}.experience strong{font-family:Condensed;font-size:70px;line-height:1}.experience span{line-height:1.3;font-size:14px}.about-copy .intro{font-size:21px;color:var(--ink);margin:25px 0 17px}.about-copy>p{font-size:16px}.reasons{margin:26px 0 30px}.reasons>div{display:flex;gap:20px;border-top:1px solid #ccd6c5;padding:18px 0}.reasons>div>span{font-size:13px;color:var(--green);padding-top:4px}.reasons h3{font-size:23px}.reasons p{font-size:15px;margin-top:6px}.storm-section{background:var(--forest);color:white;padding:76px 0}.storm-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.storm-section .eyebrow{color:var(--lime)}.storm-section h2 span{color:var(--lime)}.storm-copy>p{color:#d2dece;font-size:18px}.inline-list{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;color:#e1e9dc;margin:25px 0 32px;font-size:15px}.inline-list li{border-bottom:1px solid #526952;padding-bottom:5px}.storm-copy .text-link{font-size:14px}.storm-copy .safety-note{font-size:13px;margin-top:23px;max-width:445px;color:#b5cbb3}.project-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:280px 280px;gap:20px}.project-tile{position:relative;overflow:hidden;border:0;padding:0;text-align:left;background:var(--forest);color:white}.project-tile.tall{grid-row:span 2}.project-tile>img{width:100%;height:100%;transition:transform .3s;object-position:50% 42%}.project-tile:hover>img{transform:scale(1.025)}.project-tile:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#092218e8)}.project-tile>span{position:absolute;bottom:25px;left:28px;right:28px;z-index:1}.project-tile small{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:8px;color:#d4e4cd}.project-tile strong{font-family:Condensed;font-size:29px;text-transform:uppercase;display:block;max-width:85%;line-height:1.1}.project-tile i{position:absolute;right:0;bottom:0;font-style:normal;font-size:28px}.gallery-note{font-size:13px;margin-top:18px}.process-section{background:#e9eedf}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.process-grid>div{border-top:1px solid #b5c5a8;padding-top:24px}.step{font-family:Condensed;font-size:54px;color:#64963e;line-height:1;display:block;margin-bottom:26px}.process-grid h3{margin-bottom:15px;font-size:28px}.process-grid p{font-size:16px;max-width:340px}.commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.commercial-grid p{margin-top:22px;max-width:480px}.commercial-photo{position:relative}.commercial-photo img{width:100%;height:550px}.commercial-photo>span{position:absolute;bottom:0;left:0;background:var(--forest);color:white;padding:17px 24px;font-size:14px}.audiences{display:flex;gap:9px;flex-wrap:wrap;margin:27px 0}.audiences span{padding:6px 10px;border:1px solid var(--line);font-size:13px}.reviews-section{background:white}.review-summary{display:flex;align-items:center;gap:20px}.review-summary>strong{font-family:Condensed;font-size:65px;line-height:1}.review-summary>strong>span{font-family:Barlow;font-size:20px;color:var(--muted);font-weight:400}.review-summary a{font-size:14px;text-underline-offset:4px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.review-grid blockquote{margin:0;background:var(--paper);padding:30px;display:flex;flex-direction:column;min-height:290px}.review-grid blockquote>p{font-size:20px;color:var(--ink);line-height:1.45;margin:20px 0 25px}.review-verdict{font-size:13px;color:var(--green);font-weight:700}.review-grid footer{background:transparent;color:var(--ink);padding:0;margin-top:auto}.review-grid footer strong{display:block;font-size:15px}.review-grid footer span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.areas-grid p{max-width:390px;margin:25px 0}.area-list>a{display:flex;align-items:center;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:Condensed;font-size:32px}.area-list>a:first-child{border-top:1px solid var(--line)}.area-list>a:hover{color:var(--green)}.area-list>small{display:block;margin-top:17px;font-size:13px;color:var(--muted)}.faq-section{background:white;border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.faq-grid>div>p{margin-top:27px;font-size:16px}.faq-grid a{text-underline-offset:4px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:18px;font-weight:700;padding:22px 40px 22px 0;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;font-size:26px;font-weight:400;top:14px}.faq-list details[open] summary:after{content:'−'}.faq-list details>p{padding:0 28px 24px 0;font-size:16px}.final-cta{background:var(--lime);padding:62px 0}.final-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.final-cta h2{font-size:clamp(2.6rem,4vw,4rem)}.final-cta p{margin-top:13px;color:#304528}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{width:85px;height:85px;object-fit:contain;background:white;border-radius:2px}.footer-brand strong{font-family:Condensed;font-size:26px;line-height:1;display:block;text-transform:uppercase;max-width:180px}.footer-main p{font-size:14px;max-width:260px;margin-top:20px}.footer-col strong{display:block;font-size:14px;color:var(--lime);margin-bottom:15px}.footer-col a{display:block;font-size:14px;color:#cbd8c7;text-decoration:none;padding:4px 0}.footer-col a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #2c4936;margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#9caf9d;font-size:12px}.footer-bottom a{color:#cbd8c7}.lightbox{border:0;background:var(--paper);padding:16px;max-width:90vw;max-height:94dvh;color:var(--ink)}.lightbox::backdrop{background:#071e17e8}.lightbox img{max-height:76dvh;max-width:82vw;object-fit:contain;width:auto;margin:auto}.lightbox .close-dialog{display:block;margin:0 0 12px auto;border:1px solid var(--line);background:white;color:var(--ink);padding:7px 14px;min-height:44px}.lightbox p{margin:13px 3px 3px;color:var(--ink);font-size:14px}.subhero{padding:60px 0 70px;border-bottom:1px solid var(--line)}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:28px}.breadcrumbs a{text-underline-offset:4px}.subhero h1{font-size:clamp(3.5rem,6vw,5.8rem);max-width:830px}.subhero .lede{max-width:640px;font-size:21px;margin:24px 0 28px}.subhero-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:70px;align-items:center}.subhero-grid img{height:470px;width:100%;object-position:50% 40%}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.editorial-grid p{margin-top:20px}.editorial-grid h3{margin:25px 0 12px}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{padding:13px 0 13px 26px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--green)}.side-note{background:#e9eedf;padding:35px;align-self:start}.side-note p{font-size:16px}.side-note .btn{margin-top:25px}.related{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.related a{border-bottom:1px solid var(--green);font-weight:700;font-size:15px;text-decoration:none}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery-page-grid .project-tile{height:440px}.gallery-page-grid .project-tile strong{font-size:24px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.gallery-filters button{background:transparent;border:1px solid #a1af9b;padding:10px 17px;color:var(--ink);min-height:44px;border-radius:2px}.gallery-filters button[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}[hidden]{display:none!important}.policy{max-width:760px}.policy h2{font-size:30px;margin-top:35px}.policy p{margin-top:16px}.contact-section{padding:60px 0 80px}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.contact-heading h1{font-size:clamp(3.4rem,5vw,5.3rem)}.contact-heading>p{margin:23px 0 27px;max-width:380px}.contact-phone{display:block;font-family:Condensed;font-size:35px;text-decoration:none;color:var(--green);margin-bottom:12px}.contact-detail{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.contact-detail strong{font-size:15px}.contact-detail p{font-size:15px;margin:9px 0 18px}.contact-detail img{height:220px;width:100%;margin-top:27px;object-position:50% 38%}.quote-form{background:white;padding:36px;border:1px solid var(--line)}.form-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.form-intro h2{font-size:28px}.form-intro span{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field>label,.field>legend{font-size:14px;font-weight:700;display:block;margin-bottom:8px}.field label>span{font-weight:400;color:var(--muted)}.field input:not([type=radio]):not([type=file]),.field select,.field textarea{width:100%;min-height:50px;border:1px solid #a7b4a2;background:#fafbf7;padding:12px;border-radius:2px;color:var(--ink);font-size:16px}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:2px solid #749851;outline-offset:2px}.field input[aria-invalid=true]{border-color:#a3261a}.field small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.field fieldset,fieldset.field{border:0;margin:0;padding:0}.radio-row{display:flex;gap:24px;align-items:center;min-height:44px}.radio-row label{font-size:15px;display:flex;align-items:center;gap:8px;cursor:pointer}.radio-row input{width:18px;height:18px;accent-color:var(--green)}.upload-zone{border:1px dashed #899d80;padding:20px;background:var(--paper)}.upload-zone input{font-size:13px;max-width:100%;color:var(--muted)}.upload-zone input::file-selector-button{padding:9px 15px;border:1px solid #7e9573;background:white;border-radius:2px;font:700 14px Barlow;color:var(--ink);cursor:pointer;margin-right:14px;min-height:44px}.photo-preview{display:flex;flex-direction:column;gap:10px;margin-top:15px}.photo-item{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:10px}.photo-item img{width:48px;height:48px}.photo-item span{font-size:13px;overflow-wrap:anywhere;flex:1;min-width:0}.photo-item button{border:0;background:white;color:var(--green);font-size:13px;min-height:44px;padding:9px}.form-note{font-size:13px;line-height:1.5;padding:13px 16px;background:#eaf0e2;color:#465d3a;margin:25px 0 18px;border-left:3px solid #749b4e}.submit-row .btn{width:100%}.submit-row>p{font-size:12px;text-align:center;margin-top:12px}.error-message{color:#a12619!important;font-size:14px;margin-top:10px}.form-success{padding:45px 35px;text-align:center;background:white;border:1px solid var(--line)}.success-check{background:var(--green);color:white;font-size:36px;width:70px;height:70px;display:grid;place-items:center;margin:0 auto 25px;border-radius:50%}.form-success h2{font-size:42px}.form-success>p{margin:20px 0}.request-summary{text-align:left;padding:20px;background:var(--paper);margin:25px 0}.request-summary p{font-size:14px;margin:7px 0;overflow-wrap:anywhere}.form-success .btn{margin:6px}.form-success .small{font-size:13px}
@media(max-width:1150px){.about-grid,.commercial-grid{gap:55px}.about-image>img{height:570px}.service-img{height:230px}.service-copy{padding:22px 20px}.service-copy h3{font-size:26px}.areas-grid,.faq-grid,.contact-grid{gap:55px}.service-rows h3{font-size:20px}.footer-grid{gap:25px}.subhero-grid{gap:40px}.contact-grid{grid-template-columns:.8fr 1.2fr}.quote-form{padding:27px}.gallery-page-grid .project-tile{height:370px}}@media(max-width:900px){.about-grid,.commercial-grid{gap:35px}.about-image>img{height:560px}.service-grid{gap:17px}.service-copy h3{font-size:24px}.service-img{height:210px}.service-copy p{font-size:15px}.service-rows{gap:20px;grid-template-columns:1fr}.service-rows>a{padding:14px 0;border-top:0}.service-rows h3{font-size:24px}.service-rows p{font-size:15px}.storm-grid{gap:38px}.project-grid{grid-template-rows:245px 245px}.review-grid{gap:16px}.review-grid blockquote{padding:23px}.review-grid blockquote>p{font-size:18px}.areas-grid,.faq-grid{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-heading>p{max-width:600px}.contact-detail{display:none}.subhero-grid{gap:30px}.subhero-grid img{height:420px}.editorial-grid{gap:40px}.gallery-page-grid{grid-template-columns:1fr 1fr}.commercial-photo img{height:510px}.process-grid{gap:30px}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:25px}.service-img{height:270px}.service-copy h3{font-size:29px}.service-copy p{font-size:16px}.service-copy{padding:23px}.service-rows{margin-top:20px;gap:10px}.service-rows>a{border-bottom:1px solid var(--line);padding:14px 0}.about-grid,.commercial-grid,.storm-grid,.areas-grid,.faq-grid,.editorial-grid,.subhero-grid{grid-template-columns:1fr;gap:38px}.about-grid{display:flex;flex-direction:column-reverse}.about-image{width:calc(100% - 14px);margin-right:auto}.about-image>img{height:470px}.experience{right:-15px;bottom:-25px;padding:15px 20px}.experience strong{font-size:58px}.about-copy .intro{font-size:20px}.storm-section{padding:58px 0}.storm-copy>p{font-size:17px}.storm-copy .actions{gap:22px}.project-grid{grid-template-columns:1fr;grid-template-rows:470px 310px 310px;gap:16px}.project-tile.tall{grid-row:auto}.project-tile>span{left:22px;right:22px;bottom:23px}.project-tile strong{font-size:28px}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid>div{position:relative;padding-left:60px;padding-top:22px}.step{position:absolute;left:0;top:24px;font-size:40px}.process-grid h3{font-size:27px}.process-grid p{max-width:none}.commercial-photo img{height:390px}.commercial-grid p{font-size:16px}.commercial-grid .btn{font-size:14px;gap:16px}.review-summary{margin-top:25px}.review-grid{grid-template-columns:1fr;gap:16px}.review-grid blockquote{min-height:0;padding:26px}.review-grid blockquote>p{font-size:20px}.reviews-section .section-head{margin-bottom:28px}.areas-grid p{max-width:none}.area-list>a{font-size:29px}.faq-list summary{font-size:17px;padding-block:21px}.final-cta{padding:48px 0}.final-cta .wrap{display:block}.final-cta .actions{margin-top:25px}.final-cta .btn{font-size:14px;padding-inline:16px;gap:16px}.footer-grid{gap:32px 20px}.footer-main{grid-column:1/-1}.footer-main p{max-width:350px}.footer-brand strong{max-width:none}.footer-col a{font-size:14px;padding:7px 0}.footer-bottom{display:block;margin-top:30px}.footer-bottom span{display:block;margin:8px 0}.subhero{padding:35px 0 45px}.subhero h1{font-size:3.7rem}.subhero .lede{font-size:19px}.subhero-grid img{height:390px}.breadcrumbs{margin-bottom:22px}.editorial-grid{gap:32px}.side-note{padding:26px}.gallery-page-grid{grid-template-columns:1fr;gap:22px}.gallery-page-grid .project-tile{height:440px}.gallery-filters{gap:8px}.gallery-filters button{font-size:14px;padding:9px 13px}.contact-section{padding:30px 0 55px}.contact-heading h1{font-size:3.7rem}.contact-heading>p{margin:20px 0}.contact-phone{font-size:30px}.quote-form{padding:23px 18px;margin-inline:-4px}.form-grid{grid-template-columns:1fr;gap:21px}.field.full{grid-column:auto}.form-intro{display:block}.form-intro span{display:block;margin-top:8px}.form-intro h2{font-size:29px}.field>label{font-size:15px}.upload-zone{padding:16px 12px}.photo-item button{font-size:12px;padding:6px}.radio-row{gap:22px}.form-success{padding:30px 20px}.form-success h2{font-size:35px}.lightbox img{max-width:80vw}.commercial-photo>span{font-size:12px;padding:14px 18px}.review-grid footer{padding-bottom:0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-success{scroll-margin-top:110px}.hero-photo>img{object-position:50% 35%}.hero-copy h1{line-height:.99}.hero-photo .year-tag{font-size:12px;line-height:1.35}.hero-photo .year-tag strong{font-size:52px;line-height:1.05;margin:5px 0}.trust-item:before{content:'✓';color:var(--lime);font-weight:700}.hero-review .stars{color:#965713}
.step{color:#548432}.field input:not([type=radio]):not([type=file]),.field select,.field textarea{border-color:#74836e}.btn.outline{border-color:#74836e}.menu-toggle{border-color:#74836e}.upload-zone{border-color:#74836e}
/* Lead with the work photograph on mobile; retain the desktop split composition. */
.hero-grid{grid-template-areas:"copy photo" "trust trust";grid-template-rows:auto auto}
.hero-copy{grid-area:copy}.hero-photo{grid-area:photo}
.hero-grid>.trust-strip{grid-area:trust;width:100vw;margin-left:calc((min(1280px,100vw - 96px) - 100vw)/2)}
.service-copy h3{padding-right:0}.project-tile strong{max-width:100%}
.footer-col .social-links{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #365140}
.footer-col .social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 0}
.social-links img{width:21px;height:21px;object-fit:contain;filter:brightness(0) invert(1);flex-shrink:0}
.social-links a:hover img{opacity:.75}
@media(min-width:701px) and (max-width:1150px){.hero-grid>.trust-strip{margin-left:-32px}}
@media(max-width:700px){.hero-photo{order:0}.hero-grid>.trust-strip{order:1;margin-left:-20px}.hero-copy{order:2}.hero-copy{padding-top:32px}.hero-photo .photo-caption{max-width:calc(100% - 40px)}.footer-col .social-links{column-gap:24px;row-gap:10px}}

.footer-col .social-links{gap:16px}.footer-col .social-links a{width:44px;justify-content:center}.social-links a:hover{background:#234834;border-radius:3px}
/* QA refinements: consistent rhythm, readable controls, clear interactive states. */
.section{padding-block:80px}
.paths-top{padding-top:38px}.path-grid{padding-bottom:38px}
.hero-copy{padding-top:54px;padding-bottom:36px}
.hero-copy>p{max-width:470px}
.service-card{display:flex;flex-direction:column}
.service-copy{display:flex;flex-direction:column;flex:1}
.service-copy>.text-link{margin-top:auto}
.service-card .text-link,.path .text-link{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.service-card:hover .text-link,.path:hover .text-link{text-decoration-thickness:2px}
.service-card:focus-visible,.path:focus-visible,.project-tile:focus-visible{outline:3px solid #a96117;outline-offset:5px}
.service-img{flex-shrink:0}
.project-tile .view-photo{display:inline-block;margin-top:14px;font:14px Barlow,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;color:white}
.project-tile:hover .view-photo,.project-tile:focus-visible .view-photo{text-decoration-thickness:2px}
.preview-disclosure{font-size:14px;color:#465d3a;background:#eef3e8;border-left:3px solid #749b4e;padding:11px 14px;margin:0 0 26px}
.form-intro{margin-bottom:20px;padding-bottom:20px}
.form-intro span,.field small,.submit-row>p{font-size:13px}
.form-intro span{white-space:nowrap}
.quote-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}
.quote-form .error-message{margin:8px 0 0}.quote-form .error-message:empty{display:none}
.footer-col a{min-height:36px;display:flex;align-items:center}
.footer-col .social-links a{display:inline-flex}
.footer-col a:focus-visible{outline-offset:2px}
#main:focus,main section[tabindex="-1"]:focus{outline:none}
@media(min-width:1500px){.hero-copy{padding-top:66px}}
@media(max-width:1000px){.menu-open .mobile-actions{display:none}.nav.open{padding-bottom:22px;max-height:calc(100dvh - 100px)}}
@media(max-width:700px){
  .section{padding-block:52px}.section-head{margin-bottom:28px}
  .paths-top{padding-top:26px}.path-grid{padding-bottom:18px}
  .path,.path:first-child,.path:last-child{padding-block:22px}
  .hero-copy{padding:30px 0 32px}.hero-copy>p{margin-top:18px;margin-bottom:22px}
  .hero-copy .actions .btn{min-height:50px;font-size:15px}
  .hero-copy .actions{gap:10px}
  .service-copy{padding:24px}.service-copy p{margin-bottom:20px}
  .project-grid{grid-template-rows:420px 280px 280px}
  .project-tile .view-photo{font-size:13px;margin-top:10px}
  .footer-col a{min-height:44px;padding-block:10px}
  .footer-bottom{line-height:1.8}
  .form-intro span{white-space:normal}
  .contact-heading h1{font-size:clamp(3rem,12vw,3.7rem)}
  .contact-heading>p{margin:17px 0}.contact-grid{gap:28px}
  .contact-phone{margin-bottom:6px}.contact-heading>.text-link{min-height:44px}
  .quote-form{margin-inline:0}.preview-disclosure{font-size:13px;margin-bottom:24px}
  .form-success{scroll-margin-top:86px}
}
@media(max-width:370px){.hero-copy .actions{display:grid;width:100%;grid-template-columns:1fr}.hero-copy .actions .btn{width:100%}}
/* Use one sticky-header offset rather than stacking scroll padding and margins. */
section[id],.section[id],.form-success{scroll-margin-top:0}
.field .field-error{color:#a12619;font-size:13px;line-height:1.45;margin-top:8px}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#a12619}
.field input::placeholder,.field textarea::placeholder{color:#5c6858;opacity:1}
.gallery-note{font-size:14px}
@media(max-width:1000px){.nav.open{max-height:calc(100dvh - 130px)}}
@media(max-width:700px){.nav.open{max-height:calc(100dvh - 110px)}}
/* Full-width trust strip must not contribute a larger minimum width to the hero tracks. */
.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}
.hero-grid>.hero-copy,.hero-grid>.hero-photo{min-width:0}
