:root {
  --cream: #F6F0E5;
  --cream-2: #F2E8D8;
  --parchment: #EADCC8;
  --paper: #FBF7F0;
  --forest: #10281F;
  --forest-2: #16342A;
  --forest-3: #19372C;
  --burgundy: #651D29;
  --burgundy-2: #761F30;
  --walnut: #2E231E;
  --charcoal: #1E1D1A;
  --bronze: #7B6651;
  --line: rgba(16,40,31,.18);
  --line-light: rgba(246,240,229,.24);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --arabic: "Noto Naskh Arabic", serif;
  --max: 1380px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --fast: 380ms;
  --slow: 780ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--forest);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body[dir="rtl"] { font-family: var(--sans), var(--arabic); }
body[dir="rtl"] h1,
body[dir="rtl"] h2,
body[dir="rtl"] h3,
body[dir="rtl"] .brand-word { font-family: var(--arabic); letter-spacing: 0; }

img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--burgundy); color: var(--cream); }

.shell { width: min(calc(100% - 72px), var(--max)); margin-inline: auto; }
.section { padding-block: clamp(110px, 11vw, 180px); }
.cream { background: var(--cream); }
.parchment { background: var(--cream-2); }
.forest { background: var(--forest); color: var(--cream); }
.burgundy { background: var(--burgundy); color: var(--cream); }

.skip-link {
  position: fixed; top: 10px; inset-inline-start: 10px; z-index: 9999;
  transform: translateY(-160%); background: var(--cream); color: var(--forest);
  padding: 12px 16px; border: 1px solid var(--forest);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding-inline: max(28px, calc((100vw - var(--max))/2));
  color: var(--cream); transition: background var(--fast) var(--ease), color var(--fast) var(--ease), height var(--fast) var(--ease), border-color var(--fast) var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled { background: rgba(246,240,229,.96); color: var(--forest); height: 74px; border-color: var(--line); backdrop-filter: blur(14px); }
.brand { display: inline-flex; flex-direction: column; gap: 0; width: max-content; }
.brand-word { font: 500 34px/.9 var(--serif); letter-spacing: -.03em; }
.brand-meta { margin-top: 8px; font: 500 8px/1 var(--sans); text-transform: uppercase; letter-spacing: .22em; opacity: .78; }
.desktop-nav { display: flex; align-items: center; gap: 28px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.desktop-nav a { position: relative; padding-block: 7px; }
.desktop-nav a::after { content:""; position:absolute; inset-inline:0; bottom:0; height:1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform var(--fast) var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.language-switcher { display:flex; align-items:center; gap:5px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; white-space: nowrap; }
.language-switcher button { border:0; background:transparent; padding:4px 2px; cursor:pointer; opacity:.55; }
.language-switcher button.is-active { opacity:1; }

.button {
  min-height: 46px; display:inline-flex; align-items:center; justify-content:center; padding: 0 21px;
  border: 1px solid transparent; font-size: 11px; font-weight:600; text-transform:uppercase; letter-spacing:.11em;
  transition: background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);
}
.button:hover { transform: translateY(-1px); }
.button--light { background: var(--cream); color: var(--forest); }
.button--light:hover { background: var(--paper); }
.button--burgundy { background: var(--burgundy); color: var(--cream); }
.button--burgundy:hover { background: var(--burgundy-2); }
.button--forest { background: var(--forest); color: var(--cream); }
.button--forest:hover { background: var(--forest-2); }
.text-link { font-size:12px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid currentColor; padding-bottom:5px; }
.text-link--light { color: var(--cream); }
:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 4px; }
.forest :focus-visible, .burgundy :focus-visible, .hero :focus-visible { outline-color: var(--cream); }

.nav-toggle { display:none; width:42px; height:42px; border:0; background:transparent; padding:10px; cursor:pointer; }
.nav-toggle span { display:block; height:1px; background:currentColor; margin:7px 0; transition: transform var(--fast) var(--ease); }
.mobile-menu { display:none; }

.hero { position:relative; min-height: 100svh; color: var(--cream); background: var(--forest); overflow:hidden; }
.hero-media { position:absolute; inset:0; background-image:url("https://images.unsplash.com/photo-1745066113900-2dc0a449702b?auto=format&fit=crop&w=2400&q=84"); background-size:cover; background-position:center 53%; transform:scale(1.02); }
.hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,22,17,.76) 0%, rgba(8,22,17,.34) 52%, rgba(8,22,17,.18) 100%), linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.38) 100%); }
.hero-content { position:relative; min-height:100svh; display:grid; grid-template-columns: repeat(12,1fr); align-items:end; padding-top:160px; padding-bottom:84px; gap:24px; }
.hero-copy { grid-column:1 / span 8; align-self:center; max-width: 970px; }
.eyebrow { margin:0 0 20px; text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:600; }
.eyebrow.light { color:rgba(246,240,229,.78); }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; margin:0; line-height:.95; }
h1 { font-size:clamp(58px,7.1vw,112px); }
h2 { font-size:clamp(48px,5.5vw,88px); }
h3 { font-size:clamp(36px,3.7vw,58px); }
h1 em,h2 em { font-weight:400; }
.hero-description { margin:34px 0 0; max-width: 600px; font-size:15px; line-height:1.8; color:rgba(246,240,229,.8); }
.hero-ctas { margin-top:32px; display:flex; align-items:center; gap:28px; }
.hero-location { grid-column:10 / 13; justify-self:end; align-self:end; font-size:11px; text-transform:uppercase; letter-spacing:.14em; display:flex; flex-direction:column; gap:3px; text-align:end; }
.scroll-cue { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); width:26px; height:44px; display:grid; place-items:center; }
.scroll-cue span { width:1px; height:28px; background:rgba(246,240,229,.7); position:relative; }
.scroll-cue span::after { content:""; position:absolute; bottom:0; left:-2px; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }

.intro-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:start; }
.intro-kicker { grid-column:1 / 3; }
.section-number { margin:0 0 18px; font:500 11px/1 var(--sans); color:var(--burgundy); letter-spacing:.18em; }
.section-number.light { color:#D6B9A4; }
.intro-statement { grid-column:3 / 9; }
.intro-statement p { max-width:560px; margin:38px 0 0 auto; font-size:16px; color:rgba(16,40,31,.72); }
.intro-image { grid-column:8 / 13; margin-top:110px; height:650px; }
.image-frame { margin-inline:0; }
.image-frame img { min-height:100%; }
.image-frame figcaption { margin-top:12px; font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:rgba(16,40,31,.58); }

.feature-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; }
.feature-copy { grid-column:1 / 7; }
.feature-copy p:last-child { max-width:520px; margin:32px 0 0; color:rgba(246,240,229,.7); }
.feature-list { grid-column:8 / 13; border-top:1px solid var(--line-light); }
.feature-list div { display:flex; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid var(--line-light); font-size:13px; }
.feature-list div span:first-child { font-family:var(--serif); font-size:23px; }
.feature-list div span:last-child { font-size:11px; color:rgba(246,240,229,.65); white-space:nowrap; }

.grill-editorial { min-height:88vh; position:relative; display:grid; align-items:end; color:var(--cream); overflow:hidden; background:#23140e; }
.grill-image { position:absolute; inset:0; background-image:url("https://images.unsplash.com/photo-1765036741158-5a1698974257?auto=format&fit=crop&w=2400&q=84"); background-size:cover; background-position:center; }
.grill-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,10,8,.08),rgba(7,18,14,.82)); }
.grill-content { position:relative; padding-bottom:80px; }
.grill-content h2 { font-size:clamp(64px,8vw,126px); }
.grill-content > p:nth-of-type(2) { font:400 italic clamp(22px,2vw,32px)/1.4 var(--serif); margin:12px 0 28px; }
.grill-dishes { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:rgba(246,240,229,.73); }

