/* =========================================================================
   Los Bocoles · «Lotería de la casa»
   Fonda mexicana + revista gastronómica. Paleta del propio logotipo.
   ========================================================================= */

@font-face { font-family: 'DM Serif Display'; src: url('/assets/fonts/dmserif.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Bricolage Grotesque'; src: url('/assets/fonts/bricolage.woff2') format('woff2'); font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; }

:root {
  /* primitivos */
  --chile: #9f3029;
  --chile-d: #7d221d;
  --nopal: #314d3b;
  --nopal-d: #243a2c;
  --maiz: #e6b75a;
  --maiz-l: #f0cd85;
  --tortilla: #f5ebdc;
  --cacao: #35271f;
  --cacao-d: #241a14;
  --blanco: #fff9f0;
  --rosa: #d4547a;

  /* semánticos */
  --bg: var(--tortilla);
  --ink: var(--cacao);
  --ink-soft: #5b4a3e;
  --line: rgb(53 39 31 / .16);
  --accent: var(--chile);
  --focus: #1f6feb;

  --serif: 'DM Serif Display', 'Iowan Old Style', Georgia, serif;
  --sans: 'Bricolage Grotesque', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* escala tipográfica */
  --t-xs: .8125rem;
  --t-s: .9375rem;
  --t-m: 1.0625rem;
  --t-l: clamp(1.1875rem, 1rem + .6vw, 1.375rem);
  --t-h3: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem);
  --t-h2: clamp(2.6rem, 1.6rem + 4.6vw, 5.75rem);
  --t-h1: clamp(3.4rem, 1.8rem + 7.4vw, 9.5rem);

  /* espacio (8 pt) */
  --s1: .5rem; --s2: 1rem; --s3: 1.5rem; --s4: 2rem; --s5: 3rem; --s6: 4rem; --s7: 6rem; --s8: 8rem;
  --sec: clamp(4.5rem, 3rem + 7vw, 10rem);
  --gut: clamp(1rem, .4rem + 2.6vw, 3rem);
  --hd: 72px;

  --r-s: 6px;
  --r-m: 14px;
  --pill: 999px;

  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --spring: cubic-bezier(.34, 1.36, .64, 1);
  --d-fast: 180ms;
  --d-mid: 320ms;
  --d-slow: 800ms;

  color-scheme: light;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--hd) + 16px); }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 var(--t-m)/1.6 var(--sans); font-optical-sizing: auto; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4 { margin: 0; font-family: var(--serif); font-weight: 400; line-height: 1; letter-spacing: -.01em; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
a, button, summary, label, [role="button"] { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
address { font-style: normal; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--maiz); color: var(--cacao); }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 16px; top: -60px; z-index: 200; background: var(--cacao); color: var(--tortilla); padding: 12px 18px; border-radius: var(--r-s); transition: top var(--d-fast); }
.skip:focus { top: 12px; }
main { display: block; outline: none; overflow-x: clip; }
[hidden] { display: none !important; }
.wrap { width: 100%; max-width: 1400px; margin-inline: auto; padding-inline: var(--gut); }
.note { font-size: var(--t-xs); color: var(--ink-soft); }
.pending { background: #fff3c4; color: #5a4300; padding: 0 .3em; border-radius: 3px; font-size: .92em; }

/* transiciones entre páginas (navegación entre documentos, Chrome y Safari recientes) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-out 260ms var(--ease-io) both; }
::view-transition-new(root) { animation: vt-in 420ms var(--ease-out) both; }
@keyframes vt-out { to { opacity: 0; transform: translateY(-12px); } }
@keyframes vt-in { from { opacity: 0; transform: translateY(18px); } }

/* ---------- botones y enlaces ---------- */
.btn { --b-bg: var(--chile); --b-fg: var(--blanco); --b-bd: var(--chile); display: inline-flex; align-items: center; gap: .75rem; min-height: 52px; padding: .5rem .55rem .5rem 1.4rem; border-radius: var(--pill); background: var(--b-bg); color: var(--b-fg); border: 1.5px solid var(--b-bd); font: 600 var(--t-s)/1 var(--sans); letter-spacing: .01em; text-decoration: none; transition: background var(--d-mid) var(--ease-out), color var(--d-mid) var(--ease-out), border-color var(--d-mid), transform var(--d-fast) var(--ease-out); user-select: none; -webkit-user-select: none; }
.btn__i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--b-fg); color: var(--b-bg); transition: transform var(--d-mid) var(--ease-out), background var(--d-mid), color var(--d-mid); }
.btn__i .ico { width: 18px; height: 18px; }
.btn:active { transform: scale(.97); }
.btn--light { --b-bg: var(--tortilla); --b-fg: var(--cacao); --b-bd: var(--tortilla); }
.btn--ghost { --b-bg: transparent; --b-fg: currentColor; --b-bd: currentColor; }
.btn--ghost .btn__i { color: inherit; background: currentColor; }
.btn--ghost .btn__i .ico { color: var(--bg); }
.btn--on-dark { color: var(--tortilla); }
.btn--on-dark .btn__i .ico { color: var(--cacao); }
@media (hover: hover) and (pointer: fine) {
  .btn:hover .btn__i { transform: translateX(3px) rotate(-8deg); }
  .btn--solid:hover { --b-bg: var(--chile-d); --b-bd: var(--chile-d); }
  .btn--light:hover { --b-bg: var(--maiz); --b-bd: var(--maiz); }
  .btn--ghost:hover { background: rgb(255 255 255 / .08); }
}
.tlink { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 600; font-size: var(--t-s); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 calc(100% - 10px) / 100% 1.5px no-repeat; transition: background-size var(--d-mid) var(--ease-out); }
.tlink .ico { width: 18px; height: 18px; transition: transform var(--d-mid) var(--ease-out); }
.tlink--light { color: var(--tortilla); }
@media (hover: hover) and (pointer: fine) {
  .tlink:hover { background-size: 0 1.5px; background-position: 100% calc(100% - 10px); }
  .tlink:hover .ico { transform: translateX(4px); }
}

/* ---------- carta de lotería ---------- */
.lot { --lot-bd: var(--cacao); --lot-n-bg: var(--blanco); --lot-n-fg: var(--cacao); --lot-name: var(--cacao); position: relative; display: grid; gap: 8px; margin: 0; padding: 9px 9px 10px; background: var(--blanco); color: var(--cacao); border: 2px solid var(--lot-bd); border-radius: 7px; box-shadow: 0 1px 0 rgb(0 0 0 / .05); }
.lot__ph { position: relative; display: block; overflow: hidden; border: 1.5px solid var(--lot-bd); border-radius: 3px; aspect-ratio: var(--ar, 1); background: var(--tortilla); }
.lot__ph img { width: 100%; height: 100%; object-fit: cover; }
.lot__n { position: absolute; z-index: 2; left: 9px; top: 9px; min-width: 2.1em; padding: .18em .35em .05em; background: var(--lot-n-bg); color: var(--lot-n-fg); border: 1.5px solid var(--lot-bd); border-width: 0 1.5px 1.5px 0; border-radius: 3px 0 4px 0; font: 400 clamp(1rem, .8rem + .7vw, 1.5rem)/1 var(--serif); text-align: center; }
.lot__name { display: block; text-align: center; font: 700 clamp(.78rem, .7rem + .35vw, 1rem)/1.1 var(--sans); font-stretch: 78%; text-transform: uppercase; letter-spacing: .08em; color: var(--lot-name); padding-top: 1px; }
.lot--nopal { --lot-n-bg: var(--nopal); --lot-n-fg: var(--tortilla); }
.lot--chile { --lot-n-bg: var(--chile); --lot-n-fg: var(--tortilla); }
.lot--maiz { --lot-n-bg: var(--maiz); }
.lot--text { aspect-ratio: 3 / 4; place-content: end stretch; padding: 14px; overflow: hidden; }
.lot--text .lot__n { left: 0; top: 0; }
.lot--text .lot__glyph { position: absolute; inset: 14% 10% 26%; display: grid; place-items: center; font: 400 clamp(4rem, 3rem + 5vw, 8rem)/1 var(--serif); }
.lot--text.lot--chile { background: var(--chile); color: var(--tortilla); --lot-name: var(--tortilla); --lot-n-bg: var(--tortilla); --lot-n-fg: var(--chile); }
.lot--text.lot--nopal { background: var(--nopal); color: var(--tortilla); --lot-name: var(--tortilla); --lot-n-bg: var(--tortilla); --lot-n-fg: var(--nopal); }
.lot--text.lot--maiz { background: var(--maiz); --lot-n-bg: var(--blanco); }
.lot--text.lot--cacao { background: var(--cacao); color: var(--maiz); --lot-name: var(--tortilla); --lot-bd: var(--cacao-d); --lot-n-bg: var(--maiz); }
.lot--text.lot--rosa { background: var(--rosa); color: var(--blanco); --lot-name: var(--blanco); --lot-n-bg: var(--blanco); --lot-n-fg: var(--chile-d); }
.lot--text.lot--blanco { background: var(--blanco); color: var(--chile); }

