@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap');
:root{--cream:hsl(37,35%,93%);--ink:hsl(40,7%,8%);--gold:hsl(37,40%,61%);--muted:hsl(40,6%,35%);
--serif:"Libre Caslon Text","adobe-caslon-pro",Georgia,serif;--sans:"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.7 var(--sans)}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:.02em;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,5vw,4rem)}h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}h3{font-size:1.4rem}
.eyebrow{font-family:var(--serif);text-transform:uppercase;letter-spacing:.18em;font-size:.95rem;color:var(--gold)}
header{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1px solid hsla(40,7%,8%,.12)}
.nav{max-width:1300px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw}
.nav .logo img{height:58px}
.nav ul{list-style:none;display:flex;gap:2.2rem;margin:0;padding:0}
.nav ul a{text-decoration:none;font-family:var(--serif);font-size:1.05rem}
.nav ul a:hover,.nav ul a.active{color:var(--gold)}
.btn{display:inline-block;padding:.85em 1.8em;background:var(--ink);color:var(--cream)!important;text-decoration:none;font-family:var(--serif);letter-spacing:.06em;border:1px solid var(--ink);transition:.2s}
.btn:hover{background:transparent;color:var(--ink)!important}
.btn.light{background:var(--cream);color:var(--ink)!important;border-color:var(--cream)}.btn.light:hover{background:transparent;color:var(--cream)!important}
.burger{display:none;background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--ink)}
section{padding:96px 6vw}.wrap{max-width:1100px;margin:auto}.narrow{max-width:720px;margin:auto;text-align:center}
.hero{position:relative;min-height:min(82vh,780px);display:flex;align-items:flex-end;padding:0;color:var(--cream)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.65))}
.hero .inner{position:relative;z-index:1;padding:8vh 6vw;max-width:900px}
.dark{background:var(--ink);color:var(--cream)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px}
.gallery img{aspect-ratio:3/4;object-fit:cover;width:100%}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;text-align:center}
.cards img{width:64px;margin:0 auto 1rem}
.hours{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 3rem;max-width:620px;margin:2rem auto;text-align:left}
.hours div{border-top:1px solid var(--gold);padding-top:.6rem}.hours b{font-family:var(--serif);font-weight:400;display:block;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;color:var(--gold)}
.menu-sec{margin-bottom:4rem}.menu-sec h2{text-align:center;border-bottom:1px solid var(--gold);padding-bottom:.5em}
.item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px dashed hsla(40,7%,8%,.15)}
.item h4{margin:0;font-size:1.1rem;letter-spacing:.06em}.item p{margin:.1rem 0 0;color:var(--muted);font-size:.95rem}
.price{font-family:var(--serif);white-space:nowrap}
.ph{background:#fff3c4;border:1px dashed #b8860b;color:#6b4e00;padding:.15em .5em;font-size:.85em;font-family:var(--sans)}
blockquote{font-family:var(--serif);font-size:1.3rem;font-style:italic;margin:0 0 2rem}
.contacts{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}
footer{background:var(--ink);color:var(--cream);padding:70px 6vw 40px;text-align:center}
footer img{height:70px;margin:0 auto 1.2rem}footer a{color:var(--gold)}footer small{opacity:.6;display:block;margin-top:2rem}
@media(max-width:860px){
 .burger{display:block}.nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);padding:1rem 6vw 2rem;border-bottom:1px solid #ccc}
 .nav ul.open{display:flex}.nav ul li{padding:.7rem 0;font-size:1.3rem}
 .split,.cards,.contacts,.hours{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}section{padding:64px 6vw}.nav .logo img{height:46px}}
.event-form{margin:2.5rem auto 1.5rem;display:grid;gap:1.2rem}
.event-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem}
.event-form label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--serif);font-size:.95rem;letter-spacing:.04em}
.event-form input,.event-form select,.event-form textarea{font:inherit;font-family:var(--sans);font-size:1rem;padding:.75em .8em;border:1px solid hsla(40,7%,8%,.3);background:#fff;color:var(--ink);border-radius:0;width:100%}
.event-form input:focus,.event-form select:focus,.event-form textarea:focus{outline:2px solid var(--gold);outline-offset:0}
.event-form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center}
.event-form legend{font-family:var(--serif);font-size:.95rem;letter-spacing:.04em;margin-bottom:.4rem;width:100%}
.event-form label.radio{flex-direction:row;align-items:center;font-family:var(--sans)}.event-form label.radio input{width:auto}
.hp{position:absolute;left:-9999px}
footer{border-top:1px solid hsla(37,40%,61%,.35)}
@media(max-width:860px){.event-form .grid2{grid-template-columns:1fr}}
.eyebrow-lg{font-size:1.35rem}