.menu-heading { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; padding-bottom:85px; }
.menu-heading-copy { grid-column:1 / 8; }
.menu-intro { grid-column:9 / 13; margin:0; color:rgba(16,40,31,.68); font-size:14px; }
.menu-nav-wrap { position:sticky; top:74px; z-index:55; background:rgba(246,240,229,.95); backdrop-filter:blur(14px); border-block:1px solid var(--line); }
.menu-category-nav { display:flex; overflow-x:auto; scrollbar-width:none; gap:30px; align-items:center; height:58px; }
.menu-category-nav::-webkit-scrollbar { display:none; }
.menu-category-nav button { flex:0 0 auto; border:0; background:transparent; padding:0; font-size:10px; text-transform:uppercase; letter-spacing:.13em; cursor:pointer; color:rgba(16,40,31,.55); position:relative; height:100%; }
.menu-category-nav button::after { content:""; position:absolute; inset-inline:0; bottom:-1px; height:2px; background:var(--burgundy); transform:scaleX(0); transform-origin:left; transition:transform var(--fast) var(--ease); }
.menu-category-nav button.is-active { color:var(--forest); }
.menu-category-nav button.is-active::after { transform:scaleX(1); }
.menu-body { padding-block:90px 150px; }
.menu-category { scroll-margin-top:150px; display:grid; grid-template-columns:repeat(12,1fr); gap:24px; margin-bottom:120px; }
.menu-category-heading { grid-column:1 / 5; position:sticky; top:160px; align-self:start; }
.menu-category-heading .category-index { font-size:10px; letter-spacing:.18em; color:var(--burgundy); }
.menu-category-heading h3 { margin-top:8px; }
.menu-category-heading p { margin:16px 0 0; font-size:12px; color:rgba(16,40,31,.57); max-width:260px; }
.menu-items { grid-column:6 / 13; display:grid; grid-template-columns:1fr 1fr; column-gap:46px; align-items:start; }
.menu-row { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:baseline; min-height:72px; padding:18px 0; border-bottom:1px solid var(--line); }
.menu-row-name { font:500 22px/1.2 var(--serif); letter-spacing:-.01em; }
.menu-row-price { font-size:11px; letter-spacing:.07em; white-space:nowrap; color:rgba(16,40,31,.72); }
.menu-row-description { grid-column:1 / -1; margin-top:-10px; font-size:12px; color:rgba(16,40,31,.56); line-height:1.55; }
.menu-break { margin:20px 0 130px; display:grid; grid-template-columns:repeat(12,1fr); gap:24px; align-items:end; }
.menu-break-image { grid-column:1 / 9; height:560px; overflow:hidden; }
.menu-break-image img { transition:transform 1.1s var(--ease); }
.menu-break:hover img { transform:scale(1.025); }
.menu-break-note { grid-column:10 / 13; padding-bottom:10px; }
.menu-break-note .eyebrow { color:var(--burgundy); }
.menu-break-note p:last-child { font:400 italic 28px/1.25 var(--serif); margin:0; }

.sharing-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:start; }
.sharing-copy { grid-column:1 / 7; }
.sharing-copy p:last-child { max-width:430px; margin-top:26px; color:rgba(16,40,31,.66); }
.sharing-prices { grid-column:8 / 13; border-top:1px solid var(--line); }
.sharing-prices div { display:flex; justify-content:space-between; gap:25px; padding:22px 0; border-bottom:1px solid var(--line); }
.sharing-prices strong { font:500 24px/1.25 var(--serif); }
.sharing-prices span { font-size:11px; white-space:nowrap; color:rgba(16,40,31,.68); }
.sharing-image { grid-column:3 / 13; margin-top:80px; height:650px; }

.beverage-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:center; }
.beverage-image { background-size:cover; background-position:center; min-height:560px; }
.beverage-fruit { grid-column:1 / 5; background-image:url("https://images.unsplash.com/photo-1561998289-5804fd19b83a?auto=format&fit=crop&w=1400&q=82"); }
.beverage-copy { grid-column:6 / 10; padding-inline:20px; }
.beverage-copy p:nth-of-type(2) { color:rgba(16,40,31,.66); margin-top:26px; }
.beverage-notes { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:30px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--burgundy); }
.beverage-tea { grid-column:10 / 13; min-height:390px; align-self:end; background-image:url("https://images.unsplash.com/photo-1770162151467-cd1465c79aed?auto=format&fit=crop&w=1200&q=82"); }