/* ---------- papel picado y greca ---------- */
.picado { position: relative; height: clamp(46px, 3vw + 30px, 70px); overflow: hidden; color: var(--tortilla); pointer-events: none; }
.picado svg { width: 100%; height: 100%; }
.picado__f { transform-box: fill-box; transform-origin: 50% 0; }
.picado__f--0 { fill: var(--maiz); }
.picado__f--1 { fill: var(--rosa); }
.picado__f--2 { fill: var(--tortilla); }
.picado__f--3 { fill: #6fa57f; }
@media (prefers-reduced-motion: no-preference) {
  .picado__f { animation: sway 5.5s var(--ease-io) infinite alternate; animation-delay: calc(var(--i) * -0.37s); }
}
@keyframes sway { from { rotate: -3deg; } to { rotate: 3deg; } }
.greca { height: 14px; background:
  linear-gradient(135deg, var(--chile) 25%, transparent 25%) -7px 0 / 14px 14px,
  linear-gradient(225deg, var(--chile) 25%, transparent 25%) -7px 0 / 14px 14px,
  linear-gradient(315deg, var(--maiz) 25%, transparent 25%) 0 0 / 14px 14px,
  linear-gradient(45deg, var(--maiz) 25%, var(--nopal) 25%) 0 0 / 14px 14px; }

/* ---------- revelados ---------- */
.js [data-fade] { opacity: 0; transform: translateY(26px); transition: opacity var(--d-slow) var(--ease-out), transform var(--d-slow) var(--ease-out); transition-delay: var(--d, 0ms); }
.js [data-fade].is-in { opacity: 1; transform: none; }
[data-lines] .line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
[data-lines] .line > span { display: inline-block; }
.js [data-lines] .line > span { transform: translateY(108%); transition: transform 1s var(--ease-out); transition-delay: calc(var(--li) * 90ms); }
.js [data-lines].is-in .line > span { transform: none; }
.fr { margin: 0; }
.fr__m { overflow: hidden; border-radius: var(--r-m); }
.fr__m img { width: 100%; height: 100%; object-fit: cover; }
.js .fr__m { clip-path: inset(100% 0 0 0 round var(--r-m)); transition: clip-path 1.1s var(--ease-out); }
.js .fr__m.is-in { clip-path: inset(0 0 0 0 round var(--r-m)); }
.fr__cap { margin-top: .6rem; font-size: var(--t-xs); color: var(--ink-soft); }

/* ---------- cabecera ---------- */
.hd { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--hd); color: var(--tortilla); transition: transform 420ms var(--ease-out), background var(--d-mid), color var(--d-mid), box-shadow var(--d-mid); }
[data-top="light"] .hd { color: var(--cacao); }
.hd.is-solid { background: var(--tortilla); color: var(--cacao); box-shadow: 0 1px 0 var(--line); }
.hd.is-hidden { transform: translateY(-100%); }
.hd__in { height: 100%; display: flex; align-items: center; gap: var(--s3); max-width: 1400px; margin: 0 auto; padding-inline: var(--gut); }
.hd__logo { display: flex; align-items: center; gap: .6rem; text-decoration: none; flex: none; }
.hd__logo .logo { width: 58px; height: 52px; padding: 4px 5px; object-fit: contain; background: var(--blanco); border-radius: 12px; transition: transform var(--d-mid) var(--spring); }
.hd__name { font: 400 1.35rem/1 var(--serif); }
@media (hover: hover) and (pointer: fine) { .hd__logo:hover .logo { transform: rotate(-6deg) scale(1.04); } }
.hd__nav { margin-left: auto; display: none; }
.hd__nav ul { display: flex; gap: clamp(.6rem, 1.4vw, 1.6rem); }
.hd__nav a { position: relative; display: block; padding: .6rem .1rem; font-weight: 500; font-size: var(--t-s); text-decoration: none; }
.hd__nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: .35rem; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--d-mid) var(--ease-out); }
.hd__nav a[aria-current="page"]::after { transform: scaleX(1); background: var(--maiz); height: 3px; border-radius: 2px; }
@media (hover: hover) and (pointer: fine) { .hd__nav a:hover::after { transform: scaleX(1); transform-origin: left; } }
.hd__act { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.hd__cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.15rem; border-radius: var(--pill); background: var(--maiz); color: var(--cacao); font-weight: 700; font-size: var(--t-s); text-decoration: none; transition: background var(--d-fast), transform var(--d-fast); }
.hd__cta:active { transform: scale(.96); }
@media (hover: hover) and (pointer: fine) { .hd__cta:hover { background: var(--maiz-l); } }
.hd__cta-x { display: none; }
.hd__burger { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid currentColor; }
.hd__burger-l { display: grid; gap: 6px; width: 20px; }
.hd__burger-l i { display: block; height: 2px; background: currentColor; border-radius: 2px; }
@media (min-width: 560px) { .hd__cta-x { display: inline; } }
@media (min-width: 1100px) {
  .hd__nav { display: block; }
  .hd__act { margin-left: var(--s2); }
  .hd__burger { display: none; }
}
@media (max-width: 1099px) { .hd__name { display: none; } }

