/* ───────────────────────── Drimo Eat & Drink ─────────────────────────
   Warm, editorial, tactile. Espresso ground, gold used with restraint.
   ─────────────────────────────────────────────────────────────────── */

:root{
  --espresso:#2E2017;
  --espresso-deep:#241810;
  --brown:#5C4326;
  --gold:#C8861D;
  --gold-soft:#d6a04a;
  --terra:#A65A2E;
  --cream:#F3EBDD;
  --cream-dim:rgba(243,235,221,.62);
  --cream-faint:rgba(243,235,221,.34);
  --moss:#6E7257;

  --line:rgba(243,235,221,.16);
  --line-gold:rgba(200,134,29,.42);

  --display:'Cormorant Garamond', Georgia, serif;
  --body:'Hanken Grotesk', system-ui, sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
  --slow:.9s var(--ease);

  --maxw:1280px;
  --gutter:clamp(22px, 5vw, 84px);
}

/* font swap via tweak */
body[data-display="fraunces"]{ --display:'Fraunces', Georgia, serif; }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{
  margin:0;
  background:var(--espresso);
  color:var(--cream);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  font-weight:350;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--gold); color:var(--espresso-deep); }

/* grain overlay */
body::after{
  content:"";
  position:fixed; inset:0; z-index:9998; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── type system ───────────────────────────────────────────── */
.kicker{
  font-family:var(--body);
  font-size:12px; font-weight:500;
  letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold-soft);
}
.kicker.cream{ color:var(--cream-dim); }
h1,h2,h3{ font-family:var(--display); font-weight:500; margin:0; line-height:1.04; letter-spacing:.005em; }
.display-xl{ font-size:clamp(58px, 11vw, 168px); font-weight:500; }
.display-l{ font-size:clamp(40px, 6.5vw, 92px); }
.display-m{ font-size:clamp(30px, 4.4vw, 58px); }
.serif-it{ font-family:var(--display); font-style:italic; font-weight:500; }
.lede{ font-size:clamp(19px,2vw,23px); line-height:1.72; color:var(--cream-dim); font-weight:350; }
.muted{ color:var(--cream-dim); }

.section{ padding:clamp(80px,12vh,160px) var(--gutter); position:relative; }
.wrap{ max-width:var(--maxw); margin:0 auto; }

/* hairline rule */
.rule{ height:1px; background:var(--line); border:0; margin:0; }

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--body); font-size:13px; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  padding:1.15em 2.1em; cursor:pointer;
  border:1px solid var(--line-gold); color:var(--cream);
  background:transparent; position:relative; overflow:hidden;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--gold); transform:translateY(101%);
  transition:transform .45s var(--ease);
}
.btn:hover{ color:var(--espresso-deep); border-color:var(--gold); }
.btn:hover::before{ transform:translateY(0); }
.btn .arr{ transition:transform .45s var(--ease); }
.btn:hover .arr{ transform:translateX(4px); }
.btn.solid{ background:var(--gold); color:var(--espresso-deep); border-color:var(--gold); }
.btn.solid::before{ background:var(--cream); }
.btn.solid:hover{ color:var(--espresso-deep); }

.link-gold{
  font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
  color:var(--gold-soft); display:inline-flex; align-items:center; gap:.6em;
  padding-bottom:.4em; border-bottom:1px solid var(--line-gold);
  transition:color .4s var(--ease), border-color .4s var(--ease), gap .4s var(--ease);
}
.link-gold:hover{ color:var(--cream); border-color:var(--cream); gap:.95em; }

