:root{--bg:#f8f6f3;--ink:#1f2937;--accent:#1b5e20;--muted:#6b7280;--card:#ffffff}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
header.hero{color:#fff}
nav.top{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{font-weight:800;letter-spacing:.5px}
.nav-links a{color:#fff;margin-left:1rem;font-weight:600}
.hero-wrap{padding:6rem 0 4rem 0;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.hero-wrap h1{font-size:2.6rem;margin:0 0 .75rem 0}
.hero-wrap p{font-size:1.125rem;color:#e5e7eb;max-width:800px;margin:.5rem auto 1.5rem}
.btn{display:inline-block;background:#fff;color:#111827;padding:.75rem 1.1rem;border-radius:999px;font-weight:700}
.btn.secondary{background:transparent;color:#fff;border:2px solid #fff;margin-left:.5rem}
section{padding:3rem 0}
h2{font-size:1.75rem;margin:0 0 1rem 0}
.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.card{grid-column:span 12;background:var(--card);border-radius:1rem;padding:1.25rem;box-shadow:0 6px 24px rgba(0,0,0,.08)}
@media(min-width:768px){.card.half{grid-column:span 6}.card.third{grid-column:span 4}}
.muted{color:var(--muted)}
/* Masonry Gallery */
.gallery-masonry{column-count:1;column-gap:.75rem}
@media(min-width:640px){.gallery-masonry{column-count:2}}
@media(min-width:1024px){.gallery-masonry{column-count:3}}
.gallery-masonry figure{break-inside:avoid;margin:0 0 .75rem 0;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.gallery-masonry img{width:100%;height:auto;display:block;cursor:zoom-in}
.gallery-masonry figcaption{font-size:.9rem;color:var(--muted);padding:.5rem .75rem}
/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:9999}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:80vh;display:block}
.lightbox .caption{color:#e5e7eb;margin-top:.75rem;text-align:center;font-size:1rem}
.lightbox .close{position:absolute;top:1rem;right:1rem;background:#fff;border-radius:999px;padding:.25rem .6rem;font-weight:700;cursor:pointer;border:none}
.map-embed{border:0;width:100%;height:360px;border-radius:.75rem;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.info-list{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.info{grid-column:span 12;background:#fff;border-radius:.75rem;padding:1rem;border:1px solid #e5e7eb}
@media(min-width:768px){.info{grid-column:span 6}}
footer.site{padding:2rem 0;color:#e5e7eb;background:#111827;margin-top:2rem}
.pill{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:.83rem}
.bar{height:1px;background:#e5e7eb;opacity:.6;margin:1rem 0}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}
.notice{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;color:#374151}