/* ---------- menú móvil ---------- */
.menu { position: fixed; inset: 0; z-index: 90; display: flex; flex-direction: column; background: var(--chile); color: var(--tortilla); padding: 0 var(--gut) calc(var(--s3) + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; clip-path: inset(0 0 100% 0); transition: clip-path 560ms var(--ease-io); }
.menu[data-open] { clip-path: inset(0 0 0 0); }
.menu__picado { position: absolute; inset: 0 0 auto; }
.menu__top { position: relative; display: flex; justify-content: space-between; align-items: center; height: var(--hd); margin-top: 46px; }
.menu__top .logo { width: 58px; height: 52px; padding: 4px 5px; background: var(--blanco); border-radius: 12px; object-fit: contain; }
.menu__close { display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; padding: 0 1rem; border: 1.5px solid currentColor; border-radius: var(--pill); font-weight: 600; }
.menu__close .ico { width: 20px; height: 20px; }
.menu__list { margin: var(--s3) 0; }
.menu__list li { opacity: 0; transform: translateY(24px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); transition-delay: calc(140ms + var(--i) * 45ms); }
.menu[data-open] .menu__list li { opacity: 1; transform: none; }
.menu__list a { display: flex; align-items: baseline; gap: .9rem; padding: .32rem 0; text-decoration: none; border-bottom: 1px solid rgb(245 235 220 / .18); }
.menu__n { font: 600 var(--t-xs)/1 var(--sans); opacity: .7; width: 1.6rem; }
.menu__l { font: 400 clamp(2rem, 8.5vw, 3.2rem)/1.1 var(--serif); }
.menu__list a[aria-current="page"] .menu__l { color: var(--maiz); }
.menu__foot { margin-top: auto; display: grid; gap: var(--s2); }
.menu__wa { justify-content: space-between; }
.menu__tel { display: flex; flex-direction: column; text-decoration: none; }
.menu__k { font-size: var(--t-xs); opacity: .8; }
.menu__v { font: 400 1.9rem/1.1 var(--serif); }
html.menu-open { overflow: hidden; }

/* ---------- hoy abierto ---------- */
.today { display: inline-flex; align-items: center; gap: .55rem; font-size: var(--t-s); font-weight: 500; }
.today__dot { width: 9px; height: 9px; border-radius: 50%; background: #c9b8a6; flex: none; }
.today.is-open .today__dot { background: #5fbf75; box-shadow: 0 0 0 4px rgb(95 191 117 / .25); }
.today--dark { color: var(--tortilla); }

/* =========================================================================
   INICIO
   ========================================================================= */

/* --- hero --- */
.hero { position: relative; min-height: 100svh; background: var(--chile); color: var(--tortilla); overflow: hidden; display: flex; flex-direction: column; isolation: isolate; }
.hero__vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; opacity: .35; mix-blend-mode: multiply; }
.hero__picado { margin-top: var(--hd); }
.hero__in { position: relative; flex: 1; display: grid; grid-template-columns: 1fr; align-content: start; gap: var(--s3); padding-top: clamp(1rem, 3vh, 2.5rem); padding-bottom: var(--s6); }
.hero__t { position: relative; z-index: 2; font-size: clamp(4.2rem, 21vw, 13.5rem); line-height: .86; letter-spacing: -.025em; }
.hero__l { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.hero__l > span { display: inline-block; }
.hero__l--b { padding-left: .5em; }
.hero__deck { position: relative; z-index: 3; height: clamp(240px, 66vw, 340px); margin-inline: auto; width: min(100%, 440px); }
.hero__card { position: absolute; width: 46%; top: 0; }
.hero__card--0 { left: 0; top: 12%; rotate: -9deg; }
.hero__card--1 { left: 27%; top: 0; rotate: 3deg; z-index: 2; }
.hero__card--2 { right: 0; top: 14%; rotate: 10deg; }
.hero__card--3 { display: none; }
.hero__foot { position: relative; z-index: 2; display: grid; gap: var(--s3); max-width: 34rem; }
.hero__sub { font-size: var(--t-l); line-height: 1.5; }
.hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); }
.hero__scroll { position: absolute; z-index: 3; right: var(--gut); bottom: var(--s4); display: none; align-items: center; gap: .6rem; font-size: var(--t-xs); font-weight: 600; letter-spacing: .04em; text-decoration: none; }
.hero__scroll .ico { width: 18px; height: 18px; }
@media (prefers-reduced-motion: no-preference) { .hero__scroll .ico { animation: nudge 1.8s var(--ease-io) infinite; } }
@keyframes nudge { 50% { transform: translateY(5px); } }
/* entrada: el titular sube línea a línea y las cartas se reparten sobre la mesa */
.js .hero__l > span { transform: translateY(105%); }
.js .hero__card { opacity: 0; transform: translate3d(var(--dx, 0), 70vh, 0) rotate(calc(var(--i) * 14deg - 20deg)); }
.js .hero__foot, .js .hero__scroll, .js .hero__picado { opacity: 0; }
.hero.is-in .hero__l > span { transform: none; transition: transform 1.1s var(--ease-out); }
.hero.is-in .hero__l--b > span { transition-delay: 90ms; }
.hero.is-in .hero__l--c > span { transition-delay: 180ms; }
.hero.is-in .hero__card { opacity: 1; transform: translate3d(0, calc(var(--hs, 0) * (-40px - var(--i) * 34px)), 0) rotate(calc(var(--hs, 0) * (var(--i) - 1.5) * 5deg)); transition: transform 1.05s var(--spring), opacity .3s linear; transition-delay: calc(380ms + var(--i) * 110ms); }
.hero.is-dealt .hero__card { transition: none; }
.hero.is-in .hero__foot, .hero.is-in .hero__scroll, .hero.is-in .hero__picado { opacity: 1; transition: opacity 900ms var(--ease-out) 850ms; }
.hero__deck .lot { will-change: transform; }
@media (min-width: 700px) {
  .hero__deck { width: min(100%, 560px); height: 380px; }
}
@media (min-width: 1060px) {
  .hero__in { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: 1fr auto; align-content: stretch; column-gap: var(--s4); padding-bottom: var(--s5); }
  .hero__t { grid-column: 1; grid-row: 1; align-self: center; font-size: clamp(6rem, 12.4vw, 13.5rem); }
  .hero__deck { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 100%; height: min(64vh, 620px); margin: 0; }
  .hero__card { width: 46%; }
  .hero__card--0 { left: 0; top: 18%; rotate: -10deg; }
  .hero__card--1 { left: 30%; top: 2%; rotate: 4deg; }
  .hero__card--2 { left: 52%; top: 30%; rotate: 11deg; z-index: 3; }
  .hero__card--3 { display: grid; left: 18%; top: 48%; rotate: -3deg; z-index: 2; width: 40%; }
  .hero__foot { grid-column: 1; grid-row: 2; max-width: 34rem; gap: var(--s3); }
  .hero__sub { max-width: 30rem; }
  .hero__scroll { display: inline-flex; }
}

/* --- introducción editorial --- */
.intro { padding-block: var(--sec); }
.intro__in { display: grid; gap: var(--s5); }
.intro__t { font-size: clamp(3.3rem, 1.4rem + 9.5vw, 11rem); line-height: .92; letter-spacing: -.02em; }
.intro__w { display: block; }
.intro__w:nth-child(2) { padding-left: 8%; }
.intro__w:nth-child(3) { padding-left: 22%; color: var(--chile); }
.intro__pill { display: inline-block; vertical-align: middle; width: 1.5em; height: .78em; margin: 0 .05em .1em; border-radius: var(--pill); overflow: hidden; border: 2px solid var(--cacao); }
.intro__pill--round { width: .78em; }
.intro__pill img { width: 100%; height: 100%; object-fit: cover; }
.intro__body { display: grid; gap: var(--s3); max-width: 36rem; }
.intro__lead { font: 400 var(--t-h3)/1.25 var(--serif); }
.intro__ph { margin: 0; width: min(78%, 420px); justify-self: end; rotate: 3deg; }
.intro__route { display: flex; flex-wrap: wrap; gap: .5rem; font-size: var(--t-s); font-weight: 600; }
.intro__route li { display: flex; align-items: center; gap: .5rem; }
.intro__route li + li::before { content: ''; width: 28px; height: 1.5px; background: currentColor; }
@media (min-width: 960px) {
  .intro__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--s4); row-gap: var(--s6); }
  .intro__t { grid-column: 1 / -1; }
  .intro__body { grid-column: 2 / 7; align-self: start; }
  .intro__ph { grid-column: 8 / 12; grid-row: 2 / span 2; width: 100%; margin-top: -3rem; }
  .intro__route { grid-column: 2 / 7; }
}

/* --- platos (momento 2) --- */
.dishes { background: var(--cacao); color: var(--tortilla); padding-block: var(--sec); }
.dishes__in { display: grid; gap: var(--s5); }
.dishes__head { display: grid; gap: var(--s3); }
.dishes__t { font-size: var(--t-h2); max-width: 12ch; }
.dishes__t .line:nth-child(n+3) { color: var(--maiz); }
.dishes__head p { max-width: 26rem; color: rgb(245 235 220 / .8); }
.dishes__stage { display: none; }
.dish-row { border-top: 1px solid rgb(245 235 220 / .2); }
.dish-row:last-child { border-bottom: 1px solid rgb(245 235 220 / .2); }
.dish-row__btn { width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: .9rem; padding: 1.1rem 0; text-align: left; }
.dish-row__n { font: 600 var(--t-xs)/1 var(--sans); color: var(--maiz); }
.dish-row__name { font: 400 clamp(2.1rem, 1.2rem + 4.4vw, 5.6rem)/1 var(--serif); letter-spacing: -.015em; }
.dish-row__price { font-weight: 600; font-size: var(--t-s); white-space: nowrap; }
.dish-row__d { display: grid; gap: var(--s3); padding-bottom: var(--s4); }
.dish-row__d p { color: rgb(245 235 220 / .85); max-width: 34rem; }
.dish-row__card { width: min(82%, 380px); rotate: -2deg; }
.dish-row:nth-child(even) .dish-row__card { rotate: 2.5deg; justify-self: end; }
.dishes__foot { display: grid; gap: var(--s3); justify-items: start; max-width: 36rem; }
.dishes__foot p { font: 400 var(--t-h3)/1.25 var(--serif); }
@media (min-width: 1060px) {
  .dishes__in { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: var(--s7); row-gap: var(--s6); }
  .dishes__head { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: end; }
  .dishes__stage { display: block; position: sticky; top: calc(var(--hd) + 6vh); align-self: start; height: min(66vh, 600px); perspective: 1400px; }
  .dishes__card { position: absolute; inset: 0 auto auto 8%; width: min(80%, 470px); opacity: 0; transform: rotateY(-80deg) rotate(-6deg); transform-origin: 50% 50%; transition: transform 640ms var(--ease-out), opacity 260ms linear; backface-visibility: hidden; }
  .dishes__card.is-on { opacity: 1; transform: rotateY(0) rotate(-3deg); transition-delay: 120ms; }
  .dishes__card.was-on { opacity: 0; transform: rotateY(80deg) rotate(4deg); transition-duration: 380ms, 200ms; transition-timing-function: var(--ease-io), linear; }
  .dishes__list { padding-top: 2vh; }
  .dish-row { transition: opacity var(--d-mid); }
  .dish-row__btn { padding: 1.4rem 0; }
  .dish-row:not(.is-on) { opacity: .42; }
  @media (hover: hover) { .dish-row:not(.is-on):hover { opacity: .75; } }
  .dish-row__card { display: none; }
  .dish-row__d { grid-template-rows: 0fr; padding-bottom: 0; transition: grid-template-rows 520ms var(--ease-out), padding 520ms var(--ease-out); }
  .dish-row__d > p { overflow: hidden; min-height: 0; }
  .dish-row.is-on .dish-row__d { grid-template-rows: 1fr; padding-bottom: var(--s4); }
  .dishes__foot { grid-column: 2; }
}

