:root{--cream:#f7f5ed;--green:#192d21;--muted:#4a584c;--lime:#d6e5aa;--line:#d7dcd0;--serif:"Iowan Old Style",Georgia,serif;--sans:Inter,system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--green);font:16px/1.6 var(--sans)}
a{color:inherit;text-underline-offset:.25em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #8b6817;outline-offset:4px}
.skip{position:absolute;top:-5rem;left:1rem;background:white;padding:.5rem;z-index:2}.skip:focus{top:.5rem}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.notice{text-align:center;background:var(--green);color:#f2f4e7;font-size:.77rem;padding:.48rem 1rem;letter-spacing:.04em}
.top,.foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.3rem}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font:700 1.85rem/1 var(--serif)}
.brand small{display:block;font:700 .6rem/1.5 var(--sans);letter-spacing:.18em;margin-top:.22rem}
.mark{background:var(--green);color:var(--lime);border-radius:50%;display:grid;place-items:center;width:2.65rem;height:2.65rem;font-size:1.55rem}
nav,.actions{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(12px,2.5vw,33px);font-size:.9rem;font-weight:650}
nav a{text-decoration:none}nav a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:46px;padding:.7rem 1rem;border:1px solid var(--green);border-radius:5px;text-decoration:none;font:650 .87rem/1.2 var(--sans);cursor:pointer}
.primary{background:var(--green);color:white}.primary:hover{background:#35513e}.outline:hover{background:#e9eddd}
.hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:510px;padding-block:1.25rem 3.5rem;gap:2rem;align-items:stretch}
.hero-copy{align-self:center}.eyebrow{font-size:.71rem;font-weight:800;letter-spacing:.17em;margin:0 0 1rem;color:#455b43}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;margin:0;letter-spacing:-.035em}
h1{font-size:clamp(3.25rem,6.25vw,6.1rem)}h1 em{color:#456044;font-weight:400}
h2{font-size:clamp(2.55rem,4.5vw,4.3rem);max-width:15ch}
h3{font-size:1.85rem}
.hero-copy>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:35ch;margin:1.25rem 0 1.7rem}
figure{margin:0;position:relative;min-height:430px;background:#465940;border-radius:8px;overflow:hidden}
figure img{position:absolute;width:100%;height:100%;object-fit:cover}
figcaption{position:absolute;bottom:1rem;right:1rem;background:#172b20;color:white;font-size:.73rem;padding:.3rem .65rem;border-radius:4px}
.section{padding-block:clamp(3.5rem,7vw,6.25rem)}
.service-band{background:#e9eddf;border-block:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.3rem}
article{display:flex;flex-direction:column;align-items:flex-start;background:var(--cream);padding:clamp(1.2rem,3vw,2.15rem);border:1px solid var(--line);border-radius:7px}
article span{font-size:1.5rem;margin-bottom:1.15rem}
article p,.process p:not(.eyebrow),.quote p:not(.eyebrow){color:var(--muted)}
article a{margin-top:auto;font-weight:700;font-size:.88rem}
.process,.quote{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.process ol{margin:0;padding-left:1.6rem}.process li{padding:.75rem 0 .75rem .5rem;border-bottom:1px solid var(--line)}.process li::marker{font-weight:700}.process li p{margin:.3rem 0}
.quote-band{background:var(--lime)}.quote form{background:var(--cream);padding:1.5rem;border-radius:7px}.quote label{display:block;font-weight:700;margin-bottom:.3rem}
select,textarea{width:100%;background:white;color:var(--green);border:1px solid #748274;border-radius:4px;padding:.75rem;margin-bottom:1rem;font:inherit}textarea{resize:vertical}
#confirmation{overflow-wrap:anywhere;margin-bottom:0}.foot{font-size:.82rem}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.hero{gap:1.25rem}.hero h1{font-size:clamp(2.9rem,7.4vw,5rem)}figure{min-height:370px}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.top{align-items:flex-start;flex-direction:column;gap:.9rem}.hero,.cards,.process,.quote{grid-template-columns:1fr}.hero{padding-bottom:2rem}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}figure{min-height:280px}.foot{align-items:flex-start;flex-direction:column;gap:.4rem}}
