:root{--moss:#1f3a2a;--moss2:#2b4d39;--lime:#c8e04a;--stone:#f1ede4;--paper:#faf8f3;--ink:#1b241e;--clay:#e8742a}
html{scroll-behavior:smooth}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);scroll-padding-top:110px}
h1,h2,h3,.display{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:.95;font-weight:700}
.util{background:var(--ink);color:#e8eadf;font-size:.82rem;padding:.45rem 0}
.util a{color:var(--lime);text-decoration:none;font-weight:600}
.navbar{background:var(--paper);border-bottom:3px solid var(--moss)}
.navbar-brand{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.7rem;text-transform:uppercase;color:var(--moss)!important;letter-spacing:.02em}
.navbar-brand span{color:var(--clay)}
.nav-link{font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)!important}
.nav-link:hover{color:var(--clay)!important}
.btn-clay{background:var(--clay);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:0;padding:.75rem 1.6rem;border:0}
.btn-clay:hover{background:#c85e17;color:#fff}
.btn-line{border:2px solid var(--moss);color:var(--moss);font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:0;padding:.7rem 1.6rem}
.btn-line:hover{background:var(--moss);color:#fff}
.pavers{height:26px;background:
 repeating-linear-gradient(45deg,var(--moss2) 0 14px,transparent 14px 15px,var(--moss) 15px 29px,transparent 29px 30px),var(--moss);opacity:.95}
.pavers.light{background:repeating-linear-gradient(45deg,#d9d2c0 0 14px,transparent 14px 15px,#e6e0d0 15px 29px,transparent 29px 30px),#e6e0d0}
.hero{background:var(--moss);color:#fff}
.hero-text{padding:5rem 3rem 4rem;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:var(--lime);font-size:1rem}
.hero h1{font-size:clamp(3.4rem,8vw,6.4rem);margin:.5rem 0 1.2rem}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p.lead{max-width:30rem;color:#e3e9de}
.hero-img{min-height:520px;background:url(img/hero.webp) center/cover}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.badges span{border:1px solid rgba(255,255,255,.35);padding:.3rem .8rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
section{padding:5rem 0}
h2{font-size:clamp(2.6rem,5vw,4rem);color:var(--moss)}
.svc-list{border-top:3px solid var(--moss)}
.svc{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid #cfc8b5;align-items:baseline}
.svc .n{font-family:'Barlow Condensed',sans-serif;font-size:2rem;color:var(--clay);font-weight:700}
.svc h3{font-size:2rem;margin:0;color:var(--moss)}
.svc p{margin:0}
.stone{background:var(--stone)}
.gal{columns:3;column-gap:14px}
.gal img{width:100%;margin-bottom:14px;display:block;border:6px solid #fff;box-shadow:0 0 0 1px #d9d2c0}
.about-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 0 0}
.areas{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}
.areas li{background:var(--moss);color:#fff;padding:.4rem 1rem;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem}
.areas li:nth-child(3n){background:var(--clay)}
.hours td{padding:.3rem 1.2rem .3rem 0}
.cta{background:var(--moss);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta h2 em{font-style:normal;color:var(--lime)}
.faq .accordion-button{font-weight:600;background:transparent;box-shadow:none}
.faq .accordion-item{background:transparent;border-left:0;border-right:0;border-radius:0}
.accordion-button:not(.collapsed){color:var(--moss);background:var(--stone)}
footer{background:var(--ink);color:#c9cfc2;padding:3rem 0 1.5rem;font-size:.92rem}
footer a{color:var(--lime);text-decoration:none}
.powered{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:991px){.hero-text{padding:3rem 1.25rem}.hero-img{min-height:300px}.svc{grid-template-columns:44px 1fr}.svc p{grid-column:2}.gal{columns:2}section{padding:3.5rem 0}}
@media(max-width:575px){.gal{columns:1}.navbar-brand{font-size:1.4rem}}