/* --- recorrido (galería en horizontal) --- */
.walk { background: var(--blanco); padding-block: var(--sec); overflow: hidden; }
.walk__head { display: grid; gap: var(--s3); margin-bottom: var(--s5); }
.walk__t { font-size: var(--t-h2); }
.walk__head p { max-width: 30rem; color: var(--ink-soft); }
.walk__track { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--s4) var(--s2); padding-inline: var(--gut); }
.walk__item { margin: 0; display: grid; gap: .7rem; }
.walk__item figcaption { font-size: var(--t-xs); color: var(--ink-soft); max-width: 22rem; }
.walk__item:nth-child(odd) { grid-column: 1 / span 5; rotate: -1.5deg; }
.walk__item:nth-child(even) { grid-column: 2 / span 5; rotate: 1.8deg; }
.walk__item--s { grid-column-end: span 3 !important; }
.walk__item--tall .lot__ph { --ar: .62; }
.walk__item--xl .lot__ph { --ar: 1.33; }
.walk__end { grid-column: 1 / -1; justify-self: center; padding-top: var(--s3); }
@media (min-width: 1060px) {
  .walk { padding-block: 0; }
  .walk__pin { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; overflow: hidden; padding-block: calc(var(--hd) + 2rem) var(--s5); }
  .walk__head { grid-template-columns: 1fr minmax(0, 26rem); align-items: end; margin-bottom: var(--s5); }
  .walk__track { display: flex; align-items: center; gap: clamp(2rem, 4vw, 5rem); width: max-content; padding-inline: var(--gut) 12vw; }
  .walk__item, .walk__item:nth-child(odd), .walk__item:nth-child(even) { grid-column: auto; width: clamp(220px, 21vw, 330px); flex: none; }
  .walk__item:nth-child(3n) { align-self: flex-end; }
  .walk__item:nth-child(3n+1) { align-self: flex-start; }
  .walk__item--xl { width: clamp(420px, 40vw, 620px) !important; }
  .walk__item--s { width: clamp(180px, 15vw, 230px) !important; }
  .walk__item--tall { width: clamp(220px, 18vw, 290px) !important; }
  .walk__end { padding: 0 0 0 2vw; }
  .no-scenes .walk__track { width: auto; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: var(--s3); }
  .no-scenes .walk__item { scroll-snap-align: center; }
}

/* --- menú del día --- */
.mdd { position: relative; background: var(--tortilla); padding-bottom: var(--sec); color: var(--cacao); }
.mdd__picado { color: var(--cacao); }
.mdd__picado .picado__f--2 { fill: var(--chile); }
.mdd__in { display: grid; gap: var(--s6); padding-top: var(--s6); }
.mdd__txt { display: grid; gap: var(--s3); align-content: start; justify-items: start; }
.mdd__t { font-size: var(--t-h2); max-width: 11ch; }
.mdd__txt p { max-width: 32rem; }
.mdd__when { display: inline-flex; align-items: center; gap: .6rem; font-weight: 600; }
.mdd__when .ico { width: 22px; height: 22px; color: var(--chile); }
.sheet { position: relative; justify-self: center; width: min(100%, 460px); padding: clamp(1.4rem, 3vw, 2.4rem); background: var(--blanco); border: 2px solid var(--cacao); outline: 1.5px solid var(--cacao); outline-offset: -10px; border-radius: 4px; rotate: -1.5deg; }
.sheet__hd { text-align: center; padding: .8rem 0 1.2rem; border-bottom: 1.5px dashed var(--line); }
.sheet__t { font-size: clamp(2.1rem, 1.6rem + 1.8vw, 3rem); color: var(--chile); }
.sheet__s { margin-top: .4rem; font: 700 var(--t-xs)/1 var(--sans); font-stretch: 80%; text-transform: uppercase; letter-spacing: .14em; }
.sheet__list { padding: 1rem .4rem; }
.sheet__list li { display: flex; align-items: baseline; gap: .8rem; padding: .55rem 0; border-bottom: 1px dotted var(--line); font: 400 1.4rem/1.2 var(--serif); }
.sheet__n { font: 600 var(--t-xs)/1 var(--sans); color: var(--chile); }
.sheet__note { text-align: center; font-size: var(--t-s); color: var(--ink-soft); padding-bottom: .6rem; }
.stamp { position: absolute; right: -8px; top: -30px; display: grid; place-content: center; text-align: center; width: 112px; aspect-ratio: 1; border-radius: 50%; background: var(--chile); color: var(--tortilla); rotate: 12deg; box-shadow: inset 0 0 0 5px var(--chile), inset 0 0 0 6.5px var(--tortilla); }
.stamp span { font: 400 2.8rem/.9 var(--serif); }
.stamp small { font: 700 .7rem/1 var(--sans); text-transform: uppercase; letter-spacing: .14em; }
@media (min-width: 960px) {
  .mdd__in { grid-template-columns: 1fr 1fr; align-items: center; padding-top: var(--s7); }
  .stamp { width: 132px; right: -44px; top: -66px; }
  .stamp span { font-size: 3.4rem; }
}

/* --- compartir (momento 3) --- */
.share { position: relative; background: var(--cacao); color: var(--tortilla); }
.share__pin { position: relative; display: grid; place-items: center; gap: var(--s4); padding: var(--sec) var(--gut); overflow: hidden; }
.share__t { position: relative; z-index: 2; text-align: center; font-size: clamp(2.8rem, 1rem + 8vw, 9.5rem); line-height: .95; }
.share__a, .share__b { display: block; }
.share__b { color: var(--maiz); }
.share__win { margin: 0; width: min(100%, 980px); aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-m); border: 2px solid var(--tortilla); }
.share__win img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) {
  .scenes .share { height: 240vh; }
  .scenes .share__pin { position: sticky; top: 0; height: 100vh; padding: 0; gap: 0; }
  .scenes .share__t { position: absolute; inset: 50% 0 auto; translate: 0 -50%; pointer-events: none; }
  .scenes .share__a { transform: translate3d(calc(var(--sp, 0) * -7vw), calc(var(--sp, 0) * -35vh), 0); }
  .scenes .share__b { transform: translate3d(calc(var(--sp, 0) * 7vw), calc(var(--sp, 0) * 35vh), 0); }
  .scenes .share__win { width: min(72vw, 1040px); max-height: 56vh; aspect-ratio: auto; height: min(48vw, 56vh); transform: scale(var(--ws, .36)) rotate(calc((1 - var(--sp, 0)) * -4deg)); border-radius: calc(var(--r-m) / var(--ws, .36)); }
}

/* --- celebraciones --- */
.fiesta { background: var(--nopal); color: var(--tortilla); padding-block: var(--sec); }
.fiesta__in { display: grid; gap: var(--s5); }
.fiesta__t { font-size: var(--t-h2); max-width: 14ch; }
.fiesta__txt { display: grid; gap: var(--s3); }
.fiesta__txt p { max-width: 32rem; color: rgb(245 235 220 / .88); }
.fiesta__list li { display: flex; align-items: baseline; gap: 1rem; padding: .7rem 0; border-top: 1px solid rgb(245 235 220 / .22); font: 400 clamp(1.9rem, 1.2rem + 2.8vw, 3.6rem)/1.05 var(--serif); }
.fiesta__list li:last-child { border-bottom: 1px solid rgb(245 235 220 / .22); }
.fiesta__n { font: 600 var(--t-xs)/1 var(--sans); color: var(--maiz); width: 1.6rem; flex: none; }
.fiesta__side { display: grid; gap: var(--s3); justify-items: start; }
.fiesta__card { width: min(76%, 340px); rotate: -3deg; }
.fiesta__facts { display: grid; gap: .5rem; font-size: var(--t-s); }
.fiesta__facts li { display: flex; gap: .6rem; }
.fiesta__facts li::before { content: ''; flex: none; width: 8px; height: 8px; margin-top: .55em; background: var(--maiz); rotate: 45deg; }
@media (min-width: 1060px) {
  .fiesta__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--s4); }
  .fiesta__txt { grid-column: 1 / 8; }
  .fiesta__list { grid-column: 1 / 8; }
  .fiesta__side { grid-column: 9 / 13; grid-row: 1 / span 2; align-self: center; }
  .fiesta__card { width: 100%; }
}

