:root{--ink:#142523;--paper:#f3eee5;--wine:#682f35;--gold:#d6a85f;--cream:#fffaf1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}
.nav{height:92px;padding:0 5vw;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff30}
.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-weight:600;letter-spacing:.18em;line-height:1.1}
.brand small{display:block;font-size:.58rem;letter-spacing:.28em;margin-top:6px;opacity:.75}
.flower{font-size:1.65rem;color:var(--gold)}
.nav nav{display:flex;align-items:center;gap:32px}
.nav nav>a{color:#fff;text-decoration:none;font-size:.9rem}
.book{display:inline-block;padding:14px 25px;background:var(--gold);color:var(--ink)!important;text-decoration:none;font-weight:600;border-radius:2px}
.book.compact{padding:11px 19px}
.menu-toggle{display:none}
.hero{height:min(860px,100svh);min-height:680px;position:relative;color:white;overflow:hidden}
.hero>img{width:100%;height:100%;object-fit:cover}
.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,11,.88) 0%,rgba(3,12,11,.46) 47%,rgba(3,12,11,.05) 80%),linear-gradient(0deg,rgba(3,12,11,.45),transparent 50%)}
.hero-copy{position:absolute;left:8vw;top:51%;transform:translateY(-45%);max-width:640px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;color:var(--gold);margin:0 0 22px}
.eyebrow.dark{color:var(--wine)}
h1,h2{font-family:"Playfair Display",serif;font-weight:600;line-height:1.03;margin:0}
h1{font-size:clamp(3.5rem,6.5vw,6.5rem);letter-spacing:-.045em}
h1 em,h2 em{font-weight:500}
.hero-copy>p:not(.eyebrow){font-size:1.12rem;max-width:520px;margin:26px 0;color:#f5eee4d9}
.actions{display:flex;align-items:center;gap:30px;margin-top:35px}
.text-link{color:white;text-decoration:none;border-bottom:1px solid #ffffff60;padding:9px 0}
.text-link span{margin-left:8px}
.scroll{position:absolute;bottom:32px;right:5vw;color:#fff;text-decoration:none;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase}
.scroll span{color:var(--gold);margin-left:14px}
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;padding:110px 10vw}
.intro h2,.story h2{font-size:clamp(2.7rem,4.5vw,5rem);letter-spacing:-.035em}
.intro-copy{padding-top:48px;max-width:470px}
.intro-copy p{font-size:1.1rem;margin:0 0 32px;color:#374744}
.outline{display:inline-block;border:1px solid var(--ink);padding:12px 20px;color:var(--ink);text-decoration:none;font-weight:600}
.menu-preview{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;padding:105px 10vw}
.menu-heading h2{font-size:clamp(2.7rem,4vw,4.4rem)}
.menu-heading>p:last-child{color:#d9d3c8;max-width:330px}
.menu-list article{padding:24px 0;border-top:1px solid #ffffff2b;display:flex;justify-content:space-between;gap:30px}
.menu-list article:last-child{border-bottom:1px solid #ffffff2b}
.menu-list h3{font-family:"Playfair Display",serif;font-size:1.55rem;margin:0 0 4px}
.menu-list p{margin:0;color:#bbbfb9}
.menu-list span{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.story{min-height:670px;padding:95px 10vw;background:linear-gradient(115deg,#d6a85f22,transparent 45%),var(--paper);display:flex;align-items:center;justify-content:flex-end}
.story-card{background:var(--cream);max-width:590px;padding:70px;box-shadow:0 24px 70px #1425231c;border-top:4px solid var(--wine)}
.story-card .large{display:block;font-size:2.3rem;margin-bottom:20px}
.story-card>p:last-child{font-size:1.06rem;color:#42504e}
.booking{text-align:center;padding:105px 20px;background:var(--wine);color:white}
.booking h2{font-size:clamp(3rem,5vw,5rem)}
.booking>p:not(.eyebrow){max-width:530px;margin:20px auto 30px;color:#f5e9e8}
.book.light{background:var(--cream)}
.booking small{display:block;margin-top:20px;color:#e8d0d1}
.booking-phone{display:block;width:max-content;margin:16px auto 0;color:var(--cream);font-size:1.05rem;font-weight:600;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid #ffffff70}
footer{padding:70px 6vw 30px;background:#0b1716;color:#dbe1de;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
footer h3{text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-size:.72rem}
footer p{margin:5px 0;font-size:.9rem;color:#9da9a6}
footer a{color:inherit}
.copyright{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:20px;margin-top:20px}
.footer-brand{align-self:start}
@media(max-width:760px){.nav{height:76px;padding:0 20px}
.menu-toggle{display:block;background:none;border:1px solid #ffffff70;color:#fff;padding:8px 12px;font:inherit}
.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--ink);padding:22px;flex-direction:column;align-items:stretch;gap:12px}
.nav nav.open{display:flex}
.nav nav>a{padding:8px}
.hero{min-height:720px}
.hero-copy{left:22px;right:22px;top:48%}
h1{font-size:3.45rem}
.hero-copy>p:not(.eyebrow){font-size:1rem}
.actions{align-items:flex-start;flex-direction:column;gap:12px}
.scroll{right:22px}
.intro,.menu-preview{grid-template-columns:1fr;padding:75px 24px;gap:35px}
.intro-copy{padding-top:0}
.story{padding:55px 20px}
.story-card{padding:42px 28px}
.booking{padding:75px 22px}
footer{grid-template-columns:1fr 1fr;padding:55px 24px 25px}
.footer-brand,.copyright{grid-column:1/-1}
}

/* Full restaurant menu */
.menu-preview{grid-template-columns:.28fr .72fr;gap:5vw;padding:105px 6vw}
.menu-heading{position:sticky;top:34px;align-self:start}
.menu-content{min-width:0}
.menu-tabs{display:flex;gap:8px;margin-bottom:34px;border-bottom:1px solid #ffffff2b}
.menu-tab{border:0;background:transparent;color:#aaa;padding:12px 22px;font:600 .82rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent}
.menu-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.menu-panel[hidden]{display:none}
.menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.menu-group{margin-bottom:42px}
.menu-group>h3{font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:600;margin:0 0 9px;color:var(--gold);border-bottom:1px solid #ffffff45;padding-bottom:9px}
.menu-group>h3 span{float:right;font:500 .72rem "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;padding-top:10px}
.menu-group article,.dessert-list article{padding:13px 0;border-bottom:1px solid #ffffff18;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.menu-group h4{font-family:"Playfair Display",serif;font-size:1.05rem;line-height:1.3;margin:0}
.menu-group h4 small{display:inline-grid;place-items:center;border:1px solid var(--gold);border-radius:50%;min-width:20px;height:20px;padding:0 4px;color:var(--gold);font:600 .55rem "DM Sans",sans-serif;vertical-align:2px}
.menu-group p,.dessert-list p{margin:3px 0 0;color:#bbbfb9;font-size:.84rem;line-height:1.45}
.menu-group b,.dessert-list b{color:var(--cream);font-size:.88rem;white-space:nowrap;font-weight:500;text-align:right}
.wines b{font-size:.75rem;line-height:1.65}
.menu-key,.allergen-note{color:#aeb7b2;font-size:.72rem}
.menu-key{letter-spacing:.07em;text-transform:uppercase}
.allergen-note{border-top:1px solid #ffffff2b;padding-top:20px;margin-top:18px}
.dessert-list{max-width:720px}
.dessert-list article{padding:24px 0}
.dessert-list h3{font-family:"Playfair Display",serif;font-size:1.55rem;margin:0}
@media(max-width:900px){.menu-preview{grid-template-columns:1fr}.menu-heading{position:static}.menu-columns{grid-template-columns:1fr 1fr;gap:35px}}
@media(max-width:760px){.menu-columns{grid-template-columns:1fr}.menu-tabs{position:sticky;top:0;background:var(--ink);z-index:2}.menu-tab{padding:12px 14px}}
