
:root{--ink:#0b0d0e;--panel:#171b1d;--lime:#b6ff2d;--paper:#f3f5f1;--muted:#bbc1bf;--line:#343b3d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #5daaff;outline-offset:5px}img{display:block;max-width:100%}.skip{position:absolute;top:-100px;left:20px;z-index:20;padding:12px;background:var(--lime);color:var(--ink)}.skip:focus{top:10px}.topline{padding:8px 20px;text-align:center;background:var(--lime);color:var(--ink);font-size:.75rem;letter-spacing:.14em;font-weight:700}.topline span{margin:0 12px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1600px;margin:auto;padding:22px 5%;border-bottom:1px solid var(--line);background:#0b0d0e}.wordmark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:2rem;font-style:italic;font-weight:900;line-height:1;letter-spacing:-.02em;flex-shrink:0}.wordmark span{display:block;color:var(--lime);font-family:'DM Sans',Arial,sans-serif;font-size:.75rem;font-style:normal;letter-spacing:.16em;margin-top:6px}nav{display:flex;gap:23px;font-size:.875rem}nav a{transition:color .2s}nav a:hover,.text-link:hover{color:var(--lime)}.header-call{padding:10px 16px;border:1px solid #4c583d;font-size:.875rem;font-weight:700;white-space:nowrap}.header-call span{color:var(--lime);margin-left:12px}.mobile-actions{display:none}
.hero{position:relative;isolation:isolate;max-width:1600px;margin:auto;min-height:720px;display:flex;align-items:center;overflow:hidden;border-bottom:4px solid var(--lime)}.hero-copy{position:relative;z-index:2;padding:60px 5% 75px;width:100%;background:linear-gradient(90deg,rgba(11,13,14,.95),rgba(11,13,14,.79) 35%,rgba(11,13,14,.08) 80%)}.eyebrow{font-size:.8rem;letter-spacing:.14em;font-weight:700;color:var(--lime);margin:0 0 24px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:inline-block;width:25px;height:3px;background:currentColor;flex-shrink:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;letter-spacing:-.015em;margin:0;line-height:1.02}h1{max-width:730px;text-transform:uppercase;font-size:clamp(3.4rem,5.8vw,6rem)}h1 span{display:block}h1 strong{display:block;font-size:1.72em;line-height:.95;letter-spacing:-.025em;font-weight:900;color:var(--lime);text-shadow:0 0 50px #b6ff2d25}h1 em{display:block;font-size:.72em;font-style:italic;margin-top:12px;color:#fff}.intro{font-size:1.06rem;color:#e1e6e0;max-width:550px;margin:27px 0}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:58px;padding:16px 24px;font-size:.95rem;font-weight:700;border-radius:2px;transition:transform .2s,box-shadow .2s,background .2s}.button span{font-size:1.3rem}.button:hover{transform:translateY(-3px)}.lime{color:var(--ink);background:var(--lime);box-shadow:5px 5px 0 #638b20}.lime:hover{background:#caff60;box-shadow:7px 7px 0 #638b20}.text-link{text-decoration:underline;text-underline-offset:6px;font-weight:600;font-size:.875rem}.hero-notes{display:flex;gap:25px;margin-top:30px;font-size:.875rem;color:#d5dad3}.hero-notes span:before{content:'✓';color:var(--lime);margin-right:8px}.hero-photo{position:absolute;inset:0;z-index:-1}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:60% center;filter:brightness(.76) saturate(.82)}.photo-label{position:absolute;bottom:0;right:0;display:flex;gap:40px;background:var(--lime);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:12px 30px;clip-path:polygon(20px 0,100% 0,100% 100%,0 100%)}
.section{max-width:1600px;margin:auto;padding:90px 6%}h2{font-size:clamp(2.7rem,4.6vw,4.8rem);text-transform:uppercase}h3{font-size:2.7rem;text-transform:uppercase}.services{background:linear-gradient(135deg,#171e1b,#0b0d0e);color:var(--paper);border-bottom:1px solid var(--line)}.services .eyebrow{color:var(--lime)}.services .section-heading>p{color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2{max-width:700px}.section-heading>p{color:#505957;margin:0;flex-shrink:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-grid article{position:relative;display:flex;flex-direction:column;background:var(--panel);color:var(--paper);padding:30px;border-top:4px solid var(--lime);transition:transform .25s,box-shadow .25s;overflow:hidden}.service-grid article:hover{transform:translateY(-7px);box-shadow:0 14px 24px #0002}.service-grid article:nth-child(2){background:#20262a}.service-grid article:nth-child(3){background:#111719}.number{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--lime);margin-bottom:35px}.number b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:3.7rem;line-height:1;color:#697574;letter-spacing:-.03em}.service-grid p{color:#c2c9c7;margin:18px 0 30px}.service-grid a{margin-top:auto;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #414a49;padding-top:20px;font-size:.875rem;font-weight:600}.service-grid a span{color:var(--lime)}.service-grid a:hover{color:var(--lime)}
.about{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;align-items:center;background:radial-gradient(ellipse at 18% 50%,#223018 0,transparent 48%),#0b0d0e}.brand-panel{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1/1;border:1px solid #435235;background:linear-gradient(135deg,#16201088,#070909);transform:rotate(-3deg);box-shadow:15px 15px 0 #b6ff2d}.brand-panel img{width:100%;height:auto;transform:rotate(3deg)}.about-copy p:not(.eyebrow){max-width:520px;color:var(--muted)}.about-copy .text-link{display:inline-block;margin-top:14px}.area{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:linear-gradient(135deg,#202728,#111616);border-top:1px solid #3e4b43;border-bottom:1px solid #3e4b43}.cities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.cities li{font-size:1.05rem;font-weight:600;padding:15px 18px;background:#0b1011;border-left:3px solid var(--lime)}.area>div>p:not(.eyebrow){color:var(--muted);font-size:.875rem}.contact{display:grid;grid-template-columns:1fr .8fr;gap:40px 10%;align-items:center;background:var(--lime);color:var(--ink);position:relative}.contact .eyebrow{color:#354719}.contact h2{font-size:clamp(3rem,5.3vw,5.4rem)}.contact p:not(.eyebrow){max-width:450px}.contact-actions{display:grid;gap:14px;min-width:0}.dark{background:var(--ink);color:white;box-shadow:5px 5px 0 #83b923}.dark:hover{background:#26301e}.outline{border:2px solid #334914}.outline:hover{background:#c9ff64}.email{font-size:.875rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;margin-top:8px}.form-wrap{grid-column:1/-1;min-width:0;width:100%}.form-wrap iframe{display:block;width:100%;height:630px;border:0;background:#fff;border-radius:6px;box-shadow:0 12px 35px #0002}.form-wrap>a{display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}.booking{background:radial-gradient(ellipse at 100% 0,#223519,transparent 55%),var(--ink)}.booking h2{margin-bottom:20px}.booking>p:not(.eyebrow){color:var(--muted);margin-bottom:30px}footer{max-width:1600px;margin:auto;border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p,footer small{font-size:.8rem;color:var(--muted)}footer .wordmark{font-size:1.8rem}
@media(max-width:1100px){header nav{display:none}.mobile-actions{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:12px 5%;font-size:.875rem;border-bottom:1px solid var(--line)}.mobile-actions a{padding:5px 0}.hero{min-height:660px}.hero-copy{padding-top:50px;padding-bottom:65px}.service-grid article{padding:23px}.section-heading>p{flex-shrink:1}.about{gap:7%}.section{padding:70px 5%}}
@media(max-width:760px){.topline{font-size:.75rem;letter-spacing:.04em;padding:9px 12px}.topline span{margin:0 6px}header{padding:20px 5%;gap:14px}.wordmark{font-size:1.8rem}.header-call{font-size:.8rem;border:0;padding:5px 0}.header-call span{display:none}.mobile-actions{gap:24px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;overflow:visible}.hero-copy{padding:38px 6% 30px;background:radial-gradient(ellipse at 100% 50%,#24351955,transparent 60%),#0b0d0e}h1{font-size:clamp(2.8rem,10vw,4.8rem)}h1 strong{font-size:1.65em}h1 em{font-size:.8em}.eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:20px;gap:8px}.intro{font-size:1rem;margin:22px 0}.desktop{display:none}.actions{align-items:stretch;flex-direction:column;gap:23px}.actions .text-link{text-align:center}.hero-notes{font-size:.8rem;gap:18px;flex-wrap:wrap;margin-top:26px}.hero-photo{position:relative;z-index:0;inset:auto}.hero-photo img{height:auto;aspect-ratio:1.55;object-fit:cover;object-position:center;filter:brightness(.9) saturate(.95)}.photo-label{position:relative;justify-content:center;clip-path:none;gap:15px;padding:11px 14px;font-size:.75rem;letter-spacing:.03em}.photo-label span:last-child{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr;gap:16px}.service-grid article{padding:26px}.number{margin-bottom:20px}.number b{font-size:3.2rem}.service-grid h3{font-size:2.5rem}.service-grid p{margin-bottom:22px}.about{grid-template-columns:1fr;gap:45px}.brand-panel{width:90%;max-width:380px;margin:8px auto 0;box-shadow:9px 9px 0 var(--lime)}.area,.contact{grid-template-columns:1fr;gap:28px}.cities{gap:10px}.cities li{padding:12px;font-size:1rem}.contact .form-wrap{margin-top:10px}footer{flex-direction:column;align-items:start;padding:30px 6%}footer p,footer small{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.reviews{background:linear-gradient(135deg,#171e1b,#0b0d0e);border-top:1px solid var(--line)}.reviews h2{max-width:850px;margin-bottom:36px}.reviews-widget{min-width:0;padding:24px;background:var(--paper);color:var(--ink);border-top:4px solid var(--lime);border-radius:4px}@media(max-width:760px){.reviews-widget{padding:16px 10px}.reviews h2{margin-bottom:26px}}

/* Prominent customer actions on phones, tablets, and desktop. */
.mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 6% 24px;max-width:1600px;margin:auto;background:linear-gradient(180deg,#1c2520,#101512);border-bottom:1px solid #536839}
.mobile-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:14px 18px;border:2px solid var(--lime);border-radius:8px;background:#25351d;color:#d7ffae;font-size:1rem;font-weight:700;line-height:1.3;box-shadow:0 4px 0 #080c06,0 0 18px #b6ff2d14;transition:transform .18s,background .18s,box-shadow .18s}
.mobile-actions a:first-child{background:var(--lime);color:#0b0d0e;box-shadow:0 4px 0 #648b20,0 0 22px #b6ff2d30}
.mobile-actions a:hover{background:#caff69;color:#0b0d0e;transform:translateY(-2px);box-shadow:0 6px 0 #48651b,0 0 22px #b6ff2d35}
.mobile-actions a:active{transform:translateY(2px);box-shadow:0 1px 0 #48651b}
@media(max-width:760px){.mobile-actions{gap:9px;padding:16px 5% 20px}.mobile-actions a{font-size:.875rem;padding:12px 6px;min-height:54px}}
@media(prefers-reduced-motion:reduce){.mobile-actions a{transition:none}.mobile-actions a:hover,.mobile-actions a:active{transform:none}}

.booking-link{max-width:360px}.form-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.form-header{width:100%;max-width:none;padding:18px 5%;flex:none}.form-main{display:flex;flex-direction:column;flex:1;min-height:0}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 5%;flex:none}.form-heading h1{font-size:2.2rem;color:var(--lime)}.form-heading p{margin:6px 0 0;color:var(--muted);font-size:.875rem}.form-main>iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:white}.form-heading>a{flex-shrink:0}@media(max-width:760px){.form-header{padding:14px 5%}.form-header .wordmark{font-size:1.5rem}.form-header .text-link{font-size:.8rem}.form-heading{padding:14px 5%;flex-wrap:wrap;gap:10px}.form-heading h1{font-size:1.8rem}.form-heading p{display:none}.form-heading>a{font-size:.8rem}}

/* Frame the existing logo tightly without changing the original artwork. */
.header-logo{position:relative;display:block;flex:0 0 auto;width:180px;height:174px;overflow:hidden}
.header-logo img{position:absolute;width:250px;max-width:none;height:250px;left:-34px;top:-43px}
header:has(.header-logo){padding-top:12px;padding-bottom:12px}
.form-header .header-logo{width:100px;height:97px}
.form-header .header-logo img{width:139px;height:139px;left:-19px;top:-24px}
@media(max-width:760px){.header-logo{width:150px;height:145px}.header-logo img{width:208px;height:208px;left:-28px;top:-36px}header:has(.header-logo){flex-wrap:wrap;gap:12px}.form-header .header-logo{width:90px;height:87px}.form-header .header-logo img{width:125px;height:125px;left:-17px;top:-22px}}

/* Flowing light behind the lower sections. */
.ambient-panel{position:relative;isolation:isolate;overflow:hidden;--ribbon-a:rgba(137,255,20,.45);--ribbon-b:rgba(10,197,125,.32);--glow-color:rgba(182,255,45,.26)}

.ambient-panel.contact{--ribbon-a:rgba(22,113,39,.28);--ribbon-b:rgba(255,255,220,.55);--glow-color:rgba(255,255,255,.45)}
.ambient-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ambient-backdrop::before{content:"";position:absolute;width:145%;height:130%;left:-22%;top:-15%;background:radial-gradient(ellipse 54% 8% at 56% 48%,var(--ribbon-a) 0%,transparent 100%),radial-gradient(ellipse 46% 12% at 48% 65%,var(--ribbon-b) 0%,transparent 100%),radial-gradient(ellipse 32% 5% at 68% 38%,var(--ribbon-a),transparent 100%);filter:blur(18px);transform:rotate(-24deg);animation:light-flow 16s ease-in-out infinite alternate;animation-play-state:paused}
.ambient-backdrop::after{content:"";position:absolute;width:110%;height:140%;left:-5%;top:-20%;background:radial-gradient(ellipse 28% 35% at 82% 45%,var(--ribbon-b),transparent 100%),radial-gradient(ellipse 35% 9% at 35% 60%,var(--ribbon-a),transparent 100%);filter:blur(30px);animation:light-drift 21s ease-in-out infinite alternate;animation-play-state:paused}
.ambient-panel.in-view .ambient-backdrop::before,.ambient-panel.in-view .ambient-backdrop::after{animation-play-state:running}
.ambient-panel:nth-of-type(even) .ambient-backdrop::before{animation-direction:alternate-reverse;animation-delay:-7s}
.ambient-panel:nth-of-type(odd) .ambient-backdrop::after{animation-delay:-11s}
.ambient-pointer{position:absolute;inset:0;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,50%),var(--glow-color),transparent 75%);opacity:0;transition:opacity .6s;mix-blend-mode:screen}
.services .ambient-pointer,.contact .ambient-pointer{mix-blend-mode:normal}
@media(hover:hover) and (pointer:fine){.ambient-panel.pointer-active .ambient-pointer{opacity:1}}
@keyframes light-flow{0%{transform:translate3d(-4%,7%,0) rotate(-28deg) scale(1);opacity:.65}50%{transform:translate3d(2%,-4%,0) rotate(-12deg) scale(1.12);opacity:1}100%{transform:translate3d(6%,3%,0) rotate(-32deg) scale(1.04);opacity:.85}}
@keyframes light-drift{from{transform:translate3d(7%,-8%,0) rotate(16deg);opacity:.65}to{transform:translate3d(-8%,9%,0) rotate(-10deg);opacity:1}}
@media(max-width:760px){.ambient-backdrop::before{filter:blur(12px)}.ambient-backdrop::after{filter:blur(20px)}.ambient-pointer{display:none}}
@media(prefers-reduced-motion:reduce){.ambient-backdrop::before,.ambient-backdrop::after{animation:none!important}.ambient-pointer{display:none}}

.sweep-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.8}
@media(prefers-reduced-motion:reduce){.sweep-particles{display:block}}

/* Keep junk silhouettes visible yet subordinate to the page content. */
.ambient-backdrop::before,.ambient-backdrop::after{opacity:.4}
.sweep-particles{opacity:1}
.contact .sweep-particles{filter:brightness(.38) saturate(.7)}
@media(prefers-reduced-motion:reduce){.sweep-particles{display:block}}

/* Business story and service coverage share one compact section. */
.about{grid-template-columns:.85fr 1.15fr;gap:7%}
.about .brand-panel{width:100%;max-width:430px;justify-self:center}
.about-areas{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:24px}
.about-areas h3{font-size:1.8rem;margin-bottom:16px}
.about-areas .cities{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.about-areas .cities li{font-size:.875rem;padding:10px 12px}
.about-copy .about-areas .area-note{font-size:.875rem;margin:12px 0 0}
@media(max-width:760px){.about{grid-template-columns:1fr;gap:38px}.about .brand-panel{width:85%;max-width:300px}.about-areas .cities{grid-template-columns:repeat(2,minmax(0,1fr))}.about-areas{margin-top:24px}}

/* Full-width page backgrounds on large screens. */
header,.hero,.section,footer,.mobile-actions{max-width:none}


.project-gallery{background:#141b16}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-card{display:block;border:1px solid #3b493b;background:#101612;overflow:hidden;border-radius:8px;color:#fff;text-decoration:none}.gallery-card[hidden]{display:none}.gallery-card img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .25s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card span{display:flex;justify-content:space-between;padding:14px 16px;font-size:14px}.gallery-card b{color:#b1ef37}.gallery-card:focus-visible,.project-gallery button:focus-visible,.gallery-dialog button:focus-visible{outline:3px solid #b1ef37;outline-offset:4px}.gallery-more{margin-top:24px;cursor:pointer;font:inherit;font-weight:800}.gallery-dialog{position:fixed;inset:0;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:16px;border:1px solid #536341;border-radius:12px;background:#111812;color:#fff;margin:auto}.gallery-dialog::backdrop{background:rgba(0,0,0,.92)}.gallery-toolbar,.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery-dialog button{background:#243022;color:#fff;border:1px solid #597244;border-radius:5px;padding:12px;font:inherit;cursor:pointer;white-space:nowrap}.gallery-count{font-size:14px}.gallery-full{display:block;width:100%;height:66dvh;object-fit:contain;margin:12px auto}.gallery-caption{font-size:14px;text-align:center;margin:0}.gallery-bottom{margin-top:10px}body.gallery-open{overflow:hidden}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card img{height:170px}.gallery-card span{padding:12px;font-size:14px}.gallery-full{height:60dvh}.gallery-bottom{flex-wrap:wrap}.gallery-caption{order:3;width:100%;padding-top:6px}.gallery-dialog{padding:12px}}@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}


/* A quieter canvas for the work and the brand. */
:root{--ink:#101413;--panel:#191f1c;--line:#303b32;--muted:#bbc5bf}
body{background:var(--ink)}header{background:var(--ink);padding-inline:6%;gap:20px}.topline{background:#192219;color:#d8e3d1;font-size:.75rem;letter-spacing:.1em;border-bottom:1px solid #33412d}
.header-logo{width:125px;height:120px}.header-logo img{width:174px;height:174px;left:-24px;top:-30px}header nav{align-items:center;gap:22px}.header-call{border:0;padding:0}.header-call span{display:none}
header nav .nav-quote{padding:12px 18px;background:var(--lime);color:var(--ink);border:1px solid var(--lime);border-radius:4px;font-weight:700;white-space:nowrap}header nav .nav-gallery{padding:12px 18px;border:1px solid #697e55;border-radius:4px}header nav a:hover{color:#d3ff88}header nav .nav-quote:hover{background:#caff60;color:var(--ink)}.mobile-actions{display:none}
.hero{min-height:640px;border-bottom:1px solid #677e48}.hero-copy{padding-top:54px;padding-bottom:64px}.hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 60%,#b6ff2d20,transparent 60%);animation:hero-breathe 9s ease-in-out infinite alternate;mix-blend-mode:screen}.photo-label{background:#111b13e6;color:#dfe9d9;clip-path:none;font-size:.75rem;letter-spacing:.06em}.hero-notes{color:#c7d1ca}
@keyframes hero-breathe{from{opacity:.25}to{opacity:.8}}
.section{padding:76px max(6%,calc((100vw - 1320px)/2));background:var(--ink);border:0;border-bottom:1px solid #33412d}h2,.contact h2{font-size:clamp(2.3rem,3.25vw,3.35rem);line-height:1.08}h3{font-size:2.1rem}.eyebrow{font-size:.8rem;letter-spacing:.11em;margin-bottom:16px}.section-heading{gap:28px;margin-bottom:30px}.section-heading>p{font-size:1rem;color:var(--muted)}
.button{border-radius:4px;box-shadow:none;min-height:52px;padding:14px 20px}.button:hover{transform:none;box-shadow:none}.lime,.lime:hover,.dark,.dark:hover{box-shadow:none}.service-grid article,.service-grid article:nth-child(2),.service-grid article:nth-child(3){background:var(--panel);border:1px solid var(--line);border-top:2px solid #83b544;border-radius:6px;padding:28px}.service-grid article:hover{transform:none;box-shadow:none;border-color:#668443}.number{font-size:.75rem;letter-spacing:.04em;margin-bottom:24px}.number b{font-size:2.4rem;color:#75886e}.service-grid h3{font-size:2.15rem}.service-grid p{margin-top:15px}
.reviews h2{margin-bottom:30px}.reviews-widget{border:1px solid #435138;border-radius:6px;padding:18px;background:#191f1c}.project-gallery .gallery-grid{gap:18px}.gallery-card{border-color:#384434;border-radius:6px}.gallery-card span{align-items:center;gap:10px;min-height:57px;font-size:.875rem}.gallery-card img{height:240px}.gallery-more{background:transparent;color:var(--paper);border:1px solid #718c53;font-size:.95rem}.gallery-more:hover{background:#24311d}
.about{grid-template-columns:.7fr 1.3fr;gap:8%}.about .brand-panel{max-width:310px;transform:none;background:transparent;border:0;box-shadow:none}.brand-panel img{transform:none}.about-copy p:not(.eyebrow){max-width:650px}.about-areas .cities li{border:1px solid #354331;background:transparent;border-radius:4px;font-weight:500}.about-areas h3{font-size:1.65rem;text-transform:none}.contact{color:var(--paper);gap:50px}.contact .eyebrow{color:var(--lime)}.contact p{color:var(--muted)}.contact-actions .dark:first-child{background:var(--lime);color:var(--ink);border:1px solid var(--lime)}.contact-actions .dark:not(:first-child),.contact-actions .outline{background:transparent;color:var(--paper);border:1px solid #556747}.contact-actions a:hover{filter:brightness(1.1)}footer{border:0;background:var(--ink)}
@media(max-width:1200px){header nav{gap:14px}.header-call{font-size:.8rem}}
@media(max-width:1100px){header nav{display:none}.mobile-actions{display:grid;background:var(--ink);border-bottom:1px solid var(--line);padding:12px 6% 18px;gap:12px}.mobile-actions a,.mobile-actions a:first-child,.mobile-actions a:hover{box-shadow:none;transform:none;min-height:48px;border-radius:4px;font-size:.875rem;padding:12px 8px}.mobile-actions a:first-child{background:var(--lime);color:var(--ink);border:1px solid var(--lime)}.mobile-actions a:nth-child(2){background:transparent;color:var(--paper);border:1px solid #718c53}.mobile-actions a:last-child{background:transparent;color:#c7d1ca;border:1px solid transparent;font-weight:500}.header-call{font-size:.95rem}}
@media(max-width:760px){.hero{min-height:0}.hero-copy{padding:36px 6%}.header-logo{width:110px;height:106px}.header-logo img{width:153px;height:153px;left:-21px;top:-26px}.section{padding:48px 6%}.section-heading{margin-bottom:24px}.section-heading>p{margin-top:14px}.service-grid article{padding:24px}.service-grid h3{font-size:2rem}.about{grid-template-columns:1fr;gap:28px}.about .brand-panel{max-width:210px;width:70%}.about-copy{min-width:0}.contact{gap:26px}.gallery-card img{height:165px}.project-gallery .gallery-grid{gap:10px}.gallery-card span{padding:11px;font-size:.875rem}.reviews-widget{padding:10px}.topline{letter-spacing:.035em}.mobile-actions{gap:8px}h1 strong{text-shadow:none}}
@media(prefers-reduced-motion:reduce){.hero-photo::after{animation:none;opacity:.4}}

/* Brighter charcoal surfaces and a consistent action family. */
:root{--ink:#202723;--panel:#303a33;--line:#4b594d;--muted:#d1d9d3}
header,footer{background:#202723}.topline{background:#303e2d;color:#e3eddd;border-color:#53644a}
.section{background:#28322c;border-bottom:1px solid #52644a}.section.services,.section.about{background:linear-gradient(120deg,#303c32,#252e29)}.section.reviews{background:#303c33}.section.contact{background:linear-gradient(110deg,#35472e,#28332b)}
.service-grid article,.service-grid article:nth-child(2),.service-grid article:nth-child(3){background:#354138;border-color:#53624f;border-top-color:#a6d66c}.service-grid p{color:#e0e6e0}.number b{color:#b3c3a9}.service-grid a{border-color:#5b6959}.about-copy p:not(.eyebrow),.section-heading>p,.contact p{color:#d9e2da}.about-areas .cities li{background:#344032;border-color:#627357}
.reviews-widget{background:#ffffff;color:#171b18;color-scheme:light;border:1px solid #dce5d8;border-top:3px solid var(--lime);padding:26px;border-radius:8px;box-shadow:0 8px 28px #101a121a}
.gallery-card{background:#344032;border-color:#59694f}.gallery-more{border-color:#a1bc82}.gallery-more:hover{background:#3c5030}
header nav .nav-quote,header nav .nav-gallery,header nav .nav-portal{display:inline-flex;align-items:center;justify-content:center;min-width:110px;min-height:48px;padding:12px 16px;border:1px solid var(--lime);border-radius:5px;background:var(--lime);color:#172011;font-size:.875rem;font-weight:700;line-height:1.3;white-space:nowrap;box-shadow:none}
header nav .nav-quote:hover,header nav .nav-gallery:hover,header nav .nav-portal:hover{background:#cdff78;color:#172011;border-color:#cdff78}
.hero-photo img{filter:brightness(.9) saturate(.95)}.hero-copy{background:linear-gradient(90deg,rgba(15,22,17,.92),rgba(15,22,17,.72) 35%,rgba(15,22,17,.02) 85%)}
@media(max-width:1200px){header nav{gap:10px}header nav .nav-quote,header nav .nav-gallery,header nav .nav-portal{min-width:100px;padding:12px}}
@media(max-width:1100px){.mobile-actions{background:#27322a}.mobile-actions a,.mobile-actions a:first-child,.mobile-actions a:nth-child(2),.mobile-actions a:last-child{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 8px;border:1px solid var(--lime);border-radius:5px;background:var(--lime);color:#172011;font-size:.875rem;font-weight:700;line-height:1.3;box-shadow:none}.mobile-actions a:hover{background:#cdff78;color:#172011;border-color:#cdff78}}
@media(max-width:760px){.hero-copy{background:radial-gradient(ellipse at 100% 40%,#455d2f55,transparent 70%),#202a23}.reviews-widget{padding:16px 10px}.photo-label{background:#2c3a28}.contact-actions .dark:not(:first-child),.contact-actions .outline{border-color:#94aa7a}}


/* Soft, slow lighting adds depth without competing with the content. */
.section{position:relative;isolation:isolate;overflow:hidden;background:#28332c}
.section.services,.section.about{background:#29352d}.section.reviews{background:#303c33}.section.contact{background:#2b382d}
.section::before,.section::after{content:"";position:absolute;pointer-events:none;z-index:-1;inset:-18%;transform-origin:center;will-change:auto;animation-play-state:paused}
.section::before{background:radial-gradient(ellipse 54% 65% at 12% 35%,rgba(161,214,82,.19),transparent 75%),radial-gradient(ellipse 48% 58% at 84% 78%,rgba(83,162,110,.14),transparent 75%);animation:section-light-drift 24s ease-in-out infinite alternate paused}
.section::after{background:linear-gradient(115deg,transparent 22%,rgba(195,229,143,.025) 38%,rgba(178,225,117,.085) 45%,rgba(178,225,117,.025) 54%,transparent 70%);animation:section-light-sweep 32s ease-in-out infinite alternate paused}
.section:nth-of-type(even)::before{animation-delay:-11s;animation-direction:alternate-reverse}.section:nth-of-type(odd)::after{animation-delay:-17s;animation-direction:alternate-reverse}
.section.light-visible::before,.section.light-visible::after{animation-play-state:running}
@keyframes section-light-drift{from{transform:translate3d(-4%,-3%,0) scale(1);opacity:.7}to{transform:translate3d(6%,4%,0) scale(1.07);opacity:1}}
@keyframes section-light-sweep{from{transform:translate3d(-7%,2%,0) rotate(-4deg);opacity:.5}to{transform:translate3d(9%,-2%,0) rotate(5deg);opacity:.95}}
/* Opaque content surfaces preserve contrast as light moves behind them. */
.reviews-widget{background:#fff;color:#171b18}.service-grid article,.service-grid article:nth-child(2),.service-grid article:nth-child(3){background:#354138}.gallery-card{background:#344032}
@media(max-width:760px){.section::before{animation-duration:30s}.section::after{animation-duration:38s;background:linear-gradient(115deg,transparent 20%,rgba(178,225,117,.06) 45%,transparent 70%)}}
@media(prefers-reduced-motion:reduce){.section::before,.section::after{animation:none!important;transform:none;opacity:.7}}


/* Alternating light and charcoal panels, inspired by the original redesign. */
:root{--ink:#101512;--panel:#1d2520;--paper:#f7f9f5;--muted:#c6d0c8;--line:#38473a}
body,header,footer{background:#101512}.topline{background:var(--lime);color:#15200d;border:0}.mobile-actions{background:#101512}
.section.services,.section.project-gallery{background:#f7f9f5;color:#162019;border-bottom:1px solid #d8e1d3}
.section.services::before,.section.services::after,.section.project-gallery::before,.section.project-gallery::after{display:none}
.services .eyebrow,.project-gallery .eyebrow{color:#416b1f}.services .section-heading>p,.project-gallery .section-heading>p{color:#4d5b50}
.service-grid article,.service-grid article:nth-child(2),.service-grid article:nth-child(3){background:#1d2520;color:#f7f9f5;border:1px solid #3c5038;border-top:3px solid #aee638}.service-grid article:nth-child(2){background:#263027}.service-grid p{color:#d4ded4}.service-grid h3{color:#fff}.service-grid a{border-color:#455444}.service-grid .number{color:var(--lime)}.number b{color:#94a48d}
.section.reviews,.section.about{background:#101713;color:#f7f9f5;border-bottom:1px solid #344b2a}
.section.reviews::before,.section.about::before{background:radial-gradient(ellipse 50% 70% at 10% 35%,rgba(157,237,44,.24),transparent 75%),radial-gradient(ellipse 50% 65% at 90% 80%,rgba(64,168,87,.16),transparent 75%)}
.section.reviews::after,.section.about::after{background:linear-gradient(118deg,transparent 25%,rgba(174,230,56,.025) 25%,rgba(174,230,56,.09) 43%,transparent 43%,transparent 48%,rgba(174,230,56,.065) 48%,rgba(174,230,56,.015) 62%,transparent 62%)}
.reviews-widget{background:#fff;color:#171b18;border:1px solid #dce5d8;border-top:3px solid var(--lime)}
.gallery-card{background:#1d2520;color:#f7f9f5;border-color:#3d5235;box-shadow:0 3px 10px #17200e10}.gallery-more{background:#17231a;color:#f7f9f5;border:1px solid #17231a}.gallery-more:hover{background:#30452a;color:#fff}.project-gallery .gallery-card:focus-visible,.project-gallery .gallery-more:focus-visible{outline-color:#426b21}
.about .brand-panel{padding:12px;border:1px solid #6c923e;border-radius:6px;background:linear-gradient(135deg,#25421c66,#101713);box-shadow:8px 8px 0 #aee638}.about-copy p:not(.eyebrow){color:#d4ded4}.about-areas .cities li{background:#223120;border-color:#4e6840;color:#f7f9f5}
.section.contact{background:#b6ff2d;color:#14200e;border:0}.section.contact::before,.section.contact::after{display:none}.contact .eyebrow{color:#354e1a}.contact p{color:#2e421e}.contact-actions .dark:first-child{background:#152017;color:#fff;border:1px solid #152017}.contact-actions .dark:not(:first-child),.contact-actions .outline{background:transparent;color:#14200e;border:1px solid #496f28}.contact-actions .dark:first-child:hover{background:#2b3e23}.contact-actions .dark:not(:first-child):hover,.contact-actions .outline:hover{background:#caff65}.contact .email{color:#14200e}.contact a:focus-visible{outline-color:#152017}
@media(max-width:760px){.section.reviews::after,.section.about::after{background:linear-gradient(118deg,transparent 25%,rgba(174,230,56,.07) 43%,transparent 43%,transparent 49%,rgba(174,230,56,.035) 62%,transparent 62%)}.about .brand-panel{box-shadow:6px 6px 0 #aee638}}

.local-hero-title{font-size:clamp(2.8rem,5.2vw,5.4rem);max-width:860px}.local-hero-title strong{font-size:1.15em}.local-hero-title em{font-size:.72em}.seo-faq{background:#101713!important}.faq-list{max-width:900px;margin:30px 0}.faq-list details{border-top:1px solid #53644a;padding:18px 0}.faq-list summary{cursor:pointer;font-weight:700;font-size:1.08rem}.faq-list summary:focus-visible{outline:3px solid #5daaff;outline-offset:5px}.faq-list p{color:#d4ded4;max-width:760px}.service-links{display:flex;flex-wrap:wrap;gap:12px 24px}.service-links a{text-decoration:underline;text-underline-offset:4px;font-size:.875rem}footer{flex-wrap:wrap}.service-intro{background:#101713!important}.service-intro h1{max-width:1000px;font-size:clamp(2.8rem,5.5vw,5.5rem)}.service-lead{max-width:760px;font-size:1.15rem;margin:24px 0 30px}.breadcrumbs{margin:0 0 32px;flex-wrap:wrap;gap:12px}.breadcrumbs a{text-decoration:underline}.service-body{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;background:#f7f9f5!important;color:#162019}.service-content section+section{margin-top:34px}.service-content h2,.service-coverage h2{font-size:clamp(1.8rem,3vw,2.5rem)}.service-content p{margin-top:14px}.service-body figure{margin:0;align-self:start}.service-body img{width:100%;height:auto;border-radius:6px}.service-body figcaption{margin:12px 0;font-size:.9rem;color:#4d5b50}.service-body .text-link:hover{color:#416b1f}.service-coverage{background:#101713!important}.service-coverage p{max-width:850px}.service-coverage h2:not(:first-child){margin-top:36px}.service-coverage .actions{margin-top:24px}@media(max-width:760px){.local-hero-title{font-size:clamp(2.35rem,9vw,4rem)}.local-hero-title strong{font-size:1.08em}.service-body{grid-template-columns:1fr;gap:34px}.service-intro h1{font-size:clamp(2.5rem,10vw,4rem)}.service-lead{font-size:1rem}.service-links{flex-direction:column;gap:10px}}
/* Focused optimization layer: preserve the established palette and section order. */
:root{--focus:#b6ff2d}
html{scroll-padding-top:24px}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img,picture{max-width:100%}
picture{display:block}
.section>*,.service-grid>*,.service-body>*,.section-heading>*,.about-copy,.contact-actions{min-width:0}
h1,h2,h3,p,a,li,summary{overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}
p{ text-wrap:pretty }
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.services,.project-gallery,.service-body,.contact{--focus:#315b1c}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.section{padding-block:clamp(44px,5.5vw,76px)}
.section-heading{gap:24px}.section-heading>p{flex-shrink:1}.section-heading h2{max-width:760px}
header nav .nav-quote{min-width:156px}
.header-call{display:inline-flex;align-items:center;min-height:44px}
.mobile-actions a{overflow-wrap:normal}
.hero-copy .actions,.service-intro .actions,.cta-row{gap:20px}
.hero-notes{gap:12px 22px}.hero-copy .intro{max-width:580px}
.button{min-height:48px;line-height:1.4}
.text-link,.service-links a{display:inline-flex;align-items:center;min-height:44px}
.service-content p .text-link,.service-coverage p .text-link{display:inline;min-height:0}
.contact-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:.875rem;line-height:1.4}
.contact-options>span{width:100%;font-weight:600}
.contact-options>a{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:4px;font-weight:700;text-decoration:none}
.contact-options>a:hover{background:#b6ff2d18;color:inherit}
.cta-row{display:flex;align-items:center;flex-wrap:wrap;margin-top:26px}
.how-it-works{margin-top:36px;padding-top:30px;border-top:1px solid #c7d4c1}
.how-it-works>h2{font-size:clamp(1.9rem,3vw,2.5rem)}
.process-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:26px 0 0}
.process-steps>li{counter-increment:step;min-width:0}
.process-steps>li::before{content:"0" counter(step);display:block;color:#416b1f;font-weight:700;font-size:.875rem;margin-bottom:10px}
.process-steps h3{font-size:1.65rem;line-height:1.12;text-transform:none}
.process-steps p{font-size:1rem;margin:10px 0 0;color:#415044}
.how-it-works .lime{background:#17231a;color:#fff;border:1px solid #17231a}
.how-it-works .lime:hover{background:#30452a}
.reviews.section{padding-block:36px}
.reviews-widget{width:100%;min-width:0;padding:18px;background:#fff;color:#171b18;border-radius:6px}
.reviews-cta{display:flex;justify-content:center;margin-top:22px}
.reviews-cta .button{width:auto}
.gallery-grid{align-items:stretch}
.gallery-card{display:flex;flex-direction:column;min-width:0}
.gallery-card picture{width:100%;aspect-ratio:4/3;overflow:hidden;flex:none}
.gallery-card picture img{width:100%;height:100%;object-fit:cover}
.gallery-card span{flex:1;min-width:0;line-height:1.45;min-height:58px}
.gallery-card span b{flex-shrink:0}
.gallery-dialog[open]{display:flex;flex-direction:column;height:min(860px,94dvh);max-height:94dvh;overflow:auto}
.gallery-dialog .gallery-toolbar{flex:none}
.gallery-picture{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;margin:12px 0}
.gallery-picture .gallery-full{width:100%;height:100%;min-height:0;object-fit:contain;margin:0}
.gallery-bottom{flex:none}.gallery-caption{line-height:1.45;max-height:4.5em;overflow:auto}
.gallery-dialog button{min-width:44px;min-height:44px}
.gallery-error{margin:0 0 12px;color:#f1f6ed;font-size:.875rem;flex:none}
.gallery-error[hidden]{display:none}
.gallery-error a{text-decoration:underline}
body.gallery-open{overscroll-behavior:none}
.faq-list{margin:24px 0}.faq-list details{padding:0}
.faq-list summary{min-height:48px;padding:16px 0;font-size:1rem;line-height:1.5}
.faq-list p{margin:0 0 18px}
.service-content h2,.service-coverage h2{line-height:1.12}
.service-body img{height:auto;aspect-ratio:auto}
.service-coverage>.actions{gap:16px}
.brand-panel picture{width:100%}
footer .wordmark{flex-shrink:1}
footer .service-links{min-width:0}
.form-header{flex-wrap:nowrap}
.form-page .form-heading{padding-block:14px}
.form-page .form-heading h1{font-size:clamp(1.7rem,5vw,2.2rem)}
.form-page .form-heading p{display:block;max-width:620px;font-size:.875rem;line-height:1.5;color:#d0d9cf}
.form-page .form-heading>a{white-space:normal}
.form-main>iframe{max-width:100%}
@media(max-width:1100px){
 .mobile-actions{grid-template-columns:1.3fr 1fr 1fr;align-items:stretch;padding-block:12px 16px}
 .mobile-actions a,.mobile-actions a:first-child,.mobile-actions a:nth-child(2),.mobile-actions a:last-child{min-height:52px;font-size:.875rem;padding:10px 8px;line-height:1.35}
}
@media(max-width:760px){
 .section{padding-inline:5%}.hero-copy{padding:32px 5%}
 .hero-copy .eyebrow{font-size:.75rem;letter-spacing:.06em}
 .local-hero-title{font-size:clamp(2.1rem,9vw,3.8rem);line-height:1.06}
 .local-hero-title strong{font-size:1.08em;line-height:1.06}
 .local-hero-title em{font-size:.78em;line-height:1.12}
 .section h2,.contact h2{font-size:clamp(2rem,8vw,3rem);line-height:1.1}
 .actions .button,.cta-row>.button{width:100%;justify-content:center;gap:16px}
 .contact-options{width:100%;justify-content:center}
 .contact-options>span{text-align:center}
 .contact-options>a{flex:1;max-width:180px}
 .cta-row{gap:18px}
 .hero-notes{font-size:.875rem;gap:8px 16px;margin-top:22px}
 .hero-photo picture img{height:auto;aspect-ratio:2560/1441;object-fit:cover}
 .photo-label{font-size:.75rem;line-height:1.45;letter-spacing:.025em}
 .process-steps{grid-template-columns:1fr;gap:22px;margin-top:22px}
 .how-it-works{margin-top:28px;padding-top:26px}
 .process-steps>li::before{margin-bottom:6px}
 .process-steps h3{font-size:1.65rem}
 .reviews.section{padding-block:28px}
 .reviews-widget{padding:12px 8px}
 .reviews-cta .button{width:100%;justify-content:center}
 .gallery-grid{gap:12px}.gallery-card span{font-size:.875rem;padding:10px;gap:8px}
 .gallery-card picture img{height:100%}
 .gallery-more{width:100%;justify-content:center}
 .gallery-dialog{padding:12px;width:94vw;max-width:94vw}
 .gallery-bottom{flex-wrap:wrap;gap:10px}
 .gallery-caption{order:3;width:100%;padding-top:2px}
 .about .brand-panel{max-width:210px}
 .about-areas .cities{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cities li{overflow-wrap:normal}
 .form-header .text-link{font-size:.875rem;text-align:right;line-height:1.4}
 .form-page .form-heading{padding:10px 5%;gap:4px}
 .form-page .form-heading p{margin:6px 0 0}
 .form-page .form-heading>a{font-size:.875rem}
 .service-intro h1{font-size:clamp(2.1rem,9vw,3.8rem);line-height:1.08}
 .breadcrumbs{margin-bottom:24px;gap:8px;font-size:.875rem;line-height:1.5}
 .service-lead{margin:18px 0 24px}
 .service-body{gap:24px}
 .service-body figure{width:100%}
}
@media(max-width:359px){
 .gallery-grid{grid-template-columns:1fr}
 header:has(.header-logo){column-gap:8px}
 .header-call{font-size:.875rem}
 .topline{font-size:.75rem;padding-inline:10px;line-height:1.5}
 .topline span{margin-inline:4px}
 .about-areas .cities li{padding:9px}
}
@media(max-height:600px){
 .form-page{height:auto;min-height:100dvh;overflow:auto}
 .form-main>iframe{flex:none;height:75dvh;min-height:340px}
 .gallery-dialog[open]{height:96dvh;max-height:96dvh;padding:8px}
 .gallery-picture{margin:6px 0}
 .gallery-bottom{margin-top:0}
 .gallery-caption{max-height:2.9em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section::before,.section::after,.hero-photo::after{animation:none!important}.gallery-card:hover img{transform:none}}
.hero-photo>picture{width:100%;height:100%}
@media(max-width:760px){.hero-photo>picture{height:auto}}
.gallery-full[hidden]{display:none}