/* --- bebidas --- */
.brindis { background: var(--maiz); color: var(--cacao); padding-bottom: var(--sec); overflow: hidden; }
.brindis__marquee { padding-block: var(--s4) var(--s2); border-bottom: 2px solid var(--cacao); white-space: nowrap; overflow: hidden; }
.brindis__run { display: inline-flex; gap: 2.4rem; font: 400 clamp(2.6rem, 1.6rem + 4.6vw, 6rem)/1 var(--serif); }
.brindis__run span { display: inline-flex; align-items: center; gap: 2.4rem; }
.brindis__run span::after { content: ''; width: .28em; height: .28em; background: var(--chile); rotate: 45deg; }
@media (prefers-reduced-motion: no-preference) { .brindis__run { animation: run 44s linear infinite; } }
@keyframes run { to { transform: translateX(-50%); } }
.brindis__in { display: grid; gap: var(--s5); padding-top: var(--s6); }
.brindis__t { font-size: var(--t-h2); max-width: 11ch; }
.brindis__deck { position: relative; height: clamp(300px, 92vw, 460px); }
.brindis__c { position: absolute; width: 52%; }
.brindis__c--a { left: 0; top: 4%; rotate: -8deg; }
.brindis__c--b { left: 26%; top: 18%; rotate: 4deg; z-index: 2; }
.brindis__c--c { right: 0; top: 0; rotate: 11deg; }
.brindis__txt { display: grid; gap: var(--s3); justify-items: start; max-width: 32rem; }
.brindis__aguas { display: flex; flex-wrap: wrap; gap: .5rem; }
.brindis__aguas li { padding: .45rem .95rem; border: 1.5px solid var(--cacao); border-radius: var(--pill); font-weight: 600; font-size: var(--t-s); }
@media (min-width: 1060px) {
  .brindis__in { grid-template-columns: 1fr 1fr; column-gap: var(--s6); align-items: center; }
  .brindis__deck { grid-column: 2; grid-row: 1 / span 2; height: 560px; }
  .brindis__c { width: 50%; }
}

/* --- cierre --- */
.final { background: var(--chile); color: var(--tortilla); padding-top: var(--sec); }
.final__in { display: grid; gap: var(--s6); padding-bottom: var(--sec); }
.final__txt { display: grid; gap: var(--s3); justify-items: start; }
.final__t { font-size: var(--t-h2); max-width: 13ch; }
.final__txt p { font-size: var(--t-l); max-width: 30rem; }
.final__act { display: flex; flex-wrap: wrap; gap: var(--s2); }
.final__deck { position: relative; height: clamp(320px, 100vw, 520px); }
.final__card { position: absolute; }
.final__card--a { width: 62%; left: 0; top: 0; rotate: -5deg; }
.final__card--b { width: 46%; right: 0; bottom: 0; rotate: 7deg; }
@media (min-width: 1060px) {
  .final__in { grid-template-columns: 1.15fr .85fr; align-items: center; }
  .final__deck { height: 560px; }
}

/* ---------- pie ---------- */
.ft { position: relative; background: var(--cacao); color: var(--tortilla); padding-bottom: calc(var(--s4) + 64px); }
.ft__picado .picado__f--2 { fill: var(--chile); }
.ft__top { display: grid; gap: var(--s4); padding-block: var(--s6) var(--s5); border-bottom: 1px solid rgb(245 235 220 / .16); }
.ft__claim { font: 400 clamp(2rem, 1.3rem + 2.8vw, 3.8rem)/1.02 var(--serif); max-width: 18ch; }
.ft__act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.ft__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s5) var(--s4); padding-block: var(--s5); font-size: var(--t-s); }
.ft__col { display: grid; gap: .55rem; align-content: start; }
.ft__h { font: 700 var(--t-xs)/1 var(--sans); font-stretch: 80%; text-transform: uppercase; letter-spacing: .14em; color: var(--maiz); margin-bottom: .4rem; }
.ft__muted { color: rgb(245 235 220 / .7); }
.ft__hours p { display: grid; }
.ft__hours span { color: rgb(245 235 220 / .7); font-size: var(--t-xs); }
.ft__big { font: 400 1.8rem/1.1 var(--serif); text-decoration: none; }
.ft a { text-decoration-color: rgb(245 235 220 / .4); }
.ft__soc { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; }
.ft__soc a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .9rem; border: 1px solid rgb(245 235 220 / .3); border-radius: var(--pill); text-decoration: none; }
.ft__soc .ico { width: 18px; height: 18px; }
.ft__nav { display: grid; gap: .1rem; }
.ft__nav a { display: inline-block; padding: .35rem 0; text-decoration: none; }
@media (hover: hover) { .ft__nav a:hover, .ft__soc a:hover { color: var(--maiz); } }
.ft__mark { margin: 0; padding-inline: var(--gut); font: 400 clamp(3.4rem, 11vw, 11.5rem)/.86 var(--serif); letter-spacing: -.03em; color: var(--maiz); white-space: nowrap; overflow: hidden; text-align: center; }
.ft__mark span:last-child { color: var(--chile); }
.ft__greca { margin-top: var(--s3); }
.ft__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s2); padding-top: var(--s3); font-size: var(--t-xs); color: rgb(245 235 220 / .75); }
.ft__legal ul { display: flex; gap: var(--s3); }
.ft__legal a { display: inline-block; padding: .4rem 0; }
@media (min-width: 900px) { .ft__top { grid-template-columns: 1fr auto; align-items: end; } .ft { padding-bottom: var(--s4); } }
@media (max-width: 899px) { .ft__mark span { display: block; } .ft__mark { text-align: left; font-size: 23vw; } }

/* barra móvil */
.mbar { position: fixed; inset: auto 0 0; z-index: 40; display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; padding: 8px var(--gut) calc(8px + env(safe-area-inset-bottom)); background: var(--tortilla); box-shadow: 0 -1px 0 var(--line); transform: translateY(110%); transition: transform 420ms var(--ease-out); }
.mbar.is-on { transform: none; }
.mbar a { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; border-radius: var(--pill); font-weight: 700; font-size: var(--t-s); text-decoration: none; }
.mbar__a { border: 1.5px solid var(--cacao); color: var(--cacao); }
.mbar__b { background: var(--chile); color: var(--blanco); }
.mbar .ico { width: 20px; height: 20px; }
@media (min-width: 900px) { .mbar { display: none; } }
html.menu-open .mbar { transform: translateY(110%); }

/* =========================================================================
   PÁGINAS INTERIORES
   ========================================================================= */
.crumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; font-size: var(--t-xs); font-weight: 500; }
.crumbs li + li::before { content: '/'; margin-right: .4rem; opacity: .6; }
.crumbs a { text-decoration: none; opacity: .8; }
.phero { position: relative; padding: calc(var(--hd) + var(--s5)) 0 var(--s6); overflow: hidden; }
.phero__t { font-size: var(--t-h1); line-height: .9; letter-spacing: -.02em; }
.phero__lead { font-size: var(--t-l); max-width: 36rem; }
.sec { padding-block: var(--sec); }
.sec__t { font-size: var(--t-h2); }
.prose { display: grid; gap: var(--s3); max-width: 38rem; }
.prose p { font-size: var(--t-m); }
.big-quote { font: 400 clamp(2rem, 1.2rem + 3.4vw, 4.4rem)/1.1 var(--serif); letter-spacing: -.01em; }
.big-quote .wd { opacity: var(--o, 1); transition: opacity 120ms linear; }

