:root{--cream:#f3ede2;--cream-2:#e9e1d2;--green:#1e3a2f;--ink:#20211d;--muted:#6d6a60;--brass:#b08d4f}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px clamp(20px,4vw,60px);border-bottom:1px solid #d8cfbd;gap:20px}
.since{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:Helvetica,Arial,sans-serif}
.brand{font-size:26px;letter-spacing:.06em;text-transform:uppercase}
.brand.small{font-size:18px;margin:0 0 10px}
.top nav{display:flex;gap:26px;justify-self:end;font-family:Helvetica,Arial,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.top nav a:hover{color:var(--ink)}
.hero{position:relative;height:min(74vh,640px);overflow:hidden;background:#222}
.hero img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,9,.92) 0%,rgba(8,12,9,.72) 45%,rgba(8,12,9,.28) 100%)}
.hero-inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:24px clamp(24px,6vw,96px);max-width:760px;color:#fdfaf2}
.kicker{margin:0 0 18px;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.85}
.hero h1{margin:0;font-size:clamp(40px,6vw,76px);font-weight:400;line-height:1.02;letter-spacing:-.02em}
.hero em{font-style:italic;color:#e9d7ad}
.sub{max-width:52ch;margin:22px 0 0;font-size:17px;color:#efe9dc}
.btn{display:inline-block;margin-top:28px;padding:14px 30px;border:1px solid #fdfaf2;font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;transition:.25s}
.btn:hover{background:#fdfaf2;color:var(--green)}
.btn.light{border-color:#f3ede2;color:#f3ede2}
.btn.light:hover{background:#f3ede2;color:var(--green)}
.intro{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:clamp(48px,7vw,96px) clamp(20px,4vw,60px);border-bottom:1px solid #d8cfbd;align-items:start}
.label{margin:0;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.statement{margin:0;max-width:34ch;font-size:clamp(24px,2.8vw,34px);line-height:1.35;letter-spacing:-.01em}
.menu{padding:clamp(48px,7vw,96px) clamp(20px,4vw,60px);background:#f7f2e8;border-bottom:1px solid #d8cfbd}
.menu-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:52px}
.menu-head h2{margin:0;font-size:clamp(30px,3.6vw,48px);font-weight:400;line-height:1.05}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px)}
.menu-cols h3{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #20211d;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.menu-cols ul{list-style:none;margin:0;padding:0}
.menu-cols li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px dotted #c9bfa9}
.menu-cols li span:first-child{flex:1}
.price{white-space:nowrap;font-size:16px;color:var(--muted)}
.menu-note{max-width:60ch;margin:40px 0 0;font-size:15px;color:var(--muted);font-style:italic}
.reserve{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;background:var(--green);color:#f3ede2;padding:clamp(48px,7vw,96px) clamp(20px,4vw,60px)}
.reserve .label{color:#a7b8ac}
.reserve h2{margin:14px 0 0;font-size:clamp(30px,3.6vw,48px);font-weight:400;line-height:1.05}
.reserve-text{max-width:44ch;margin:18px 0 0;color:#cdd8ce}
.reserve-card{border:1px solid #4f6859;padding:28px}
.phone{margin:0;font-size:clamp(24px,2.6vw,32px);letter-spacing:.02em}
.hours{margin:10px 0 0;font-size:14px;color:#cdd8ce;font-family:Helvetica,Arial,sans-serif}
footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:clamp(40px,5vw,64px) clamp(20px,4vw,60px) 22px;background:#171a16;color:#cfc9bb;font-family:Helvetica,Arial,sans-serif;font-size:14px}
footer p{margin:0 0 6px}
footer .label{color:#8b8a80;margin-bottom:10px}
.legal{grid-column:1/-1;border-top:1px solid #33362f;padding-top:16px;margin-top:24px;font-size:11px;color:#8b8a80}
@media(max-width:860px){.top{grid-template-columns:1fr auto}.since{display:none}.intro,.menu-head,.menu-cols,.reserve,footer{grid-template-columns:1fr}.hero{height:70vh}}
