:root{--max-width:1100px;--accent:#2b7a78;--muted:#666}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;margin:0;color:#111}
.container{max-width:var(--max-width);margin:0 auto;padding:1rem}
.site-header{background:#fff;border-bottom:1px solid #eee}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.brand{margin:0;font-size:1.1rem}
nav a{margin-left:1rem;color:var(--accent);text-decoration:none}
.hero{padding:2rem 0}
.cta{background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:4px;text-decoration:none}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.gallery-item{display:block;position:relative}
.gallery-item img{width:100%;height:140px;object-fit:cover;border-radius:6px}
.caption{display:block;text-align:center;margin-top:.4rem;color:var(--muted)}
.site-footer{border-top:1px solid #eee;padding:1rem 0;margin-top:2rem;background:#fafafa}
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.8);z-index:999}
.lightbox[aria-hidden="false"]{display:flex}
.lightbox img{max-width:90%;max-height:80%;border-radius:6px}
.lb-close{position:absolute;top:1rem;right:1rem;background:transparent;border:0;color:#fff;font-size:1.5rem}
@media (max-width:600px){.hero{padding:1rem}.gallery-item img{height:120px}}
