:root{font-family:Segoe UI,Arial,sans-serif;color:#17212b;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue: #0754a5;--green: #07580d;--grass: #75c900;--ink: #17212b;--muted: #54605b;--line: #dce2dc;--paper: #f8faf7}*{box-sizing:border-box}body{margin:0}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}main:focus{outline:none}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Segoe UI,Arial,sans-serif;font-weight:750}h1{font-size:clamp(2.5rem,4.1vw,3.9rem);line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.14;letter-spacing:-.035em}h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em}p{line-height:1.7}section[id]{scroll-margin-top:24px}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:88px}.eyebrow{color:var(--green);font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-bottom:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:15px 22px;background:var(--blue);color:#fff;text-decoration:none;font-size:.9rem;font-weight:650;border:1px solid var(--blue);border-radius:4px;transition:background-color .15s}.button:hover{background:#034180;color:#fff}.button span{font-size:1.2rem;line-height:1}.text-link{display:inline-flex;gap:20px;align-items:center;min-height:44px;font-size:.88rem;font-weight:650;color:var(--blue);text-decoration:none}.text-link:hover{text-decoration:underline}.skip-link{position:absolute;z-index:10;top:12px;left:12px;padding:15px 22px;background:#fff;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{display:flex;align-items:center;gap:36px;min-height:116px}.brand{flex-shrink:0;margin-right:auto}.brand img{width:99px;height:auto}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:.86rem;font-weight:600;text-decoration:none;padding-block:16px;min-width:44px;text-align:center}.header-estimate{font-size:.8rem;min-height:46px;gap:24px}.mobile-menu{display:none}.hero{background:var(--paper);border-bottom:3px solid var(--grass)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-block:64px}.hero-copy{padding-block:18px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;font-size:.68rem}.small-rule{display:block;height:2px;width:24px;background:var(--grass)}h1 span{display:block;color:var(--green);font-size:.82em;line-height:1.15;margin-top:.12em}.hero-description{max-width:440px;margin-top:24px;font-size:1.05rem;color:var(--muted);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}.phone-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.86rem;font-weight:650;text-decoration:none;white-space:nowrap}.phone-link span{color:var(--blue)}.contact-note{margin-top:14px;font-size:.78rem;color:var(--muted)}.photo-placeholder{background:#eaf0e6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;color:#3e5440;text-align:center;border:1px solid #d5dfd2}.photo-placeholder-mark{width:50px;height:50px;margin-bottom:21px;color:#78916d}.photo-placeholder-mark svg{width:100%;stroke:currentColor;stroke-width:1.2}.photo-placeholder figcaption{display:flex;flex-direction:column;gap:10px;max-width:300px}.placeholder-label{align-self:center;border:1px solid #b6c6af;padding:4px 9px;color:#445e3c;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.photo-placeholder strong{font-size:1.2rem;font-weight:600;line-height:1.4;letter-spacing:-.02em}.photo-placeholder figcaption>span:last-child{font-size:.72rem;line-height:1.6}.photo-frame{position:relative;width:100%;min-width:0;overflow:hidden}.photo-frame:not(.photo-placeholder){background:var(--paper)}.photo-history-caption{margin-top:12px;color:var(--muted);font-size:.85rem;line-height:1.6}.photo-frame>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-photo{aspect-ratio:5 / 4}.hero-photo strong{font-size:1.65rem;max-width:260px;margin-inline:auto}.photo-footnote{display:flex;justify-content:space-between;gap:12px;font-size:.63rem;color:var(--muted);padding-top:13px;letter-spacing:.025em}.service-area{border-bottom:1px solid var(--line)}.service-area-inner{display:flex;align-items:center;gap:24px;min-height:66px;font-size:.8rem}.service-area-inner>span:first-child{font-weight:650}.service-area p{color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.area-dot{width:7px;height:7px;background:var(--green);border-radius:50%;margin-left:auto;flex-shrink:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:44px}.section-heading>div{flex-shrink:0}.section-heading>p{max-width:450px;color:var(--muted);font-size:.94rem}.service-grid{display:grid;grid-template-columns:1fr 1fr 1fr}.service{position:relative;padding:30px 34px 15px 0;border-top:2px solid var(--green)}.service+.service{padding-left:34px;border-left:1px solid var(--line)}.service:nth-child(2){border-top-color:var(--grass)}.service-maintenance{border-top:1px solid var(--line)}.service-icon{display:block;width:48px;height:48px;color:var(--green);margin-bottom:26px}.service-number{position:absolute;top:35px;right:32px;font-size:.7rem;color:var(--muted)}.service h3{max-width:280px;margin-bottom:14px}.service>p{color:var(--muted);font-size:.92rem;max-width:300px;min-height:79px}.service details{margin-top:20px}.service summary{color:var(--blue);font-size:.86rem;font-weight:600;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:44px}.service summary::-webkit-details-marker{display:none}.service summary span{font-size:1.2rem}.service details[open] summary span{transform:rotate(45deg)}.service details p{color:var(--muted);font-size:.86rem;padding:10px 0}.service>.text-link{margin-top:20px}.work{background:var(--paper);border-block:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project{min-width:0}.project-photo{aspect-ratio:3 / 2}.project-photo-2{background:#eeede6;border-color:#dcdacd;color:#555542}.project-photo-2 .photo-placeholder-mark{color:#8a8b72}.project-photo-3{background:#e5eeeb;border-color:#cfded8}.project-caption{display:flex;gap:17px;margin-top:23px}.project-index{color:var(--green);font-size:.7rem;padding-top:2px}.project-caption .eyebrow{font-size:.57rem;letter-spacing:.09em;margin-bottom:7px;color:var(--muted)}.project h3{font-size:1.13rem;margin-bottom:10px}.project-caption p:last-child{font-size:.83rem;color:var(--muted)}.work-note{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.about-grid{display:grid;grid-template-columns:.95fr 1fr;gap:80px;align-items:center}.about-photo{aspect-ratio:5 / 4}.about-copy h2{margin-bottom:24px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:.94rem;margin-top:14px}.about-copy .text-link{margin-top:20px}.maintenance{background:var(--paper);border-block:1px solid var(--line)}.maintenance-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.maintenance h2{max-width:460px;margin-bottom:22px}.maintenance p:not(.eyebrow){color:var(--muted);font-size:.94rem}.property-types{padding:0;margin:24px 0 20px;list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px}.property-types li{font-size:.76rem;font-weight:600;display:flex;gap:8px;align-items:center}.property-types li:before{content:"";width:4px;height:4px;background:var(--green)}.maintenance-photo{aspect-ratio:3 / 2}.contact{padding-block:72px}.contact-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:80px}.contact h2{margin-bottom:17px}.contact-inner>div>p:not(.eyebrow){max-width:590px;font-size:.94rem;color:var(--muted)}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:17px}.contact-phone{font-weight:650;text-decoration:none;font-size:1rem;min-height:44px;display:flex;align-items:center}.contact .contact-actions>p{font-size:.69rem}.site-footer{background:var(--paper);border-top:1px solid var(--line);padding-top:40px}.footer-main{display:flex;align-items:center;gap:28px;padding-bottom:34px}.footer-brand{flex-shrink:0}.footer-brand img{width:78px}.footer-description strong{font-size:.87rem}.footer-description p{font-size:.76rem;color:var(--muted);margin-block:5px}.footer-description>a{color:var(--blue);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;min-height:44px}.footer-main nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:22px}.footer-main nav a{font-size:.77rem;text-decoration:none;min-height:44px;min-width:44px;display:flex;align-items:center}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:.67rem;color:var(--muted)}@media (min-width: 1500px){.hero-grid{gap:80px}}@media (max-width: 1100px){.container{width:calc(100% - 64px)}.header-inner{gap:24px}.desktop-nav{gap:18px}.header-estimate{padding-inline:15px;gap:12px}.hero-grid{gap:34px}.hero-actions{gap:14px}.about-grid,.maintenance-grid{gap:48px}.project-grid{gap:20px}.project-photo{padding:20px}.section-heading{gap:40px}.footer-main{flex-wrap:wrap}.footer-main nav{margin-left:106px;width:100%}}@media (max-width: 800px){.container{width:calc(100% - 40px)}.section-space{padding-block:56px}.header-inner{min-height:90px;gap:14px}.brand img{width:68px}.desktop-nav,.header-estimate{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{display:flex;gap:12px;align-items:center;list-style:none;font-size:.85rem;font-weight:600;min-height:44px;cursor:pointer}.mobile-menu>summary::-webkit-details-marker{display:none}.menu-lines{display:flex;flex-direction:column;justify-content:center;gap:5px;width:19px;height:24px}.menu-lines span{height:1.5px;background:var(--ink);width:100%}.mobile-menu[open] .menu-lines span:first-child{transform:translateY(3.25px) rotate(45deg)}.mobile-menu[open] .menu-lines span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.mobile-menu nav{position:absolute;right:0;top:55px;z-index:5;width:min(340px,calc(100vw - 40px));padding:18px 24px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #17212b12}.mobile-menu nav a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-size:.92rem}.mobile-menu .mobile-call{justify-content:space-between;color:var(--blue);font-weight:650;margin-top:8px;border-top:1px solid var(--line);padding-top:14px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-block:36px 28px}.hero-copy{padding:0;max-width:550px}h1{font-size:clamp(2.5rem,6.8vw,3.6rem);max-width:600px}.hero-copy .eyebrow{font-size:.6rem;margin-bottom:19px}.hero-description{font-size:1rem;margin-top:20px}.hero-actions{margin-top:24px;gap:10px 20px}.hero-photo{aspect-ratio:4 / 3}.hero-photo strong{font-size:1.4rem}.service-area-inner{gap:10px;padding-block:18px;flex-wrap:wrap;font-size:.73rem}.service-area-inner>span:first-child{width:100%}.service-area p{border:0;padding:0;font-size:.71rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:540px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:27px 0 25px;border-left:0}.service-icon{width:40px;height:40px;margin-bottom:20px}.service-number{right:0}.service h3,.service>p{max-width:540px}.service>p{min-height:auto}.service details,.service>.text-link{margin-top:10px}.service summary{justify-content:flex-start;gap:20px}.project-grid{grid-template-columns:minmax(0,1fr);gap:34px}.project-caption{margin-top:20px}.work-note{margin-top:28px}.about-grid,.maintenance-grid{grid-template-columns:1fr;gap:32px}.about-copy .text-link{margin-top:16px}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-actions{align-items:flex-start;gap:13px}.contact .contact-actions>p{font-size:.73rem}.footer-main{gap:20px}.footer-description{flex:1}.footer-description strong{font-size:.8rem}.footer-description p{font-size:.7rem}.service>p,.project-caption p:last-child,.about-copy>p:not(.eyebrow),.maintenance p:not(.eyebrow),.contact-inner>div>p:not(.eyebrow),.section-heading>p{font-size:1rem}.project-caption .eyebrow{font-size:.65rem}.footer-brand img{width:64px}.footer-main nav{margin:0;gap:0;justify-content:space-between}.footer-bottom{display:block;padding-block:22px}.preview-note{margin-top:8px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important}}.inner-page{font-size:1rem}.inner-page h1{max-width:850px;font-size:clamp(2.5rem,4.1vw,3.9rem)}.page-intro{background:var(--paper);border-bottom:3px solid var(--grass)}.page-intro h1{margin-bottom:24px}.page-intro p:not(.eyebrow){max-width:700px;color:var(--muted)}.page-intro .button,.page-intro .text-link{margin-top:26px;max-width:100%}.page-intro .gallery-disclosure{margin-top:14px;font-size:.94rem}.page-jump-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:36px}.page-jump-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-size:.9rem;font-weight:600}.service-page-group+.service-page-group{border-top:1px solid var(--line)}.service-page-group:nth-child(odd){background:var(--paper)}.service-page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px;align-items:start}.service-page-copy>p{color:var(--muted);margin-top:18px}.service-page-photo{aspect-ratio:3 / 2}.service-page-items{margin-top:28px}.service-item{border-top:1px solid var(--line);padding-top:22px;margin-top:18px}.service-item h3{margin-bottom:10px}.service-item p{color:var(--muted)}.service-item .text-link{margin-top:6px}.work-projects{display:grid;gap:64px}.work-project{min-width:0;border-bottom:1px solid var(--line);padding-bottom:56px}.work-project:last-child{border-bottom:0;padding-bottom:0}.work-project-heading{display:flex;justify-content:space-between;gap:24px}.work-project-heading .eyebrow{margin-bottom:10px}.work-project-number{color:var(--green);font-size:.85rem;padding-top:4px}.work-project-description{max-width:680px;color:var(--muted);margin-block:20px 28px}.work-cover{max-width:100%;aspect-ratio:2 / 1}.work-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.work-photo-grid>div{min-width:0}.work-photo-caption{color:var(--muted);margin-top:12px}.before-after h3{margin-bottom:14px}.project-meta{display:flex;flex-wrap:wrap;gap:16px 36px;margin-block:20px}.project-meta dt{font-size:.8rem;color:var(--muted)}.project-meta dd{margin:5px 0 0;font-size:.95rem}.inner-contact{border-top:1px solid var(--line);background:var(--paper)}.inner-contact h2{margin-bottom:18px}.inner-contact p:not(.eyebrow){max-width:640px;color:var(--muted)}.inner-contact .button{margin-top:24px;margin-right:24px}.inner-contact .text-link{margin-top:20px}.contact-intro .contact-number{display:block;width:fit-content;max-width:100%;min-height:56px;margin-top:28px;color:var(--blue);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.025em;text-decoration:none;line-height:1.4}.contact-intro .contact-number:hover{text-decoration:underline}.contact-intro .button{min-height:56px;min-width:190px;margin-top:18px}.contact-page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:80px;align-items:start}.service-area-copy>p,.contact-planning p{color:var(--muted);margin-top:20px}.service-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding-left:20px;margin-block:24px 32px;line-height:1.6}.service-area-list li::marker{color:var(--green)}.contact-planning{border-top:2px solid var(--green);padding-top:24px}.contact-planning .text-link{display:flex;width:fit-content;margin-top:16px}@media (max-width: 1100px){.service-page-grid,.contact-page-grid{gap:48px}}@media (max-width: 800px){.inner-page h1{font-size:clamp(2.5rem,6.8vw,3.6rem)}.page-intro .gallery-disclosure{font-size:1rem}.service-page-grid{grid-template-columns:minmax(0,1fr);gap:32px}.service-page-visual{order:-1}.work-cover{aspect-ratio:3 / 2}.work-photo-grid{grid-template-columns:minmax(0,1fr);gap:28px}.work-projects{gap:40px}.work-project{padding-bottom:40px}.contact-page-grid{grid-template-columns:minmax(0,1fr);gap:40px}}@media (max-width: 480px){.service-area-list{grid-template-columns:minmax(0,1fr)}}
