@font-face{font-family:Barlow Condensed;src:url('assets/fonts/barlow-condensed-900.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/fonts/dm-sans-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/fonts/caveat-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--forest:#032d1d;--deep:#022619;--green:#227b29;--lime:#a1df00;--lime-bright:#b5ef13;--ink:#12251b;--muted:#58635b;--pale:#f0f6ef;--line:#dce4dc;--body:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--script:Caveat,cursive;--header-height:102px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;background:white;color:var(--ink);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1;text-transform:uppercase}h2{font-size:clamp(38px,4.2vw,60px);letter-spacing:-.02em}p+p{margin-top:16px}::selection{background:var(--lime);color:var(--forest)}:focus-visible{outline:3px solid #438806;outline-offset:5px}.site-header :focus-visible,.process :focus-visible,.closing-cta :focus-visible,.site-footer :focus-visible{outline-color:var(--lime)}.container{width:min(1220px,calc(100% - 88px));margin-inline:auto}.section-pad{padding-block:82px}.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.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}.skip-link{position:fixed;left:16px;top:-70px;z-index:1000;background:var(--lime);color:var(--forest);font-weight:700;padding:12px 20px}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.4;letter-spacing:1.7px;font-weight:700;text-transform:uppercase;color:var(--forest);margin-bottom:14px}.eyebrow.lime{color:var(--lime)}.eyebrow>span{width:27px;height:2px;background:currentColor}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;border:1px solid transparent;border-radius:6px;background:var(--lime);color:var(--deep);font-weight:700;font-size:16px;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s;text-align:center}.button:hover{background:var(--lime-bright);transform:translateY(-2px);box-shadow:0 7px 18px #001a1524}.button .icon{width:21px;height:21px}.button-small{min-height:43px;padding:10px 17px;font-size:16px}.button-outline{border:1px solid #ffffffa3;background:#032d1d32;color:#fff;backdrop-filter:blur(3px)}.button-outline:hover{background:var(--forest);color:#fff}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:16px;border-bottom:1px solid currentColor;padding-block:8px}.text-link .icon{width:22px}.text-link:hover{color:var(--green)}
/* Header */
.site-header{background:var(--forest);color:white;position:sticky;top:0;z-index:50;border-bottom:1px solid #ffffff15;box-shadow:0 3px 18px #00170c18}.header-inner{height:var(--header-height);display:flex;align-items:center;gap:25px}.brand{display:block;flex:none;width:220px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:25px;margin-inline:auto}.nav-link{position:relative;padding:14px 0;font-size:16px;font-weight:700;white-space:nowrap}.nav-link:after{content:'';height:2px;background:var(--lime);position:absolute;bottom:7px;left:0;right:100%;transition:right .2s}.nav-link:hover:after,.nav-link.active:after{right:0}.header-phone{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:22px;white-space:nowrap;line-height:1}.header-phone .icon{color:var(--lime);width:20px;height:20px;fill:currentColor}.header-quote{flex:none}.menu-toggle{display:none;background:transparent;border:1px solid #ffffff40;padding:11px;border-radius:5px;width:44px;height:42px}.menu-toggle span{display:block;background:white;width:20px;height:2px;margin:4px 0;transition:transform .2s,opacity .2s}.mobile-menu[hidden]{display:none}.mobile-menu{padding:10px 24px 24px;display:grid;background:var(--forest);border-top:1px solid #ffffff20}.mobile-menu a{padding:12px 0;border-bottom:1px solid #ffffff20;font-weight:700;font-size:16px}.mobile-menu a:last-child{color:var(--lime);display:flex;justify-content:space-between}
/* Hero */
.hero{isolation:isolate;position:relative;overflow:hidden;background:#133b21;color:#fff}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-fit:cover;object-position:center 49%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#00180ee8 0%,#012516c7 30%,#012a1869 61%,#02170b3d 100%)}.hero-inner{min-height:644px;padding-block:50px;display:grid;grid-template-columns:1fr 390px;gap:48px;align-items:center}.hero-copy{padding-block:28px;min-width:0}.hero-copy .eyebrow{font-size:16px;letter-spacing:1.7px;margin-bottom:18px}.hero h1{font-size:clamp(64px,7vw,100px);line-height:.96;letter-spacing:-.018em;text-shadow:0 2px 15px #00170d24}.hero h1 span{color:var(--lime);white-space:nowrap}.hero-description{margin-top:23px;font-size:19px;line-height:1.55;color:#f2f5ef;max-width:510px}.hero-actions{display:flex;gap:13px;margin-top:28px;flex-wrap:wrap}.hero-actions .button{min-height:54px}.hero-script{font:600 35px/1.2 var(--script);margin-top:25px;color:#f3f8e9;transform:rotate(-2deg)}.hero-image-note{position:absolute;bottom:11px;right:18px;font-size:16px;color:#ffffffbd;letter-spacing:.2px}.quote-card{background:white;border-radius:12px;padding:26px 28px 20px;box-shadow:0 16px 50px #00170c26;color:var(--ink);scroll-margin-top:calc(var(--header-height) + 24px)}.quote-card .eyebrow{font-size:16px;letter-spacing:1.4px;margin-bottom:6px;color:#466c30}.quote-card h2{font-size:32px;text-transform:none;letter-spacing:-.02em}.form-intro{font-size:16px;line-height:1.6;color:var(--muted);margin-top:7px;margin-bottom:18px}.form-field{margin-bottom:13px}.form-field label{display:block;font-size:16px;font-weight:700;line-height:1.5;margin-bottom:5px}.form-field label span{color:#507f2e}.input-wrap{position:relative}.input-wrap .icon{position:absolute;top:14px;left:12px;width:15px;height:15px;color:#6a756c;pointer-events:none}.input-wrap input,.input-wrap textarea{width:100%;border:1px solid #d9dfd8;border-radius:5px;background:#fafbf9;padding:11px 10px 11px 36px;font-size:16px;line-height:1.5;min-height:43px;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s}.input-wrap textarea{resize:vertical;min-height:77px;max-height:180px}.input-wrap input::placeholder,.input-wrap textarea::placeholder{color:#899089;opacity:1}.input-wrap input:focus,.input-wrap textarea:focus{outline:0;border-color:#5f9628;background:#fff;box-shadow:0 0 0 3px #a1df0024}.form-row{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.submit-button{width:100%;font-size:16px;min-height:47px;padding-inline:10px;justify-content:space-between}.form-note{font-size:16px;color:#687368;line-height:1.6;text-align:center;margin-top:7px}.text-photos{display:flex;align-items:center;justify-content:center;gap:4px;font-size:16px;line-height:1.6;margin-top:14px;border-top:1px solid #e6ebe3;padding-top:13px;white-space:nowrap}.text-photos>span{display:grid;place-items:center;background:var(--forest);border-radius:50%;width:22px;height:22px;margin-right:4px;color:white}.text-photos .icon{width:13px;height:13px}.text-photos strong{font-weight:700;color:var(--forest)}.text-photos:hover strong{text-decoration:underline}
/* Painted brand promise */
.promise-band{position:relative;background:white;padding:14px 0 12px}.promise-band:before{content:'';position:absolute;inset:7px 1.5%;background:var(--lime);clip-path:polygon(1% 8%,4% 10%,1% 17%,5% 16%,0 26%,3% 30%,1% 42%,4% 43%,0 56%,3% 58%,1% 73%,4% 72%,2% 88%,6% 84%,7% 95%,94% 92%,98% 96%,96% 83%,100% 75%,97% 68%,100% 54%,97% 48%,100% 36%,96% 28%,99% 19%,95% 20%,97% 8%,91% 11%);z-index:0}.promise-inner{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;min-height:70px}.promise-inner>div{display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid #29601855;font-family:var(--display);font-size:29px;text-transform:uppercase;line-height:1}.promise-inner>div:last-child{border:0}.promise-inner>div>span{background:var(--forest);color:#fff;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px #ffffff52}.promise-inner .icon{width:25px;height:25px;stroke-width:2.5}
/* Services: generous photography, readable copy, and a clear action. */
.services { padding-top: 68px; padding-bottom: 76px; }
.section-heading { margin-bottom: 38px; }
.section-heading.centered { text-align: center; }
.centered .eyebrow { justify-content: center; margin-bottom: 12px; }
.section-heading > p:last-child:not(.eyebrow) { margin-top: 18px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.service-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dce5d8; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px #032d1d0c; transition: transform .2s, box-shadow .2s, border-color .2s; }
.service-card:hover, .service-card:focus-within { transform: translateY(-5px); box-shadow: 0 15px 35px #032d1d12; border-color: #8db964; }
.service-photo { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #dbe4d6; }
.service-photo::after { content: ''; position: absolute; inset: 60% 0 0; background: linear-gradient(transparent, #032d1d55); pointer-events: none; }
.service-photo img { position: absolute; left: 0; top: 0; width: 300%; max-width: none; height: auto; }
.photo-residential img { transform: translate(0, -6.25%); }
.photo-commercial img { transform: translate(-33.333%, -6.25%); }
.photo-sheds img { transform: translate(-66.667%, -6.25%); }
.photo-furniture img { transform: translate(0, -56.25%); }
.photo-yard img { transform: translate(-33.333%, -56.25%); }
.photo-construction img { transform: translate(-66.667%, -56.25%); }
.service-icon { position: absolute; left: 20px; top: 20px; bottom: auto; z-index: 1; display: grid; place-items: center; width: 60px; height: 60px; border: 2px solid white; box-shadow: 0 0 0 2px var(--lime), 0 4px 12px #032d1d35; border-radius: 50%; background: var(--forest); color: white; }
.service-icon .icon { width: 29px; height: 29px; stroke-width: 1.7; }
.service-body { display: flex; flex-direction: column; flex: 1; padding: 27px 27px 25px; }
.service-body h3 { font-size: 35px; line-height: 1.06; letter-spacing: -.015em; text-transform: none; }
.service-body p { margin: 16px 0 0; font-size: 16px; line-height: 1.75; color: #4e5f53; }
.service-action { display: flex; align-items: center; justify-content: space-between; gap: 15px; width: 100%; margin-top: auto; min-height: 74px; padding: 15px 27px; border: 0; background: var(--forest); color: white; font-size: 16px; line-height: 1.5; font-weight: 700; text-align: left; }
.service-action::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: 12px; }
.service-action:focus-visible { outline: none; }
.service-card:has(.service-action:focus-visible) { outline: 3px solid var(--green); outline-offset: 4px; }
.service-action-icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--lime); color: var(--forest); transition: background .2s, transform .2s; }
.service-action-icon .icon { width: 21px; height: 21px; }
.service-card:hover .service-action-icon, .service-card:focus-within .service-action-icon { background: var(--lime-bright); transform: translateX(3px); }
.services-help { display: flex; align-items: center; gap: 25px; margin-top: 36px; padding: 30px 32px; border: 1px solid #d9e6ce; border-radius: 12px; background: #eff6e9; }
.services-help-icon { display: grid; place-items: center; width: 62px; height: 62px; flex: none; border-radius: 50%; background: var(--forest); color: var(--lime); }
.services-help-icon .icon { width: 29px; height: 29px; }
.services-help-copy { flex: 1; }
.services-help-copy h3 { font-size: 32px; line-height: 1.1; text-transform: none; }
.services-help-copy p { margin-top: 8px; font-size: 16px; line-height: 1.7; color: #4e5f53; max-width: 590px; }
.services-help .button { flex: none; font-size: 16px; padding-inline: 24px; min-height: 56px; }
/* Before and after */
.transformation{background:linear-gradient(120deg,#f0f6ed,#eaf3ed);padding-block:62px}.transformation-inner{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:65px}.transformation-copy h2{font-size:clamp(46px,4.7vw,68px);line-height:1.03;letter-spacing:-.02em}.transformation-copy h2 span{color:#65a900}.transformation-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#4b5b4e;margin-top:20px}.project-tag{display:table;font-size:16px;color:var(--forest);font-weight:700;border:1px solid #ccdbbf;padding:5px 12px;border-radius:20px;margin-top:20px;margin-bottom:13px}.project-figure{min-width:0}.project-figure figcaption{font-size:16px;line-height:1.4;color:#647562;text-align:right;margin-top:8px}
/* Steps */
.process{background:var(--forest);color:white;padding-block:55px 59px;position:relative;overflow:hidden}.process:after{content:'';position:absolute;width:550px;height:550px;border-radius:50%;background:#0a492b;filter:blur(90px);right:-120px;bottom:-480px;pointer-events:none}.process h2{font-size:clamp(35px,4vw,55px)}.process h2 span{color:var(--lime)}.process .eyebrow{font-size:16px;letter-spacing:2px}.process .section-heading{margin-bottom:37px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.steps li{display:flex;position:relative;gap:17px}.step-icon{width:71px;height:71px;border:3px solid var(--lime);border-radius:50%;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 4px var(--forest),inset 0 0 0 5px #ffffff28}.step-icon .icon{width:33px;height:33px;stroke-width:1.5}.step-content{display:grid;grid-template-columns:49px 1fr;gap:12px 13px;flex:1}.step-number{font:900 51px/.95 var(--display);color:var(--lime)}.step-content h3{font-size:25px;line-height:1.02;text-transform:none}.step-content p{grid-column:1/-1;font-size:16px;line-height:1.7;color:#d5e1d5;max-width:230px}.step-arrow{position:absolute;right:-31px;top:27px;width:20px;height:20px;color:#c0d6c1}
/* About */
.about{padding-block:73px}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:67px;align-items:center}.about-photo{height:366px;position:relative;overflow:hidden;border-radius:7px;background:var(--forest)}.about-photo>img{width:100%;height:100%;object-fit:cover;object-position:80% center}.about-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#001d10c9)}.about-photo-stamp{position:absolute;bottom:35px;left:28px;color:#fff;font:900 38px/1.04 var(--display);text-transform:uppercase;z-index:1}.about-photo-stamp>span{color:var(--lime)}.about-photo figcaption{position:absolute;bottom:10px;left:28px;z-index:1;color:#ffffffbf;font-size:16px}.about-copy h2{font-size:clamp(44px,4.6vw,64px)}.about-copy>p:not(.eyebrow):not(.script-line){font-size:16px;line-height:1.8;color:var(--muted);margin-top:16px;max-width:480px}.script-line{font:600 42px/1.2 var(--script);color:var(--forest);margin-top:20px;transform:rotate(-2deg)}.about-copy .button{margin-top:23px;font-size:16px}
/* Area and FAQs */
.areas-faq{background:var(--pale);padding-block:61px}.areas-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.areas-copy{display:flex;gap:22px}.area-icon{width:70px;height:70px;border-radius:50%;background:var(--green);color:white;flex:none;display:grid;place-items:center;border:3px solid var(--lime);margin-top:4px}.area-icon .icon{width:33px;height:33px}.areas-copy h2{font-size:49px}.areas-copy p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:15px;max-width:310px}.areas-copy .button{margin-top:21px}.areas-copy .eyebrow{font-size:16px;letter-spacing:1.3px}.faq>.eyebrow{font-size:16px;margin-bottom:13px}.faq details{background:#fff;border:1px solid #e5ece2;border-radius:5px;margin-bottom:10px;padding:0 18px}.faq details:last-child{margin-bottom:0}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;font-family:var(--display);font-weight:900;font-size:21px;line-height:1.3;padding:17px 0}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{width:17px;height:17px;color:#52704e;transition:transform .2s}.faq details[open] summary .icon{transform:rotate(45deg)}.faq details[open] summary{padding-bottom:12px}.faq details>p{padding-bottom:19px;font-size:16px;color:var(--muted);line-height:1.8}.faq p a{color:var(--forest);font-weight:700;text-decoration:underline}
/* Final CTA + footer */
.closing-cta{background:radial-gradient(ellipse at 50% 140%,#124b2b,var(--forest) 70%);color:white;padding-block:55px 44px;text-align:center;border-bottom:1px solid #ffffff1f;position:relative;overflow:hidden}.closing-cta>.container{position:relative;z-index:1}.closing-cta .eyebrow{justify-content:center;font-size:16px;letter-spacing:2px}.closing-cta h2{font-size:clamp(35px,4.6vw,62px);line-height:1.12;position:relative;isolation:isolate;width:max-content;max-width:100%;margin:0 auto 23px;padding:11px 28px 14px;color:var(--deep)}.closing-cta h2:before{content:'';background:var(--lime);position:absolute;inset:0 -12px;z-index:-1;clip-path:polygon(3% 8%,7% 9%,1% 18%,4% 27%,0 42%,4% 48%,1% 62%,4% 66%,1% 80%,8% 79%,5% 94%,92% 91%,98% 98%,95% 81%,100% 73%,96% 62%,99% 50%,96% 37%,100% 24%,93% 22%,96% 9%,89% 10%)}.closing-actions{display:flex;align-items:center;justify-content:center;gap:35px}.closing-phone{display:flex;align-items:center;gap:16px;font:900 clamp(34px,4vw,57px)/1 var(--display);letter-spacing:.5px}.closing-phone-icon{background:var(--lime);color:var(--forest);width:62px;height:62px;border-radius:50%;display:grid;place-items:center}.closing-phone-icon .icon{width:29px;height:29px;fill:currentColor}.closing-form-link{display:inline-block;font-size:16px;color:#d3dfce;margin-top:24px}.closing-form-link:hover{text-decoration:underline}.closing-form-link span{color:var(--lime);margin-left:5px}.site-footer{background:var(--deep);color:white;padding:32px 0 22px}.footer-main{display:flex;align-items:center;gap:35px;padding-bottom:23px}.footer-brand{width:210px}.footer-main nav{display:flex;gap:22px;margin-inline:auto;flex-wrap:wrap}.footer-main nav a{font-size:16px;color:#d8e3d7}.footer-main nav a:hover{color:var(--lime)}.footer-phone{font:900 23px/1 var(--display);white-space:nowrap}.footer-phone .icon{width:19px;height:19px;color:var(--lime);margin-right:7px;fill:currentColor}.footer-bottom{display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff12;padding-top:17px;color:#a6b8a8;font-size:16px}.footer-bottom p+p{margin-top:0}.privacy-trigger{border:0;background:none;color:inherit;font-size:16px;padding:0;text-decoration:underline}.concept-note{margin-left:auto;text-align:right}.mobile-contact-bar{display:none}
/* Dialogs */
.modal{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:40px;border:0;border-radius:12px;box-shadow:0 24px 90px #001a0b60;background:white;color:var(--ink)}.modal::backdrop{background:#001a10b3;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:#edf3e9;color:var(--forest)}.modal-close:hover{background:var(--lime)}.modal-close .icon{width:18px;height:18px}.modal h2{font-size:43px;margin-bottom:18px}.modal>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.service-items{margin:22px 0;padding:0;list-style:none;font-size:16px;display:grid;gap:10px}.service-items li{display:flex;gap:10px}.service-items li:before{content:'✓';font-weight:700;color:var(--green)}.modal .modal-note{font-size:16px!important;margin-block:20px}.modal .button{width:100%;font-size:16px}.modal-call{display:block;text-align:center;font-size:16px;font-weight:700;margin-top:14px}.modal-call:hover{text-decoration:underline}.quote-preview{padding:17px;background:#f0f5ed;border:1px solid #dae5d3;border-radius:6px;font-size:16px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-block:20px;max-height:220px;overflow:auto}.copy-message{background:none;border:0;text-decoration:underline;padding:12px 5px 0;display:block;margin:auto;color:var(--forest);font-weight:700;font-size:16px}.copy-status{font-size:16px!important;color:var(--green)!important;text-align:center;margin-top:8px;min-height:18px}.privacy-modal>p+p{margin-top:16px}.privacy-modal a{text-decoration:underline;color:var(--forest)}
/* Responsive layouts */
@media(min-width:1500px){.hero-inner{min-height:690px}.hero-copy{padding-block:45px}.hero h1{font-size:104px}}
@media(max-width:1190px){.container{width:calc(100% - 64px)}.header-inner{gap:19px}.brand{width:190px}.desktop-nav{gap:19px}.header-phone{font-size:20px}.header-quote .icon{display:none}.header-quote{font-size:16px;padding-inline:14px}.hero-inner{grid-template-columns:1fr 355px;gap:30px}.hero h1{font-size:clamp(62px,6.9vw,90px)}.quote-card{padding:24px}.hero-description{font-size:17px}.hero-actions .button{font-size:16px;padding-inline:17px}.steps{gap:32px}.step-icon{width:61px;height:61px}.steps li{gap:13px}.step-content{grid-template-columns:41px 1fr;gap:11px}.step-number{font-size:46px}.step-content h3{font-size:23px}.step-arrow{right:-26px}.transformation-inner{gap:40px}.about-inner{gap:45px}.areas-inner{gap:40px}.footer-main{gap:22px}.footer-main nav{gap:15px}.footer-brand{width:185px}}
@media(max-width:1020px){.header-phone span{display:none}.header-phone .icon{width:24px;height:24px}.header-inner{gap:22px}.hero-inner{grid-template-columns:1fr 340px;gap:25px}.hero h1{font-size:clamp(55px,6.7vw,72px)}.hero-actions{gap:10px}.hero-actions .button{padding-inline:14px;font-size:16px;gap:8px}.hero-actions .button .icon{width:18px;height:18px}.hero-copy .eyebrow{font-size:16px}.hero-description{font-size:16px}.hero-script{font-size:31px}.steps li{display:block}.step-icon{margin-bottom:17px}.step-content p{font-size:16px}.step-content h3{font-size:25px}.step-arrow{top:30px;right:0}.areas-copy{gap:16px}.area-icon{width:52px;height:52px}.area-icon .icon{width:26px;height:26px}.areas-copy h2{font-size:43px}.footer-main nav{gap:13px}.footer-phone{font-size:20px}.footer-brand{width:160px}.closing-actions{gap:24px}.closing-phone{font-size:49px}}
@media(max-width:800px){:root{--header-height:86px}.container{width:calc(100% - 44px)}.section-pad{padding-block:60px}.header-inner{gap:18px}.brand{width:195px;margin-right:auto}.desktop-nav{display:none}.header-phone span{display:inline}.header-phone{font-size:23px}.header-quote{display:none}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hero-inner{grid-template-columns:1fr 320px;gap:22px;padding-block:38px;min-height:610px}.hero h1{font-size:clamp(46px,6.4vw,58px)}.hero h1 span{white-space:normal}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:16px;letter-spacing:1px}.hero-copy .eyebrow>span{width:16px}.hero-description{font-size:16px}.desktop-break{display:none}.hero-actions{flex-direction:column;align-items:flex-start;margin-top:22px}.hero-actions .button{min-height:45px;padding-inline:18px;font-size:16px}.hero-script{font-size:27px;margin-top:20px}.quote-card{padding:23px 20px 19px}.quote-card h2{font-size:29px}.text-photos{font-size:16px}.promise-inner{min-height:61px}.promise-inner>div{gap:9px;font-size:23px}.promise-inner>div>span{width:34px;height:34px}.promise-inner .icon{width:21px;height:21px}.services{padding-top:47px;padding-bottom:49px}.section-heading h2{font-size:43px}.section-heading>p:last-child:not(.eyebrow){font-size:16px;margin-inline:auto;max-width:440px}.transformation-inner{grid-template-columns:.8fr 1.2fr;gap:26px}.transformation-copy h2{font-size:43px}.transformation-copy .eyebrow{font-size:16px;letter-spacing:1px}.transformation-copy>p:not(.eyebrow){font-size:16px;margin-top:14px}.project-tag{font-size:16px}.text-link{font-size:16px;gap:8px}.text-link .icon{width:18px}.project-figure figcaption{font-size:16px}.process h2{font-size:41px}.steps{gap:30px}.step-content{grid-template-columns:34px 1fr;gap:10px}.step-number{font-size:39px}.step-content h3{font-size:22px}.step-content p{font-size:16px}.about-inner{gap:28px}.about-photo{height:330px}.about-copy h2{font-size:47px}.about-copy>p:not(.eyebrow):not(.script-line){font-size:16px;margin-top:14px}.script-line{font-size:32px}.about-copy .button{font-size:16px;padding:12px 15px;gap:10px}.about-copy .button .icon{width:18px}.about-photo-stamp{left:20px;font-size:30px}.about-photo figcaption{left:20px}.areas-inner{grid-template-columns:1fr 1.1fr;gap:30px}.areas-copy{display:block}.area-icon{margin-bottom:17px}.areas-copy .eyebrow{font-size:16px}.areas-copy h2{font-size:41px}.areas-copy p:not(.eyebrow){font-size:16px}.areas-copy .button{font-size:16px;padding-inline:15px}.faq summary{font-size:20px}.faq>.eyebrow{font-size:16px}.faq details{padding-inline:14px}.closing-cta{padding-block:45px 37px}.closing-cta h2{font-size:45px}.closing-phone{font-size:41px;gap:12px}.closing-phone-icon{width:48px;height:48px}.closing-phone-icon .icon{width:25px;height:25px}.closing-actions>.button{font-size:16px;gap:8px;padding-inline:16px}.closing-actions>.button .icon{width:18px}.footer-main{flex-wrap:wrap;gap:20px;justify-content:space-between}.footer-brand{width:190px;margin-right:0}.footer-main nav{order:3;width:100%;margin:0;justify-content:space-between}.footer-phone{font-size:25px}.footer-bottom{flex-wrap:wrap;font-size:16px;gap:8px 15px}.concept-note{width:100%;text-align:left;margin-left:0}}
@media(max-width:600px){:root{--header-height:78px}.container{width:calc(100% - 36px)}.header-inner{gap:14px}.brand{width:174px}.header-phone span{display:none}.header-phone .icon{width:23px;height:23px}.menu-toggle{width:40px;height:39px;padding:9px}.hero-inner{grid-template-columns:1fr;gap:0;padding-block:0 33px;min-height:auto}.hero-photo{height:490px;object-position:65% center}.hero-shade{background:linear-gradient(180deg,#00180e8c 0,#00180eb8 350px,var(--forest) 530px)}.hero-copy{padding-top:47px;padding-bottom:34px;position:relative}.hero-copy .eyebrow{font-size:16px;letter-spacing:1.3px;margin-bottom:18px}.hero h1{font-size:clamp(49px,11.1vw,66px);line-height:.98}.hero h1 span{white-space:nowrap}.hero-description{font-size:16px;max-width:335px;margin-top:20px;line-height:1.65}.hero-actions{flex-direction:row;gap:10px;align-items:stretch;margin-top:24px}.hero-actions .button{min-height:48px;padding-inline:15px;font-size:16px;gap:8px}.hero-script{font-size:30px;margin-top:22px}.hero-image-note{top:395px;bottom:auto;right:18px;font-size:16px;display:none}.quote-card{padding:25px 23px 20px;max-width:440px;width:100%;margin:auto}.quote-card h2{font-size:33px}.quote-card .eyebrow{font-size:16px}.form-intro{font-size:16px;margin-bottom:18px}.form-field{margin-bottom:14px}.form-field label{font-size:16px}.input-wrap input,.input-wrap textarea{font-size:16px;min-height:48px;padding-top:11px;padding-bottom:11px}.input-wrap textarea{font-size:16px;min-height:82px}.input-wrap .icon{top:16px}.form-row{grid-template-columns:1.35fr 1fr}.form-row .input-wrap input{font-size:16px}.submit-button{font-size:16px;min-height:50px}.form-note{font-size:16px}.text-photos{font-size:16px;gap:4px;white-space:normal;flex-wrap:wrap}.promise-band{padding-block:13px}.promise-band:before{inset:8px 0}.promise-inner{grid-template-columns:repeat(2,1fr);gap:15px 0;padding-block:15px;min-height:120px}.promise-inner>div{font-size:25px;gap:12px}.promise-inner>div:nth-child(2){border-right:0}.promise-inner>div>span{width:34px;height:34px}.section-pad{padding-block:47px}.services{padding-top:36px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:39px;line-height:1.04;max-width:330px;margin-inline:auto}.section-heading>p:last-child:not(.eyebrow){font-size:16px;max-width:320px;line-height:1.8}.eyebrow{font-size:16px;letter-spacing:1.5px}.transformation-inner{grid-template-columns:1fr;gap:27px}.transformation-copy h2{font-size:51px}.transformation-copy>p:not(.eyebrow){font-size:16px;line-height:1.7}.transformation-copy .eyebrow{font-size:16px}.transformation-copy .text-link{font-size:16px}.project-tag{font-size:16px;margin-top:16px;margin-bottom:10px}.project-figure figcaption{font-size:16px}.process{padding-block:43px 47px}.process .section-heading{margin-bottom:31px}.process h2{font-size:38px;line-height:1.04;max-width:350px}.steps{grid-template-columns:1fr;gap:27px;max-width:380px;margin-inline:auto}.steps li{display:flex;gap:17px;padding-bottom:25px;border-bottom:1px solid #ffffff1f}.steps li:last-child{padding-bottom:0;border-bottom:0}.step-icon{margin:0;width:60px;height:60px}.step-icon .icon{width:28px;height:28px}.step-content{grid-template-columns:41px 1fr;gap:9px 12px}.step-number{font-size:47px}.step-content h3{font-size:25px;line-height:1.03}.step-content h3 br{display:none}.step-content p{font-size:16px;max-width:none;grid-column:1/-1}.step-arrow{display:none}.about-inner{grid-template-columns:1fr;gap:30px}.about-photo{height:290px;order:2}.about-copy h2{font-size:51px}.about-copy h2 br{display:none}.about-copy>p:not(.eyebrow):not(.script-line){font-size:16px;line-height:1.85;max-width:none}.script-line{font-size:38px;margin-top:17px}.about-copy .button{font-size:16px;margin-top:22px;min-height:49px}.about-photo-stamp{font-size:34px;bottom:32px}.areas-inner{grid-template-columns:1fr;gap:37px}.areas-copy{display:flex;gap:17px}.area-icon{width:53px;height:53px}.areas-copy h2{font-size:43px}.areas-copy h2 br{display:none}.areas-copy .eyebrow{font-size:16px;margin-bottom:10px}.areas-copy p:not(.eyebrow){font-size:16px;max-width:300px;line-height:1.8}.areas-copy .button{min-height:47px;font-size:16px;margin-top:17px}.faq>.eyebrow{font-size:16px}.faq summary{font-size:23px;padding-block:16px}.faq details{padding-inline:17px;margin-bottom:9px}.faq details>p{font-size:16px}.closing-cta{padding:43px 0 36px}.closing-cta .eyebrow{font-size:16px;letter-spacing:1.3px}.closing-cta h2{font-size:36px;line-height:1.05;padding:12px 10px 14px;margin-bottom:21px;max-width:min(310px,100%)}.closing-cta h2:before{inset:0 -8px}.closing-actions{flex-direction:column;gap:23px}.closing-phone{font-size:46px;gap:12px}.closing-phone-icon{width:46px;height:46px}.closing-actions>.button{font-size:16px;min-height:48px;padding-inline:24px;gap:13px}.closing-form-link{font-size:16px;margin-top:20px}.site-footer{padding:28px 0 85px}.footer-main{gap:23px 14px;padding-bottom:22px}.footer-brand{width:172px}.footer-phone{font-size:22px;display:flex;gap:7px;align-items:center}.footer-phone .icon{width:17px;height:17px;margin:0}.footer-main nav{gap:14px;justify-content:flex-start}.footer-main nav a{font-size:16px}.footer-bottom{font-size:16px;line-height:1.8;gap:7px 13px}.privacy-trigger{font-size:16px}.concept-note{font-size:16px}.mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--forest);z-index:45;box-shadow:0 -3px 15px #001a1524;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 7px;color:white;font-weight:700;font-size:16px;min-height:54px}.mobile-contact-bar a:last-child{background:var(--lime);color:var(--forest)}.mobile-contact-bar .icon{width:19px;height:19px}.modal{padding:36px 25px 26px;max-height:calc(100dvh - 35px);width:calc(100% - 28px)}.modal h2{font-size:37px}.modal>p:not(.eyebrow){font-size:16px}.modal .button{font-size:16px}.quote-preview{font-size:16px}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.brand{width:152px}.hero h1{font-size:clamp(42px,13.75vw,46px)}.hero-actions .button{font-size:16px;padding-inline:11px}.hero-actions .button .icon{width:17px;height:17px}.hero-copy .eyebrow{font-size:16px}.quote-card{padding-inline:19px}.quote-card h2{font-size:30px}.footer-phone{font-size:19px}.footer-brand{width:150px}.closing-phone{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Reading sizes stay consistent across breakpoints. */
.eyebrow,
.hero-copy .eyebrow,
.quote-card .eyebrow,
.process .eyebrow,
.transformation-copy .eyebrow,
.areas-copy .eyebrow,
.faq > .eyebrow,
.closing-cta .eyebrow { font-size: 13px; line-height: 1.5; letter-spacing: 1.2px; }
.nav-link { font-size: 15px; }
.form-field label { font-size: 14px; }
.input-wrap input, .input-wrap textarea, .form-row .input-wrap input { font-size: 16px; }
.input-wrap input { min-height: 49px; }
.input-wrap .icon { top: 16px; }
.input-wrap input::placeholder, .input-wrap textarea::placeholder { color: #68766c; }
.form-intro { line-height: 1.65; }
.form-note, .text-photos, .modal-call, .copy-message, .quote-preview, .copy-status { font-size: 14px; }
.form-note { color: #526251; }
.text-photos { white-space: normal; flex-wrap: wrap; gap: 5px; line-height: 1.7; }
.text-photos > span { width: 26px; height: 26px; }
.text-photos .icon { width: 15px; height: 15px; }
.modal .modal-note { font-size: 14px !important; }
.project-tag { font-size: 14px; }
.hero-image-note, .project-figure figcaption, .about-photo figcaption { font-size: 12px; line-height: 1.5; }
.footer-bottom { font-size: 13px; flex-wrap: wrap; line-height: 1.7; }
.privacy-trigger { font-size: 14px; min-height: 36px; }
.concept-note { font-size: 13px; }
.footer-main nav a { font-size: 14px; }
.closing-form-link { font-size: 16px; line-height: 1.7; }
.button, .hero-actions .button, .header-quote, .about-copy .button,
.areas-copy .button, .closing-actions > .button, .submit-button, .modal .button { font-size: 16px; line-height: 1.5; min-height: 52px; }
.step-content p, .areas-copy p:not(.eyebrow), .faq details > p,
.about-copy > p:not(.eyebrow):not(.script-line),
.transformation-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.step-content p { max-width: none; }
.faq summary { font-size: 25px; }
@media (max-width: 1100px) {
  :root { --header-height: 86px; }
  .desktop-nav, .header-quote { display: none; }
  .brand { margin-right: auto; }
  .menu-toggle { display: block; }
  .header-phone span { display: inline; }
  .header-phone { font-size: 24px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
  .service-body { padding: 26px; }
  .services-help { display: grid; grid-template-columns: 62px 1fr; gap: 20px; }
  .services-help .button { grid-column: 2; justify-self: start; }
}
@media (max-width: 800px) {
  .hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .hero-copy { max-width: 620px; }
  .hero h1 { font-size: clamp(58px, 8.8vw, 76px); }
  .hero-actions { flex-direction: row; align-items: stretch; }
  .quote-card { width: 100%; max-width: 540px; margin-inline: auto; }
  .hero-photo { object-position: 65% center; }
  .hero-shade { background: linear-gradient(180deg, #00180eb0 0%, #012516d9 55%, var(--forest) 100%); }
  .hero-image-note { display: none; }
  .section-heading > p:last-child:not(.eyebrow) { font-size: 16px; }
  .services-grid { gap: 22px; }
  .service-body { padding: 23px; }
  .service-body h3 { font-size: 33px; }
  .service-icon { left: 18px; top: 18px; bottom: auto; width: 54px; height: 54px; }
  .service-icon .icon { width: 27px; height: 27px; }
  .step-content { grid-template-columns: 1fr; }
  .step-content h3 { font-size: 27px; }
  .step-content p { grid-column: 1; }
  .footer-bottom .concept-note { margin-left: 0; width: 100%; text-align: left; }
}
@media (max-width: 600px) {
  :root { --header-height: 78px; }
  .header-phone span { display: none; }
  .hero-inner { gap: 0; }
  .hero h1 { font-size: clamp(46px, 11.1vw, 66px); }
  .hero-description { font-size: 17px; }
  .hero-shade { background: linear-gradient(180deg, #00180e8c 0, #00180ed4 390px, var(--forest) 620px); }
  .hero-photo { height: 570px; }
  .hero-actions { flex-direction: column; max-width: 360px; }
  .hero-actions .button { width: 100%; justify-content: center; }
  .hero-copy { padding-bottom: 35px; }
  .quote-card { padding-inline: 22px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .text-photos { font-size: 14px; }
  .services-grid { grid-template-columns: 1fr; gap: 26px; }
  .services .section-heading h2 { font-size: 43px; }
  .service-photo { aspect-ratio: 4 / 3; }
  .service-body { padding: 25px; }
  .service-body h3 { font-size: 36px; }
  .service-body p { margin: 15px 0 0; font-size: 16px; }
  .service-action { font-size: 16px; padding-inline: 25px; }
  .service-icon { left: 20px; top: 20px; bottom: auto; width: 58px; height: 58px; }
  .services-help { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; padding: 26px; margin-top: 28px; }
  .services-help-copy h3 { font-size: 34px; }
  .services-help .button { width: 100%; }
  .step-content { grid-template-columns: 44px 1fr; }
  .step-content h3 { font-size: 26px; }
  .step-content p { grid-column: 1 / -1; }
  .mobile-contact-bar a { font-size: 14px; min-height: 58px; }
  .site-footer { padding-bottom: 94px; }
  .footer-main nav { gap: 15px 22px; }
  .footer-main nav a { font-size: 15px; }
  .footer-bottom { font-size: 13px; }
  .concept-note { font-size: 13px; }
  .closing-form-link { font-size: 16px; }
}


/* Compact side-by-side comparison with the original wide framing. */
.comparison { position: relative; isolation: isolate; aspect-ratio: 836 / 504; overflow: hidden; border: 4px solid #fff; border-radius: 0; background: var(--forest); box-shadow: 0 7px 24px #133c1812; }
.comparison-layer { position: absolute; top: 0; bottom: 0; overflow: hidden; }
.comparison-layer svg { display: block; width: 100%; height: 100%; overflow: hidden; user-select: none; pointer-events: none; }
.comparison-after { left: var(--reveal); right: 0; }
.comparison-before { left: 0; width: var(--reveal); }
.comparison-label { position: absolute; top: 16px; z-index: 2; padding: 10px 19px 12px; border-radius: 0; background: #ffe12b; color: #102115; font: italic 900 29px/1 var(--display); text-transform: uppercase; letter-spacing: .4px; transform: rotate(-7deg); clip-path: polygon(4% 6%, 12% 9%, 6% 1%, 94% 3%, 90% 11%, 100% 17%, 95% 29%, 100% 40%, 94% 51%, 100% 64%, 94% 77%, 98% 88%, 88% 90%, 91% 99%, 4% 96%, 8% 86%, 0 79%, 5% 65%, 0 53%, 5% 42%, 0 28%, 7% 22%); pointer-events: none; }
.comparison-label-before { left: 15px; }
.comparison-label-after { right: 15px; }
.comparison-divider { position: absolute; left: var(--reveal); top: 0; bottom: 0; z-index: 3; width: 3px; background: #fff; transform: translateX(-50%); box-shadow: 0 0 12px #001a1640; pointer-events: none; }
.comparison-handle { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; gap: 0; width: 49px; height: 49px; border: 3px solid #fff; border-radius: 50%; background: var(--green); color: #fff; box-shadow: 0 3px 18px #001a163d; }
.comparison-handle .icon { width: 21px; height: 21px; stroke-width: 2.5; }
.comparison-arrow-left { transform: rotate(90deg); }
.comparison-arrow-right { transform: rotate(-90deg); }
.comparison-range { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.comparison:focus-within { outline: 3px solid var(--green); outline-offset: 5px; }
.comparison-instructions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px 8px; margin-top: 16px; font-size: 14px; line-height: 1.7; color: var(--forest); font-weight: 700; }
.comparison-instructions .icon { width: 19px; height: 19px; }
.comparison-instructions > span { color: #536753; font-weight: 400; }
.project-figure figcaption { margin-top: 8px; font-size: 14px; line-height: 1.6; text-align: right; }
@media (max-width: 800px) {
  .transformation-inner { grid-template-columns: .8fr 1.2fr; gap: 26px; }
  .project-figure { width: auto; max-width: none; margin: 0; }
}
@media (max-width: 600px) {
  .transformation-inner { grid-template-columns: 1fr; gap: 27px; }
  .comparison { border-width: 3px; border-radius: 0; }
  .comparison-label { top: 11px; padding: 8px 13px 10px; font-size: 23px; }
  .comparison-label-before { left: 10px; }
  .comparison-label-after { right: 10px; }
  .comparison-handle { width: 43px; height: 43px; }
  .comparison-instructions > span { width: 100%; text-align: center; }
}

/* Confirmed service coverage and appointment hours. */
.areas-inner { align-items: start; }
.areas-copy { display: block; }
.coverage-heading { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.coverage-heading .area-icon { margin: 2px 0 0; }
.coverage-heading .eyebrow { margin-bottom: 10px; }
.areas-copy p:not(.eyebrow) { max-width: none; }
.service-area-towns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 23px 0; }
.service-area-towns li { display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid #d9e6cf; border-radius: 5px; background: #ffffffba; color: var(--forest); font-size: 16px; font-weight: 700; line-height: 1.5; }
.service-area-towns li::before { content: '✓'; color: var(--green); }
.coverage-note { margin-bottom: 23px; }
.areas-copy > .button { margin-top: 24px; }
.faq > .eyebrow { margin-bottom: 17px; }
.closing-form-link { margin-top: 14px; }
.footer-details { display: grid; grid-template-columns: 1fr 1.6fr; gap: 35px; padding: 24px 0 28px; border-top: 1px solid #ffffff18; }
.footer-details h2 { margin-bottom: 10px; font: 700 13px/1.5 var(--body); letter-spacing: 1px; text-transform: uppercase; color: var(--lime); }
.footer-details p { font-size: 16px; line-height: 1.9; color: #e0eadd; }
.footer-details a { display: inline-block; margin-top: 9px; color: #d4e2cc; font-size: 14px; line-height: 1.8; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .areas-inner { grid-template-columns: 1fr; gap: 44px; }
  .coverage-heading h2 { font-size: 49px; }
  .service-area-towns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .coverage-heading { gap: 15px; }
  .coverage-heading h2 { font-size: 41px; line-height: 1.06; }
  .coverage-heading h2 br { display: none; }
  .coverage-heading .area-icon { width: 49px; height: 49px; }
  .service-area-towns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .service-area-towns li { padding: 11px; font-size: 16px; gap: 7px; }
  .footer-details { grid-template-columns: 1fr; gap: 26px; }
}

/* Transparent horizontal logo, remixed from the original two-brothers artwork. */
:root { --header-height: 114px; }
.site-header .brand { display: flex; align-items: center; width: 300px; line-height: 0; }
.brand img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.footer-brand { width: 270px; }
.header-inner { gap: 22px; }
.menu-toggle[aria-expanded=true] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded=true] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1180px) {
  :root { --header-height: 96px; }
  .desktop-nav, .header-quote { display: none; }
  .site-header .brand { width: 250px; margin-right: auto; }
  .menu-toggle { display: block; flex: none; width: 44px; height: 44px; padding: 11px; }
  .header-phone span { display: inline; }
  .header-phone { font-size: 24px; min-width: 44px; min-height: 44px; justify-content: center; flex: none; }
}
@media (max-width: 600px) {
  :root { --header-height: 86px; }
  .site-header .brand { width: min(218px, calc(100% - 116px)); }
  .header-phone span { display: none; }
  .header-inner { gap: 14px; }
  .footer-brand { width: 250px; }
}
@media (max-width: 360px) {
  :root { --header-height: 82px; }
  .site-header .brand { width: 184px; }
  .header-inner { gap: 10px; }
}

/* Homepage keeps general FAQs; detailed geography has its own page. */
.home-faq { background: var(--pale); }
.home-faq-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 70px; align-items: start; }
.home-faq-copy > p:not(.eyebrow) { max-width: 370px; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.8; }
.home-faq-copy .text-link { margin-top: 18px; }
.coverage-hero { background: var(--forest); color: white; }
.coverage-hero h1 { font-size: clamp(54px,7vw,96px); }
.coverage-hero h1 span { color: var(--lime); }
.coverage-hero p:not(.eyebrow) { max-width: 620px; margin-top: 24px; font-size: 19px; line-height: 1.8; }
.coverage-hero .button { margin-top: 28px; }
.coverage-content { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: start; }
.coverage-content p:not(.eyebrow), .coverage-services p:not(.eyebrow) { max-width: 640px; margin-top: 22px; font-size: 17px; line-height: 1.8; color: var(--muted); }
.coverage-content .text-link { margin-top: 20px; }
.coverage-content .service-area-towns { margin: 0; }
.coverage-content .service-area-towns li { min-height: 72px; padding: 18px; }
.coverage-services { background: var(--pale); }
.coverage-services .button { margin-top: 26px; }
@media(max-width:800px) {
  .home-faq-inner, .coverage-content { gap: 35px; }
  .home-faq-copy h2 { font-size: 43px; }
}
@media(max-width:600px) {
  .home-faq-inner, .coverage-content { grid-template-columns: 1fr; gap: 30px; }
  .coverage-content .service-area-towns { grid-template-columns: 1fr 1fr; }
  .home-faq-copy > p:not(.eyebrow), .coverage-content p:not(.eyebrow), .coverage-services p:not(.eyebrow) { font-size: 16px; }
}

/* Featured project copy: brand brush accent and a clear estimate action. */
.transformation-copy h2 { color: var(--forest); line-height: 1.07; }
.transformation-copy h2 > span { position: relative; isolation: isolate; display: inline-block; margin-top: 5px; padding-bottom: 4px; color: var(--forest); white-space: nowrap; }
.transformation-copy h2 > span::before { content: ''; position: absolute; z-index: -1; inset: 1px -11px -2px; background: var(--lime); transform: rotate(-1deg); clip-path: polygon(2% 4%, 90% 0, 98% 3%, 96% 12%, 100% 18%, 97% 27%, 100% 35%, 97% 43%, 99% 54%, 97% 64%, 100% 72%, 97% 81%, 99% 90%, 94% 93%, 96% 99%, 4% 97%, 1% 91%, 3% 82%, 0 75%, 3% 65%, 0 57%, 3% 48%, 0 39%, 3% 31%, 1% 22%, 4% 15%); }
.transformation-copy > p:not(.eyebrow) { margin-top: 25px; font-size: 17px; line-height: 1.85; }
.transformation-copy .project-cta { display: inline-flex; justify-content: space-between; gap: 22px; margin-top: 26px; padding: 11px 12px 11px 25px; min-height: 66px; border-radius: 999px; background: var(--forest); color: #fff; font-size: 16px; }
.transformation-copy .project-cta:hover { background: #0a442d; }
.project-cta-arrow { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--lime); color: var(--forest); }
.project-cta-arrow .icon { width: 24px; height: 24px; }
@media(max-width:800px) {
  .transformation-copy .project-cta { padding-left: 19px; gap: 15px; min-height: 60px; }
  .project-cta-arrow { width: 36px; height: 36px; }
}
@media(max-width:600px) {
  .transformation-copy h2 { font-size: clamp(42px, 11vw, 51px); }
  .transformation-copy > p:not(.eyebrow) { margin-top: 22px; font-size: 16px; }
  .transformation-copy .project-cta { margin-top: 24px; min-height: 62px; }
  .project-cta-arrow { width: 38px; height: 38px; }
}

/* Process steps respond without changing the section's resting layout. */
.steps li { --step-active: 0; --step-title: #fff; --step-number: var(--lime); --step-icon-bg: transparent; --step-icon-color: #fff; isolation: isolate; transform: translateY(calc(var(--step-active) * -5px)); transition: transform .22s ease; }
.steps li::before { content: ''; position: absolute; z-index: -1; inset: -16px; border: 1px solid #b5ef1352; border-radius: 12px; background: #a1df000c; opacity: var(--step-active); transition: opacity .22s ease; pointer-events: none; }
.step-icon { background: var(--step-icon-bg); color: var(--step-icon-color); transform: scale(calc(1 + var(--step-active) * .05)); transition: background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease; }
.step-content h3 { color: var(--step-title); transition: color .22s ease; }
.step-number { color: var(--step-number); transition: color .22s ease; }
.step-arrow { transform: translateX(calc(var(--step-active) * 4px)); transition: transform .22s ease; }
.steps li:focus-visible { --step-active: 1; --step-title: var(--lime); --step-number: #fff; --step-icon-bg: var(--lime); --step-icon-color: var(--forest); outline: 2px solid var(--lime); outline-offset: 16px; border-radius: 4px; }
@media (hover: hover) and (pointer: fine) {
  .steps li:hover { --step-active: 1; --step-title: var(--lime); --step-number: #fff; --step-icon-bg: var(--lime); --step-icon-color: var(--forest); }
}
@media (max-width: 600px) {
  .steps li::before { inset: -12px -10px 0; }
  .steps li:focus-visible { outline-offset: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .steps li, .step-icon, .step-arrow { transform: none; }
}

/* Legal links shared by every page. */
.footer-bottom .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-left: auto; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.footer-legal a:hover, .footer-legal a[aria-current="page"] { color: var(--lime); }
@media (max-width: 800px) { .footer-bottom .footer-legal { margin-left: 0; width: 100%; } }
.nav-area-group { position: relative; display: grid; grid-template-columns: auto 26px; align-items: center; column-gap: 3px; }
.area-nav-toggle { display: flex; align-items: center; justify-content: center; width: 26px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--lime); cursor: pointer; border-radius: 4px; }
.area-nav-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .18s ease; }
.area-nav-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.area-nav-toggle:focus-visible, .area-nav-submenu a:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.area-nav-toggle:hover { background: #ffffff12; }
.area-nav-submenu { list-style: none; margin: 0; padding: 10px; position: absolute; top: calc(100% + 9px); left: -16px; width: 248px; background: var(--forest); border: 1px solid #ffffff28; border-top: 3px solid var(--lime); border-radius: 0 0 8px 8px; box-shadow: 0 16px 35px #00180e30; z-index: 55; }
.area-nav-submenu[hidden] { display: none; }
.desktop-nav .area-nav-submenu::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.area-nav-submenu a { display: flex; align-items: center; justify-content: space-between; padding: 10px 13px; color: white; font-size: 15px; font-weight: 700; border-radius: 4px; }
.area-nav-submenu a span { color: var(--lime); font-size: 17px; }
.area-nav-submenu a:hover, .area-nav-submenu a[aria-current="page"] { background: #ffffff0f; color: var(--lime); }
.mobile-menu { max-height: calc(100dvh - var(--header-height)); overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu .nav-area-group { grid-template-columns: 1fr 44px; column-gap: 0; }
.mobile-menu .area-nav-toggle { width: 44px; height: 44px; }
.mobile-menu .area-parent-link { border-bottom: 0; }
.mobile-menu .area-parent-link.active { color: var(--lime); }
.mobile-menu .nav-area-group { border-bottom: 1px solid #ffffff20; }
.mobile-menu .area-nav-submenu { position: static; grid-column: 1 / -1; width: auto; margin: 0 0 12px 8px; padding: 0 0 0 12px; background: transparent; border: 0; border-left: 2px solid var(--lime); border-radius: 0; box-shadow: none; }
.mobile-menu .area-nav-submenu a { font-size: 15px; padding: 10px 12px; border-bottom: 0; }


/* Photographic backdrop for the homepage process strip. */
.process--photo { isolation: isolate; --process-shift: 0px; background: var(--forest); padding-block: 72px 76px; }
.process--photo .process-background-image { position: absolute; z-index: -2; left: 0; top: -48px; width: 100%; max-width: none; height: calc(100% + 96px); object-fit: cover; object-position: center 52%; transform: translate3d(0,var(--process-shift),0); pointer-events: none; user-select: none; }
.process--photo::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#022719d4 0%,#032d1dc9 40%,#022719d9 70%,#032d1dc7 100%); pointer-events: none; }
.process--photo::after { content: none; }
.process--photo .step-content p { color: #e4eddf; }
.process--photo .steps li::before { background: #032d1dc7; border-color: #b5ef1366; }
@media (min-width: 769px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .process--photo .process-background-image { will-change: transform; }
}
@media (max-width: 600px) {
  .process--photo { padding-block: 55px 59px; }
  .process--photo .process-background-image { object-position: 35% center; }
  .process--photo::before { background: #022719d9; }
}
@media (prefers-reduced-motion: reduce) {
  .process--photo .process-background-image { transform: none; }
}

/* Static photographic backdrop for the homepage closing CTA. */
.closing-cta--photo { isolation: isolate; background: var(--forest); }
.closing-cta--photo .closing-background-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 55%; pointer-events: none; user-select: none; }
.closing-cta--photo::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#022719b8 0%,#032d1dcf 43%,#032d1dcf 57%,#022719b8 100%); pointer-events: none; }
@media (max-width: 600px) {
  .closing-cta--photo .closing-background-image { object-position: 76% center; }
  .closing-cta--photo::before { background: #022719cf; }
}

/* Full service names in the shared dropdown. */
.desktop-nav .service-nav-submenu { width: 315px; }
@media (min-width: 1181px) and (max-width: 1308px) {
  .desktop-nav, .header-inner { gap: 19px; }
}

/* Form-first lead copy; placeholder forms remain local until the CRM embed is supplied. */
.quote-help { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.7; text-align: center; }

/* Shared footer: brand, navigation, business information and social profiles. */
body .site-footer.structured-footer { background: var(--deep); padding: 56px 0 23px; border-top: 1px solid #ffffff16; color: #d8e3d7; }
.structured-footer .footer-columns { display: grid; grid-template-columns: minmax(230px, 1.35fr) minmax(130px, .75fr) minmax(240px, 1.15fr) minmax(170px, .85fr); gap: 40px; padding-bottom: 42px; align-items: start; }
.structured-footer .footer-brand { width: min(270px, 100%); margin: -9px 0 16px; }
.structured-footer .footer-tagline { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.7; }
.structured-footer .footer-brand-copy { margin-top: 9px; color: #aebfaf; font-size: 14px; line-height: 1.9; }
.structured-footer .footer-section h2 { color: var(--lime); font: 700 12px/1.5 var(--body); letter-spacing: 1.1px; text-transform: uppercase; margin: 0 0 19px; }
.structured-footer .footer-link-list { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.structured-footer .footer-link-list a { display: inline-flex; align-items: center; min-height: 36px; padding-block: 5px; font-size: 14px; line-height: 1.6; }
.structured-footer a:hover, .structured-footer .footer-link-list a[aria-current="page"] { color: var(--lime); }
.structured-footer a:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
.structured-footer .footer-business dl { margin: 0; display: grid; gap: 17px; }
.structured-footer .footer-business dt { color: #aebfaf; font-size: 12px; line-height: 1.5; margin-bottom: 4px; }
.structured-footer .footer-business dd { margin: 0; color: #e4ece1; font-size: 14px; line-height: 1.8; }
.structured-footer .footer-business dd a { display: inline-block; padding-block: 3px; }
.structured-footer .footer-appointment { display: block; color: #aebfaf; font-size: 13px; margin-top: 2px; }
.structured-footer .footer-business dd span[aria-hidden] { color: var(--lime); margin-left: 4px; }
.structured-footer .footer-google-link { display: flex; align-items: center; gap: 12px; width: fit-content; min-height: 54px; padding: 5px 0; }
.structured-footer .footer-google-icon { flex: none; color: #e4ece1; }
.structured-footer .footer-google-link strong { font-size: 15px; font-weight: 700; line-height: 1.5; color: #fff; }
.structured-footer .footer-profile-caption { display: block; margin-top: 3px; color: #aebfaf; font-size: 12px; line-height: 1.7; }
.structured-footer .footer-google-link:hover strong, .structured-footer .footer-google-link:hover .footer-google-icon, .structured-footer .footer-google-link:hover .footer-profile-caption { color: var(--lime); }
.structured-footer .footer-end { border-top: 1px solid #ffffff18; padding-top: 19px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; color: #aebfaf; font-size: 12px; line-height: 1.8; }
.structured-footer .footer-end .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.structured-footer .footer-legal a { font-size: 12px; min-height: 36px; text-decoration: none; }
.structured-footer .footer-legal a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1180px) {
  .structured-footer .footer-columns { grid-template-columns: 1.2fr .8fr 1.2fr; gap: 34px; }
  .structured-footer .footer-socials { grid-column: 1; grid-row: 2; margin-top: -26px; }
  .structured-footer .footer-navigation { grid-column: 2; grid-row: 1 / 3; }
  .structured-footer .footer-business { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 800px) {
  body .site-footer.structured-footer { padding-top: 38px; }
  .structured-footer .footer-columns { grid-template-columns: 1fr 1fr; gap: 32px 35px; padding-bottom: 30px; }
  .structured-footer .footer-identity { grid-column: 1 / -1; }
  .structured-footer .footer-brand { width: 250px; margin-bottom: 9px; }
  .structured-footer .footer-brand-copy br { display: none; }
  .structured-footer .footer-navigation { grid-column: 1; grid-row: 2; }
  .structured-footer .footer-business { grid-column: 2; grid-row: 2 / 4; }
  .structured-footer .footer-socials { grid-column: 1; grid-row: 3; margin: 0; }
  .structured-footer .footer-section h2 { margin-bottom: 12px; }
  .structured-footer .footer-end { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 420px) {
  .structured-footer .footer-columns { grid-template-columns: 1fr; gap: 28px; }
  .structured-footer .footer-identity, .structured-footer .footer-navigation, .structured-footer .footer-business, .structured-footer .footer-socials { grid-column: auto; grid-row: auto; }
  .structured-footer .footer-navigation .footer-link-list { display: grid; grid-template-columns: 1fr 1fr; width: 100%; column-gap: 20px; }
}
@media (max-width: 600px) {
  body:has(.mobile-contact-bar) .site-footer.structured-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .structured-footer .footer-link-list a, .structured-footer .footer-business dd a, .structured-footer .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* Dedicated About photograph: keep both crew members in the responsive crop. */
#about .about-photo > img { object-position: center 10%; }
