:root{--forest:#183c30;--forest-dark:#102b23;--leaf:#c8e5b1;--cream:#f8f8f2;--ink:#20352d;--muted:#607168;--line:#e0e7de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}button{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:white;padding:1rem}.site-header{position:sticky;top:0;z-index:10;background:#fff;box-shadow:0 1px 12px #132b2214}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;line-height:1.05;letter-spacing:.01em}.brand small{font-weight:600;color:var(--muted);font-size:.83rem}.brand-mark{display:grid;place-items:center;background:var(--forest);color:white;border-radius:12px;width:49px;height:49px;font-size:1.25rem}.nav-links{display:flex;align-items:center;gap:1.7rem}.nav-links a{text-decoration:none;font-weight:600;font-size:.94rem}.nav-links a:hover{color:#3b8056}.nav-cta{background:var(--forest);color:white!important;padding:.75rem 1rem;border-radius:6px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.hero{background:linear-gradient(110deg,#102b23ed,#1b4939dd),radial-gradient(circle at 80% 20%,#89a86e,#244e3b);color:white;padding:120px 0 125px}.hero-inner{max-width:1120px}.eyebrow{font-weight:800;letter-spacing:.16em;font-size:.76rem;color:#498259;text-transform:uppercase}.hero .eyebrow,.contact-section .eyebrow{color:var(--leaf)}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,7vw,5.2rem);max-width:770px;margin:20px 0}h2{font-size:clamp(2rem,4vw,3.1rem);margin:12px 0 20px}h3{font-size:1.3rem}.hero p{max-width:690px;font-size:1.15rem;color:#e2eee5}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-block;background:var(--leaf);color:var(--forest-dark);font-weight:800;text-decoration:none;padding:1rem 1.5rem;border-radius:6px}.button:hover{filter:brightness(.94)}.button-outline{background:transparent;border:1px solid #c8e5b1;color:white}.section{padding:90px 0}.section>p:not(.eyebrow){max-width:760px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.service-card{padding:30px 24px;background:var(--cream);border:1px solid var(--line);border-radius:12px}.service-card p{color:var(--muted);margin-bottom:0}.service-icon{font-size:2.2rem;color:#3f8054}.section-tint{background:#eef4ec}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split p{color:var(--muted)}.photo-placeholder{min-height:330px;background:linear-gradient(135deg,#d7e4d2,#a8c3a2);border-radius:14px;display:grid;place-items:center;color:var(--forest);font-weight:700;text-align:center;padding:20px}.contact-section{background:var(--forest);color:white;text-align:center}.contact-inner{max-width:780px}.contact-section p{color:#e2eee5}.contact-section .button{margin-top:15px}.contact-section .setup-note{font-size:.8rem;color:#b5cbb9}footer{background:var(--forest-dark);color:#cbd9d0;padding:27px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.87rem}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.split{gap:35px}}@media(max-width:650px){.nav{min-height:72px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 12px 18px #102b231c}.nav-links.open{display:flex}.hero{padding:78px 0 88px}.cards,.split{grid-template-columns:1fr}.section{padding:65px 0}.footer-inner{flex-direction:column}.button{text-align:center}}

/* Polish pass: responsive spacing, touch targets, focus states and form feedback */
html{scroll-padding-top:100px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #69b98a;outline-offset:3px}
.button,.nav-cta,.service-card{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #102b2326}
.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #102b2314}
.estimate-form #form-status{font-size:.95rem;line-height:1.55;font-weight:600;margin:1rem 0 0}
.estimate-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){
 .container{width:min(100% - 32px,1120px)}
 .nav-links a{padding:.65rem .25rem;min-height:44px}
 .nav-links .nav-cta{text-align:center;padding:.85rem 1rem}
 .hero{padding:70px 0 78px}
 .hero h1{font-size:clamp(2.55rem,11vw,4rem)}
 .hero p{font-size:1.05rem}
 .actions{flex-direction:column;align-items:stretch}
 .actions .button{width:100%;min-height:48px}
 .section{padding:58px 0}
 .cards{gap:14px;margin-top:28px}
 .service-card{padding:24px 22px}
 .contact-section .estimate-form{margin-top:1.5rem}
 .estimate-form button[type="submit"]{width:100%;min-height:50px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .button,.nav-cta,.service-card{transition:none}
}

/* Featured project gallery: large imagery, captions and mobile-friendly layout */
.gallery-intro{max-width:700px;color:var(--muted);margin-bottom:2rem}
.featured-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-feature{margin:0;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 8px 26px #102b2314}
.project-feature:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);align-items:center}
.project-feature img{display:block;width:100%;height:310px;object-fit:cover}
.project-feature:first-child img{height:420px}
.project-feature figcaption{padding:22px 26px}
.project-feature h3{margin:0 0 8px;color:var(--forest)}
.project-feature p{margin:0;color:var(--muted)}
.gallery-action{margin-top:30px;text-align:center}
@media(max-width:700px){.featured-gallery{grid-template-columns:1fr;gap:18px}.project-feature:first-child{grid-column:auto;display:block}.project-feature img,.project-feature:first-child img{height:250px}.project-feature figcaption{padding:18px 20px}}

/* Client-approved services: two featured offerings above five supporting services */
.services-intro{max-width:760px;color:var(--muted)}
.featured-services{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
.featured-services .service-card{background:#edf5e9;border-color:#c9dfc7;padding:36px 32px}
.featured-services .service-card h3{font-size:clamp(1.35rem,2.3vw,1.8rem)}
.featured-services .service-card a{display:inline-block;margin-top:18px;color:var(--forest);font-weight:800;text-underline-offset:4px}
.additional-services-heading{margin:52px 0 0;font-size:1.55rem}
.additional-services{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.additional-services .service-card{padding:26px 24px}
@media(max-width:900px){.additional-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.featured-services,.additional-services{grid-template-columns:1fr}.featured-services .service-card{padding:28px 24px}.additional-services-heading{margin-top:38px}}

/* Homepage photo: Roger Starnes Sr / Unsplash (Unsplash License) */
.hero{background:linear-gradient(110deg,rgba(8,30,23,.94) 0%,rgba(10,37,28,.84) 48%,rgba(16,55,39,.64) 100%),url("https://images.unsplash.com/photo-1773427657182-4776c4f5b363?auto=format&fit=crop&w=1800&q=80") center 54%/cover no-repeat;background-color:#183c30}

/* Dedicated service pages */
.service-page-hero{padding:105px 0 112px}
.service-page-hero .hero-inner{max-width:900px}
.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
.service-detail-cta{max-width:850px}
.service-detail-cta p:not(.eyebrow){margin:14px 0 26px;max-width:760px}
@media(max-width:650px){.service-page-hero{padding:72px 0 80px}.service-detail-grid{grid-template-columns:1fr}}
