:root{--oak:#8a5a2b;--oak-dark:#4a2f14;--cream:#faf6ef;--ink:#2a1d10;--muted:#6f5f4e;--line:#e5dac8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Georgia,"Times New Roman",serif}
a{color:var(--oak)}
.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.8rem clamp(1rem,5vw,3rem);background:rgba(250,246,239,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{font-size:1.4rem;font-weight:700;letter-spacing:.04em;color:var(--oak-dark);text-decoration:none}
nav{display:flex;gap:1.2rem;align-items:center}
nav a{text-decoration:none;color:var(--ink)}
nav a.btn{color:#fff}
section{max-width:960px;margin:0 auto;padding:1rem clamp(1rem,5vw,2rem)}
h1,h2,h3{font-family:inherit;color:var(--oak-dark);line-height:1.2}
h1{font-size:clamp(2.2rem,6vw,3.8rem);margin:.2em 0}
h2{font-size:1.9rem;margin:0 0 .5rem}
.hero{padding-top:2rem;padding-bottom:1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;color:var(--oak);margin:0}
.lead{font-size:1.25rem;max-width:36rem;color:var(--muted)}
.muted{color:var(--muted)}
.btn{display:inline-block;padding:.7rem 1.3rem;margin:.25rem .25rem .25rem 0;background:var(--oak);color:#fff;border-radius:6px;text-decoration:none;border:2px solid var(--oak)}
.btn:hover{background:var(--oak-dark);border-color:var(--oak-dark)}
.btn.ghost{background:transparent;color:var(--oak)}
.btn.ghost:hover{background:var(--oak);color:#fff}
.btn.small{padding:.4rem .9rem;margin:0}
.cards{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}
.cards article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem}
.cards h3{margin-top:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}
.gallery figure{margin:0}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:1.618/1;object-fit:cover;border-radius:8px;transition:transform .2s}
.gallery a:hover img{transform:scale(1.02)}
.gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:.4rem}
.contact{text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;margin:.5rem auto 1rem;max-width:760px}
footer{text-align:center;padding:.5rem 1rem 1.5rem;color:var(--muted);font-size:.9rem}
@media(max-width:560px){nav a:not(.btn){display:none}}