/* --- historia --- */
.p-nuestra-historia { --bg: var(--tortilla); }
.hist-hero__in { display: grid; gap: var(--s5); }
.hist-hero__txt { display: grid; gap: var(--s4); align-content: end; }
.hist-hero__cards { position: relative; height: clamp(360px, 110vw, 560px); }
.hist-hero__c1 { position: absolute; width: 62%; left: 0; top: 0; rotate: -4deg; }
.hist-hero__c2 { position: absolute; width: 56%; right: 0; bottom: 0; rotate: 5deg; }
@media (min-width: 1060px) {
  .hist-hero__in { grid-template-columns: 1.3fr .9fr; align-items: end; }
  .hist-hero__cards { height: 640px; }
}
.dream { background: var(--chile); color: var(--tortilla); }
.dream__in { display: grid; gap: var(--s5); }
.dream__sign { font-size: var(--t-s); opacity: .85; }
.dream__cols { display: grid; gap: var(--s4); }
@media (min-width: 960px) { .dream__cols { grid-template-columns: 1fr 1fr; column-gap: var(--s6); } }
.roots { background: var(--nopal); color: var(--tortilla); }
.roots__in { display: grid; gap: var(--s6); }
.roots__route { display: grid; gap: .2rem; font: 400 clamp(2.4rem, 1.2rem + 5.4vw, 6.4rem)/1 var(--serif); }
.roots__route li { display: flex; align-items: baseline; gap: .8rem; }
.roots__route small { font: 600 var(--t-xs)/1 var(--sans); color: var(--maiz); letter-spacing: .04em; }
.roots__route li:nth-child(2) { padding-left: 10%; color: var(--maiz); }
.roots__route li:nth-child(3) { padding-left: 20%; }
.roots__grid { display: grid; gap: var(--s5); }
.roots__item { display: grid; gap: var(--s2); align-content: start; padding-top: var(--s3); border-top: 1px solid rgb(245 235 220 / .25); }
.roots__item h3 { font-size: var(--t-h3); }
.roots__item p { color: rgb(245 235 220 / .88); }
.roots__item .lot { width: min(70%, 260px); rotate: -2deg; margin-top: var(--s2); }
@media (min-width: 960px) { .roots__grid { grid-template-columns: repeat(3, 1fr); column-gap: var(--s5); } }
.values__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s2); margin-top: var(--s5); }
.values__grid .lot:nth-child(odd) { rotate: -1.5deg; }
.values__grid .lot:nth-child(even) { rotate: 1.8deg; translate: 0 12px; }
@media (min-width: 760px) { .values__grid { grid-template-columns: repeat(3, 1fr); gap: var(--s4); } }
@media (min-width: 1200px) { .values__grid { grid-template-columns: repeat(6, 1fr); } }
.letter { background: var(--blanco); }
.letter__in { display: grid; gap: var(--s5); }
.letter__paper { display: grid; gap: var(--s3); max-width: 44rem; padding: clamp(1.4rem, 4vw, 3.4rem); background: var(--tortilla); border: 2px solid var(--cacao); border-radius: 4px; rotate: -.6deg; }
.letter__paper p { font-size: var(--t-m); }
.letter__lines { font: 400 var(--t-h3)/1.3 var(--serif); }
.letter__sign { font: 400 var(--t-l)/1.4 var(--serif); color: var(--chile); }
@media (min-width: 1060px) { .letter__in { grid-template-columns: .8fr 1.2fr; align-items: start; } .letter__paper { justify-self: end; } }

