:root{--ink:#222a1e;--moss:#34472b;--paper:#f8f5ec;--clay:#8e432b;--line:#d3d0be}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}
a{color:var(--moss)}
a:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
.shell{max-width:1232px;width:calc(100% - 64px);margin-inline:auto}
.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px}
.skip:focus{top:10px;z-index:4}
header{background:#fff;border-bottom:1px solid var(--line)}
.mast{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:700 1.5rem/1.05 Georgia,serif}
.brand img{object-fit:contain}
.brand small{display:block;margin-top:6px;font:650 .76rem system-ui,sans-serif}
.phone{font-weight:750;white-space:nowrap}
nav{display:flex;flex-wrap:wrap;gap:6px 24px;padding:7px 0 13px}
nav a{font-weight:650;text-decoration:none}
nav a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:1fr 1.08fr;background:#e5e6d4;max-width:1500px;margin-inline:auto}
.hero-copy{align-self:center;padding:clamp(34px,6vw,94px)}
.hero figure{margin:0;min-height:410px;position:relative;background:#778661}
.hero img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eyebrow{color:var(--clay);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,serif;line-height:1.06}
h1{font-size:clamp(2.6rem,6vw,6.3rem);letter-spacing:-.045em;margin:.16em 0 .26em;max-width:16ch}
h2{font-size:clamp(1.65rem,3vw,2.8rem);letter-spacing:-.025em}
.lede{max-width:38ch;font-size:1.08rem}
.action{display:inline-block;background:var(--moss);color:#fff;text-decoration:none;font-weight:750;padding:12px 20px;margin:9px 0}
.service-index,.page{padding-block:clamp(34px,7vw,76px)}
.service-index ol{list-style:none;padding:0;margin:22px 0 0}
.service-index li{display:grid;grid-template-columns:3rem minmax(190px,1fr) 1.35fr;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.service-index li:last-child{border-bottom:1px solid var(--line)}
.service-index li span{color:var(--clay);font-weight:700}
.service-index li a{font:700 clamp(1.2rem,2.25vw,1.75rem) Georgia,serif}
.service-index li p{margin:0}
.copy{max-width:72ch;overflow-wrap:anywhere}
.home-copy{margin-left:max(32px,calc((100% - 1232px)/2));padding-bottom:45px}
.jump{display:flex;flex-wrap:wrap;gap:10px 21px;padding:0;list-style:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(235px,100%),1fr));gap:14px;margin:26px 0}
.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.contact-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px 23px}
footer{background:#273323;color:#fff;padding:34px 0}
footer a{color:#fff;overflow-wrap:anywhere}
.foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
@media(max-width:700px){.shell{width:calc(100% - 32px)}.hero{grid-template-columns:1fr}.hero-copy{padding:27px 16px 31px}.hero figure{min-height:215px}.brand img{width:46px;height:46px}.brand{font-size:1.2rem}.brand small{font-size:.65rem}.phone{font-size:.82rem}nav{gap:5px 13px}nav a{font-size:.86rem}.service-index li{grid-template-columns:2rem 1fr;gap:4px 8px}.service-index li p{grid-column:2}.home-copy{margin-inline:auto}}
