:root{--olive:#556B2F;--olive-dark:#415425;--cream:#faf7f0;--paper:#f1eee6;--ink:#2b3024;--line:#dcd6c7}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5}
.container{width:94%;max-width:1100px;margin:0 auto}
img{max-width:100%;display:block;height:auto;border-radius:16px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo{width:52px;height:auto;border-radius:10px}
.brand-text{font-weight:700}
.nav{display:flex;gap:14px}
.nav a{text-decoration:none;color:var(--ink);padding:8px 10px;border-radius:10px}
.nav a:hover{background:var(--paper)}
.btn{border:1px solid var(--olive);background:#fff;color:var(--olive);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600}
.btn.primary{background:var(--olive);color:#fff}.btn.primary:hover{background:var(--olive-dark)}
.btn.outline{background:transparent}
.hero{padding:24px 0 10px}.hero-inner{display:grid;gap:24px;align-items:center}
.hero-text h1{font-size:clamp(28px,4vw,44px);margin:0 0 10px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.carousel {position:relative;overflow:hidden;border-radius:18px;background:#000;min-height:450px}
.slides{display:flex;transition:transform 0.5s ease}
.slide{min-width:100%}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);color:#fff;border:none;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:22px;line-height:38px;text-align:center}
.prev{left:8px}.next{right:8px}
.cta-bar{background:var(--paper);padding:28px 0;margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.page-hero{padding:26px 0;border-bottom:1px solid var(--line);background:#fff}
.page-hero h1{margin:0 0 8px}
.content-section{padding:26px 0}
.twocol{display:grid;gap:22px}
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gallery figure{margin:0}
.gallery figcaption{text-align:center;margin-top:6px;color:#4b4f40}
.center{text-align:center;margin-top:10px}
.hours{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hours td{padding:10px 12px;border-bottom:1px solid var(--line)}
.hours tr:last-child td{border-bottom:none}
.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:30px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;flex-wrap:wrap}
.footer-copy{font-size:12px;color:#666;margin-top:8px;text-align:right}
.modal{position:fixed;inset:0;display:none}
.modal.show{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.45)}
.modal-content{position:relative;margin:8vh auto;width:min(94%,760px);background:#fff;border-radius:16px;padding:18px;border:1px solid var(--line)}
.modal-close{position:absolute;right:10px;top:6px;background:transparent;border:none;font-size:28px;cursor:pointer;color:#333}
.modal-grid{display:grid;gap:12px;margin-top:8px;grid-template-columns:repeat(1,1fr)}
.card-link{text-decoration:none;color:inherit}
.card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--cream)}
.card h4{margin:0 0 6px}
@media (min-width:800px){
  .hero-inner{grid-template-columns:1.1fr 1fr}
  .twocol{grid-template-columns:1.1fr 1fr}
  .modal-grid{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr)}
}

