:root{--maroon:#6b1a28;--deep:#4a0f1a;--gold:#b8892e;--gold2:#d9b25a;--cream:#fcf7ec;--sand:#f1e4c6;--sand2:#e6d3a8;--ink:#33231b;--bronze:#8a5a12}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3,.btn,nav a,summary{font-family:'Cinzel',Georgia,serif}
img{max-width:100%;height:auto;display:block}
a:focus-visible,button:focus-visible,summary:focus-visible,#gal img:focus-visible{outline:3px solid var(--maroon);outline-offset:3px}
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:.5rem 5%;transition:.3s}
.nav.solid{background:var(--cream);box-shadow:0 2px 14px #4a0f1a26;border-bottom:2px solid var(--gold2)}
.brand{display:flex;gap:.6rem;align-items:center;color:var(--bronze);text-decoration:none;font-family:'Cinzel',serif;letter-spacing:.1em}
.brand b{color:var(--maroon)}
nav{display:flex;gap:1.3rem;align-items:center}
nav a{color:var(--maroon);text-decoration:none;font-size:.82rem;letter-spacing:.1em;transition:color .25s ease, transform .25s ease}
nav a:hover{color:var(--bronze);transform:translateY(-1px)}
.burger{display:none;background:none;border:0;color:var(--maroon);font-size:1.8rem;cursor:pointer;transition:transform .25s ease, opacity .25s ease}
.burger:hover{transform:scale(1.04);opacity:.9}
.btn{display:inline-block;background:linear-gradient(135deg,var(--maroon),var(--deep));color:#fff!important;padding:.85rem 1.7rem;border:2px solid var(--maroon);text-decoration:none;font-weight:700;letter-spacing:.06em;font-size:.9rem;transition:transform .25s ease, box-shadow .25s ease, filter .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #4a0f1a40;filter:saturate(1.05)}
.btn.sm{padding:.45rem 1rem;font-size:.75rem}
.btn.ghost,.btn.ghost.dk{background:transparent;color:var(--maroon)!important;border-color:var(--maroon);transition:background-color .25s ease, transform .25s ease, box-shadow .25s ease}
.btn.ghost:hover{background:#6b1a2810;transform:translateY(-1px)}
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:7rem 5% 6rem;color:var(--ink);background:radial-gradient(circle at 80% 25%,#fff4d6,transparent 55%),linear-gradient(170deg,var(--cream),var(--sand))}
.eyebrow{display:flex;gap:.4rem;align-items:center;color:var(--bronze);font-size:1.05rem;margin-bottom:1rem}
h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.12;font-weight:700;color:var(--maroon)}
h1 em{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:.42em;color:var(--bronze);margin-top:1rem;line-height:1.35}
.lead{margin:1.2rem 0;font-size:1.35rem;max-width:560px}
.cta{display:flex;gap:1rem;flex-wrap:wrap;margin:1.4rem 0}
.cta.mid{justify-content:center}
.locpill{display:inline-block;border-bottom:2px solid var(--gold);color:var(--maroon);text-decoration:none;font-size:1.05rem;transition:color .25s ease, opacity .25s ease}
.locpill:hover{color:var(--bronze);opacity:.9}
.gate{position:relative;justify-self:center;width:min(100%,420px);padding:10px;border:2px solid var(--gold);border-radius:210px 210px 6px 6px;background:#fff;box-shadow:0 14px 34px #4a0f1a2e;transition:transform .25s ease, box-shadow .25s ease}
.gate:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(74,15,26,.12)}
.gate img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:200px 200px 2px 2px}
.gate figcaption{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);background:var(--cream);border:2px solid var(--gold);padding:.3rem 1.1rem;white-space:nowrap;font-size:1rem;color:var(--ink)}
.gate b{font-family:'Cinzel';color:var(--maroon);font-size:1.3rem}
.battlements{position:absolute;left:0;right:0;bottom:-1px;height:44px;background:var(--cream);-webkit-mask:linear-gradient(90deg,#000 50%,transparent 50%) 0 0/88px 22px repeat-x,linear-gradient(#000,#000) 0 22px/100% 22px no-repeat;mask:linear-gradient(90deg,#000 50%,transparent 50%) 0 0/88px 22px repeat-x,linear-gradient(#000,#000) 0 22px/100% 22px no-repeat}
.strip{background:var(--cream);padding:0 5% 1rem}
.strip ul{list-style:none;display:flex;justify-content:center;gap:.6rem 2rem;flex-wrap:wrap;font-family:'Cinzel';font-size:.85rem;color:var(--maroon)}
.strip li::before{content:"\25C6";color:var(--gold);margin-right:.5rem}
.sec{padding:5rem 5%}
.sec.dark{background:var(--sand);color:var(--ink);border-top:3px double var(--gold2);border-bottom:3px double var(--gold2)}
.wrap{max-width:1100px;margin:auto}.wrap.narrow{max-width:760px}
.two{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.side{border:3px solid var(--gold);margin-top:1.5rem}
h2{font-size:clamp(1.5rem,3.2vw,2.3rem);color:var(--maroon);line-height:1.25}
.rule{display:block;width:90px;height:3px;background:var(--gold);margin:1rem 0 1.5rem}
.rule.mid{margin:1rem auto 2rem}
.c{text-align:center}
p+p{margin-top:1rem}
.facts{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}
.facts li{border-left:3px solid var(--gold);padding-left:.8rem}
.facts b{display:block;font-family:'Cinzel';font-size:.8rem;color:var(--maroon)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-bottom:2.5rem}
.card{background:#fff;border:1px solid var(--gold);padding:.9rem .9rem 1.4rem;border-radius:130px 130px 4px 4px;box-shadow:0 8px 22px #4a0f1a1c;transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(74,15,26,.16)}
.card img{height:210px;width:100%;object-fit:cover;border-radius:120px 120px 0 0;margin-bottom:1rem}
.card h3{color:var(--maroon);padding:0 .5rem}.card p{padding:0 .5rem;font-size:1.1rem}
.grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}
.grid li{background:#fff;border:1px solid var(--sand2);border-bottom:4px solid var(--gold);padding:.9rem;text-align:center}
.dine{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-top:3rem}
.dine img{border:3px solid var(--gold)}
.dine h3{color:var(--maroon);font-size:1.4rem}
.gal{columns:3 220px;column-gap:.8rem}
.gal img{width:100%;margin-bottom:.8rem;border:2px solid var(--gold);cursor:zoom-in;break-inside:avoid;background:#fff}
.near{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.4rem}
.near li{border:1px solid var(--gold);background:#fff;padding:.2rem .9rem;border-radius:30px;font-size:1.05rem}
iframe{width:100%;height:420px;border:3px solid var(--gold);margin-top:1.8rem}
details{border-bottom:1px solid var(--sand2);padding:1rem 0}
summary{cursor:pointer;color:var(--maroon);font-size:1rem}
details p{margin-top:.6rem}
address{font-style:normal;margin-bottom:1rem}
.site-footer{background:linear-gradient(180deg,#5d1321,#481219);color:#fff;padding:3rem 5% 1.2rem;border-top:3px solid var(--gold)}
.footer-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;align-items:start}
.footer-brand{display:flex;align-items:flex-start;gap:.9rem}
.footer-brand img{display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.footer-kicker{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#f8d58b;margin-bottom:.45rem}
.footer-brand h3{font-family:'Cinzel',Georgia,serif;color:#fff;font-size:1.5rem;line-height:1.3;font-weight:700}
.footer-col h4{font-family:'Cinzel',Georgia,serif;color:#f4d48d;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col li,.footer-col a{color:rgba(255,255,255,.85);text-decoration:none;font-size:1rem;line-height:1.7;transition:color .25s ease, transform .25s ease, opacity .25s ease}
.footer-col a:hover{color:#fff;text-decoration:underline;transform:translateX(2px);opacity:1}
.footer-bottom{max-width:1180px;margin:2rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);text-align:center;color:rgba(255,255,255,.8);font-size:.95rem}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--maroon),var(--deep));color:#fff;border:2px solid rgba(255,255,255,.35);box-shadow:0 12px 30px rgba(74,15,26,.28);text-decoration:none;transition:transform .25s ease, box-shadow .25s ease, filter .25s ease}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 34px rgba(74,15,26,.38);filter:saturate(1.05)}
.floating-whatsapp svg{width:28px;height:28px;display:block}
.callbar{display:none}
dialog{border:3px solid var(--gold);background:var(--cream);padding:0;max-width:92vw;max-height:92vh;margin:auto}
dialog::backdrop{background:#2b0a10cc}
dialog img{max-height:88vh;margin:auto}
dialog button{position:absolute;top:4px;right:8px;background:var(--cream);color:var(--maroon);border:0;font-size:2rem;cursor:pointer;line-height:1;padding:0 .4rem}
@media(max-width:800px){.burger{display:block}nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:2px solid var(--gold2);flex-direction:column;padding:1.2rem;display:none}nav.open{display:flex}
.two,.dine,.hero{grid-template-columns:1fr}.hero{padding-top:6rem;gap:2.5rem}.gate{width:min(86%,340px)}
.footer-wrap{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}.floating-whatsapp{width:54px;height:54px;right:16px;bottom:76px}.callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--maroon);color:#fff;text-align:center;font-family:'Cinzel';font-weight:700;padding:.8rem;text-decoration:none}}
@media(max-width:560px){.footer-wrap{grid-template-columns:1fr}.footer-brand{align-items:center}.footer-brand h3{font-size:1.2rem}.site-footer{padding-top:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