/* --- carta --- */
.carta-hero { background: var(--chile); color: var(--tortilla); }
.carta-hero__in { display: grid; gap: var(--s4); }
.carta-hero__deck { display: none; }
@media (min-width: 1060px) {
  .carta-hero__in { grid-template-columns: 1.3fr .7fr; align-items: end; }
  .carta-hero__deck { display: block; position: relative; height: 380px; }
  .carta-hero__deck .lot { position: absolute; width: 58%; }
  .carta-hero__deck .lot:nth-child(1) { left: 0; top: 6%; rotate: -8deg; }
  .carta-hero__deck .lot:nth-child(2) { right: 0; top: 0; rotate: 7deg; }
}
.carta-hero__facts { display: flex; flex-wrap: wrap; gap: .5rem; }
.carta-hero__facts li { padding: .45rem .9rem; border: 1.5px solid rgb(245 235 220 / .55); border-radius: var(--pill); font-size: var(--t-s); font-weight: 500; }
.cnav { position: sticky; top: 0; z-index: 30; background: var(--tortilla); box-shadow: 0 1px 0 var(--line); transition: top 420ms var(--ease-out); }
html.hd-shown .cnav { top: var(--hd); }
.cnav__in { display: flex; align-items: center; gap: var(--s2); }
.cnav__track { flex: 1; display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding: .7rem 0; mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 28px), transparent); }
.cnav__track::-webkit-scrollbar { display: none; }
.cnav__track a { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 .95rem; border-radius: var(--pill); font-weight: 600; font-size: var(--t-s); text-decoration: none; white-space: nowrap; transition: background var(--d-fast), color var(--d-fast); }
.cnav__track a.is-active { background: var(--cacao); color: var(--tortilla); }
@media (hover: hover) { .cnav__track a:not(.is-active):hover { background: rgb(53 39 31 / .08); } }
.csearch { position: relative; flex: none; display: none; }
.csearch input { width: 220px; min-height: 44px; padding: 0 2.4rem 0 2.4rem; border: 1.5px solid var(--line); border-radius: var(--pill); background: var(--blanco); font: 500 16px/1 var(--sans); color: var(--cacao); }
.csearch input:focus { outline: none; border-color: var(--cacao); }
.csearch > .ico { position: absolute; left: .85rem; top: 50%; translate: 0 -50%; width: 18px; height: 18px; pointer-events: none; }
.csearch button { position: absolute; right: 4px; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; }
.csearch button .ico { width: 16px; height: 16px; }
.csearch--m { display: block; margin-top: var(--s3); }
.csearch--m input { width: 100%; }
@media (min-width: 900px) { .csearch { display: block; } .csearch--m { display: none; } }
.cstatus { font-size: var(--t-xs); color: var(--ink-soft); }
.carta-body { padding-block: var(--s5) var(--sec); }
.ccat { display: grid; gap: var(--s4); padding-block: var(--s6); border-bottom: 2px solid var(--cacao); scroll-margin-top: calc(var(--hd) + 70px); }
.ccat:first-child { padding-top: var(--s3); }
.ccat__hd { display: grid; gap: var(--s2); align-content: start; }
.ccat__t { font-size: clamp(2.4rem, 1.4rem + 4vw, 5rem); }
.ccat__intro { color: var(--ink-soft); max-width: 30rem; }
.ccat__unit { font-size: var(--t-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--chile); }
.ccat__card { width: min(64%, 300px); rotate: -2.5deg; margin-top: var(--s2); }
.ccat:nth-child(even) .ccat__card { rotate: 2.5deg; }
.dlist { display: grid; }
.dish { display: grid; gap: .3rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.dish:first-child { border-top: 0; padding-top: 0; }
.dish__top { display: flex; align-items: baseline; gap: .6rem; }
.dish h3 { font: 400 clamp(1.35rem, 1.1rem + .8vw, 1.75rem)/1.15 var(--serif); }
.dish h3 mark { background: var(--maiz); color: inherit; border-radius: 2px; }
.dish__dots { flex: 1; min-width: 1rem; border-bottom: 2px dotted rgb(53 39 31 / .3); translate: 0 -.3em; }
.dish__p { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dish__half { display: block; text-align: right; font-size: var(--t-xs); font-weight: 500; color: var(--ink-soft); }
.dish__d { font-size: var(--t-s); color: var(--ink-soft); max-width: 40rem; }
.dish__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .2rem; }
.tag { display: inline-flex; align-items: center; gap: .3rem; padding: .18rem .6rem; border-radius: var(--pill); font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.tag--v { background: #dce9dd; color: var(--nopal-d); }
.tag--vg { background: var(--nopal); color: var(--tortilla); }
.tag--disp { background: #f6e1c0; color: #6b4210; }
.tag--star { background: var(--chile); color: var(--blanco); }
.dlist--tacos { grid-template-columns: repeat(2, 1fr); gap: var(--s2); }
.dlist--tacos .dish { padding: 1rem; border: 1.5px solid var(--cacao); border-radius: var(--r-s); background: var(--blanco); align-content: start; }
.dlist--tacos .dish__top { flex-direction: column; gap: .2rem; }
.dlist--tacos .dish__dots { display: none; }
.dlist--tacos .dish__p { color: var(--chile); }
@media (min-width: 700px) { .dlist--tacos { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1060px) {
  .ccat { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: var(--s7); }
  .ccat__hd { position: sticky; top: calc(var(--hd) + 90px); align-self: start; }
  .dlist--tacos { grid-template-columns: repeat(3, 1fr); }
  .dlist--cols { grid-template-columns: 1fr 1fr; column-gap: var(--s5); }
  .dlist--cols .dish:nth-child(2) { border-top: 0; padding-top: 0; }
}
.cempty { padding: var(--s6) 0; text-align: center; display: grid; gap: var(--s2); justify-items: center; }
.cempty p { font: 400 var(--t-h3)/1.2 var(--serif); }
.cempty button { font-weight: 700; text-decoration: underline; min-height: 44px; }
.order { background: var(--cacao); color: var(--tortilla); border-radius: var(--r-m); padding: clamp(1.4rem, 4vw, 3rem); display: grid; gap: var(--s4); margin-top: var(--s6); }
.order h2 { font-size: clamp(2rem, 1.3rem + 2.8vw, 3.6rem); }
.order dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s3); margin: 0; }
.order dt { font-size: var(--t-xs); color: var(--maiz); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.order dd { margin: .3rem 0 0; font: 400 1.6rem/1.1 var(--serif); }
.order__act { display: flex; flex-wrap: wrap; gap: var(--s2); }
.allergy { display: flex; gap: .8rem; align-items: start; margin-top: var(--s4); padding: 1rem 1.2rem; border-left: 4px solid var(--chile); background: var(--blanco); font-size: var(--t-s); }

/* --- menú del día (página) --- */
.mdd-hero { background: var(--maiz); color: var(--cacao); }
.mdd-hero__in { display: grid; gap: var(--s5); }
.mdd-hero__txt { display: grid; gap: var(--s4); align-content: end; }
.mdd-hero .stamp { position: relative; right: auto; top: auto; width: 170px; justify-self: start; }
.mdd-hero .stamp span { font-size: 4.4rem; }
@media (min-width: 1060px) { .mdd-hero__in { grid-template-columns: 1.4fr .6fr; align-items: end; } .mdd-hero .stamp { justify-self: center; width: 220px; } .mdd-hero .stamp span { font-size: 5.6rem; } }
.mdd-page__in { display: grid; gap: var(--s6); }
.sheet--big { width: min(100%, 640px); rotate: -.8deg; }
.sheet__grp { padding: 1.2rem .4rem .4rem; }
.sheet__grp h3 { font: 700 var(--t-xs)/1 var(--sans); font-stretch: 80%; text-transform: uppercase; letter-spacing: .16em; color: var(--chile); margin-bottom: .6rem; }
.sheet__grp li { padding: .45rem 0; border-bottom: 1px dotted var(--line); font: 400 1.3rem/1.25 var(--serif); }
.sheet__flag { display: inline-block; margin-top: .6rem; padding: .3rem .8rem; border-radius: var(--pill); background: var(--tortilla); border: 1.5px dashed var(--cacao); font-size: var(--t-xs); font-weight: 700; }
.mdd-steps { display: grid; gap: var(--s2); counter-reset: s; }
.mdd-steps li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: baseline; padding: 1rem 0; border-top: 1px solid var(--line); font: 400 var(--t-h3)/1.15 var(--serif); }
.mdd-steps span { font: 600 var(--t-xs)/1 var(--sans); color: var(--chile); }
@media (min-width: 1060px) { .mdd-page__in { grid-template-columns: 1fr 1fr; column-gap: var(--s7); align-items: start; } .mdd-page__in .sheet--big { position: sticky; top: calc(var(--hd) + 2rem); } }
.facts-band { background: var(--cacao); color: var(--tortilla); }
.facts-band__grid { display: grid; gap: var(--s4); }
.facts-band__grid div { display: grid; gap: .5rem; padding-top: var(--s2); border-top: 1px solid rgb(245 235 220 / .25); }
.facts-band__grid dt { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .12em; color: var(--maiz); font-weight: 700; }
.facts-band__grid dd { margin: 0; font: 400 var(--t-h3)/1.2 var(--serif); }
@media (min-width: 900px) { .facts-band__grid { grid-template-columns: repeat(4, 1fr); } }

/* --- galería --- */
.gal-hero { background: var(--cacao); color: var(--tortilla); }
.gal-hero__in { display: grid; gap: var(--s4); }
.gal-ch { padding-block: var(--s7); }
.gal-ch + .gal-ch { border-top: 2px solid var(--cacao); }
.gal-ch__hd { display: grid; gap: var(--s2); margin-bottom: var(--s5); }
.gal-ch__t { font-size: clamp(2.4rem, 1.4rem + 4vw, 5rem); overflow-wrap: anywhere; }
@media (min-width: 900px) { .gal-ch__t { font-size: clamp(2.4rem, 1rem + 2.6vw, 3.8rem); } }
.gal-ch__hd p { color: var(--ink-soft); max-width: 30rem; }
.gal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s3) var(--s2); align-items: start; }
.gal-grid > * { grid-column: span 1; }
.gal-grid .is-wide { grid-column: 1 / -1; }
.gal-grid > :nth-child(3n+2) { margin-top: var(--s5); }
.gal-btn { display: block; width: 100%; text-align: left; border-radius: 9px; transition: transform var(--d-mid) var(--ease-out); }
.gal-btn:nth-child(odd) .lot { rotate: -1.2deg; }
.gal-btn:nth-child(even) .lot { rotate: 1.4deg; }
@media (hover: hover) and (pointer: fine) { .gal-btn:hover { transform: translateY(-6px) rotate(-1deg); } }
.gal-btn .lot__name::after { content: ' ↗'; opacity: .5; }
@media (min-width: 900px) {
  .gal-ch { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: var(--s6); }
  .gal-ch__hd { position: sticky; top: calc(var(--hd) + 2rem); align-self: start; }
  .gal-grid { grid-template-columns: repeat(3, 1fr); gap: var(--s5) var(--s4); }
  .gal-grid .is-wide { grid-column: span 2; }
}
.lb { position: fixed; inset: 0; z-index: 120; display: grid; grid-template-rows: auto 1fr auto; background: rgb(36 26 20 / .96); color: var(--tortilla); padding: var(--s2) var(--gut) calc(var(--s3) + env(safe-area-inset-bottom)); opacity: 0; transition: opacity 260ms var(--ease-out); }
.lb[data-open] { opacity: 1; }
.lb__top { display: flex; justify-content: space-between; align-items: center; min-height: 56px; }
.lb__count { font-size: var(--t-s); font-variant-numeric: tabular-nums; }
.lb__close { display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; padding: 0 1rem; border: 1.5px solid currentColor; border-radius: var(--pill); font-weight: 600; }
.lb__close .ico { width: 20px; height: 20px; }
.lb__stage { display: grid; place-items: center; min-height: 0; }
.lb__fig { margin: 0; display: grid; gap: .8rem; justify-items: center; max-height: 100%; }
.lb__fig img { max-width: min(92vw, 800px); max-height: calc(100svh - 220px); width: auto; height: auto; border-radius: 6px; border: 2px solid var(--tortilla); transition: opacity 200ms, transform 320ms var(--ease-out); }
.lb__fig.is-swap img { opacity: 0; transform: scale(.97); }
.lb__fig figcaption { font-size: var(--t-s); text-align: center; max-width: 40rem; }
.lb__nav { display: flex; justify-content: center; gap: var(--s2); }
.lb__nav button { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid currentColor; }
.lb__nav .ico { width: 22px; height: 22px; }

/* --- eventos --- */
.ev-hero { background: var(--nopal); color: var(--tortilla); }
.ev-hero__in { display: grid; gap: var(--s5); }
.ev-hero__txt { display: grid; gap: var(--s4); }
.ev-hero__cards { position: relative; height: clamp(320px, 96vw, 520px); }
.ev-hero__cards .lot { position: absolute; }
.ev-hero__cards .lot:nth-child(1) { width: 60%; left: 0; top: 0; rotate: -5deg; }
.ev-hero__cards .lot:nth-child(2) { width: 46%; right: 0; bottom: 0; rotate: 6deg; }
@media (min-width: 1060px) { .ev-hero__in { grid-template-columns: 1.2fr .8fr; align-items: end; } .ev-hero__cards { height: 560px; } }
.occ__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s2); margin-top: var(--s5); }
.occ__grid .lot:nth-child(odd) { rotate: -1.6deg; }
.occ__grid .lot:nth-child(even) { rotate: 1.6deg; }
@media (min-width: 900px) { .occ__grid { grid-template-columns: repeat(5, 1fr); gap: var(--s3); } }
.why { background: var(--blanco); }
.why__grid { display: grid; gap: var(--s4); margin-top: var(--s5); }
.why__grid li { display: grid; gap: .6rem; padding-top: var(--s2); border-top: 2px solid var(--cacao); }
.why__grid h3 { font-size: var(--t-h3); }
.why__grid p { color: var(--ink-soft); }
@media (min-width: 900px) { .why__grid { grid-template-columns: repeat(4, 1fr); } }