/* ── photo treatment (one cohesive warm grade) ─────────────── */
.photo{ position:relative; overflow:hidden; background:var(--espresso-deep); }
.photo img{
  width:100%; height:100%; object-fit:cover;
  filter:contrast(1.01) saturate(1.02);
  transition:transform 1.2s var(--ease), filter .7s var(--ease);
  will-change:transform;
}
.photo::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(46,32,23,.05), rgba(36,24,16,.24)),
    radial-gradient(120% 90% at 50% 28%, rgba(200,134,29,.05), transparent 64%);
  mix-blend-mode:multiply;
}
/* hairline inner edge on photos — subtle, not a rounded card */
.photo::before{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(243,235,221,.06), inset 0 -40px 60px -40px rgba(20,12,6,.5);
}
/* per-image focal point so crops never cut badly */
.photo img[src*="picanha"]{ object-position:50% 64%; }
.photo img[src*="caesar"]{ object-position:50% 44%; }
.photo img[src*="bolinhos"]{ object-position:50% 58%; }
.photo img[src*="det-mesa"]{ object-position:50% 32%; }
.photo img[src*="det-pedra"]{ object-position:50% 42%; }
.photo .warm{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:rgba(200,134,29,.05); mix-blend-mode:overlay;
}

/* ── scroll reveal ─────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(30px); filter:blur(7px); transition:opacity 1s var(--ease), transform 1.05s var(--ease), filter 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; filter:blur(0); }
.reveal.d1{ transition-delay:.1s; }
.reveal.d2{ transition-delay:.2s; }
.reveal.d3{ transition-delay:.3s; }
.reveal.d4{ transition-delay:.4s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ════════════════════════════ NAV ════════════════════════════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px var(--gutter);
  transition:background .5s var(--ease), padding .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(36,24,16,.82);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  padding:14px var(--gutter);
  border-bottom:1px solid var(--line);
}
.nav-brand{ font-family:var(--display); font-size:24px; letter-spacing:.18em; font-weight:500; }
.nav-brand small{ display:block; font-family:var(--body); font-size:8.5px; letter-spacing:.42em; color:var(--cream-faint); margin-top:2px; text-transform:uppercase; }
.nav-links{ display:flex; gap:34px; align-items:center; }
.nav-links a{ font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--cream-dim); transition:color .35s var(--ease); position:relative; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--gold); transition:width .4s var(--ease); }
.nav-links a:hover{ color:var(--cream); }
.nav-links a:hover::after{ width:100%; }
.nav-cta{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:.85em 1.6em; border:1px solid var(--line-gold); color:var(--gold-soft); transition:all .4s var(--ease); }
.nav-cta:hover{ background:var(--gold); color:var(--espresso-deep); border-color:var(--gold); }
.nav-burger{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:0; padding:6px; }
.nav-burger span{ width:24px; height:1.5px; background:var(--cream); transition:.3s var(--ease); }

/* ════════════════════════════ HERO ════════════════════════════ */
.hero{ position:relative; min-height:100svh; display:flex; background:var(--espresso); overflow:hidden; }
.hero::before{
  content:""; position:absolute; z-index:6; pointer-events:none;
  inset:clamp(14px,2vw,26px); border:1px solid rgba(243,235,221,.14);
}
/* warm atmospheric ground for A & B (no full-bleed photo) */
.hero-glow{ position:absolute; inset:0; z-index:0; pointer-events:none; display:none;
  background:
    radial-gradient(70% 55% at 72% 28%, rgba(200,134,29,.12), transparent 62%),
    radial-gradient(90% 90% at 22% 100%, rgba(46,32,23,.7), transparent 70%),
    radial-gradient(120% 120% at 50% 50%, transparent 55%, rgba(20,12,6,.55) 100%);
}
body[data-hero="a"] .hero-glow, body[data-hero="b"] .hero-glow{ display:block; }

/* full-bleed photo (B Imersivo + C Vitrine), com ken-burns lento */
.hero-bg{ position:absolute; inset:0; z-index:0; display:none; overflow:hidden; }
body[data-hero="b"] .hero-bg, body[data-hero="c"] .hero-bg{ display:block; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:brightness(.82) saturate(1.05) contrast(1.02); transform-origin:58% 50%; animation:kenburns 24s ease-in-out infinite alternate; }
body[data-hero="b"] .hero-bg::after{ content:""; position:absolute; inset:0;
  background:
    radial-gradient(108% 92% at 50% 42%, transparent 18%, rgba(20,12,6,.72) 100%),
    linear-gradient(0deg, rgba(20,12,6,.82) 0%, rgba(20,12,6,.24) 42%, rgba(20,12,6,.5) 100%); }
