:root{--forest:#173f29;--deep:#102b1d;--paper:#ececde;--white:#fffdf5;--ink:#183c28;--muted:#4e5c4c;--sage:#dbe5d1;--line:#c0ceba}
body{font-size:18px;line-height:1.75;background:var(--paper)}.wrap{width:min(1280px,calc(100% - 80px))}.section{padding:90px 0}h2{font-size:48px;line-height:1.17;letter-spacing:-1.1px}h3{font-size:30px;line-height:1.3}.eyebrow{font-size:15px;letter-spacing:1.4px}.button{font-size:17px;border-radius:9px;padding:17px 24px;min-height:58px}.text-link{font-size:17px}.topline .wrap{min-height:54px;gap:25px}.topline{font-size:14px;letter-spacing:0}.topline .wrap>span{max-width:400px}.top-contacts{display:flex;gap:24px;justify-content:flex-end;align-items:center;margin-left:auto;font-size:15px}.top-contacts a{white-space:nowrap}.site-header{background:#fffdf5}.header-inner{height:104px}.brand{width:188px;height:92px}.brand img{width:274px;height:274px;left:-43px;top:-79px}.nav{font-size:17px;gap:25px}.nav .button{font-size:16px;padding:15px 20px;min-height:52px}.menu-toggle{font-size:17px}.hero.v2-hero{position:relative;background:var(--forest);padding:92px 0 108px;overflow:hidden;min-height:700px;display:flex;align-items:center}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.94}.v2-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,41,24,.95),rgba(9,41,24,.83) 35%,rgba(9,41,24,.24) 78%,rgba(9,41,24,.08))}.v2-hero>.wrap{position:relative;z-index:1}.v2-hero-copy{max-width:820px;color:var(--white)}.v2-hero .eyebrow{color:#f1c986}.hero.v2-hero h1{font-size:72px;line-height:1.11;letter-spacing:-1.8px;margin:22px 0 27px;max-width:800px}.v2-hero .hero-description{font-size:21px;color:#f0f2e9;line-height:1.8;max-width:735px}.hero-actions{gap:18px;margin-top:33px;flex-direction:row;flex-wrap:wrap}.button-outline{border-color:#d9e6d1;background:rgba(15,47,28,.5);color:white}.button-outline:hover{background:var(--forest)}.v2-trust{position:relative;margin-top:-29px;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--white);border:1px solid #ccd3bd;border-radius:14px;box-shadow:0 12px 30px #0b291b1a}.v2-trust>div{padding:27px 18px;text-align:center;font-size:17px;font-weight:700;line-height:1.5;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line)}.v2-trust>div:last-child{border:0}.v2-section-heading{max-width:950px;margin-bottom:42px}.v2-section-heading h2{margin:18px 0 21px}.v2-section-heading>p:not(.eyebrow){font-size:19px;line-height:1.8;color:var(--muted);max-width:900px}.v2-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.v2-service{overflow:hidden;border-radius:18px;background:var(--white);border:1px solid #d5ddca;box-shadow:0 10px 24px #152c1610}.v2-service>img{width:100%;height:290px;object-fit:cover}.v2-service:nth-child(4)>img{object-position:center 38%}.v2-service>div{padding:32px}.v2-service h3{font-size:34px;margin-bottom:16px}.v2-service p{font-size:18px;color:var(--muted);line-height:1.8}.v2-service ul{padding-left:22px;font-size:17px;line-height:1.75;margin:20px 0 25px}.v2-service li{margin-bottom:6px}.v2-service .button{font-size:16px}.approach{padding:86px 0;background:var(--forest)}.approach .v2-section-heading{max-width:1030px}.approach .v2-section-heading h2{font-size:49px;line-height:1.18;margin:20px 0}.approach .v2-section-heading>p:not(.eyebrow){color:#e0e9d8}.v2-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.v2-values article{padding:28px;border:1px solid #779079;border-radius:12px;background:#ffffff06}.v2-values h3{font-size:28px;margin-bottom:15px}.v2-values p{font-size:18px;line-height:1.8;color:#e0e9d8}.v2-gallery{background:#e7ebdf}.gallery-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}.gallery-filters button{background:transparent;border:1px solid #8ea284;border-radius:8px;padding:12px 18px;font-size:16px;min-height:48px}.gallery-filters button[aria-pressed=true]{color:white;background:var(--forest);border-color:var(--forest)}.gallery-count{font-size:16px;color:var(--muted);margin-bottom:22px}.v2-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.v2-project{margin:0;min-width:0}.v2-project[hidden]{display:none}.photo-button{position:relative;display:block;width:100%;padding:0;border:0;background:#cdd8c3;border-radius:12px;overflow:hidden;text-align:left}.photo-button img{width:100%;height:300px;object-fit:cover;transition:transform .25s}.photo-button:hover img{transform:scale(1.025)}.photo-button span{position:absolute;bottom:0;left:0;right:0;padding:24px 16px 14px;color:white;font-size:16px;background:linear-gradient(transparent,#102a1ddb)}.v2-project figcaption{font-size:18px;font-weight:700;line-height:1.6;padding:15px 0 0}.gallery-more{text-align:center;margin-top:34px}.v2-process{background:#d4dfc9;padding:70px 0}.v2-process h2{margin-bottom:35px}.v2-process .v2-values article{background:#ffffff35;border-color:#a4b798}.v2-process .v2-values p{color:var(--muted)}.v2-process .v2-values span{font-size:17px;font-weight:700;display:block;margin-bottom:12px}.contractors{background:#edf0e5}.contractor-grid{grid-template-columns:1.25fr .75fr;gap:60px}.contractors h2{font-size:45px;line-height:1.2;letter-spacing:-1px}.contractor-intro,.contractor-invitation{font-size:19px;line-height:1.85;max-width:none}.contractor-invitation{margin:21px 0 27px}.contractor-skills{background:var(--forest);color:var(--white);padding:36px;border-radius:16px}.contractor-skills h3{font-size:30px;line-height:1.3;margin-bottom:24px}.contractor-skills ul{font-size:18px;line-height:1.8;padding-left:23px;margin:0}.contractor-skills li{margin:15px 0}.v2-contact{background:var(--forest);color:var(--white)}.v2-contact .eyebrow{color:#e3c690}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:60px}.contact-copy h2{font-size:51px;line-height:1.17;letter-spacing:-1px;margin:23px 0}.contact-copy>p{font-size:19px;line-height:1.85;color:#e0e9d8;max-width:none}.contact-direct{border-color:#668464;gap:28px}.contact-direct small{color:#d5e1cb;font-size:15px;letter-spacing:.5px}.contact-direct a{font-size:29px}.contact-direct .email-link{font-size:19px;overflow-wrap:anywhere}.estimate-form{color:var(--ink);padding:35px;border-radius:18px;background:var(--white)}.form-heading{display:block}.form-heading h3{font-size:32px;line-height:1.3}.form-grid{gap:21px}.field label{font-size:17px;margin-bottom:9px}.field-help{font-size:15px;line-height:1.65;color:var(--muted);margin:10px 0 0}input,select,textarea{font-size:17px;min-height:52px;padding:13px;border-radius:8px}textarea{min-height:130px}.form-note{font-size:15px;line-height:1.7}.request-ready{font-size:16px}.request-ready .copy-button,.request-message{font-size:15px}.footer{padding-top:55px}.footer-main p{font-size:17px;max-width:430px}.footer-name{font-size:38px}.footer-name span{font-size:13px}.footer-links{font-size:17px;gap:26px}.footer-bottom{font-size:14px;align-items:center}.photo-dialog{max-width:min(1150px,94vw);max-height:92vh;padding:20px;border:0;border-radius:12px;background:var(--paper);color:var(--ink)}.photo-dialog::backdrop{background:#06190de6}.photo-dialog img{width:auto;max-width:100%;max-height:73vh;object-fit:contain;margin:auto}.photo-dialog p{font-size:18px;margin:15px 0 0}.photo-close{display:block;margin:0 0 16px auto;padding:10px 20px;border:1px solid var(--forest);background:var(--forest);color:white;border-radius:6px;font-size:16px;min-height:44px}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.nav{gap:18px;font-size:15px}.nav .button{font-size:14px}.topline .wrap>span{font-size:12px;max-width:270px}.top-contacts{gap:18px;font-size:14px}.hero.v2-hero h1{font-size:63px;max-width:730px}.hero.v2-hero{min-height:650px}.v2-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-grid,.contact-grid{gap:35px}.contractors h2{font-size:40px}.contact-copy h2{font-size:43px}.v2-values{gap:20px}.v2-values article{padding:23px}.v2-values h3{font-size:25px}}
@media(max-width:980px){.topline .wrap{justify-content:space-between}.topline .wrap>span{max-width:250px}.top-contacts{flex-direction:column;gap:0;align-items:flex-end;padding:7px 0}.header-inner{min-height:88px;height:auto;position:relative;flex-wrap:wrap;gap:0}.brand{height:84px;width:183px}.brand img{width:246px;height:246px;top:-72px;left:-30px}.js .menu-toggle{display:flex}.header-inner>.nav{width:100%}.nav{flex-wrap:wrap;font-size:17px;gap:14px 25px;padding-bottom:18px}.js .nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;width:auto;padding:20px 24px;background:#fffdf5;box-shadow:0 12px 24px #142a191c}.js .nav.is-open{display:flex}.nav .button{width:100%;font-size:17px}.contractor-grid{grid-template-columns:1fr;gap:30px}.contractor-skills ul{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.v2-trust{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-trust>div:nth-child(2){border-right:0}.v2-trust>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.v2-values{grid-template-columns:1fr}.v2-values h3{font-size:29px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-copy>p{max-width:750px}.contact-direct{grid-template-columns:1fr 1fr}.v2-service>div{padding:26px}.v2-service h3{font-size:31px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.section{padding:62px 0}.topline .wrap>span{display:none}.topline .wrap{min-height:66px}.top-contacts{width:100%;font-size:15px;gap:1px}.topline a{font-weight:700}.js .nav{left:-18px;right:-18px;padding:20px 18px}.hero.v2-hero{min-height:0;padding:59px 0 76px}.v2-hero::after{background:linear-gradient(90deg,rgba(9,41,24,.92),rgba(9,41,24,.73))}.hero-background{object-position:65% center}.hero.v2-hero h1{font-size:clamp(40px,9.8vw,58px);line-height:1.15;letter-spacing:-1px;max-width:none;margin:18px 0 23px}.v2-hero .hero-description{font-size:18px;line-height:1.85}.v2-hero .hero-actions{gap:13px;align-items:stretch;margin-top:27px}.v2-hero .button{font-size:17px;padding:16px 18px;width:100%;min-height:55px}.eyebrow{font-size:14px;line-height:1.6}.v2-trust{margin-top:-24px;border-radius:12px}.v2-trust>div{font-size:15px;padding:19px 12px}.v2-section-heading h2,.approach .v2-section-heading h2{font-size:37px;line-height:1.24;letter-spacing:-.6px}.v2-section-heading>p:not(.eyebrow){font-size:18px}.v2-section-heading{margin-bottom:31px}.v2-services-grid{grid-template-columns:1fr;gap:25px}.v2-service>img{height:250px}.v2-service>div{padding:25px}.v2-service h3{font-size:32px}.v2-service p,.v2-service ul{font-size:17px}.v2-service .button{font-size:16px}.approach{padding:62px 0}.v2-values h3{font-size:28px}.v2-values p{font-size:17px}.v2-values article{padding:25px}.v2-project-grid{grid-template-columns:1fr;gap:25px}.photo-button img{height:310px}.v2-project figcaption{font-size:18px}.gallery-filters{gap:10px}.gallery-filters button{padding:11px 13px;font-size:15px}.v2-process{padding:58px 0}.v2-process h2{font-size:36px;line-height:1.24}.contractors h2{font-size:37px;line-height:1.24}.contractor-intro,.contractor-invitation{font-size:18px}.contractor-skills{padding:28px}.contractor-skills ul{display:block;font-size:17px}.contractor-skills h3{font-size:29px}.contractors .eyebrow{font-size:14px;letter-spacing:1px}.contact-copy h2{font-size:40px;line-height:1.24}.contact-copy>p{font-size:18px}.contact-direct{grid-template-columns:1fr}.contact-direct .email-link{font-size:18px}.estimate-form{padding:25px}.form-heading h3{font-size:31px}.form-grid{grid-template-columns:1fr;gap:19px}.field label{font-size:17px}input,select,textarea{font-size:17px}.form-heading{padding-bottom:20px}.estimate-form .button{font-size:16px;padding:16px 12px}.field-help,.form-note{font-size:15px}.footer{padding:45px 0 115px}.footer-main{gap:28px}.footer-links{font-size:17px;gap:16px 24px}.footer-bottom{font-size:14px;align-items:flex-start;gap:13px}.mobile-contact{display:flex;padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{font-size:15px;min-height:46px}.photo-dialog{padding:15px;max-height:90vh}.photo-dialog p{font-size:16px}}
@media(min-width:701px){.mobile-contact{display:none}}
@media(max-width:360px){.hero.v2-hero h1{font-size:37px}.wrap{width:calc(100% - 28px)}.top-contacts{font-size:14px}.v2-trust>div{font-size:14px}.v2-service>div,.estimate-form{padding:21px}.v2-service h3{font-size:29px}.v2-section-heading h2,.approach .v2-section-heading h2,.contractors h2{font-size:34px}.contact-copy h2{font-size:36px}.contact-direct .email-link{font-size:17px}.mobile-contact{padding-inline:14px}.mobile-contact a{font-size:14px}}
