:root{--dusk:#13233b;--dusk2:#0c1829;--sun:#f08a3c;--sun-d:#d9722a;--foam:#edf3f4;--sail:#fbf8f2;--ink:#1c2733}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Outfit',sans-serif;color:var(--ink);background:var(--sail);font-size:1.05rem;line-height:1.65}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:800;line-height:1.1;color:var(--dusk)}
h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:1rem}
a{color:var(--sun-d)}
.py-6{padding:5rem 0}
.bg-foam{background:var(--foam)}
.bg-navy{background:var(--dusk)}.bg-navy h2{color:#fff}
.navbar{background:var(--dusk);border-bottom:3px solid var(--sun);padding:.5rem 0}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:'Fraunces',serif;font-weight:800;font-size:1.25rem}
.navbar-brand em{font-weight:500;color:var(--sun)}
.nav-link{font-weight:500}
.btn{font-weight:600;border-radius:4px}
.btn-sun{background:var(--sun);color:#1b1208;border:0}.btn-sun:hover{background:#ffa055;color:#1b1208}
.btn-ghost{border:2px solid #fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--dusk)}
.btn-navy{background:var(--dusk);color:#fff}.btn-navy:hover{background:var(--dusk2);color:#fff}
.btn-outline-navy{border:2px solid var(--dusk);color:var(--dusk)}.btn-outline-navy:hover{background:var(--dusk);color:#fff}
.hero{background:linear-gradient(160deg,var(--dusk) 40%,#3a3a5e 75%,#c76a3d 130%);color:#fff;padding:7.2rem 0 3.2rem}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.2vw,4rem);margin-bottom:1rem}
.hero h1 em{color:var(--sun);font-weight:500}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--sun);font-weight:600;margin-bottom:.8rem}
.hero .lead{font-size:1.12rem;color:#e4e9f0;margin-bottom:1.5rem}
.hero-img{width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:50% 45%;border-radius:6px;box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.wave-strip{background:var(--sun);color:#1b1208;font-weight:600}
.wave-strip .container{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 2rem;padding-top:.7rem;padding-bottom:.7rem;font-size:.95rem}
.photo-pair img{width:100%;border-radius:6px;display:block}
.photo-pair img+img{margin-top:1rem;aspect-ratio:16/8;object-fit:cover}
.dish{margin:0}
.dish img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block}
.dish figcaption{font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;margin-top:.5rem;color:var(--dusk)}
.sq{aspect-ratio:1/1;object-fit:cover}
.menu-img{width:100%;border-radius:4px;box-shadow:0 6px 24px rgba(19,35,59,.18);background:#fff}
.ev{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}
.gift{background:var(--dusk);color:#fff;padding:3.5rem 0}.gift h2{color:#fff;margin-bottom:.3rem}
.board{background:var(--dusk);border-radius:6px;padding:1rem 1.2rem;color:#fff}
.slip{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed rgba(255,255,255,.2)}
.slip b{font-family:'Fraunces',serif;font-weight:600}
.slip span{color:var(--sun);font-weight:600}
.slip.shut{opacity:.5}.slip.shut span{color:#fff;text-decoration:line-through}
.board .note{margin:.7rem 0 0;font-size:.9rem;color:#cfd8e3}
.map{width:100%;height:100%;min-height:420px;border:0;border-radius:6px}
footer{background:var(--dusk2);color:#cfd8e3;padding:2.5rem 0}
footer a{color:var(--sun)}
@media(max-width:991px){.hero{padding-top:6rem}.py-6{padding:3.5rem 0}}