body[data-hero="c"] .hero-bg::after{ content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(20,12,6,.86) 0%, rgba(20,12,6,.46) 40%, rgba(20,12,6,.04) 72%),
    linear-gradient(0deg, rgba(20,12,6,.82) 0%, transparent 55%); }
@keyframes kenburns{ from{ transform:scale(1.02) translate(0,0); } to{ transform:scale(1.13) translate(-1.5%,-1%); } }
@media (prefers-reduced-motion: reduce){ .hero-bg img, .hero-a .media img{ animation:none; transform:scale(1.04); } }

.hero-scroll{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%);
  z-index:5; display:flex; flex-direction:column; align-items:center; gap:12px;
  color:var(--cream-faint); font-size:10px; letter-spacing:.32em; text-transform:uppercase;
}
.hero-scroll .bar{ width:1px; height:46px; background:linear-gradient(var(--gold-soft), transparent); position:relative; overflow:hidden; }
.hero-scroll .bar::after{ content:""; position:absolute; top:-50%; left:0; width:100%; height:50%; background:var(--cream); animation:drip 2.4s var(--ease) infinite; }
body[data-hero="a"] .hero-scroll{ display:none; }
@keyframes drip{ 0%{ transform:translateY(0); opacity:0; } 30%{ opacity:1; } 100%{ transform:translateY(300%); opacity:0; } }

/* hero variants — only one shown at a time */
.hero-variant{ display:none; position:relative; z-index:3; width:100%; min-height:100svh; align-self:start; }
body[data-hero="a"] .hero-a,
body[data-hero="b"] .hero-b,
body[data-hero="c"] .hero-c{ display:flex; }

/* ── HERO A — Pórtico: painel da marca + sala em altura cheia ── */
.hero-a{ align-items:stretch; }
.hero-a .panel{ flex:0 0 46%; max-width:640px; background:var(--espresso); position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:clamp(20px,2.3vw,30px);
  padding:clamp(100px,12vh,140px) clamp(36px,4.5vw,80px) clamp(56px,7vh,84px); }
.hero-a .panel::after{ content:""; position:absolute; top:0; right:0; bottom:0; width:1px; background:var(--line-gold); }
.hero-a .panel .emblem{ width:clamp(60px,5.5vw,84px); opacity:.95; margin-bottom:2px; }
.hero-a .panel .kicker{ display:block; }
.hero-a .panel .wm{ font-family:var(--display); font-weight:500; font-size:clamp(60px,7.6vw,124px); line-height:.86; letter-spacing:.005em; margin:0; }
.hero-a .panel .tagline{ font-family:var(--display); font-style:italic; font-size:clamp(20px,2vw,29px); color:var(--cream-dim); line-height:1.3; margin:0; align-self:stretch; max-width:20ch; }
.hero-a .panel .actions{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:4px; }
.hero-a .panel .meta{ margin-top:clamp(34px,5vh,60px); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--cream-faint); }
.hero-a .media{ flex:1; position:relative; overflow:hidden; z-index:1; }
.hero-a .media img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:brightness(.92) saturate(1.05) contrast(1.02); transform-origin:50% 50%; animation:kenburns 24s ease-in-out infinite alternate; }
.hero-a .media::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(28,18,11,.55), transparent 26%); }

/* ── HERO B — Imersivo: sala em tela cheia + emblema centrado ── */
.hero-b{ flex-direction:column; align-items:center; justify-content:center; text-align:center;
  gap:clamp(20px,2.6vw,34px);
  padding:clamp(120px,15vh,160px) var(--gutter) clamp(86px,11vh,118px); }
.hero-b .emblem{ width:clamp(146px,15vw,210px); filter:drop-shadow(0 12px 50px rgba(0,0,0,.6)); }
.hero-b .hairline{ display:flex; align-items:center; gap:18px; color:var(--gold-soft); font-size:11px; letter-spacing:.36em; text-transform:uppercase; }
.hero-b .hairline::before, .hero-b .hairline::after{ content:""; width:42px; height:1px; background:var(--line-gold); }
.hero-b .tagline{ font-family:var(--display); font-style:italic; font-size:clamp(28px,3.6vw,48px); color:var(--cream); line-height:1.16; margin:0; max-width:18ch; text-shadow:0 2px 30px rgba(20,12,6,.55); }
.hero-b .actions{ margin-top:6px; }

