:root{--line:#d9d9d9;--ink:#222;--muted:#555;--brand:#1f6b3a;--bg:#f4f6f4}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}
.wrap{max-width:1200px;margin:0 auto;background:#fff;box-shadow:0 0 0 1px var(--line)}
.top{display:grid;grid-template-columns:minmax(220px,42%) 1fr;gap:24px;padding:22px 26px;align-items:center;border-bottom:3px solid var(--brand)}
.top img{width:100%;height:auto;display:block}
.top h1{margin:0 0 6px;font-size:19px;color:var(--brand)}
.top .statement{font-size:14px;color:var(--ink)}
.top .statement span{font-weight:700}
.top .contact{margin-top:10px;font-size:13px;color:var(--muted)}
.top .contact a{color:var(--brand);text-decoration:none}
.qr{width:72px;height:auto;display:block;margin-top:10px;border:1px solid var(--line);padding:3px;background:#fff}
.nav{display:flex;flex-wrap:wrap;gap:10px;padding:14px 26px;background:#eef3ee;border-bottom:1px solid var(--line)}
.nav a{background:#fff;border:1px solid var(--brand);color:var(--brand);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.02em;padding:9px 16px;border-radius:3px}
.nav a:hover,.nav a.on{background:var(--brand);color:#fff}
.nav a.plain{border-color:#bbb;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px 26px}
.gallery figure{margin:0;border:1px solid var(--line);background:#fafafa;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/4;transition:transform .25s}
.gallery figure:hover img{transform:scale(1.03)}
.gallery .wide{grid-column:span 2}
.gallery .wide img{aspect-ratio:3/2}
.plan{padding:0 26px 26px}
.plan img{width:100%;height:auto;border:1px solid var(--line);display:block}
section.body{padding:22px 26px 34px}
section.body h2{margin:0 0 14px;font-size:18px;color:var(--brand);letter-spacing:.04em}
ol.people{margin:0;padding-left:22px}
ol.people li{margin:7px 0}
footer{padding:16px 26px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
footer a{color:var(--brand);text-decoration:none}
@media(max-width:820px){
 .top{grid-template-columns:1fr;padding:18px}
 .top img{max-width:320px}
 .gallery{grid-template-columns:repeat(2,1fr);padding:16px}
 .gallery .wide{grid-column:span 2}
 .nav,section.body,.plan,footer{padding-left:16px;padding-right:16px}
 .plan{padding-top:0}
}
@media(max-width:480px){.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:span 1}}