/* --- formularios que preparan el WhatsApp --- */
.waf { display: grid; gap: var(--s3); padding: clamp(1.3rem, 4vw, 2.6rem); background: var(--blanco); color: var(--cacao); border: 2px solid var(--cacao); border-radius: var(--r-m); }
.waf__t { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.8rem); }
.waf__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2); }
.waf__f { display: grid; gap: .35rem; }
.waf__f--full { grid-column: 1 / -1; }
.waf label { font-size: var(--t-s); font-weight: 600; }
.waf label small { font-weight: 400; color: var(--ink-soft); }
.waf input, .waf select, .waf textarea { width: 100%; min-height: 50px; padding: .7rem .9rem; border: 1.5px solid rgb(53 39 31 / .35); border-radius: 10px; background: var(--tortilla); color: var(--cacao); font: 500 16px/1.3 var(--sans); appearance: none; -webkit-appearance: none; }
.waf select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.4rem; }
.waf textarea { min-height: 96px; resize: vertical; }
.waf input:focus, .waf select:focus, .waf textarea:focus { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--cacao); }
.waf [aria-invalid="true"] { border-color: var(--chile); background: #fbe9e6; }
.waf__err { font-size: var(--t-xs); font-weight: 600; color: var(--chile); min-height: 1em; }
.waf__err:empty { display: none; }
.waf__help { font-size: var(--t-xs); color: var(--ink-soft); }
.waf__act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); }
.waf__act .btn { border: 0; }
@media (max-width: 459px) { .waf__grid { grid-template-columns: 1fr; } }

/* --- reservas --- */
.res-hero { background: var(--chile); color: var(--tortilla); padding-bottom: var(--sec); }
.res-hero__in { display: grid; gap: var(--s5); }
.res-hero__txt { display: grid; gap: var(--s3); align-content: start; }
.res-hero__alt { display: grid; gap: var(--s2); margin-top: var(--s2); }
.res-hero__alt a { display: inline-flex; align-items: center; gap: .7rem; min-height: 48px; text-decoration: none; font: 400 clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem)/1.1 var(--serif); }
.res-hero__alt .ico { width: 26px; height: 26px; color: var(--maiz); }
.res-hero__card { width: min(60%, 280px); rotate: 5deg; justify-self: end; }
@media (min-width: 1060px) { .res-hero__in { grid-template-columns: .95fr 1.05fr; align-items: start; column-gap: var(--s6); } }
.res-info { display: grid; gap: var(--s5); }
.res-info__box { display: grid; gap: var(--s2); align-content: start; }
.res-info__box h2 { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.8rem); }
@media (min-width: 900px) { .res-info { grid-template-columns: repeat(3, 1fr); column-gap: var(--s5); } }
.hours { width: 100%; border-collapse: collapse; font-size: var(--t-s); }
.hours th, .hours td { padding: .6rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.hours th { font-weight: 600; width: 40%; }
.hours td span { display: block; font-variant-numeric: tabular-nums; }
.hours__off { color: var(--ink-soft); }
.hours tr.is-today th, .hours tr.is-today td { color: var(--chile); font-weight: 700; }
.hours tr.is-today th::after { content: ' · hoy'; font-weight: 500; }

/* --- contacto --- */
.ct-hero { background: var(--tortilla); }
.ct-hero__in { display: grid; gap: var(--s5); }
.ct-big { display: grid; gap: var(--s2); }
.ct-big a { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem 1rem; text-decoration: none; padding: .6rem 0; border-top: 2px solid var(--cacao); }
.ct-big small { width: 100%; font: 700 var(--t-xs)/1 var(--sans); text-transform: uppercase; letter-spacing: .12em; color: var(--chile); }
.ct-big span { font: 400 clamp(2.4rem, 1.4rem + 4.4vw, 5.6rem)/1 var(--serif); letter-spacing: -.01em; }
@media (hover: hover) { .ct-big a:hover span { color: var(--chile); } }
.ct-grid { display: grid; gap: var(--s5); }
@media (min-width: 1060px) { .ct-grid { grid-template-columns: 1.1fr .9fr; column-gap: var(--s6); } }
.map { position: relative; aspect-ratio: 4 / 3; border: 2px solid var(--cacao); border-radius: var(--r-m); overflow: hidden; background: var(--nopal); color: var(--tortilla); display: grid; place-items: center; text-align: center; padding: var(--s4); }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map__ph { display: grid; gap: var(--s2); justify-items: center; max-width: 26rem; }
.map__ph p { font-size: var(--t-s); }
.map__pin { width: 56px; height: 56px; color: var(--maiz); }
.ct-list { display: grid; gap: var(--s3); }
.ct-list li { display: grid; grid-template-columns: 28px 1fr; gap: .8rem; }
.ct-list .ico { width: 24px; height: 24px; color: var(--chile); margin-top: .15rem; }
.ct-list h3 { font: 700 var(--t-s)/1.3 var(--sans); }
.ct-list p { color: var(--ink-soft); font-size: var(--t-s); }

/* --- preguntas --- */
.faq { display: grid; }
.faq__i { border-top: 1.5px solid var(--cacao); }
.faq__i:last-child { border-bottom: 1.5px solid var(--cacao); }
.faq__i summary { display: flex; justify-content: space-between; align-items: center; gap: var(--s2); min-height: 64px; padding: .8rem 0; cursor: pointer; list-style: none; font: 400 clamp(1.25rem, 1.05rem + .7vw, 1.6rem)/1.25 var(--serif); }
.faq__i summary::-webkit-details-marker { display: none; }
.faq__x { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid currentColor; transition: transform var(--d-mid) var(--ease-out), background var(--d-fast); }
.faq__x .ico { width: 18px; height: 18px; }
.faq__i[open] .faq__x { transform: rotate(45deg); background: var(--maiz); border-color: var(--maiz); }
.faq__a { padding: 0 3.5rem 1.2rem 0; color: var(--ink-soft); }
@media (prefers-reduced-motion: no-preference) { .faq__i[open] .faq__a { animation: faqin 380ms var(--ease-out); } }
@keyframes faqin { from { opacity: 0; transform: translateY(-6px); } }
.split { display: grid; gap: var(--s5); }
@media (min-width: 1060px) { .split { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: var(--s7); } .split > :first-child { position: sticky; top: calc(var(--hd) + 2rem); align-self: start; } }

/* --- cierre interior --- */
.closer { padding-block: var(--sec); }
.closer--chile { background: var(--chile); color: var(--tortilla); }
.closer--nopal { background: var(--nopal); color: var(--tortilla); }
.closer--cacao { background: var(--cacao); color: var(--tortilla); }
.closer__in { display: grid; gap: var(--s5); align-items: center; }
.closer__txt { display: grid; gap: var(--s3); justify-items: start; }
.closer__t { font-size: var(--t-h2); max-width: 14ch; }
.closer__txt p { max-width: 32rem; font-size: var(--t-l); }
.closer__act { display: flex; flex-wrap: wrap; gap: var(--s2); }
.closer__card { width: min(64%, 320px); rotate: 5deg; justify-self: center; }
@media (min-width: 960px) { .closer__in { grid-template-columns: 1.4fr .6fr; } }

/* --- legales y 404 --- */
.legal { padding: calc(var(--hd) + var(--s6)) 0 var(--sec); }
.legal__in { max-width: 46rem; display: grid; gap: var(--s2); }
.legal h1 { font-size: clamp(2.6rem, 1.6rem + 4vw, 4.6rem); margin-bottom: var(--s3); }
.legal h2 { font-size: var(--t-h3); margin-top: var(--s4); }
.legal p, .legal li { color: var(--ink-soft); }
.legal ul { list-style: disc; padding-left: 1.2rem; display: grid; gap: .4rem; }
.nf { min-height: 100svh; background: var(--chile); color: var(--tortilla); display: grid; align-content: center; padding: calc(var(--hd) + var(--s5)) var(--gut) var(--s6); }
.nf__in { display: grid; gap: var(--s4); justify-items: start; max-width: 1100px; margin-inline: auto; width: 100%; }
.nf__card { width: min(56%, 240px); rotate: -6deg; }
.nf h1 { font-size: var(--t-h1); line-height: .9; max-width: 12ch; }
.nf p { font-size: var(--t-l); max-width: 30rem; }
.nf__links { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
  .js [data-fade], .js [data-lines] .line > span, .js .hero__l > span, .js .hero__card, .js .hero__foot, .js .hero__scroll, .js .hero__picado { opacity: 1 !important; transform: none !important; }
  .js .fr__m { clip-path: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
@media print { .hd, .mbar, .menu, .picado, .ft__mark { display: none !important; } }
/* cabecera sobre la portada amarilla del menú del día */
.p-menu-del-dia .hd:not(.is-solid) .hd__cta { background: var(--cacao); color: var(--maiz); }
.p-reservas .mbar { display: none; }