/* ── HERO C — Vitrine: sala ao fundo + placa sólida ── */
.hero-c{ align-items:flex-end; justify-content:flex-start;
  max-width:var(--maxw); margin:0 auto; width:100%;
  padding:clamp(100px,12vh,140px) var(--gutter) clamp(66px,9vh,104px); }
.hero-c .plaque{ display:block; max-width:560px; }
.hero-c .plaque .emblem{ display:block; width:clamp(62px,6.4vw,88px); margin-bottom:22px; opacity:.95; filter:drop-shadow(0 6px 22px rgba(0,0,0,.6)); }
.hero-c .plaque .kicker{ display:block; margin-bottom:16px; }
.hero-c .plaque .wm{ font-family:var(--display); font-weight:500; font-size:clamp(52px,6.2vw,94px); line-height:.86; margin:0; text-shadow:0 2px 30px rgba(20,12,6,.6); }
.hero-c .plaque .tagline{ font-family:var(--display); font-style:italic; font-size:clamp(21px,2.2vw,30px); color:var(--cream); margin:16px 0 0; display:block; max-width:24ch; line-height:1.32; text-shadow:0 2px 24px rgba(20,12,6,.65); }
.hero-c .plaque .actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:28px; }

/* ════════════════════════ MANIFESTO ════════════════════════ */
.manifesto{ background:var(--espresso-deep); }
.manifesto .grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,96px); align-items:center; }
.manifesto .copy .kicker{ margin-bottom:26px; display:block; }
.manifesto .copy h2{ margin-bottom:28px; }
.manifesto .copy p{ margin:0 0 1.1em; max-width:46ch; }
.manifesto .detail{ position:relative; }
.manifesto .detail .photo{ aspect-ratio:4/5; }
.manifesto .detail .tag{
  margin-top:20px; padding-left:18px; border-left:2px solid var(--line-gold); }
.manifesto .detail .tag .kicker{ display:block; margin-bottom:6px; }
.manifesto .detail .tag .nm{ font-family:var(--display); font-style:italic; font-size:23px; color:var(--cream); }

/* signature flourish */
.sig{ font-family:var(--display); font-style:italic; color:var(--gold-soft); font-size:30px; margin-top:14px; }

/* ════════════════════════ DISHES ════════════════════════ */
.dishes .head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:clamp(44px,6vw,76px); flex-wrap:wrap; }
.dishes .head .kicker{ display:block; margin-bottom:18px; }

/* gallery variants */
.gallery{ display:none; }
body[data-gallery="a"] .gal-a,
body[data-gallery="b"] .gal-b,
body[data-gallery="c"] .gal-c{ display:block; }

/* dish card shared */
.dish{ position:relative; overflow:hidden; cursor:pointer; }
.dish .photo{ width:100%; height:100%; }
.dish-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:clamp(20px,3vw,34px);
  background:linear-gradient(0deg, rgba(28,18,11,.95) 16%, rgba(28,18,11,.58) 64%, transparent);
}
.dish:hover .photo img{ transform:scale(1.035); }
.dish-caption .idx{ font-size:11px; letter-spacing:.3em; color:var(--gold-soft); }
.dish-caption h3{ font-size:clamp(26px,2.6vw,38px); margin:8px 0 0; line-height:1.05; }
.dish-caption .desc{ font-size:14.5px; line-height:1.6; color:var(--cream-dim); max-width:42ch; max-height:0; opacity:0; overflow:hidden; margin-top:0; transition:max-height .55s var(--ease), opacity .5s var(--ease), margin-top .55s var(--ease); }
.dish:hover .dish-caption .desc{ max-height:10em; opacity:1; margin-top:14px; }

/* GALLERY A — magazine asymmetric */
.gal-a .grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(14px,1.6vw,26px); grid-auto-flow:dense; }
.gal-a .dish:nth-child(1){ grid-column:span 7; aspect-ratio:7/6; }
.gal-a .dish:nth-child(2){ grid-column:span 5; aspect-ratio:4/5; margin-top:54px; }
.gal-a .dish:nth-child(3){ grid-column:span 5; aspect-ratio:5/5; }
.gal-a .dish:nth-child(4){ grid-column:span 7; aspect-ratio:8/5; }
.gal-a .dish:nth-child(5){ grid-column:span 12; aspect-ratio:16/8; }

