:root{--ink:#151310;--paper:#f1ede4;--gold:#c4a56a;--line:#3b352d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.6 var(--sans)}button,a{font:inherit}a{color:inherit;text-decoration:none}.header{height:76px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;inset:0 0 auto;z-index:4}.logo{font-weight:700;letter-spacing:.16em}.header nav{display:flex;align-items:center;gap:28px;font-size:.85rem}.link-button,.header nav a{color:var(--paper);background:none;border:0;padding:8px 0;cursor:pointer}.link-button{border-bottom:1px solid var(--gold)}.menu-toggle{display:none;background:none;color:inherit;border:0}.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:130px clamp(20px,7vw,110px) 8vw;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.46)}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-copy{position:relative;z-index:1;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--gold)}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;margin:.35em 0}h1{font-size:clamp(3.2rem,7.5vw,7rem)}h2{font-size:clamp(2.3rem,4.5vw,4.5rem)}.hero-copy>p:not(.eyebrow){max-width:520px}.primary{background:var(--paper);color:var(--ink);border:1px solid var(--paper);padding:14px 22px;cursor:pointer;margin-top:20px}.primary:hover{background:transparent;color:var(--paper)}.intro,.menu-section,.visit{padding:clamp(80px,12vw,160px) clamp(20px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-bottom:1px solid var(--line)}.intro h2{margin-top:0}.intro>p:last-child{max-width:580px;align-self:end}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:4vw;align-items:end}.tabs{display:flex;gap:18px;grid-column:2}.tabs button{background:none;border:0;border-bottom:1px solid transparent;color:#999;padding:8px 0;cursor:pointer}.tabs button.active{color:var(--paper);border-color:var(--gold)}.menu-list{margin:50px 0 20px;border-top:1px solid var(--line)}.menu-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.menu-item h3,.menu-item p{margin:0}.menu-item p{color:#aaa;font-size:.9rem}.menu-item span{color:var(--gold)}.menu-note{color:#aaa;font-size:.85rem}.visit{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.visit strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}footer{padding:30px clamp(20px,4vw,64px);display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}footer button{color:var(--gold);background:none;border:0;cursor:pointer}dialog{width:min(560px,calc(100% - 30px));background:var(--ink);color:var(--paper);border:1px solid var(--line);padding:35px}dialog::backdrop{background:rgba(0,0,0,.72)}.close{position:absolute;right:18px;top:12px;background:none;border:0;color:inherit;font-size:2rem;cursor:pointer}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:6px;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}input,select{padding:13px;border:1px solid var(--line);background:#201d19;color:var(--paper);font:inherit}form .primary{grid-column:1/-1}.success{border-top:1px solid var(--line);padding-top:20px}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:720px){.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--ink);padding:24px;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.menu-toggle{display:block}.intro,.section-head,.visit{grid-template-columns:1fr}.tabs{grid-column:1}.visit-grid{grid-template-columns:1fr}footer{flex-direction:column}.hero{padding-bottom:60px}form{grid-template-columns:1fr}}
:root body.subpage{padding-top:76px}.subpage .header{position:fixed;background:var(--ink)}.page-intro{padding:clamp(80px,12vw,170px) clamp(20px,7vw,110px) clamp(55px,8vw,100px);max-width:1100px}.page-intro h1{font-size:clamp(3.8rem,8vw,8rem)}.page-intro>p:last-child{max-width:620px}.feature-photo{margin:0 clamp(20px,4vw,64px)}.feature-photo img{display:block;width:100%;max-height:78vh;object-fit:cover}.feature-photo figcaption{padding:10px 0;color:#999;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.story-columns{padding:clamp(80px,12vw,160px) clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr 3fr;gap:7vw}.story-columns div{max-width:850px}.story-columns p:not(.eyebrow){max-width:620px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts article{padding:clamp(35px,6vw,80px);border-right:1px solid var(--line);display:grid;gap:8px}.facts strong{font:400 clamp(3rem,6vw,6rem) var(--serif);color:var(--gold)}.facts span{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.menu-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.menu-pair>div{padding:clamp(50px,8vw,110px);border-right:1px solid var(--line)}.menu-pair strong{color:var(--gold)}@media(max-width:720px){.story-columns,.facts,.menu-pair{grid-template-columns:1fr}.facts article,.menu-pair>div{border-right:0;border-bottom:1px solid var(--line)}}
.restaurant-subpage{padding-top:76px}.restaurant-subpage .header{position:fixed;background:var(--ink)}.reservation-page{display:grid;grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 76px)}.reservation-intro{padding:clamp(55px,8vw,115px);border-right:1px solid var(--line)}.reservation-intro h1{font-size:clamp(4rem,7vw,7rem)}.reservation-intro>p:not(.eyebrow){max-width:520px}.reservation-intro img{display:block;width:100%;margin-top:60px;aspect-ratio:1.4;object-fit:cover}.reservation-form{padding:clamp(45px,7vw,100px);align-content:center;display:grid;grid-template-columns:1fr;gap:18px}.reservation-form h2{font-size:clamp(2.6rem,4vw,4.2rem)}.reservation-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-form textarea{padding:13px;border:1px solid var(--line);background:#201d19;color:var(--paper);font:inherit;resize:vertical}.reservation-form .primary{grid-column:auto}.reservation-form button:disabled{opacity:.55}.reservation-note{border-top:1px solid var(--line);padding-top:20px;color:#aaa}.reservation-note strong{color:var(--paper)}@media(max-width:760px){.reservation-page{grid-template-columns:1fr}.reservation-intro{border-right:0;border-bottom:1px solid var(--line);padding:55px 22px}.reservation-form{padding:55px 22px}.reservation-form .form-row{grid-template-columns:1fr}.reservation-intro img{margin-top:35px}}
