:root{--charcoal:#2B2622;--sand:#D9CBB2;--copper:#A8763E;--cream:#F7F5F1;--ink:#2B2622;--muted:#6b6258}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.6}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{background:var(--charcoal);color:var(--cream);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{font-weight:600;letter-spacing:.4px;text-decoration:none}
nav a{color:var(--sand);text-decoration:none;margin-right:16px;font-size:14px;padding:4px 0;display:inline-block}
nav a:last-child{margin-right:0}
nav a:hover,nav a.on{color:#fff;border-bottom:2px solid var(--copper)}
.hero{background:var(--charcoal);color:var(--cream);padding:72px 0 80px}
.hero.small{padding:48px 0 52px}
.rule{width:56px;height:3px;background:var(--copper);margin-bottom:24px}
.hero h1{font-size:clamp(30px,6vw,52px);line-height:1.15;margin:0 0 16px;font-weight:600;max-width:680px}
.hero.small h1{font-size:clamp(28px,5vw,40px);margin:0}
.hero p{color:var(--sand);font-size:clamp(16px,3.5vw,19px);max-width:560px;margin:0 0 28px}
.btn{display:inline-block;background:var(--copper);color:#fff;padding:12px 24px;text-decoration:none;font-weight:600;border-radius:2px;border:0;font-size:16px;cursor:pointer;margin:0 8px 8px 0}
.btn.ghost{background:none;border:1px solid var(--sand);color:var(--sand)}
section{padding:56px 0}
section.alt{background:#fff}
h2{font-size:clamp(24px,5vw,34px);margin:0 0 8px;font-weight:600}
.lead{color:var(--muted);max-width:620px;margin:0 0 28px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{border:1px solid var(--sand);background:var(--cream);padding:24px;border-radius:2px;display:block;text-decoration:none}
a.card:hover{border-color:var(--copper)}
.card h3{margin:0 0 6px;font-size:19px}
.card p{margin:0;color:var(--muted);font-size:15px}
.tag{display:inline-block;color:var(--copper);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.split{display:grid;gap:24px;grid-template-columns:1fr;align-items:start}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr}}
.panel{background:var(--charcoal);color:var(--cream);padding:32px;border-radius:2px}
.panel p{color:var(--sand);margin:0 0 12px}
ul.clean{list-style:none;margin:0;padding:0}
ul.clean li{padding:8px 0;border-bottom:1px solid #4a423b;color:var(--sand)}
ul.plain{margin:0;padding-left:20px;color:var(--muted)}
ul.plain li{padding:3px 0}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ph{aspect-ratio:1/1;display:flex;align-items:flex-end;padding:10px;font-size:12px;color:#fff;border-radius:2px;background:var(--c)}
.ph span{background:rgba(0,0,0,.35);padding:2px 6px}
.note{color:var(--muted);font-size:13px;margin-top:14px}
.mapbox{background:var(--sand);min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--muted);border-radius:2px;text-align:center;padding:16px}
.cta{background:var(--charcoal);color:var(--cream);text-align:center;padding:48px 0}
.cta p{color:var(--sand);margin:0 0 20px}
footer{background:var(--charcoal);color:#8f8577;padding:28px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{color:var(--sand)}
.modal{position:fixed;inset:0;background:rgba(43,38,34,.7);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}
.modal.open{display:flex}
.modal .box{background:var(--cream);max-width:440px;width:100%;padding:36px 28px 28px;border-top:4px solid var(--copper);border-radius:2px;position:relative;text-align:center}
.modal h2{font-size:26px;margin-bottom:10px}
.modal p{color:var(--muted);margin:0 0 20px}
.modal .x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:6px 10px}