/* GALLERY B — uniform refined grid */
.gal-b .grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(14px,1.4vw,22px); }
.gal-b .dish{ grid-column:span 2; aspect-ratio:4/5; }
/* last row of two, centered */
.gal-b .dish:nth-child(4){ grid-column:2 / span 2; }
.gal-b .dish:nth-child(5){ grid-column:4 / span 2; }

/* GALLERY C — alternating editorial rows */
.gal-c .row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); align-items:center; padding:clamp(30px,5vw,64px) 0; }
.gal-c .row + .row{ border-top:1px solid var(--line); }
.gal-c .row:nth-child(even) .c-media{ order:2; }
.gal-c .c-media .photo{ aspect-ratio:5/4; }
.gal-c .c-text .idx{ font-size:12px; letter-spacing:.3em; color:var(--gold-soft); }
.gal-c .c-text h3{ font-size:clamp(34px,4vw,60px); margin:14px 0 18px; }
.gal-c .c-text p{ color:var(--cream-dim); max-width:42ch; margin:0 0 26px; }

/* ════════════════════════ EXPERIENCES ════════════════════════ */
.exp{ background:linear-gradient(180deg, var(--espresso) 0%, var(--espresso-deep) 100%); }
.exp .head{ text-align:center; margin-bottom:clamp(46px,6vw,80px); }
.exp .head .kicker{ display:block; margin-bottom:20px; }
.exp .cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,30px); }
.exp .card{
  border:1px solid var(--line); padding:clamp(30px,3vw,46px) clamp(26px,2.4vw,40px);
  display:flex; flex-direction:column; min-height:340px;
  transition:border-color .5s var(--ease), background .5s var(--ease), transform .5s var(--ease);
  position:relative; overflow:hidden;
}
.exp .card::before{ content:""; position:absolute; top:0; left:0; width:100%; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); }
.exp .card:hover{ border-color:var(--line-gold); background:rgba(200,134,29,.04); transform:translateY(-5px); }
.exp .card:hover::before{ transform:scaleX(1); }
.exp .card .no{ font-family:var(--display); font-style:italic; font-size:40px; color:var(--gold-soft); line-height:1; }
.exp .card h3{ font-size:clamp(28px,2.5vw,38px); margin:auto 0 16px; }
.exp .card p{ color:var(--cream-dim); font-size:15px; margin:0 0 26px; }
.exp .card .more{ margin-top:auto; font-size:11.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--cream-faint); display:flex; align-items:center; gap:.6em; transition:color .4s var(--ease), gap .4s var(--ease); }
.exp .card:hover .more{ color:var(--gold-soft); gap:1em; }

/* ════════════════════════ AMBIENCE ════════════════════════ */
.amb{ padding:0; position:relative; }
.amb-feature{ position:relative; min-height:88svh; display:flex; align-items:flex-end; overflow:hidden; }
.amb-feature .photo{ position:absolute; inset:0; }
.amb-feature .photo img{ filter:saturate(1.03) contrast(1.02) brightness(.66); }
.amb-feature::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(36,24,16,.5), rgba(36,24,16,.2) 45%, rgba(36,24,16,.85)); }
.amb-inner{ position:relative; z-index:2; padding:clamp(50px,9vh,120px) var(--gutter); width:100%; }
.amb-inner .kicker{ display:block; margin-bottom:22px; }
.amb-inner h2{ max-width:16ch; }
.amb-inner p{ max-width:48ch; margin-top:26px; color:var(--cream-dim); }
.amb-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; }
.amb-grid .photo{ aspect-ratio:4/3; }

