:root{--green-900:#123a1e;--green-800:#174825;--green-700:#246331;--green-100:#e6f0e5;--charcoal:#1d211c;--stone-700:#5d625a;--stone-300:#d8d5cb;--stone-200:#e8e5dc;--off-white:#f7f4ec;--white:#fff;--shadow:0 12px 35px #1b1f1929;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--off-white);color:var(--charcoal);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}img{display:block}a{color:inherit;text-decoration:none}.skip-link{background:var(--green-900);color:var(--white);z-index:20;padding:.6rem .8rem;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;background:#fffffff5;border-bottom:1px solid #1d211c1f;justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0;left:0;right:0}.brand{color:var(--green-900);align-items:center;gap:.75rem;min-width:max-content;display:inline-flex}.brand strong{font-size:clamp(1.25rem,2.8vw,2rem);line-height:1;display:block}.brand small{color:var(--stone-700);text-transform:uppercase;margin-top:.15rem;font-size:.78rem;font-weight:700;line-height:1.2;display:block}.brand-logo{object-fit:cover;object-position:center;background:#18201b;border-radius:6px;width:4.4rem;height:3.1rem}.site-nav{align-items:center;gap:clamp(.8rem,2.2vw,2.3rem);font-size:.95rem;font-weight:700;display:flex}.site-nav a{border-radius:999px;padding:.35rem 0}.site-nav a:hover{color:var(--green-700)}.button{background:var(--green-800);border:2px solid var(--green-800);border-radius:var(--radius);color:var(--white);text-align:center;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.25rem;font-weight:800;display:inline-flex}.button:hover{background:var(--green-700);border-color:var(--green-700)}.button-secondary{background:#ffffff14;border-color:#ffffffb8}.button-secondary:hover{background:var(--white);border-color:var(--white);color:var(--green-900)}.hero{min-height:540px;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:center}.hero-overlay{background:linear-gradient(90deg,#081009c2,#0810096b 42%,#0810090d);position:absolute;inset:0}.hero-content{color:var(--white);max-width:760px;padding:clamp(4rem,9vw,7.5rem) clamp(1rem,6vw,4.5rem);position:relative}.eyebrow{color:var(--green-700);letter-spacing:0;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:900}.hero .eyebrow,.final-cta .eyebrow{color:#cbe7c6}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:830px;margin-bottom:1rem;font-size:clamp(2.35rem,6vw,4.7rem);line-height:1.02}h2{letter-spacing:0;margin-bottom:.7rem;font-size:clamp(2rem,4vw,3rem);line-height:1.08}h3{margin-bottom:.45rem;font-size:1.05rem;line-height:1.2}.hero-content>p:not(.eyebrow){max-width:670px;font-size:clamp(1.05rem,2.2vw,1.28rem)}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:1.7rem;display:flex}.trust-strip{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);z-index:2;border:1px solid #1d211c1f;grid-template-columns:repeat(4,1fr);gap:0;width:calc(100% - 2rem);max-width:1160px;margin:-2rem auto 0;display:grid;position:relative}.trust-strip div{justify-content:center;align-items:center;gap:.8rem;min-height:4.9rem;padding:1rem;display:flex}.trust-strip div+div{border-left:1px solid var(--stone-200)}.trust-strip span{color:var(--green-700);font-size:1.8rem;line-height:1}.section{max-width:1160px;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) 1rem 0}.section-heading{max-width:760px}.section-heading>p:not(.eyebrow){color:var(--stone-700);font-size:1.06rem}.service-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem;display:grid}.service-card{background:var(--white);border-radius:var(--radius);border:1px solid #1d211c21;grid-template-columns:minmax(112px,40%) 1fr;min-height:186px;display:grid;overflow:hidden;box-shadow:0 8px 24px #1b1f191a}.service-card p,.work-card p,.problem-list p,.about-section p,.final-cta p,.site-footer p{margin-bottom:0}.service-image,.work-image,.highlight-image,.about-image{background:var(--stone-200);position:relative}.service-image img,.work-image img,.highlight-image img,.about-image img{object-fit:cover}.service-card>div:last-child{padding:1rem}.work-section{max-width:1220px}.work-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem;display:grid}.work-card{background:var(--white);border-radius:var(--radius);border:1px solid #1d211c21;overflow:hidden;box-shadow:0 8px 24px #1b1f191a}.work-image{aspect-ratio:4/3}.work-card div:last-child{padding:1rem}.section-action{justify-content:center;margin-top:1.5rem;display:flex}.button-secondary-dark{border-color:var(--green-800);color:var(--green-900);background:0 0}.button-secondary-dark:hover{background:var(--green-800);border-color:var(--green-800);color:var(--white)}.portfolio-page{background:var(--off-white)}.portfolio-hero{grid-template-columns:1fr auto;align-items:end;gap:2rem;max-width:1220px;margin:0 auto;padding:clamp(3rem,7vw,5rem) 1rem 0;display:grid}.portfolio-hero>div{max-width:820px}.portfolio-hero h1{color:var(--green-900);margin-bottom:.8rem}.portfolio-hero p:not(.eyebrow){color:var(--stone-700);font-size:clamp(1.05rem,2vw,1.22rem)}.portfolio-grid{gap:1.25rem;max-width:1220px;margin:0 auto;padding:clamp(1.8rem,4vw,2.6rem) 1rem 0;display:grid}.portfolio-card{background:var(--white);border-radius:var(--radius);border:1px solid #1d211c21;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);display:grid;overflow:hidden;box-shadow:0 10px 30px #1b1f191c}.portfolio-image{aspect-ratio:16/10;background:var(--stone-200);min-height:360px;position:relative}.portfolio-image img{object-fit:cover}.portfolio-copy{align-self:center;padding:clamp(1.2rem,3vw,2rem)}.portfolio-copy h2{margin-bottom:.7rem;font-size:clamp(1.6rem,3vw,2.35rem)}.portfolio-copy>p:not(.project-category){color:var(--stone-700);font-size:1.02rem}.project-category{color:var(--green-700);letter-spacing:0;text-transform:uppercase;margin-bottom:.5rem;font-size:.78rem;font-weight:900}.portfolio-copy ul{border-top:1px solid var(--stone-200);gap:.45rem;margin:1rem 0 0;padding:1rem 0 0;list-style:none;display:grid}.portfolio-copy li{color:var(--charcoal);padding-left:1.25rem;position:relative}.portfolio-copy li:before{color:var(--green-700);content:"✓";font-weight:900;position:absolute;left:0}.portfolio-cta{margin-top:clamp(2.5rem,5vw,4rem)}.highlight-layout{grid-template-columns:1.2fr .8fr;align-items:stretch;gap:2rem;margin-top:1.4rem;display:grid}.before-after-stack{gap:2.5rem;display:grid}.highlight-photos{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}figure{background:var(--white);border-radius:var(--radius);border:1px solid #1d211c21;margin:0;overflow:hidden;box-shadow:0 8px 24px #1b1f191a}.highlight-image{aspect-ratio:4/3}.photo-label{color:var(--white);z-index:1;background:#11150fdb;border-radius:6px;padding:.55rem .7rem;font-size:.9rem;font-weight:900;line-height:1;position:absolute;top:.75rem;left:.75rem}.after-label{background:var(--green-800)}figcaption{padding:.8rem 1rem 1rem;font-weight:800}.problem-list{align-self:center;gap:1rem;display:grid}.problem-list article{grid-template-columns:2.8rem 1fr;align-items:flex-start;gap:1rem;display:grid}.problem-list span{border:2px solid var(--green-800);color:var(--green-800);border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-weight:900;display:inline-flex}.about-section{border-top:1px solid var(--stone-300);grid-template-columns:.95fr 1.05fr;align-items:center;gap:3rem;margin-top:4rem;display:grid}.about-image{aspect-ratio:5/3.3;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.service-area{background:var(--green-100);border-left:4px solid var(--green-700);margin-top:1.2rem;padding:.9rem 1rem}.service-area span{color:var(--stone-700);margin-top:.2rem;font-size:.92rem;display:block}.final-cta{background:linear-gradient(135deg, var(--green-900), var(--green-700));color:var(--white);grid-template-columns:1fr minmax(280px,440px);align-items:center;gap:2rem;margin-top:4.5rem;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,6vw,4.5rem);display:grid}.final-cta h2{max-width:820px}.contact-card{border-radius:var(--radius);background:#ffffff1a;border:1px solid #ffffff3d;padding:1.2rem}.contact-card .button{background:var(--white);border-color:var(--white);color:var(--green-900);width:100%;margin-bottom:1rem}.contact-card .review-button{color:var(--white);background:0 0;border-color:#ffffffbd}.contact-card .review-button:hover{background:var(--white);border-color:var(--white);color:var(--green-900)}.contact-card p+p{margin-top:.45rem}.site-footer{color:#ffffffb8;background:#11150f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;padding:1.3rem clamp(1rem,6vw,4.5rem);display:flex}@media (max-width:980px){.site-header{flex-wrap:wrap;align-items:flex-start}.site-nav{flex:100%;order:3;padding-bottom:.2rem;overflow-x:auto}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip div+div{border-left:0}.trust-strip div:nth-child(2n){border-left:1px solid var(--stone-200)}.trust-strip div:nth-child(n+3){border-top:1px solid var(--stone-200)}.service-grid,.work-grid{grid-template-columns:repeat(2,1fr)}.highlight-layout,.about-section,.portfolio-hero,.portfolio-card,.final-cta{grid-template-columns:1fr}.portfolio-hero{align-items:start}.portfolio-hero .button{justify-self:start}.portfolio-image{min-height:300px}}@media (max-width:680px){.site-header{padding:.75rem 1rem}.brand small{font-size:.7rem}.header-cta{flex:100%}.hero{min-height:620px}.hero-overlay{background:linear-gradient(#081009b8,#08100980)}.hero-content{padding-top:4rem}.hero-actions,.hero-actions .button{width:100%}.trust-strip,.service-grid,.work-grid,.highlight-photos{grid-template-columns:1fr}.trust-strip div:nth-child(2n),.trust-strip div+div{border-left:0}.trust-strip div+div{border-top:1px solid var(--stone-200)}.service-card{grid-template-columns:minmax(105px,36%) 1fr}.service-card>div:last-child,.work-card div:last-child,.portfolio-copy{padding:.9rem}.portfolio-image{min-height:240px}}@media (max-width:430px){.site-nav{gap:.8rem;font-size:.88rem}.brand strong{font-size:1.25rem}.service-card{grid-template-columns:1fr}.service-image{aspect-ratio:4/3}}