.story-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; }
.story-intro { grid-column:1 / 7; }
.story-intro p:last-child { max-width:520px; color:rgba(246,240,229,.67); margin-top:34px; }
.story-chapters { grid-column:8 / 13; list-style:none; margin:0; padding:0; border-top:1px solid var(--line-light); }
.story-chapters li { display:grid; grid-template-columns:38px 1fr; gap:4px 18px; padding:22px 0; border-bottom:1px solid var(--line-light); }
.story-chapters li span { font-size:10px; color:#D6B9A4; }
.story-chapters li strong { font:500 27px/1 var(--serif); }
.story-chapters li small { grid-column:2; color:rgba(246,240,229,.58); font-size:11px; }

.gallery-heading { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; margin-bottom:80px; }
.gallery-heading > div { grid-column:1 / 4; }
.gallery-heading h2 { grid-column:4 / 13; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:100px; gap:22px; }
.gallery-grid figure { margin:0; overflow:hidden; }
.gallery-grid img { transition:transform 1.2s var(--ease); }
.gallery-grid figure:hover img { transform:scale(1.025); }
.gallery-a { grid-column:1 / 8; grid-row:1 / span 6; }
.gallery-b { grid-column:9 / 13; grid-row:2 / span 4; }
.gallery-c { grid-column:1 / 5; grid-row:7 / span 4; }
.gallery-d { grid-column:6 / 10; grid-row:7 / span 5; }
.gallery-e { grid-column:10 / 13; grid-row:6 / span 5; }

.private-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; }
.private-copy { grid-column:1 / 8; }
.private-detail { grid-column:9 / 13; }
.private-detail p { color:rgba(246,240,229,.74); margin:0 0 28px; }

.reservation-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:start; }
.reservation-copy { grid-column:1 / 6; position:sticky; top:120px; }
.reservation-copy p:last-child { max-width:440px; color:rgba(16,40,31,.66); margin-top:28px; }
.reservation-form { grid-column:7 / 13; display:grid; grid-template-columns:1fr 1fr; column-gap:30px; }
.field { display:flex; flex-direction:column; gap:8px; border-bottom:1px solid var(--line); padding:16px 0 14px; }
.field--wide { grid-column:1 / -1; }
.field label { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:rgba(16,40,31,.63); }
.field input,.field select,.field textarea { width:100%; background:transparent; color:var(--forest); border:0; border-radius:0; padding:6px 0; outline:0; font:500 22px/1.25 var(--serif); }
.field textarea { resize:vertical; min-height:64px; }
.field:focus-within { border-bottom-color:var(--burgundy); }
.reservation-form .button { margin-top:28px; width:max-content; }
.form-status { margin:16px 0 0; padding:0; border:0; font-size:12px; color:var(--burgundy); }