/* ════════════════════════ INFO ════════════════════════ */
.info{ background:var(--espresso-deep); }
.info .grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(40px,6vw,100px); }
.info .col-l h2{ margin-bottom:30px; }
.info .rows{ display:flex; flex-direction:column; }
.info .ir{ display:grid; grid-template-columns:140px 1fr; gap:24px; padding:24px 0; border-top:1px solid var(--line); align-items:baseline; }
.info .ir:last-child{ border-bottom:1px solid var(--line); }
.info .ir .k{ font-size:11.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft); }
.info .ir .v{ font-family:var(--display); font-size:clamp(22px,2.2vw,30px); line-height:1.3; }
.info .ir .v small{ display:block; font-family:var(--body); font-size:14px; letter-spacing:0; color:var(--cream-dim); margin-top:6px; text-transform:none; }
.info .col-r{ display:flex; flex-direction:column; justify-content:center; gap:26px; border:1px solid var(--line-gold); padding:clamp(40px,4vw,64px); text-align:center; align-items:center; }
.info .col-r .emblem{ width:118px; opacity:.95; }
.info .col-r p{ color:var(--cream-dim); max-width:30ch; margin:0; }

/* ════════════════════════ FOOTER ════════════════════════ */
.footer{ padding:clamp(56px,7vw,96px) var(--gutter) 40px; border-top:1px solid var(--line); }
.footer .top{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.footer .brand{ font-family:var(--display); font-size:34px; letter-spacing:.16em; }
.footer .brand small{ display:block; font-family:var(--body); font-size:9px; letter-spacing:.4em; color:var(--cream-faint); margin-top:4px; text-transform:uppercase; }
.footer .cols{ display:flex; gap:clamp(40px,6vw,96px); flex-wrap:wrap; }
.footer .fcol h4{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft); margin:0 0 16px; font-weight:500; font-family:var(--body); }
.footer .fcol a, .footer .fcol p{ display:block; color:var(--cream-dim); font-size:14.5px; margin:0 0 10px; transition:color .35s var(--ease); }
.footer .fcol a:hover{ color:var(--cream); }
.footer .bottom{ margin-top:clamp(46px,6vw,72px); padding-top:26px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; letter-spacing:.06em; color:var(--cream-faint); }

/* ════════════════════════ RESPONSIVE ════════════════════════ */
@media (max-width:1000px){
  .nav-links{ display:none; }
  .section{ padding:clamp(54px,9vh,108px) var(--gutter); }
  .nav-cta{ display:none; }
  .nav-burger{ display:flex; }
  .manifesto .grid{ grid-template-columns:1fr; gap:50px; }
  .manifesto .detail .photo{ aspect-ratio:16/11; }
  .exp .cards{ grid-template-columns:1fr; }
  .info .grid{ grid-template-columns:1fr; gap:48px; }
  .gal-a .dish:nth-child(n){ grid-column:span 12 !important; aspect-ratio:4/3 !important; margin-top:0 !important; }
  .gal-b .grid{ grid-template-columns:repeat(2,1fr); }
  .gal-b .dish, .gal-b .dish:nth-child(4), .gal-b .dish:nth-child(5){ grid-column:auto / span 1; }
  .gal-c .row{ grid-template-columns:1fr; gap:26px; }
  .gal-c .row:nth-child(even) .c-media{ order:0; }
  .amb-grid{ grid-template-columns:1fr; }
  .hero-a{ flex-direction:column; align-items:flex-start; gap:38px; padding-top:clamp(108px,15vh,150px); }
  .hero-a .col{ flex:none; width:100%; }
  .hero-a .figure{ flex:none; width:100%; justify-content:flex-start; }
  .hero-a .figure .photo{ height:auto; width:100%; aspect-ratio:5/4; max-height:60vh; }
  .hero-a .figure .seal{ display:none; }
  .hero-b .strip{ flex-wrap:wrap; justify-content:center; }
  .dish-caption{ background:linear-gradient(0deg, rgba(28,18,11,.95) 22%, rgba(28,18,11,.4) 78%, transparent); }
  .dish-caption .desc{ max-height:12em; opacity:1; margin-top:14px; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .section{ padding:46px var(--gutter); }
  .gal-c .row{ padding:22px 0; }
  .dishes .head{ margin-bottom:30px; }
  .nav{ padding:16px var(--gutter); }
  .gal-b .grid{ grid-template-columns:1fr; }
  .hero-b .strip{ display:none; }
  .hero-a .wm{ font-size:clamp(60px,18vw,96px); }
  .info .ir{ grid-template-columns:1fr; gap:8px; }
  .footer .top{ flex-direction:column; }
}

/* grain toggle */
body.no-grain::after{ display:none; }

/* ─────────── mobile menu — editorial drawer ─────────── */
.mmenu{
  position:fixed; inset:0; z-index:1200;
  background:var(--espresso-deep);
  display:flex; flex-direction:column;
  padding:22px var(--gutter) calc(26px + env(safe-area-inset-bottom));
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .5s var(--ease), visibility .5s var(--ease);
}
.mmenu.open{ opacity:1; visibility:visible; pointer-events:auto; }
.mmenu-glow{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(110% 55% at 100% 0%, rgba(200,134,29,.16), transparent 60%),
    radial-gradient(120% 65% at 0% 100%, rgba(166,90,46,.15), transparent 62%);
}
.mmenu > *{ position:relative; z-index:1; }

/* header */
.mmenu-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  padding-bottom:18px; border-bottom:1px solid var(--line);
}
.mmenu-brand{ font-family:var(--display); font-size:22px; letter-spacing:.18em; font-weight:500; color:var(--cream); }
.mmenu-brand small{ display:block; font-family:var(--body); font-size:8.5px; letter-spacing:.42em; color:var(--cream-faint); margin-top:3px; text-transform:uppercase; }
.mmenu .close{
  position:relative; width:44px; height:44px; flex:none; margin:-4px -6px 0 0;
  background:none; border:1px solid var(--line); border-radius:50%; cursor:pointer;
  transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
}
.mmenu .close span{ position:absolute; left:50%; top:50%; width:15px; height:1.5px; background:var(--cream); }
.mmenu .close span:first-child{ transform:translate(-50%,-50%) rotate(45deg); }
.mmenu .close span:last-child{ transform:translate(-50%,-50%) rotate(-45deg); }
.mmenu .close:hover{ border-color:var(--line-gold); background:rgba(200,134,29,.08); transform:rotate(90deg); }

