:root{--green:#184a32;--green-deep:#102d20;--lime:#a7bd55;--sand:#f2eee6;--cream:#faf8f3;--ink:#1b201d;--muted:#5f665f;--line:#d9ded8;--white:#fff;--wrap:1180px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.wrap{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-150%);background:#fff;padding:9px 14px}.skip-link:focus{transform:none}.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}
.utility-bar{background:var(--green-deep);color:#dfe7df;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}.utility-inner{height:35px;display:flex;align-items:center;justify-content:space-between}.utility-inner a{text-decoration:none;color:#fff;font-weight:700}
.site-header{position:absolute;z-index:20;top:35px;left:0;right:0;background:rgba(250,248,243,.97);border-bottom:1px solid rgba(255,255,255,.35)}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:82px;height:86px;display:flex;align-items:center;justify-content:center;flex:0 0 82px}.brand img{width:auto;height:82px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:25px;font-size:.88rem;font-weight:700}.primary-nav a{text-decoration:none;position:relative}.primary-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--green);transition:.25s}.primary-nav>a:hover:after{right:0}.nav-cta{background:var(--green);color:#fff;padding:13px 17px}.nav-cta:hover{background:var(--green-deep)}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{position:relative;min-height:760px;height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{background:url("images/hero-outdoor-living.webp") center 57%/cover no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(7,24,15,.89) 0%,rgba(7,24,15,.66) 47%,rgba(7,24,15,.18) 80%),linear-gradient(0deg,rgba(6,15,10,.4),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:105px}.eyebrow{margin:0 0 17px;color:#d3df91;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.dark{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.028em}h1{font-size:clamp(3.4rem,6.3vw,6rem);max-width:850px;margin-bottom:25px}.hero-copy{max-width:650px;font-size:1.15rem;line-height:1.7;color:#eef3ee}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 23px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.085em;font-size:.75rem;font-weight:800;cursor:pointer;transition:.2s}.button-primary{background:var(--lime);color:#10190f}.button-primary:hover{background:#bdcf70;transform:translateY(-2px)}.button-ghost{border-color:rgba(255,255,255,.65);color:#fff}.button-ghost:hover{background:#fff;color:var(--ink)}.button-outline{border-color:#a6afa7}.button-outline:hover{background:var(--green);color:#fff}.button-dark{background:var(--green-deep);color:#fff}.hero-trust{display:flex;gap:0;list-style:none;padding:0;margin:42px 0 0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero-trust li{padding:0 20px;border-left:1px solid rgba(255,255,255,.35)}.hero-trust li:first-child{padding-left:0;border-left:0}.scroll-cue{position:absolute;z-index:3;bottom:30px;left:50%;width:38px;height:62px;border:1px solid rgba(255,255,255,.55);border-radius:22px}.scroll-cue span{position:absolute;top:13px;left:50%;width:4px;height:9px;border-radius:3px;background:#fff;animation:scroll 1.7s infinite}@keyframes scroll{0%{transform:translate(-50%,0);opacity:0}35%{opacity:1}100%{transform:translate(-50%,21px);opacity:0}}
.section{padding:105px 0}.split-intro{display:grid;grid-template-columns:1.08fr .72fr;gap:100px;align-items:start}.split-intro h2,.section-heading h2,.process h2,.area h2,.estimate h2{font-size:clamp(2.5rem,4.4vw,4.4rem);margin-bottom:0}.intro-copy{padding-top:35px;font-size:1.06rem;color:var(--muted)}.text-link{display:inline-block;margin-top:13px;color:var(--green);font-size:.8rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.text-link span{margin-left:6px;transition:.2s}.text-link:hover span{margin-left:12px}
.services{background:var(--sand)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading>p{max-width:440px;margin:0 0 7px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #c8cdc5;border-left:1px solid #c8cdc5}.service-card{position:relative;padding:45px;background:transparent;border-right:1px solid #c8cdc5;border-bottom:1px solid #c8cdc5;min-height:340px;transition:.25s}.service-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 16px 45px rgba(26,49,34,.08)}.service-card-featured{background:var(--green);color:#fff}.service-card-featured:hover{background:var(--green-deep)}.service-number{display:block;margin-bottom:50px;color:#849288;font-size:.73rem;font-weight:800}.service-card-featured .service-number{color:#cddc8d}.service-card h3{font-family:var(--serif);font-size:2rem;font-weight:500;margin-bottom:13px}.service-card p{max-width:475px;color:var(--muted)}.service-card-featured p{color:#d8e3dc}.service-card ul{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:18px 0 0;margin:0;border-top:1px solid #ccd0ca;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.service-card-featured ul{border-color:rgba(255,255,255,.25)}
.service-card-link{display:inline-block;margin-top:24px;color:var(--green);font-size:.74rem;font-weight:800;letter-spacing:.075em;text-decoration:none;text-transform:uppercase}.service-card-featured .service-card-link{color:#d9e98f}.service-card-link span{margin-left:5px}.service-card-link:hover span{margin-left:10px}
.projects{background:var(--green-deep);color:#fff}.section-heading.light>p{color:#bfcac2}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:350px 350px 380px;gap:14px}.project{position:relative;margin:0;overflow:hidden;min-height:0}.project-large{grid-row:span 2}.project-wide{grid-column:span 2}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project:hover img{transform:scale(1.035)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,20,13,.78),transparent 48%)}.project figcaption{position:absolute;z-index:2;left:27px;right:27px;bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:20px}.project figcaption strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}.project figcaption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#d3dfd6}.center-action{text-align:center;margin-top:40px}.projects .button-outline{border-color:#83988a;color:#fff}.projects .button-outline:hover{background:#fff;color:var(--ink)}
.project-hit{position:absolute;z-index:3;inset:0}
.process{background:#fff}.process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.process-heading{position:sticky;top:130px;align-self:start}.process-heading>p:not(.eyebrow){color:var(--muted);max-width:480px;margin:28px 0}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:68px 1fr;gap:18px;padding:30px 0;border-top:1px solid var(--line)}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-list>li>span{color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.08em}.process-list h3{font-family:var(--serif);font-size:1.8rem;font-weight:500;margin-bottom:8px}.process-list p{color:var(--muted);margin:0;max-width:570px}
.about-strip{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:var(--green);color:#fff}.about-photo img{width:100%;height:100%;object-fit:cover}.about-content{display:flex;flex-direction:column;justify-content:center;padding:80px max(40px,calc((100vw - var(--wrap))/2)) 80px 70px}.about-content h2{font-size:clamp(2.4rem,4vw,4rem)}.about-content>p:not(.eyebrow){color:#d8e4db;font-size:1.04rem;max-width:580px}.fact-list{margin-top:36px;border-top:1px solid rgba(255,255,255,.25)}.fact-list div{display:flex;justify-content:space-between;gap:25px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.25)}.fact-list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#c8d7cc}.fact-list dd{margin:0;font-weight:700;text-align:right}
.area{background:var(--sand)}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area-layout>div:last-child{font-size:1.08rem;color:var(--muted)}.area-note{font-size:.91rem;padding-left:16px;border-left:3px solid var(--lime)}
.estimate{background:var(--green-deep);color:#fff}.estimate-layout{display:grid;grid-template-columns:.68fr 1fr;gap:85px}.estimate-copy{padding-top:16px}.estimate-copy>p:not(.eyebrow){max-width:450px;color:#c8d4cb;font-size:1.04rem}.direct-contact{margin-top:42px;padding-top:28px;border-top:1px solid #3d5749;display:flex;flex-direction:column}.direct-contact span,.direct-contact small{color:#b9c7bd}.direct-contact a{font-family:var(--serif);font-size:2.15rem;text-decoration:none;margin:3px 0}.estimate-form{background:#fff;color:var(--ink);padding:38px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.estimate-form label{display:block;margin-bottom:17px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.estimate-form input,.estimate-form select,.estimate-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd2cd;background:#fbfcfa;border-radius:0;padding:12px 13px;color:var(--ink);text-transform:none;letter-spacing:normal}.estimate-form input,.estimate-form select{height:49px}.estimate-form textarea{resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:2px solid var(--lime);outline-offset:1px}.form-submit{width:100%;border:0}.form-note,.form-status{font-size:.73rem!important;color:#737a74!important;margin:12px 0 0!important;text-align:center}.form-status{font-weight:700!important;color:var(--green)!important}
.site-footer{background:#0a1b12;color:#c1cec5;padding:70px 0 25px}.footer-main{display:grid;grid-template-columns:1.45fr .9fr .9fr .65fr;gap:50px}.footer-lockup{display:flex;align-items:center;gap:14px;margin-bottom:22px}.footer-lockup img{width:68px;height:68px;object-fit:contain}.footer-lockup strong{color:#fff;font-family:var(--serif);font-size:1.45rem;line-height:1.05}.footer-brand p{max-width:330px}.footer-main h2{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:#fff;margin-bottom:18px}.footer-main a,.footer-main p{display:block;text-decoration:none;font-size:.9rem;margin-bottom:7px}.footer-main a:hover{color:#fff}.footer-bottom{border-top:1px solid #294034;margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;gap:30px;font-size:.72rem}.mobile-call{display:none}
@media(max-width:980px){.primary-nav{position:absolute;top:91px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 24px;box-shadow:0 14px 25px rgba(0,0,0,.12)}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px 8px;border-bottom:1px solid var(--line)}.nav-cta{text-align:center;margin-top:10px}.menu-toggle{display:block}.split-intro,.process-layout,.estimate-layout{grid-template-columns:1fr;gap:50px}.process-heading{position:static}.about-strip{grid-template-columns:1fr}.about-photo{height:520px}.about-content{padding:70px 40px}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-main>div:last-child{display:none}}
@media(max-width:700px){body{padding-bottom:57px}.wrap{width:min(calc(100% - 30px),var(--wrap))}.utility-inner{justify-content:center}.utility-inner span{display:none}.site-header{top:35px}.header-inner{height:76px}.brand{width:68px;height:72px;flex-basis:68px}.brand img{height:68px}.primary-nav{top:76px}.hero{min-height:710px;height:93vh}.hero-content{padding-top:100px}.hero-media{background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(7,24,15,.91),rgba(7,24,15,.5))}.hero-copy{font-size:1rem}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.hero-trust{flex-wrap:wrap;gap:9px}.hero-trust li{width:100%;padding:0;border:0}.scroll-cue{display:none}.section{padding:72px 0}.split-intro,.area-layout{grid-template-columns:1fr;gap:32px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{padding:32px;min-height:0}.service-number{margin-bottom:28px}.project-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,300px)}.project-large,.project-wide{grid-row:auto;grid-column:auto}.project figcaption{left:18px;right:18px;bottom:17px}.project figcaption span{display:none}.process-list li{grid-template-columns:46px 1fr}.about-photo{height:380px}.about-content{padding:65px 25px}.estimate-layout{gap:38px}.estimate-form{padding:24px 19px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.footer-bottom{display:block}.mobile-call{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.15)}.mobile-call a{text-align:center;text-decoration:none;text-transform:uppercase;font-size:.73rem;font-weight:800;letter-spacing:.06em;padding:17px 5px}.mobile-call a:last-child{background:var(--lime)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue span{animation:none}.project img,.button{transition:none}}

/* Service pages */
.service-hero{position:relative;min-height:660px;display:flex;align-items:end;color:#fff;background:var(--service-image) center/cover no-repeat}.service-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,15,.9),rgba(7,24,15,.48) 62%,rgba(7,24,15,.18)),linear-gradient(0deg,rgba(7,24,15,.7),transparent 55%)}.service-hero-content{position:relative;z-index:2;padding:220px 0 70px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:42px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#d5ded7}.breadcrumbs a{text-decoration:none}.breadcrumbs strong{color:#fff}.service-hero h1,.service-index-hero h1{font-size:clamp(3.4rem,6vw,6rem);margin-bottom:22px}.service-hero-content>p:not(.eyebrow){max-width:700px;font-size:1.16rem;color:#edf3ee}.service-overview{background:#fff}.service-copy-grid{display:grid;grid-template-columns:1.2fr .72fr;gap:100px;align-items:start}.service-copy-grid h2,.service-feature-copy h2,.faq-layout h2,.related-services h2,.service-cta h2{font-size:clamp(2.4rem,4vw,4rem)}.service-copy-grid>div>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:1.05rem}.service-includes{background:var(--sand);padding:36px}.service-includes>span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:18px}.service-includes ul{list-style:none;padding:0;margin:0 0 28px}.service-includes li{padding:11px 0 11px 22px;border-bottom:1px solid #d2d6cf;position:relative}.service-includes li:before{content:"";position:absolute;left:0;top:21px;width:8px;height:2px;background:var(--lime)}.service-feature{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--green);color:#fff}.service-feature-image img{width:100%;height:100%;object-fit:cover}.service-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:80px max(40px,calc((100vw - var(--wrap))/2)) 80px 70px}.service-feature-copy>p:not(.eyebrow){color:#d9e4dc;font-size:1.05rem;max-width:590px}.compact-trust{list-style:none;padding:28px 0 0;margin:20px 0 0;border-top:1px solid rgba(255,255,255,.25);display:flex;flex-wrap:wrap;gap:10px 25px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.service-faq{background:var(--cream)}.faq-layout{display:grid;grid-template-columns:.65fr 1fr;gap:100px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--serif);font-size:1.35rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--green);font-family:var(--sans)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);max-width:700px;padding:0 40px 24px 0}.related-services{background:var(--sand)}.related-grid,.all-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related-card{background:#fff;border:1px solid #dde1dc;padding:30px;text-decoration:none;transition:.2s}.related-card:hover{transform:translateY(-3px);box-shadow:0 13px 35px rgba(16,45,32,.09);border-color:#bac5bc}.related-card>span{font-size:.71rem;color:var(--green);font-weight:800}.related-card h3{font-family:var(--serif);font-size:1.65rem;font-weight:500;margin:35px 0 10px}.related-card p{color:var(--muted);font-size:.92rem}.related-card b{display:block;margin-top:22px;color:var(--green);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.service-cta{background:var(--green-deep);color:#fff;text-align:center;padding:100px 20px}.service-cta h2{max-width:850px;margin:0 auto 20px}.service-cta>div>p:not(.eyebrow){max-width:700px;margin:0 auto 30px;color:#c5d2c8}.service-cta .button{margin:5px}.service-index-hero{background:var(--green);color:#fff;padding:230px 0 100px}.service-index-hero .breadcrumbs{margin-bottom:50px}.service-index-hero>div>p:not(.eyebrow){max-width:720px;font-size:1.12rem;color:#dce7df}.service-index{background:var(--sand)}.all-services-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:980px){.service-copy-grid,.faq-layout{grid-template-columns:1fr;gap:50px}.service-feature{grid-template-columns:1fr}.service-feature-image{height:500px}.service-feature-copy{padding:70px 40px}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.service-hero{min-height:680px}.service-hero-content{padding:180px 0 55px}.service-hero .hero-actions .button{width:100%}.breadcrumbs{margin-bottom:30px}.service-copy-grid{gap:35px}.service-includes{padding:28px 22px}.service-feature-image{height:340px}.service-feature-copy{padding:60px 25px}.compact-trust{display:block}.compact-trust li{margin-bottom:8px}.faq-layout{gap:30px}.faq-list summary{font-size:1.15rem}.related-grid,.all-services-grid{grid-template-columns:1fr}.service-index-hero{padding:190px 0 75px}.service-cta{padding:75px 15px}.service-cta .button{width:100%;margin:5px 0}}

/* Portfolio */
.portfolio-hero{background:var(--green-deep);color:#fff;padding:230px 0 100px}.portfolio-hero h1{font-size:clamp(3.5rem,6vw,6rem);margin-bottom:25px}.portfolio-hero>div>p:not(.eyebrow){max-width:690px;color:#c9d7cd;font-size:1.1rem}.portfolio{background:var(--sand)}.portfolio-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.portfolio-filter button{border:1px solid #bdc6bd;background:transparent;padding:10px 16px;color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.portfolio-filter button:hover,.portfolio-filter button.is-active{background:var(--green);border-color:var(--green);color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.portfolio-card[hidden]{display:none}.portfolio-card>a{display:block;height:100%;background:#fff;text-decoration:none}.portfolio-card-image{height:390px;overflow:hidden}.portfolio-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.portfolio-card-copy{padding:28px 30px 32px}.portfolio-card-copy>span{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}.portfolio-card-copy h2{font-size:2rem;margin:13px 0 10px}.portfolio-card-copy p{color:var(--muted)}.portfolio-card-copy b{display:block;margin-top:22px;color:var(--green);font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.portfolio-card:hover img{transform:scale(1.035)}.portfolio-card-featured{grid-column:span 2}.portfolio-card-featured>a{display:grid;grid-template-columns:1.25fr .75fr}.portfolio-card-featured .portfolio-card-image{height:560px}.portfolio-card-featured .portfolio-card-copy{display:flex;flex-direction:column;justify-content:center;padding:50px}.portfolio-card-featured .portfolio-card-copy h2{font-size:clamp(2.5rem,4vw,4rem)}.portfolio-empty{text-align:center;color:var(--muted)}
.project-detail-hero{position:relative;height:86vh;min-height:700px;color:#fff;display:flex;align-items:end}.project-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-detail-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,20,13,.88),transparent 60%),linear-gradient(90deg,rgba(6,20,13,.55),transparent 70%)}.project-detail-title{position:relative;z-index:2;padding-bottom:75px}.project-detail-title .breadcrumbs{margin-bottom:40px}.project-detail-title h1{font-size:clamp(3.3rem,6vw,6rem);max-width:900px}.project-story{background:#fff}.project-story-grid{display:grid;grid-template-columns:1.2fr .62fr;gap:100px}.project-story-grid h2{font-size:clamp(2.35rem,4vw,4rem)}.project-story-grid>div>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:720px}.project-story-grid aside{background:var(--sand);padding:35px}.project-story-grid aside>span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.project-story-grid aside ul{list-style:none;padding:20px 0 0;margin:0}.project-story-grid aside li{padding:12px 0;border-top:1px solid #d4d8d2}.project-gallery{background:var(--green-deep);padding:16px 0}.project-gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:420px 420px;gap:16px}.project-gallery figure{margin:0;overflow:hidden}.project-gallery .gallery-1{grid-row:span 2}.project-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-gallery figure:hover img{transform:scale(1.02)}.project-services{background:var(--cream)}.project-service-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-service-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--serif);font-size:1.25rem;background:#fff}.project-service-links a span{color:var(--green)}.project-service-links a:hover{background:var(--sand)}.project-next{display:flex;justify-content:space-between;gap:30px;padding-top:28px;padding-bottom:28px}.project-next a{color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
@media(max-width:980px){.portfolio-card-featured>a{grid-template-columns:1fr}.portfolio-card-featured .portfolio-card-image{height:440px}.project-story-grid{grid-template-columns:1fr;gap:50px}.project-service-links{grid-template-columns:1fr}.project-gallery-grid{grid-template-rows:350px 350px}}
@media(max-width:700px){.portfolio-hero{padding:190px 0 75px}.portfolio-filter{gap:6px}.portfolio-filter button{flex:1 1 45%;padding:10px 8px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card-featured{grid-column:auto}.portfolio-card-featured>a{display:block}.portfolio-card-image,.portfolio-card-featured .portfolio-card-image{height:330px}.portfolio-card-featured .portfolio-card-copy{display:block;padding:28px 30px 32px}.portfolio-card-featured .portfolio-card-copy h2{font-size:2rem}.project-detail-hero{height:78vh;min-height:650px}.project-detail-title{padding-bottom:50px}.project-gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,320px)}.project-gallery .gallery-1{grid-row:auto}.project-service-links a{font-size:1.1rem}.project-next{padding-bottom:20px}}

/* Supporting pages */
.support-hero{background:var(--green);color:#fff;padding:230px 0 100px}.support-hero h1{font-size:clamp(3.4rem,6vw,6rem);margin-bottom:24px}.support-hero>div>p:not(.eyebrow){max-width:760px;color:#dce7df;font-size:1.12rem}.support-section{background:#fff}.support-grid{display:grid;grid-template-columns:1.2fr .7fr;gap:100px;align-items:start}.support-grid h2,.support-image-split h2,.legal-page h2,.thank-you h2{font-size:clamp(2.25rem,4vw,3.8rem)}.support-grid>div>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.support-panel{background:var(--sand);padding:36px}.support-panel>span{display:block;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.support-panel ul{list-style:none;padding:0;margin:0}.support-panel li{padding:11px 0;border-bottom:1px solid #d2d6cf}.support-panel dl{margin:0}.support-panel dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #d2d6cf}.support-panel dt{color:var(--muted)}.support-panel dd{margin:0;font-weight:700;text-align:right}.support-image-split{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--green-deep);color:#fff}.support-image-split>img{width:100%;height:100%;object-fit:cover}.support-image-split>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px max(40px,calc((100vw - var(--wrap))/2)) 80px 70px}.support-image-split>div>p:not(.eyebrow){color:#d8e4db;max-width:580px}.review-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-links a{display:flex;flex-direction:column;min-height:360px;padding:36px;background:var(--sand);border:1px solid #d9ded8;text-decoration:none;transition:.2s}.review-links a:hover{background:#fff;transform:translateY(-3px);box-shadow:0 16px 40px rgba(16,45,32,.09)}.review-links span,.review-links b{color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.review-links h2{font-size:2rem;margin:48px 0 16px}.review-links p{color:var(--muted)}.review-links b{margin-top:auto}.contact-estimate{padding:200px 0 100px}.contact-email{font-family:var(--sans)!important;font-size:1rem!important;margin:12px 0 22px!important}.legal-page{background:#fff}.narrow{max-width:820px}.legal-page h2{font-family:var(--serif);font-weight:500;font-size:2rem;margin-top:45px}.legal-page p{color:var(--muted)}.thank-you{min-height:520px;background:#fff;text-align:center}.thank-you h2{max-width:720px;margin:0 auto 20px}.thank-you p{margin-bottom:30px}.thank-you a:not(.button){color:var(--green)}
@media(max-width:980px){.support-grid{grid-template-columns:1fr;gap:45px}.support-image-split{grid-template-columns:1fr}.support-image-split>img{height:500px}.support-image-split>div{padding:70px 40px}.review-links{grid-template-columns:1fr}.review-links a{min-height:260px}.contact-estimate{padding-top:170px}}
@media(max-width:700px){.support-hero{padding:190px 0 75px}.support-image-split>img{height:350px}.support-image-split>div{padding:60px 25px}.support-panel{padding:28px 22px}.review-links a{min-height:240px;padding:28px}.review-links h2{margin-top:32px}.contact-estimate{padding:150px 0 70px}.contact-estimate .direct-contact a{font-size:1.7rem}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-submit:disabled{cursor:wait;opacity:.72}
