:root{--navy:#0c2a4d;--navy2:#123a68;--cobalt:#1d5fb8;--sand:#f3eadb;--sand2:#e6d6bd;--olive:#5b6a24;--ink:#1b2430;--gold:#b98a2e}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3,h4,.display{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em}
a{color:var(--cobalt)}
.section{padding:6rem 0}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--olive)}
.sec-title{font-size:clamp(2rem,4vw,3rem);color:var(--navy);margin:.4rem 0 1rem}
.btn-med{background:var(--gold);color:#1b1305;font-weight:700;border:0;padding:.85rem 1.8rem;border-radius:50px}
.btn-med:hover{background:#d3a23f;color:#1b1305}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff;border-radius:50px;padding:.8rem 1.7rem;font-weight:700}
.btn-ghost:hover{background:#fff;color:var(--navy)}

/* navbar */
.navbar{background:var(--navy);padding:.55rem 0;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.navbar-brand{display:flex;align-items:center;gap:.6rem;color:#fff!important;font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;line-height:1.1}
.navbar-brand small{display:block;font-family:'DM Sans',sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sand2);font-weight:500}
.nav-chip{background:var(--sand);border-radius:8px;padding:3px 6px;display:inline-flex}
.nav-chip img{height:34px;width:auto;display:block}
.navbar .nav-link{color:rgba(255,255,255,.88);font-size:.88rem;font-weight:500;padding:.5rem .7rem}
.navbar .nav-link:hover{color:var(--gold)}
.navbar-toggler{border-color:rgba(255,255,255,.5)}
.navbar-toggler-icon{filter:invert(1)}
.nav-call{background:var(--gold);color:#1b1305!important;border-radius:50px;padding:.45rem 1rem!important;font-weight:700!important}

/* hero: split panel */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:min(100vh,860px);padding-top:62px;background:var(--navy)}
.hero-panel{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:4rem clamp(1.5rem,6vw,5.5rem);position:relative}
.hero-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(90deg,var(--gold) 0 18px,transparent 18px 30px);opacity:.55}
.hero-eyebrow{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hero-title{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.04;margin:.9rem 0 1.1rem;color:#fff}
.hero-title em{color:var(--sand2);font-style:italic;font-weight:500}
.hero-sub{font-size:1.1rem;color:#d7e1ee;max-width:34rem}
.hero-meta{margin-top:2rem;font-size:.9rem;color:#b9c8dc}
.hero-photo{background:url('img/hero.webp') center/cover no-repeat;min-height:340px}

/* about */
.about{background:var(--sand)}
.about img{border-radius:18px;box-shadow:0 20px 40px rgba(12,42,77,.18);width:100%;height:auto}
.feature{display:flex;gap:.9rem;margin-top:1.1rem}
.feature i{font-size:1.5rem;color:var(--cobalt)}
.feature b{display:block;color:var(--navy)}

/* signature strip */
.strip{padding:0;display:grid;grid-template-columns:repeat(6,1fr)}
.strip img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}

/* menu */
.menu{background:#fff}
.menu-bar{position:sticky;top:62px;z-index:50;background:#fff;border-bottom:1px solid var(--sand2);padding:.6rem 0;margin-bottom:2.5rem;overflow-x:auto;white-space:nowrap}
.menu-bar a{display:inline-block;margin:.15rem .2rem;padding:.3rem .9rem;border-radius:50px;background:var(--sand);color:var(--navy);font-size:.82rem;font-weight:600;text-decoration:none}
.menu-bar a:hover{background:var(--navy);color:#fff}
.cats{column-count:2;column-gap:3.5rem}
.cat{break-inside:avoid;margin-bottom:2.6rem}
.cat h3{font-size:1.7rem;color:var(--navy);border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:.15rem;margin-bottom:.5rem}
.cat-note{font-size:.84rem;color:#5a6676;font-style:italic;margin-bottom:.9rem}
.item{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dotted #c9bda8}
.item h4{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;margin:0;color:var(--ink)}
.item p{margin:.1rem 0 0;font-size:.86rem;color:#566273;line-height:1.45}
.price{font-family:'Fraunces',serif;font-weight:700;color:var(--cobalt);font-size:1.05rem;white-space:nowrap;text-align:right}
.price small{display:block;font-family:'DM Sans',sans-serif;font-weight:500;font-size:.7rem;color:#778}

/* drinks / specials / events */
.drinks{background:var(--navy);color:#fff}
.drinks .sec-title{color:#fff}.drinks .eyebrow{color:var(--gold)}
.drinks img{border-radius:18px;width:100%;height:auto}
.panel-card{background:var(--sand);border-radius:16px;padding:2rem;height:100%}
.panel-card h3{color:var(--navy);font-size:1.5rem}
.panel-card .bi{font-size:1.8rem;color:var(--cobalt)}
.event{display:flex;gap:1.1rem;align-items:center;background:#fff;border:1px solid var(--sand2);border-radius:14px;padding:1rem 1.3rem;height:100%}
.event .date{background:var(--navy);color:#fff;border-radius:10px;text-align:center;padding:.5rem .8rem;min-width:70px;font-family:'Fraunces',serif;line-height:1.1}
.event .date b{display:block;font-size:1.6rem;color:var(--gold)}
.event h4{font-family:'DM Sans',sans-serif;font-size:1.05rem;font-weight:700;margin:0;color:var(--navy)}
.event p{margin:0;font-size:.85rem;color:#566273}

/* functions / catering */
.functions{background:linear-gradient(180deg,var(--sand) 0,#fff 100%)}
.functions img{width:100%;height:auto;border-radius:18px}
.stat{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--cobalt);line-height:1}
.catering-box{background:var(--cobalt);color:#fff;border-radius:20px;padding:3rem}
.catering-box h2{color:#fff}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery-grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:14px;display:block}

/* reviews */
.reviews{background:var(--sand)}
.review{background:#fff;border-radius:16px;padding:1.6rem;height:100%;box-shadow:0 8px 24px rgba(12,42,77,.07)}
.review .stars{color:var(--gold);letter-spacing:2px}
.review p{font-size:.95rem}.review b{color:var(--navy)}

/* jobs */
.jobs{background:var(--olive);color:#fff;padding:4rem 0}
.jobs h2{color:#fff}

/* location */
.location iframe{width:100%;height:100%;min-height:380px;border:0;border-radius:18px}
.hours dt{color:var(--navy);margin-top:.9rem}
.hours dd{margin:0;color:#4a5667;font-size:.92rem}

/* footer */
footer{background:var(--navy);color:#cbd7e6;padding:3.5rem 0 1.5rem}
footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--gold)}
.foot-chip{background:var(--sand);border-radius:12px;padding:8px 12px;display:inline-block}
.foot-chip img{height:46px;width:auto;display:block}
.social a{display:inline-flex;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;align-items:center;justify-content:center;margin-right:.4rem}
.powered{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.2rem;font-size:.85rem}
.powered a{color:var(--gold);font-weight:700}

@media(max-width:991px){
 .hero{grid-template-columns:1fr;min-height:0}
 .hero-photo{order:-1;min-height:300px;margin-top:0}
 .hero{padding-top:62px}
 .hero-panel{padding:3rem 1.5rem}
 .cats{column-count:1}
 .section{padding:4rem 0}
 .strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:575px){
 .gallery-grid{grid-template-columns:repeat(2,1fr)}
 .navbar-brand{font-size:1rem}
 .nav-chip{display:none}
 .navbar-brand small{font-size:.58rem}
 .navbar-brand{flex:1 1 auto;min-width:0}
 .catering-box{padding:2rem 1.4rem}
}

body{overflow-x:hidden}
.menu-bar{max-width:100%}
@media(max-width:575px){.row.g-5{--bs-gutter-x:1.5rem}}