/* nav list */
.mmenu-nav{ display:flex; flex-direction:column; flex:1; justify-content:center; padding:18px 0; }
.mmenu-nav a{
  display:flex; align-items:baseline; gap:18px;
  padding:18px 2px; border-bottom:1px solid var(--line);
  color:var(--cream);
  opacity:0; transform:translateY(16px);
}
.mmenu-nav a:first-child{ border-top:1px solid var(--line); }
.mmenu-nav .mi{ font-family:var(--body); font-size:11px; letter-spacing:.22em; font-weight:500; color:var(--gold-soft); width:22px; flex:none; }
.mmenu-nav .ml{
  font-family:var(--display); font-size:clamp(30px,9vw,40px); font-weight:500; line-height:1; letter-spacing:.01em;
  transition:color .35s var(--ease), transform .4s var(--ease);
}
.mmenu-nav a:hover .ml, .mmenu-nav a:active .ml{ color:var(--gold-soft); transform:translateX(7px); }

/* stagger reveal */
.mmenu.open .mmenu-nav a{ animation:mmIn .55s var(--ease) forwards; }
.mmenu.open .mmenu-nav a:nth-child(1){ animation-delay:.10s; }
.mmenu.open .mmenu-nav a:nth-child(2){ animation-delay:.16s; }
.mmenu.open .mmenu-nav a:nth-child(3){ animation-delay:.22s; }
.mmenu.open .mmenu-nav a:nth-child(4){ animation-delay:.28s; }
.mmenu.open .mmenu-nav a:nth-child(5){ animation-delay:.34s; }
@keyframes mmIn{ to{ opacity:1; transform:none; } }

/* footer */
.mmenu-foot{ display:flex; flex-direction:column; gap:16px; padding-top:22px; border-top:1px solid var(--line); }
.mmenu-cta{ width:100%; justify-content:center; padding-top:1.15em; padding-bottom:1.15em; }
.mmenu-meta{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--cream-dim);
}
.mmenu-meta a{ color:var(--gold-soft); white-space:nowrap; }