.location-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:stretch; }
.location-copy { grid-column:1 / 6; }
.location-address { font:400 28px/1.4 var(--serif); margin:22px 0 36px; }
.location-meta { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.location-meta div { padding:18px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.location-meta span { font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:rgba(16,40,31,.55); }
.location-meta strong { font-weight:500; font-size:12px; }
.location-actions { display:flex; gap:24px; align-items:center; margin-top:30px; }
.location-note { font-size:10px; line-height:1.5; color:rgba(16,40,31,.48); margin-top:28px; max-width:420px; }
.map-wrap { grid-column:7 / 13; min-height:590px; filter:saturate(.6) contrast(.92); border:1px solid var(--line); }
.map-wrap iframe { border:0; width:100%; height:100%; min-height:590px; }

.footer { padding-top:120px; padding-bottom:26px; }
.footer-top { display:grid; grid-template-columns:6fr 2fr 3fr; gap:60px; padding-bottom:90px; }
.brand--footer { margin-bottom:56px; }
.footer h2 { font-size:clamp(52px,5.7vw,90px); }
.footer-links { display:flex; flex-direction:column; gap:14px; padding-top:4px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.footer-meta { color:rgba(246,240,229,.62); font-size:12px; }
.footer-meta p { margin:0 0 22px; }
.footer-bottom { border-top:1px solid var(--line-light); padding-top:22px; display:flex; justify-content:space-between; gap:20px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:rgba(246,240,229,.55); }
.footer-language button { color:var(--cream); }

.mobile-actions { display:none; }
.toast { position:fixed; z-index:300; left:50%; bottom:30px; transform:translate(-50%,30px); opacity:0; pointer-events:none; background:var(--forest); color:var(--cream); padding:13px 18px; font-size:11px; transition:opacity var(--fast) var(--ease), transform var(--fast) var(--ease); }
.toast.is-visible { opacity:1; transform:translate(-50%,0); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity var(--slow) var(--ease), transform var(--slow) var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
.delay-1 { transition-delay:120ms; }

@media (max-width: 1120px) {
  .site-header { grid-template-columns:1fr 1fr; }
  .desktop-nav, .desktop-reserve { display:none; }
  .nav-toggle { display:block; }
  .mobile-menu { display:block; position:fixed; z-index:90; inset:0; background:var(--forest); color:var(--cream); visibility:hidden; opacity:0; transition:opacity var(--fast) var(--ease), visibility var(--fast); }
  .mobile-menu.is-open { visibility:visible; opacity:1; }
  .mobile-menu nav { min-height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; font:400 42px/1.05 var(--serif); }
  .mobile-menu .button { margin-top:12px; font-family:var(--sans); font-size:10px; }
  .header-actions { gap:12px; }
  .hero-copy { grid-column:1 / span 10; }
  .menu-category-heading { grid-column:1 / 4; }
  .menu-items { grid-column:5 / 13; }
  .beverage-copy { grid-column:6 / 10; }
}

@media (max-width: 760px) {
  :root { --max: 100%; }
  body { padding-bottom:58px; }
  .shell { width:min(calc(100% - 36px), var(--max)); }
  .section { padding-block:82px; }
  .site-header { height:74px; padding-inline:18px; }
  .site-header.is-scrolled { height:66px; }
  .brand-word { font-size:29px; }
  .brand-meta { font-size:7px; letter-spacing:.17em; }
  .language-switcher { font-size:9px; }
  .menu-nav-wrap { top:66px; }
  .mobile-menu nav { align-items:flex-start; padding-inline:32px; font-size:46px; }

  .hero-content { grid-template-columns:1fr; min-height:100svh; padding-top:130px; padding-bottom:82px; }
  .hero-copy, .hero-location { grid-column:auto; }
  .hero-copy { align-self:center; }
  h1 { font-size:clamp(52px,15vw,78px); }
  h2 { font-size:clamp(46px,13vw,66px); }
  h3 { font-size:clamp(38px,10vw,50px); }
  .hero-description { font-size:14px; margin-top:26px; }
  .hero-ctas { align-items:flex-start; flex-direction:column; gap:18px; }
  .hero-location { justify-self:start; text-align:start; align-self:end; }
  .scroll-cue { display:none; }

  .intro-grid, .feature-grid, .menu-heading, .sharing-grid, .beverage-grid, .story-grid, .gallery-heading, .private-grid, .reservation-grid, .location-grid { grid-template-columns:1fr; gap:36px; }
  .intro-kicker, .intro-statement, .intro-image, .feature-copy, .feature-list, .menu-heading-copy, .menu-intro, .sharing-copy, .sharing-prices, .sharing-image, .beverage-fruit, .beverage-copy, .beverage-tea, .story-intro, .story-chapters, .gallery-heading > div, .gallery-heading h2, .private-copy, .private-detail, .reservation-copy, .reservation-form, .location-copy, .map-wrap { grid-column:auto; }
  .intro-statement p { margin:28px 0 0; }
  .intro-image { margin-top:10px; height:460px; }
  .feature-list { margin-top:14px; }
  .feature-list div span:first-child { font-size:21px; }
  .grill-editorial { min-height:78vh; }
  .grill-content { padding-bottom:54px; }
  .grill-content h2 { font-size:clamp(58px,15vw,86px); }

  .menu-heading { padding-block:80px 58px; }
  .menu-intro { max-width:500px; }
  .menu-category-nav { gap:24px; height:54px; width:calc(100% - 24px); margin-inline:12px; }
  .menu-body { padding-block:68px 90px; }
  .menu-category { grid-template-columns:1fr; margin-bottom:92px; gap:18px; }
  .menu-category-heading, .menu-items { grid-column:auto; }
  .menu-category-heading { position:static; }
  .menu-category-heading h3 { font-size:46px; }
  .menu-category-heading p { max-width:420px; }
  .menu-items { grid-template-columns:1fr; }
  .menu-row { min-height:auto; padding:17px 0; }
  .menu-row-name { font-size:20px; }
  .menu-row-price { font-size:12px; }
  .menu-break { grid-template-columns:1fr; margin-bottom:95px; gap:22px; }
  .menu-break-image, .menu-break-note { grid-column:auto; }
  .menu-break-image { height:420px; }
  .menu-break-note p:last-child { font-size:26px; }

  .sharing-image { margin-top:20px; height:420px; }
  .beverage-fruit { min-height:430px; }
  .beverage-copy { padding:18px 0; }
  .beverage-tea { min-height:360px; width:72%; margin-inline-start:auto; }
  .story-chapters { margin-top:20px; }
  .gallery-heading { margin-bottom:34px; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:190px; gap:10px; }
  .gallery-a { grid-column:1 / -1; grid-row:auto; height:420px; }
  .gallery-b,.gallery-c,.gallery-d,.gallery-e { grid-column:auto; grid-row:auto; height:260px; }
  .gallery-e { grid-column:1 / -1; }

  .reservation-copy { position:static; }
  .reservation-form { grid-template-columns:1fr; }
  .field--wide { grid-column:auto; }
  .field input,.field select,.field textarea { font-size:21px; }
  .map-wrap, .map-wrap iframe { min-height:400px; }
  .location-meta { grid-template-columns:1fr; }
  .location-actions { flex-wrap:wrap; }

  .footer { padding-top:82px; }
  .footer-top { grid-template-columns:1fr; gap:42px; padding-bottom:60px; }
  .brand--footer { margin-bottom:42px; }
  .footer-bottom { flex-direction:column; }
  .footer-language { font-size:8px; }

  .mobile-actions { position:fixed; display:grid; grid-template-columns:repeat(4,1fr); z-index:85; inset:auto 0 0; height:58px; background:rgba(246,240,229,.97); border-top:1px solid var(--line); backdrop-filter:blur(14px); }
  .mobile-actions a,.mobile-actions button { border:0; border-inline-end:1px solid var(--line); background:transparent; display:grid; place-items:center; font-size:9px; text-transform:uppercase; letter-spacing:.08em; padding:0 6px; }
  .mobile-actions .is-primary { background:var(--burgundy); color:var(--cream); }
  .mobile-actions button { cursor:pointer; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
}

/* Menu photography — sourced from the supplied Vintage archive */
.menu-row { display:grid; grid-template-columns:112px minmax(0,1fr); gap:22px; align-items:center; }
.menu-item-image { width:112px; aspect-ratio:1/1; padding:0; border:0; background:transparent; overflow:hidden; cursor:zoom-in; }
.menu-item-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.menu-item-image:hover img, .menu-item-image:focus-visible img { transform:scale(1.045); }
.menu-item-image:focus-visible { outline:2px solid var(--burgundy, #651D29); outline-offset:4px; }
.menu-row-copy { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 18px; align-items:start; }
.menu-row-description { grid-column:1 / -1; }
.menu-image-modal { width:min(92vw, 860px); max-height:92vh; padding:0; border:0; background:#10281f; color:#f6f0e5; box-shadow:0 28px 90px rgba(0,0,0,.42); }
.menu-image-modal::backdrop { background:rgba(7,17,13,.84); backdrop-filter:blur(5px); }
.menu-image-modal figure { margin:0; }
.menu-image-modal img { display:block; width:100%; max-height:78vh; object-fit:contain; background:#0c211a; }
.menu-image-modal figcaption { padding:18px 22px 20px; font-family:var(--serif); font-size:clamp(20px,2vw,28px); }
.menu-image-close { position:absolute; z-index:2; top:12px; right:12px; width:42px; height:42px; border:1px solid rgba(246,240,229,.45); border-radius:50%; background:rgba(12,33,26,.72); color:#f6f0e5; font-size:27px; line-height:1; cursor:pointer; }
[dir="rtl"] .menu-image-close { right:auto; left:12px; }
@media (max-width: 700px) {
  .menu-row { grid-template-columns:82px minmax(0,1fr); gap:15px; }
  .menu-item-image { width:82px; }
  .menu-row-copy { gap:5px 10px; }
}


/* Separate landing / menu experience */
.desktop-nav a.is-current::after { transform:scaleX(1); }
.menu-teaser { overflow:hidden; }
.menu-teaser-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:center; }
.menu-teaser-copy { grid-column:1 / 6; }
.menu-teaser-copy h2 { max-width:720px; }
.menu-teaser-intro { max-width:540px; margin:32px 0 34px; color:rgba(16,40,31,.68); }
.menu-teaser-visual { grid-column:7 / 13; display:grid; grid-template-columns:1fr .58fr; grid-template-rows:1fr auto; gap:18px; align-items:end; }
.menu-teaser-main { margin:0; height:620px; overflow:hidden; }
.menu-teaser-small { margin:0 0 62px; height:310px; overflow:hidden; }
.menu-teaser-main img, .menu-teaser-small img { transition:transform 1.1s var(--ease); }
.menu-teaser-visual:hover img { transform:scale(1.025); }
.menu-teaser-list { grid-column:1 / -1; border-top:1px solid var(--line); }
.menu-teaser-list div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
.menu-teaser-list span:first-child { font:500 20px/1.2 var(--serif); }
.menu-teaser-list span:last-child { font-size:10px; letter-spacing:.08em; color:rgba(16,40,31,.62); white-space:nowrap; }

.menu-page-hero { min-height:58vh; display:flex; align-items:flex-end; padding:180px 0 78px; }
.menu-page-hero-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; }
.menu-page-hero-grid > div:first-child { grid-column:1 / 9; }
.menu-page-hero h1 { font-size:clamp(64px,8.3vw,128px); max-width:1100px; }
.menu-page-intro { grid-column:9 / 13; padding-bottom:10px; }
.menu-page-intro p { margin:0 0 28px; max-width:390px; color:rgba(246,240,229,.72); font-size:14px; }
.menu-page-intro span { font-size:9px; text-transform:uppercase; letter-spacing:.18em; color:rgba(246,240,229,.55); }
.menu-page .menu-body { padding-top:96px; }
.menu-page .menu-nav-wrap { top:74px; }
.menu-closing { padding:110px 0; border-top:1px solid var(--line); }
.menu-closing-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; align-items:end; }
.menu-closing-grid > div:first-child { grid-column:1 / 9; }
.menu-closing h2 { font-size:clamp(46px,5vw,76px); }
.menu-closing-actions { grid-column:10 / 13; display:flex; flex-direction:column; align-items:flex-start; gap:24px; }

@media (max-width: 760px) {
  .menu-teaser-grid, .menu-page-hero-grid, .menu-closing-grid { grid-template-columns:1fr; gap:34px; }
  .menu-teaser-copy, .menu-teaser-visual, .menu-page-hero-grid > div:first-child, .menu-page-intro, .menu-closing-grid > div:first-child, .menu-closing-actions { grid-column:auto; }
  .menu-teaser-visual { grid-template-columns:1fr .58fr; gap:10px; }
  .menu-teaser-main { height:420px; }
  .menu-teaser-small { height:220px; margin-bottom:42px; }
  .menu-teaser-list { font-size:12px; }
  .menu-page-hero { min-height:62vh; padding:132px 0 60px; }
  .menu-page-hero h1 { font-size:clamp(54px,16vw,78px); }
  .menu-page-intro { max-width:520px; }
  .menu-page .menu-nav-wrap { top:66px; }
  .menu-closing { padding:82px 0; }
}
