:root{--ink:#182019;--forest:#102817;--forest-2:#183820;--olive:#6c8c28;--olive-bright:#88a936;--cream:#f4f2eb;--paper:#fbfaf6;--muted:#687068;--line:#d9ddd4;--header-h:88px;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px)}body{background:var(--paper);min-width:320px;margin:0}body,button,input,select,textarea{font:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}section{scroll-margin-top:0}.site-header{height:var(--header-h);z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf6f5;border-bottom:1px solid #1028171f;grid-template-columns:260px 1fr auto;align-items:center;gap:24px;padding:10px clamp(22px,5vw,76px);display:grid;position:sticky;top:0;box-shadow:0 5px 20px #1028170f}.brand{align-items:center;width:230px;height:64px;display:flex;overflow:hidden}.brand img{object-fit:contain;width:100%;height:100%}.main-nav{justify-content:center;align-items:center;gap:clamp(18px,2.1vw,36px);display:flex}.main-nav a{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:44px;position:relative}.main-nav a:after{content:"";background:var(--olive);height:2px;transition:right .2s;position:absolute;bottom:4px;left:0;right:100%}.main-nav a:hover:after,.main-nav a:focus-visible:after{right:0}.header-call{color:#fff;background:var(--forest);white-space:nowrap;border-radius:4px;align-items:center;gap:11px;min-height:54px;padding:7px 18px;font-weight:900;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.header-call small{letter-spacing:.1em;text-transform:uppercase;color:#c9d9bd;font-size:10px;line-height:1.1;display:block}.menu-toggle{color:var(--forest);background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;display:none}.hero{min-height:clamp(740px, calc(100svh - var(--header-h) + 80px), 830px);isolation:isolate;color:#fff;background-image:linear-gradient(90deg, #051109e6 0%, #051109b8 38%, #0511092e 67%, #0511090f 100%), var(--hero-image);background-position:50%;background-size:cover;align-items:center;display:flex;position:relative}.hero:after{content:"";z-index:-1;background:linear-gradient(#0000,#05110973);height:120px;position:absolute;inset:auto 0 0}.hero-inner{width:min(1260px,100% - 48px);margin:0 auto;padding:90px 0 70px}.eyebrow,.overline{color:var(--olive);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.eyebrow.light{color:#b2cd67}.hero h1,.section h2,.section-heading h2,.projects-section h2,.contact-section h2{text-transform:uppercase;letter-spacing:.01em;margin:18px 0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-weight:500;line-height:.92}.hero h1{text-shadow:0 2px 20px #00000059;max-width:790px;font-size:clamp(56px,6.6vw,92px)}.hero-kicker{color:#a7c34d;text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px;font-size:clamp(17px,1.7vw,24px);font-weight:900}.hero-copy{color:#e5eadf;max-width:600px;margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;border-radius:3px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 24px;font-size:14px;font-weight:900;transition:transform .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:linear-gradient(135deg, var(--olive-bright), #587518);box-shadow:0 8px 25px #4b671740}.button-ghost{color:#fff;background:#0a190d33;box-shadow:inset 0 0 0 1px #ffffffb3}.section{padding:clamp(72px,8vw,112px) max(24px,50vw - 630px)}.section-heading{text-align:center;max-width:720px;margin:0 auto 40px}.section-heading h2,.section h2,.contact-section h2{color:var(--forest);font-size:clamp(42px,4.4vw,62px)}.section-heading p{color:var(--muted);margin:0;font-size:17px;line-height:1.65}.services-section{background:radial-gradient(circle at 50% 0, #fff, transparent 60%), var(--cream);overflow:hidden}.rail-shell{position:relative}.rail-arrow{z-index:8;color:#fff;cursor:pointer;background:#102817f0;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:none;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #0000003d}.rail-arrow:active{transform:translateY(-50%)scale(.96)}.rail-prev{left:4px}.rail-next{right:4px}.services-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.service-card{text-align:center;background:#fff;border:1px solid #1129171f;border-radius:5px;min-height:310px;position:relative;overflow:hidden;box-shadow:0 7px 20px #1a2a1d12}.service-card img{object-fit:cover;width:100%;height:175px;transition:transform .45s}.service-card:hover img{transform:scale(1.035)}.service-icon{color:#fff;background:var(--olive);border:4px solid #fff;border-radius:50%;place-items:center;width:50px;height:50px;margin:-25px auto 8px;display:grid;position:relative}.service-card h3{text-transform:uppercase;margin:0 10px 7px;font-size:17px;line-height:1.1}.service-card a{min-height:40px;color:var(--olive);align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.text-link{width:max-content;min-height:48px;color:var(--forest);border-bottom:2px solid var(--olive);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin:28px auto 0;padding:0 8px;font-size:13px;font-weight:900;display:flex}.about-section{background:var(--paper);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(42px,7vw,90px);display:grid}.about-photo{position:relative}.about-photo:before{content:"";z-index:-1;border:1px solid #9cad73;position:absolute;inset:-16px 16px 16px -16px}.about-photo img{aspect-ratio:1.2;object-fit:cover;width:100%}.about-copy h2{margin-top:12px}.about-copy>p{color:#4f5850;font-size:16px;line-height:1.7}.trust-row{border-top:1px solid var(--line);gap:14px;margin-top:28px;padding-top:24px;display:flex}.trust-row span{text-transform:uppercase;color:var(--muted);flex:1;grid-template-columns:32px 1fr;font-size:11px;line-height:1.25;display:grid}.trust-row svg{color:var(--olive);grid-row:span 2}.trust-row b{color:var(--forest)}.projects-section{background:linear-gradient(125deg, #091a0e, var(--forest));color:#fff;padding:clamp(72px,8vw,105px) max(24px,50vw - 630px)}.section-heading.inverse h2{color:#fff}.section-heading.inverse .overline{color:#a8c354}.project-grid{grid-template-rows:235px 235px;grid-template-columns:1.25fr .75fr;gap:14px;display:grid}.project{background:#0a170d;margin:0;position:relative;overflow:hidden}.project-wide{grid-row:1/span 2}.project img{object-fit:cover;opacity:.86;width:100%;height:100%;transition:transform .5s,opacity .3s}.project:hover img{opacity:1;transform:scale(1.03)}.project figcaption{letter-spacing:.035em;text-transform:uppercase;background:linear-gradient(#0000,#040e07e6);padding:50px 22px 18px;font-family:Impact,sans-serif;font-size:24px;position:absolute;inset:auto 0 0}.project figcaption span{color:#bed17e;font-family:inherit;font-size:11px;display:block}.why-section{grid-template-columns:1fr .86fr;align-items:center;gap:clamp(45px,7vw,90px);display:grid}.why-copy h2{margin-top:12px}.benefit-grid{grid-template-columns:1fr 1fr;gap:28px 35px;margin-top:30px;display:grid}.benefit{grid-template-columns:50px 1fr;gap:14px;display:grid}.benefit>svg{width:48px;height:48px;color:var(--olive);border:1px solid #a7b58c;border-radius:50%;padding:10px}.benefit h3{color:var(--forest);text-transform:uppercase;margin:0 0 5px;font-size:14px}.benefit p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.why-photo{position:relative}.why-photo:after{content:"";z-index:-1;border:1px solid #9cad73;position:absolute;inset:16px -16px -16px 16px}.why-photo img{aspect-ratio:1.2;object-fit:cover;width:100%}.reviews-section{color:#fff;text-align:center;background:linear-gradient(#08180ce6,#08180ced),url(/assets/outdoor-lighting-CPHk3gUE.webp) 50% 52%/cover;padding:65px 24px}.facebook-rating{color:#fff;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 22px;font-size:15px;font-weight:900;display:flex}.facebook-rating svg{color:#9ab847}.facebook-rating span{color:#b8c4b9;font-size:12px;font-weight:700}.reviews-wrap{grid-template-columns:50px minmax(0,760px) 50px;justify-content:center;align-items:center;gap:22px;display:grid}.reviews-wrap>button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.testimonial{min-height:190px}.stars{color:#f0b52e;justify-content:center;gap:4px;display:flex}.testimonial blockquote{margin:18px 0;font-family:Georgia,serif;font-size:clamp(20px,2.2vw,30px);line-height:1.45}.testimonial p{margin:0}.testimonial p span{color:#b7c2b8;margin-top:3px;font-size:13px;display:block}.review-dots{justify-content:center;gap:8px;margin-top:15px;display:flex}.review-dots span{background:#ffffff4d;border-radius:50%;width:7px;height:7px}.review-dots span.active{background:var(--olive-bright)}.facebook-reviews-link{color:#c8daa0;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #718744;align-items:center;gap:7px;width:max-content;min-height:44px;margin:16px auto 0;font-size:12px;font-weight:900;display:flex}.contact-section{background:var(--cream);grid-template-columns:.78fr 1.35fr;gap:clamp(40px,7vw,90px);padding:clamp(72px,8vw,105px) max(24px,50vw - 630px);display:grid}.contact-info h2{margin-top:13px}.contact-info>p{color:var(--muted);margin-bottom:28px;line-height:1.6}.contact-line{color:var(--forest);align-items:flex-start;gap:14px;margin:19px 0;display:flex}.contact-line>svg{color:var(--olive);width:28px;height:28px}.contact-line span{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:850}.contact-line strong{letter-spacing:0;text-transform:none;margin-top:2px;font-size:18px;display:block}.contact-line .coverage-list{max-width:360px;font-size:14px;line-height:1.45}.estimate-form{border:1px solid var(--line);background:#ffffffb3;grid-template-columns:1fr 1fr;gap:14px;padding:24px;display:grid;box-shadow:0 15px 35px #182a1c14}.estimate-form label{display:block}.estimate-form label span{color:var(--forest);margin:0 0 6px;font-size:12px;font-weight:800;display:block}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #cfd5cc;border-radius:2px;outline:none;padding:12px 14px}.estimate-form textarea{resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px #6c8c2824}.form-note{color:var(--muted);text-align:center;margin:-2px 0 0;font-size:11px;line-height:1.45}.full{grid-column:1/-1}footer{color:#d9ded8;background:#0d1710}.footer-main{grid-template-columns:1.5fr .65fr 1.2fr .65fr;gap:50px;max-width:1260px;margin:auto;padding:58px 24px 48px;display:grid}.footer-brand img{object-fit:contain;filter:invert()brightness(2);width:250px;height:88px}.footer-brand p{letter-spacing:.08em;text-transform:uppercase;color:#aab4ab;font-size:12px;line-height:1.6}footer h2{color:#fff;text-transform:uppercase;letter-spacing:.12em;margin:0 0 16px;font:800 12px/1.2 inherit}.footer-main>div>a,.footer-main>div>span{color:#bdc6bd;align-items:center;gap:8px;min-height:29px;font-size:13px;display:flex}.footer-main>div>a:hover{color:#fff}.social>div{gap:8px;display:flex}.social a{color:#fff;border:1px solid #4b5a4e;place-items:center;width:44px;height:44px;display:grid}.footer-bottom{color:#d7e1cf;background:#446219;justify-content:space-between;align-items:center;gap:20px;min-height:42px;padding:10px max(24px,50vw - 630px);font-size:11px;display:flex}[data-reveal]{opacity:0;transition:opacity .55s ease var(--delay,0s), transform .55s ease var(--delay,0s);transform:translateY(18px)}[data-reveal].is-visible{opacity:1;transform:none}@media (width<=1050px){:root{--header-h:76px}.site-header{grid-template-columns:220px 1fr auto;padding-inline:24px}.brand{width:200px;height:55px}.main-nav{gap:14px}.main-nav a{font-size:11px}.header-call{padding-inline:13px}.services-rail{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){:root{--header-h:70px}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:1fr auto;padding:7px 18px}.brand{width:190px;height:52px}.menu-toggle{display:flex}.header-call{z-index:40;justify-content:center;min-height:56px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 10px 30px #0000004d}.header-call small{margin-right:7px;display:inline}.header-call span{align-items:baseline;display:flex}.main-nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:12px 20px 20px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 24px #0000001f}.main-nav.open{display:flex}.main-nav a{text-align:center;border-bottom:1px solid #e8eae5;width:100%;font-size:13px}.hero{min-height:max(780px, calc(100svh - var(--header-h) + 50px));background-image:linear-gradient(180deg, #040e071f 16%, #040e0794 52%, #040e07f5 100%), var(--hero-image);background-position:66%;align-items:flex-end}.hero-inner{width:min(100% - 36px,620px);padding:170px 0 55px}.hero h1{font-size:clamp(50px,14vw,72px)}.hero-actions .button{flex:210px}.services-rail-shell .rail-arrow{display:grid}.services-rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin-inline:-24px;padding:5px 24px 25px;display:flex;overflow-x:auto}.services-rail::-webkit-scrollbar{display:none}.service-card{scroll-snap-align:start;min-width:min(82vw,330px);min-height:320px}.about-section,.why-section,.contact-section{grid-template-columns:1fr}.about-copy{order:-1}.project-grid{grid-template-rows:370px 240px;grid-template-columns:1fr 1fr}.project-wide{grid-area:auto/1/auto/-1}.why-photo img{aspect-ratio:1.65}.footer-main{grid-template-columns:1fr 1fr}}@media (width<=560px){.hero{min-height:max(780px, calc(100svh - var(--header-h) + 50px))}.hero-inner{padding-bottom:40px}.hero-copy{font-size:16px}.hero-actions{margin-top:22px}.hero-actions .button{flex-basis:100%}.service-area{margin-top:24px;font-size:11px}.section-heading{text-align:left;margin-bottom:30px}.section-heading h2,.section h2,.contact-section h2{font-size:43px}.about-photo:before,.why-photo:after{display:none}.trust-row{flex-direction:column}.trust-row span{grid-template-columns:34px 1fr}.project-grid{scroll-snap-type:x mandatory;gap:12px;margin-inline:-24px;padding-inline:24px;display:flex;overflow-x:auto}.project-rail-shell .rail-arrow{display:grid}.project{scroll-snap-align:center;min-width:84vw;height:330px}.benefit-grid{grid-template-columns:1fr}.reviews-wrap{grid-template-columns:42px minmax(0,1fr) 42px;gap:5px}.reviews-wrap>button{width:40px;height:40px}.testimonial{min-height:250px}.testimonial blockquote{font-size:20px}.facebook-rating{font-size:13px}.estimate-form{grid-template-columns:1fr;padding:18px}.estimate-form label,.estimate-form .full{grid-column:auto}.footer-main{grid-template-columns:1fr;gap:34px}.footer-bottom{text-align:center;flex-direction:column;justify-content:center;padding-bottom:78px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
