:root{--ink:#f7f8fa;--green:#a8dd39;--lime:#ade333;--paper:#292c34;--line:#ffffff24;--muted:#c1c4cc;--surface:#333740;--gradient:linear-gradient(115deg,#128447,#99d321)}
body{background:var(--paper);color:var(--ink)}header{padding:8px 5%;min-height:105px;background:#30343d;position:relative;z-index:10}.brand img{width:180px;height:auto}.brand{display:block}nav{gap:26px}nav a:hover,.text-link:hover{color:var(--lime)}.nav-call{font-size:15px;border-left-color:#ffffff30}.menu-toggle{display:none}.hero{min-height:710px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 10% 10%,#40533c4d,transparent 60%),#272a31}.hero-copy{padding-top:85px;padding-bottom:30px;z-index:1}.hero .eyebrow{color:var(--lime);font-size:10px}.dot{background:var(--lime);box-shadow:0 0 0 5px #9edc3420;animation:pulse 3s ease-in-out infinite}.hero h1{font-size:clamp(52px,5.1vw,85px);letter-spacing:-.06em}.hero h1 em{color:var(--lime)}.hero-photo{min-height:710px}.hero-photo>img{object-position:57% center;filter:brightness(.84)}.photo-caption{background:linear-gradient(transparent,#20242fe0)}.photo-tag{background:#282d32e8;color:white;border:1px solid #ffffff30}.hero-bottom{margin-top:auto;color:#f6f7fa}.hero-bottom p{color:#b9c2bc}.intro{color:#c5c9d0;max-width:400px}.button{background:var(--gradient);color:#122614;box-shadow:0 5px 24px #4eac1c15;transition:transform .25s,box-shadow .25s}.button:hover{background:var(--gradient);box-shadow:0 8px 30px #9bdc3130;transform:translateY(-3px)}.button span{transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}.service-line{background:var(--gradient);color:#152916;font-weight:800;border:0;padding-block:21px}.service-line i{color:#123f27}.section-head h2 em,.contact h2 em{color:var(--lime)}.eyebrow{color:var(--lime)}.services{border:0;gap:18px}.services article,.services article+article{border:1px solid var(--line);padding:30px;background:linear-gradient(145deg,#3a3e46,#2c3037);transition:border-color .3s,transform .3s;display:flex;flex-direction:column}.services article:hover{border-color:#9bdc3180;transform:translateY(-5px)}.service-icon{color:var(--lime)}.services article>a{margin-top:auto;padding-top:15px}.services details{margin-bottom:20px;font-size:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}summary::-webkit-details-marker{display:none}summary span{color:var(--lime);font-size:18px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.services details p{font-size:12px;margin:0 0 18px;line-height:1.8}.projects{background:#21242b;border-block:1px solid var(--line)}.gallery-toolbar{display:flex;align-items:center;gap:24px;border-block:1px solid var(--line);padding:18px 0;margin-bottom:30px;font-size:12px}.gallery-toolbar>p{margin-right:auto;color:var(--muted)}.gallery-filters{display:flex;gap:6px}button{font-family:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.gallery-filters button,.plan-tabs button,.compare-buttons button{border:1px solid #ffffff30;color:white;background:transparent;padding:10px 15px;font-size:12px;cursor:pointer;min-height:44px;transition:background .2s,color .2s}.gallery-filters button[aria-pressed=true],.plan-tabs button[aria-pressed=true]{background:var(--lime);color:#1c2c13;border-color:var(--lime);font-weight:700}.gallery-count{font-size:10px;color:var(--muted);min-width:60px}.project a{background:#373c40}.project a>span{color:#142a17;background:var(--lime)}.project h3{color:#fff}.project a>img{filter:saturate(.88);transition:filter .4s,transform .5s}.project a:hover>img{filter:saturate(1.05);transform:scale(1.035)}.project-grid{align-items:start}.project[hidden],.plan-panel[hidden]{display:none!important}.project:not([hidden]){animation:card-in .45s ease both}.result{grid-template-columns:1fr 1fr;gap:95px}.comparison{background:#333741;border:1px solid var(--line);padding:18px}.comparison-stage{aspect-ratio:660/896;width:min(100%,360px);margin:auto;position:relative;overflow:hidden;background:#20232a}.comparison-photo{position:absolute;inset:0;overflow:hidden}.comparison-photo img{width:200%;max-width:none;height:100%;object-fit:fill;position:absolute;top:0}.comparison-photo.before img{left:0}.comparison-photo.after img{left:-100%}.comparison-photo.after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.comparison-line{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:#b2f043;pointer-events:none;transform:translateX(-50%)}.comparison-line>span{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:#1a2c13;font-size:24px;box-shadow:0 2px 12px #0004}.compare-label{position:absolute;top:52px;font-size:9px;font-weight:800;letter-spacing:.12em;padding:6px 8px;background:#20242be6;pointer-events:none}.before-label{right:10px}.after-label{left:10px;color:var(--lime)}.comparison-controls{padding-top:20px}.comparison-controls label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.comparison-controls label span{color:var(--lime)}#comparison-range{width:100%;accent-color:var(--lime);min-height:36px;cursor:ew-resize}.compare-buttons{display:flex;gap:7px;margin-top:6px}.compare-buttons button{flex:1}.compare-buttons button:hover{background:#ffffff12}.comparison figcaption{font-size:10px;line-height:1.6;margin-top:15px}.maintenance{background:#353942;border:1px solid var(--line)}.maintenance h2{font-size:35px}.proposal-notice{display:flex;gap:20px;background:#46513835;border:1px solid #8dbe315c;border-left:3px solid var(--lime);padding:22px 25px;margin-bottom:30px}.proposal-notice>span{color:var(--lime);font-size:27px}.proposal-notice strong{font-size:14px}.proposal-notice p{font-size:12px;color:#d0d4cd;margin-top:8px;max-width:900px}.plan-tabs{display:flex;gap:10px;margin-bottom:22px}.plan-tabs button{padding:13px 24px}.plan-panel{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:38px;background:linear-gradient(125deg,#393e46,#2f343b);border:1px solid var(--line);animation:card-in .3s ease both}.plan-panel h3{font-size:30px;margin-bottom:12px}.plan-title .eyebrow{font-size:9px;display:block;margin-bottom:14px}.plan-title>p{font-size:14px;color:var(--muted);max-width:360px}.plan-price{display:block;font-size:16px;color:var(--lime);margin-top:24px}.plan-panel h4{font-size:13px;font-weight:600;margin-top:0}.plan-panel ul{padding-left:20px;font-size:13px;line-height:2.3;color:#d0d4da}.plan-panel li::marker{color:var(--lime)}.plan-footer{display:flex;align-items:center;gap:30px;justify-content:space-between;margin-top:22px}.plan-footer>p{font-size:11px;color:var(--muted);max-width:480px}.plan-footer>.button{font-size:12px}.rehab{margin-top:0;gap:25px}.rehab-icon{color:var(--lime)}.contact{background:radial-gradient(ellipse at 95% 0%,#40743a5e,transparent 75%),#1e2329;border-block:1px solid var(--line)}.contact .button.light{background:var(--gradient);color:#132913}.big-phone{border-color:var(--line)}footer{color:var(--muted)}.footer-brand img{width:170px;height:auto}dialog{background:#292e36;color:white;border:1px solid #ffffff40;width:min(1050px,95vw)}dialog img{max-height:72vh}dialog::backdrop{background:#101218ef}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.viewer-bottom h2{font-size:18px;margin-top:0}.viewer-bottom p{font-size:11px;color:var(--muted);margin-top:5px}.viewer-bottom button{border:1px solid #ffffff40;background:transparent;color:var(--lime);min-width:48px;min-height:48px;font-size:25px;cursor:pointer}.viewer-bottom button:disabled{opacity:.3;cursor:default}.close{background:#222832;color:white}.skip{background:#151a20;color:white}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.in-view{opacity:1;transform:none}@keyframes pulse{50%{box-shadow:0 0 0 9px #9edc3400}}@keyframes card-in{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero,.hero-photo{min-height:740px}}
@media(max-width:1000px){nav{gap:16px}nav a:not(.nav-call){display:inline}.nav-call{padding-left:15px;font-size:13px}.brand img{width:140px}.hero h1{font-size:55px}.hero-copy{padding-top:55px}.hero,.hero-photo{min-height:640px}.services article,.services article+article{padding:24px}.section-head{gap:30px}.result{gap:40px}.gallery-toolbar{flex-wrap:wrap;gap:12px}.gallery-toolbar>p{width:100%}.plan-footer{align-items:flex-start}}
@media(max-width:760px){header{min-height:90px;padding:0 6%;flex-wrap:wrap;gap:0}.brand img{width:145px}.menu-toggle{display:flex;align-items:center;gap:18px;margin-left:auto;background:none;color:white;border:1px solid #ffffff40;padding:11px 14px;min-height:44px;font-size:12px}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{display:none;flex-basis:100%;padding:10px 0 25px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a,nav a:not(.nav-call){display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.nav-call{border-left:0;margin-top:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 32px}.hero h1{font-size:clamp(48px,11.5vw,68px)}.hero,.hero-photo{min-height:0}.hero-photo{height:430px}.hero-bottom{margin-top:38px}.hero .eyebrow{font-size:9px}.services{grid-template-columns:1fr;gap:14px}.services article,.services article+article{padding:25px!important;border:1px solid var(--line)!important}.services details p{font-size:13px}.section-head>p{max-width:100%}.gallery-filters{flex-wrap:wrap;gap:6px}.gallery-filters button{padding:9px 11px;font-size:10px}.gallery-count{margin-left:auto}.project-grid{grid-template-columns:1fr 1fr}.result{grid-template-columns:1fr;gap:30px}.comparison-stage{max-width:330px}.maintenance h2{font-size:30px}.plan-panel{grid-template-columns:1fr;gap:24px;padding:25px}.plan-panel ul{line-height:2;font-size:13px}.plan-title>p{max-width:none}.proposal-notice{padding:18px;gap:13px}.proposal-notice>span{font-size:22px}.proposal-notice strong{font-size:12px}.proposal-notice p{font-size:12px}.plan-footer{flex-direction:column;gap:20px}.plan-footer .button{width:100%}.rehab h2{font-size:25px}.mobile-call{background:var(--gradient);color:#122714}.contact h2{font-size:48px}.viewer-bottom h2{font-size:14px}.viewer-bottom p{font-size:9px}.viewer-bottom{gap:12px}.viewer-bottom button{min-width:44px;min-height:44px}.footer-brand img{width:160px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.comparison-photo.after{clip-path:inset(0 0 0 calc(100% - var(--reveal)))}.comparison-line{left:calc(100% - var(--reveal))}.before-label{left:10px;right:auto}.after-label{right:10px;left:auto}

:root[data-color=blue]{--green:#8dd9ff;--lime:#8dd9ff;--gradient:linear-gradient(115deg,#4aa8dc,#a7e4ff)}
:root[data-color=amber]{--green:#f4c36a;--lime:#f4c36a;--gradient:linear-gradient(115deg,#e4a346,#ffe1a0)}
:root[data-color=blue] .hero{background:radial-gradient(ellipse at 10% 10%,#36577355,transparent 60%),#272a31}
:root[data-color=amber] .hero{background:radial-gradient(ellipse at 10% 10%,#70522c50,transparent 60%),#272a31}
:root[data-color=blue] .contact{background:radial-gradient(ellipse at 95% 0%,#2a6c915e,transparent 75%),#1e2329}
:root[data-color=amber] .contact{background:radial-gradient(ellipse at 95% 0%,#85602a5e,transparent 75%),#1e2329}
:root[data-color=blue] .proposal-notice,:root[data-color=amber] .proposal-notice{border-color:var(--lime);background:#ffffff05}
.comparison-line{background:var(--lime)}.color-picker{position:fixed;left:22px;bottom:22px;z-index:15;font-size:12px}#color-toggle{display:flex;align-items:center;gap:9px;padding:12px 16px;min-height:46px;border:1px solid #ffffff50;background:#242831f5;color:white;box-shadow:0 6px 22px #0004;cursor:pointer;border-radius:28px}#color-current{color:var(--lime);font-size:10px;border-left:1px solid #ffffff35;padding-left:9px}.color-dot,.swatch{display:inline-block;width:15px;height:15px;border-radius:50%;background:var(--gradient);flex-shrink:0}.swatch.green{background:linear-gradient(115deg,#128447,#99d321)}.swatch.blue{background:linear-gradient(115deg,#4aa8dc,#a7e4ff)}.swatch.amber{background:linear-gradient(115deg,#e4a346,#ffe1a0)}#color-options{position:absolute;bottom:58px;left:0;width:215px;padding:15px;background:#292e37;border:1px solid #ffffff40;box-shadow:0 10px 35px #0005;border-radius:10px}#color-options[hidden]{display:none}#color-options p{font-size:10px;letter-spacing:.06em;color:#bfc4cc;margin:0 0 10px}#color-options button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;background:none;border:0;color:white;text-align:left;padding:10px;font-size:12px;cursor:pointer;border-radius:5px}#color-options button:hover{background:#ffffff10}.color-check{margin-left:auto;opacity:0;color:var(--lime)}#color-options button[aria-pressed=true]{background:#ffffff0c}#color-options button[aria-pressed=true] .color-check{opacity:1}.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}.brand img{width:260px;height:auto}.footer-brand img{width:230px;height:auto}
@media(max-width:760px){.brand img{width:185px}.footer-brand img{width:210px}.color-picker{left:5%;bottom:80px}#color-toggle{padding:9px 13px;min-height:42px}#color-options{bottom:51px}.hero-copy{padding-top:38px}}
@media(max-width:360px){.brand img{width:158px}.menu-toggle{gap:8px;padding:10px}.color-picker{bottom:84px}}

.surface-choices{border-top:1px solid #ffffff30;margin-top:10px;padding-top:12px}.swatch.charcoal{background:#30343d;border:1px solid #bbc1cb}.swatch.white{background:white;border:1px solid #bbc1cb}
:root[data-surface=light]{--ink:#222b35;--paper:#fff;--line:#d7dee3;--muted:#52606d;--green:#276b28;--lime:#276b28}
:root[data-surface=light][data-color=blue]{--green:#12618b;--lime:#12618b}
:root[data-surface=light][data-color=amber]{--green:#865407;--lime:#865407}
[data-surface=light] body{background:#fff;color:var(--ink)}[data-surface=light] header{background:#fff;border-color:var(--line)}[data-surface=light] .hero{background:radial-gradient(ellipse at 10% 10%,#e7f2e555,transparent 60%),#fff}[data-surface=light] .hero .intro,[data-surface=light] .hero-bottom p{color:var(--muted)}[data-surface=light] .hero-bottom{color:var(--ink)}[data-surface=light] .nav-call{border-left-color:var(--line)}[data-surface=light] .services article,[data-surface=light] .services article+article{background:linear-gradient(145deg,#fff,#f4f6f8)}[data-surface=light] .projects{background:#f3f6f5}[data-surface=light] .project h3{color:var(--ink)}[data-surface=light] .gallery-filters button,[data-surface=light] .plan-tabs button,[data-surface=light] .compare-buttons button{color:var(--ink);border-color:#a5afb7}[data-surface=light] .gallery-filters button[aria-pressed=true],[data-surface=light] .plan-tabs button[aria-pressed=true]{background:var(--lime);color:white}[data-surface=light] .comparison,[data-surface=light] .maintenance{background:#f3f5f7}[data-surface=light] .compare-buttons button:hover{background:#e1e7eb}[data-surface=light] .plan-panel{background:linear-gradient(125deg,#f7f9fa,#edf2f4)}[data-surface=light] .plan-panel ul,[data-surface=light] .proposal-notice p{color:var(--muted)}[data-surface=light] .proposal-notice{background:#f4f8f1;border-color:var(--lime)}[data-surface=light] .contact{background:#f0f4f3;color:var(--ink)}[data-surface=light] .contact p:not(.eyebrow){color:var(--muted)}[data-surface=light] .menu-toggle{color:var(--ink);border-color:#86929b}[data-surface=light] .photo-caption{color:white}[data-surface=light] .viewer-bottom p{color:#c1c4cc}[data-surface=light] dialog{color:white}[data-surface=light] .viewer-bottom button{color:#c1e990}[data-surface=light] #color-toggle{background:white;color:var(--ink);border-color:#9aa7b0}[data-surface=light] #color-current{border-left-color:#a6afb9}[data-surface=light] #color-options{background:white;border-color:#a0abb4}[data-surface=light] #color-options p{color:var(--muted)}[data-surface=light] #color-options button{color:var(--ink)}[data-surface=light] #color-options button:hover,[data-surface=light] #color-options button[aria-pressed=true]{background:#edf1f4}[data-surface=light] .surface-choices{border-top-color:var(--line)}[data-surface=light] .project a>span{background:var(--gradient)}[data-surface=light] .comparison-line>span{background:var(--gradient)}[data-surface=light] .service-line{color:#142918}[data-surface=light] .skip{color:white}

.comparison-stage{touch-action:pan-y;cursor:ew-resize;user-select:none}.comparison-stage img{pointer-events:none;-webkit-user-drag:none}.comparison-line .comparison-handle{pointer-events:auto;cursor:grab;touch-action:none;top:50%;width:48px;height:48px;border:2px solid #fff;box-shadow:0 3px 18px #0004;background:var(--gradient);color:#142918;transition:box-shadow .2s,scale .2s}.comparison-handle:hover,.comparison-handle:focus-visible{scale:1.08;box-shadow:0 3px 24px #0006}.comparison-handle:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.dragging .comparison-handle{cursor:grabbing;scale:1.08}.compare-label{color:white!important}.after-label{color:#c5f394!important}.reveal-ready{opacity:1;transform:none;transition:none}.in-view .section-head{animation:section-rise .7s ease-out both}.in-view .services article{animation:section-rise .65s ease-out both}.in-view .services article:nth-child(2){animation-delay:.1s}.in-view .services article:nth-child(3){animation-delay:.2s}.in-view .project:nth-child(2){animation-delay:.1s}.in-view .project:nth-child(3){animation-delay:.2s}.plan-panel{transition:border-color .25s}.text-link span{transition:transform .25s}.text-link:hover span{transform:translateX(4px)}.hero-photo>img{will-change:transform}.photo-caption a{transition:transform .3s,background .3s}.photo-caption a:hover{transform:rotate(-12deg);background:#ffffff20}@keyframes section-rise{from{opacity:.55;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hero-photo>img{transform:none!important;will-change:auto}.comparison-line .comparison-handle{scale:1!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-surface=light] .hero{background:radial-gradient(ellipse at 10% 10%,#e7f2e555,transparent 60%),#fff}:root[data-surface=light] .contact{background:#f0f4f3}:root[data-surface=light] .proposal-notice{background:#f4f8f1}
