/* Merendero Estela: tokens.css, sitio.css, secciones.css, movimiento.css, unidas por scripts/construir.mjs (fuente en src/css/). */
@font-face {
  font-family: 'Epilogue';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fuentes/epilogue-latin-wght-normal.woff2') format('woff2');
}
:root {
  --bg: #0f0f0f;              
  --surface: #1a1a1a;         
  --ink: #ffffff;             
  --muted: #8f8f8f;           
  --accent: #f29a1f;          
  --accent-ink: #0f0f0f;
  --accent-fuerte: #ffb547;   
  --field-1: #ffffff;         
  --field-1-ink: #0f0f0f;     
  --field-1-ink-fuerte: #000000; 
  --field-1-step: #efefef;    
  --field-1-step-2: #e2e2e2;  
  --field-2: #ffc45c;         
  --field-2-ink: #0f0f0f;
  --scrim: rgb(15 15 15 / 0.72); 
  --font: 'Epilogue', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --step-small: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
  --step-body: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --step-lead: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --step-head: clamp(2.5rem, 1.2rem + 5vw, 5.5rem);
  --step-nav: 15px;
  --monumento: clamp(44px, calc(100cqi / 5.6), 9rem);
  --margen: 16px;
  --hueco: 24px;
  --seccion: clamp(4.5rem, 9vw, 8.5rem);
  --radio: 0;
  --barra-alto: 48px;
  --barra-llamada-alto: 64px;
  --barra-abajo: var(--barra-llamada-alto);
  --alto-util: calc(100svh - var(--barra-alto) - var(--barra-abajo));
  --aire-foco: 8px;
  --foco: var(--field-1-ink);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --t-press: 140ms;
  --t-hover: 180ms;
  --t-ui: 240ms;
  --t-reveal: 800ms;
  --stagger-item: 75ms;
  --stagger-line: 100ms;
}
@media (min-width: 768px) {
  :root {
    --margen: 32px;
    --barra-alto: 56px;
    --barra-abajo: 0px;
    --monumento: clamp(64px, calc(100cqi / 8.8), 15rem);
  }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; background: var(--bg); }
html { scroll-padding-block: calc(var(--barra-alto) + var(--aire-foco)) calc(var(--barra-abajo) + var(--aire-foco)); }
body {
  margin: 0;
  padding-bottom: var(--barra-llamada-alto);
  background: var(--field-1);
  color: var(--field-1-ink);
  font-family: var(--font);
  font-size: var(--step-body);
  line-height: 1.5;
  font-kerning: normal;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
h1, h2, h3, p, figure, blockquote, ul, ol, address { margin: 0; }
ul[class], ol[class] { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
address { font-style: normal; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
[hidden] { display: none !important; }
a, button, summary { touch-action: manipulation; }
::selection { background: var(--field-2); color: var(--field-2-ink); }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; }
.solo-lectores {
  position: absolute;
  width: 1px;
  height: 1px; 
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
main > section { scroll-margin-top: calc(-1 * var(--aire-foco)); }
.cabecera, #portada, #visitanos, .barra-llamada, .prensa-banda {
  background: var(--bg);
  color: var(--ink);
  --foco: var(--accent);
}
.boton-llamar,
.boton-llegar,
.boton-mapa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 20px;
  background: var(--accent);
  color: var(--accent-ink);
  border-radius: var(--radio);
  font-weight: 500;
  font-size: var(--step-body);
  line-height: 1.2;
  text-decoration: none;
  transition: background-color var(--t-hover) ease;
}
.boton-llamar .icono,
.boton-llegar .icono,
.boton-mapa .icono { flex: none; width: 20px; height: 20px; }
.boton-oscuro,
.prensa-pausa {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 20px;
  border: 0;
  background: var(--field-1-ink);
  color: var(--field-1);
  border-radius: var(--radio);
  font: inherit;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--t-hover) ease;
}
.boton-oscuro::-webkit-details-marker { display: none; }
@media (hover: hover) and (pointer: fine) {
  .boton-llamar:hover,
  .boton-llegar:hover,
  .boton-mapa:hover { background: var(--accent-fuerte); }
  .boton-oscuro:hover,
  .prensa-pausa:hover { background: var(--field-1-ink-fuerte); }
  .navegacion a:hover,
  .selector-idioma a:hover { text-decoration-line: underline; }
}
.cabecera {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: var(--hueco);
  height: var(--barra-alto);
  padding-inline: var(--margen);
}
.saltar {
  position: absolute;
  top: 4px;
  left: var(--margen);
  z-index: 1;
  padding: 10px 14px;
  background: var(--bg);
  color: var(--ink);
  transform: translateY(-200%);
}
.saltar:focus-visible { transform: none; }
.marca {
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.cabecera-fila {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 100%;
  margin-left: auto;
}
.navegacion { display: none; }
.navegacion ul { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.navegacion a,
.selector-idioma a {
  display: inline-block;
  padding: 8px 2px;
  font-size: var(--step-nav);
  line-height: 1.2;
  text-decoration: none;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 2px;
}
.selector-idioma { display: flex; align-items: center; gap: 4px; font-weight: 500; }
.selector-idioma a { padding-inline: 6px; }
.selector-idioma a[aria-current] { text-decoration-line: underline; }
.selector-separador { font-size: var(--step-nav); }
.boton-llamar--cabecera,
.boton-llegar--cabecera { display: none; }
.cabecera[data-estado='portada'] { background: transparent; padding-right: 0; }
.cabecera[data-estado='portada'] .marca { visibility: hidden; }
.cabecera[data-estado='portada'] .cabecera-fila { padding-inline: 16px var(--margen); background: var(--scrim); }
@media (min-width: 768px) {
  .marca { font-size: 18px; }
  .navegacion { display: block; }
  .cabecera-fila { gap: 28px; }
  .cabecera[data-estado='fija'] .boton-llamar--cabecera,
  .cabecera[data-estado='fija'] .boton-llegar--cabecera {
    display: inline-flex;
    min-height: 36px;
    padding: 0 14px;
    font-size: var(--step-nav);
  }
  .cabecera[data-estado='portada'] .cabecera-fila { padding-left: 24px; }
  .navegacion a,
  .boton-llamar--cabecera,
  .boton-llegar--cabecera { white-space: nowrap; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cabecera[data-estado='fija'] .navegacion { display: none; }
}
#portada {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  overflow: clip;
  view-timeline-name: --portada; 
}
.portada-foto {
  position: relative;
  flex: 1000 1 0px;
  min-height: max(200px, 34svh);
  max-height: 50svh;
  overflow: clip;
  background: var(--surface);
}
.portada-foto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 74%;
}
.portada-banda {
  position: relative; 
  z-index: 1;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px var(--margen) 14px;
  background: var(--bg);
  container-type: inline-size; 
}
.monumento {
  order: 2;
  margin-top: auto;
  font-size: var(--monumento);
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.monumento-linea,
.monumento-palabra { display: block; }
.portada-fila { order: 1; display: flex; flex-direction: column; gap: 16px; }
.portada-frase { font-size: 1.125rem; line-height: 1.3; }
.portada-linea { margin-top: 6px; color: var(--muted); font-size: var(--step-small); }
#portada .acciones { display: flex; flex-direction: column; gap: 4px; }
.acciones-boton { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 12px; }
#portada :is(.boton-llamar, .boton-llegar) { gap: 8px; padding-inline: 16px; }
#portada :is(.boton-llamar, .boton-llegar),
.telefono-visible { font-size: var(--step-lead); }
.telefono-visible { font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.abierto { font-size: var(--step-body); line-height: 1.35; }
.abierto-linea { font-weight: 500; text-wrap: balance; } 
.abierto-punto {
  position: relative;
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  margin-right: 0.5em;
  border-radius: 50%;
  background: currentColor;
}
.abierto[data-estado='cerrado'] .abierto-punto,
.abierto[data-estado='sin-telefono'] .abierto-punto { background: var(--muted); }
.cuenta { font-variant-numeric: tabular-nums; white-space: nowrap; }
.abierto .abierto-detalle { margin-top: 2px; font-weight: 400; }
.horario { color: var(--muted); font-size: var(--step-small); line-height: 1.45; }
.horario-corrido { text-wrap: balance; }
@media (min-width: 768px) {
  .portada-foto { min-height: 40svh; max-height: 58svh; }
  .portada-banda { gap: 24px; padding: 24px var(--margen) 20px; }
  .monumento-linea { display: inline-block; } 
  .portada-frase { max-width: 32ch; font-size: var(--step-lead); line-height: 1.25; }
  .portada-linea { margin-top: 10px; font-size: max(1.1875rem, var(--step-body)); }
  #portada :is(.boton-llamar, .boton-llegar) { gap: 10px; padding-inline: 20px; }
  #portada :is(.boton-llamar, .boton-llegar),
  .telefono-visible { font-size: max(1.1875rem, var(--step-body)); }
  .portada-fila { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: var(--hueco); }
  .portada-texto { flex: 1; }
  #portada .acciones { flex: none; max-width: 30rem; align-items: flex-end; text-align: right; }
  .acciones-boton { justify-content: flex-end; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .portada-texto { flex: 1 0 20rem; }
  #portada .acciones { flex: 0 1 auto; min-width: 0; }
}
#menu { padding: var(--seccion) var(--margen); }
.menu-columna { container-type: inline-size; width: min(100%, 600px); margin-inline: auto; }
.palabra-gigante {
  margin-bottom: 20px;
  font-size: 35cqw;
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.palabra-mascara,
.palabra-mascara > span { display: inline-block; } 
.menu-platos { display: flex; flex-direction: column; gap: 6px; }
.plato { background: var(--field-1-step); }
.plato > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: 'nombre control' 'precio control';
  align-items: center;
  gap: 2px 16px;
  min-height: 64px;
  padding: 10px 10px 10px 18px;
  font-size: var(--step-body);
  font-weight: 500;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
  transition: background-color var(--t-hover) ease;
}
.plato > summary::-webkit-details-marker { display: none; }
.plato-nombre { grid-area: nombre; min-width: 0; }
.precio { font-variant-numeric: tabular-nums; white-space: nowrap; }
.plato > summary .precio { grid-area: precio; }
.plato-control {
  grid-area: control;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px 0 14px;
  background: var(--field-1-ink); 
  color: var(--field-1);
  border-radius: var(--radio);
  font-size: var(--step-nav);
  line-height: 1.2;
  white-space: nowrap;
}
.plato-control .icono-mas { flex: none; }
.plato:not([open]) .plato-control-ocultar,
.plato[open] .plato-control-ver { display: none; }
.icono-mas-v { transform-box: fill-box; transform-origin: center; }
.plato[open] .icono-mas-v { transform: rotate(90deg); } 
@media (hover: hover) and (pointer: fine) {
  .plato > summary:hover { background: var(--field-1-step-2); }
}
@container (min-width: 30rem) {
  .plato > summary { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'nombre precio control'; }
}
@container (max-width: 18em) {
  .plato > summary { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'nombre' 'precio' 'control'; }
  .plato-control { justify-self: start; white-space: normal; }
}
.plato-panel { display: grid; gap: 20px; padding: 2px 18px 24px; }
.plato:not([open]) > .plato-panel { display: none; }
.plato-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.plato-texto { display: grid; gap: 20px; }
.variantes, .extras { display: grid; gap: 14px; }
.variantes li > p:first-child,
.extras li > p:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 16px; font-weight: 500; }
.variantes li > p + p { margin-top: 4px; }
.plato h3 { font-size: var(--step-body); font-weight: 500; }
.plato h3 + .extras { margin-top: -8px; }
.leer-mas {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin-top: 2px;
  padding: 0 2px;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}
.leer-mas > span {
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
}
.leer-mas .icono-flecha { flex: none; }
.leer-mas[aria-expanded='true'] .icono-flecha { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
  .leer-mas:hover > span { text-decoration-thickness: 3px; }
}
.barra-llamada {
  position: fixed;
  inset: auto 0 0;
  z-index: 20;
  height: var(--barra-llamada-alto);
  padding: 8px var(--margen);
}
.barra-llamada :is(.boton-llamar, .boton-llegar) { width: 100%; height: 100%; }
.barra-llamada[data-oculta] { visibility: hidden; transform: translateY(100%); }
@media (min-width: 768px) {
  body { padding-bottom: 0; }
  .barra-llamada { display: none; }
}
.historia-intro, .historia-breve, .anios, .anio, .historia-cierre, .prensa-cuerpo, .prensa-cabeza,
.prensa-entrada, .resenas-lista, .visitanos-esquinas, .visitanos-donde, .pie-fila, .pie-lugares {
  grid-template-columns: minmax(0, 1fr);
}
.titulo-seccion {
  font-size: var(--step-head);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.04em;
}
.titulo-mascara,
.titulo-mascara > span { display: inline-block; max-width: 100%; }
.icono-salida,
.icono-arriba { display: inline-block; flex: none; vertical-align: -0.12em; }
#historia { padding-top: var(--seccion); background: var(--field-1); }
.historia-intro { display: grid; gap: 20px; padding-inline: var(--margen); }
.historia-entrada { max-width: 40ch; font-size: var(--step-lead); line-height: 1.3; }
@media (min-width: 1024px) {
  .historia-intro { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; column-gap: var(--hueco); }
}
.escena-ventana { margin-top: clamp(48px, 6vw, 96px); }
.ventana { margin: 0; }
.ventana-marco { overflow: clip; background: var(--surface); }
.ventana-marco img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 24% 50%; 
}
.ventana-pie { padding: 14px var(--margen) 0; font-size: var(--step-body); font-weight: 500; line-height: 1.35; }
.ventana-pie > span { display: block; max-width: 60ch; }
.historia-breve { display: grid; gap: 40px; padding: var(--seccion) var(--margen) 0; }
.historia-subtitulo { margin-bottom: 16px; font-size: var(--step-lead); font-weight: 500; line-height: 1.25; }
.capitular { max-width: 48ch; font-size: var(--step-lead); line-height: 1.35; }
.capitular-retrato {
  float: left;
  width: calc(4 * 1.35em - 0.3em);
  height: calc(4 * 1.35em - 0.3em);
  margin: 0.3em 0.55em 0 0;
  object-fit: cover;
}
.historia-plato { width: min(100%, 26rem); margin: 0; }
.historia-plato-marco { overflow: clip; background: var(--field-1-step); }
.historia-plato-marco img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 38% 50%; }
.historia-plato figcaption { margin-top: 10px; font-size: var(--step-small); line-height: 1.4; }
@media (min-width: 1024px) {
  .historia-breve { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: start; column-gap: calc(2 * var(--hueco)); }
  .historia-plato { width: 100%; }
}
.escena-anios { padding: var(--seccion) var(--margen) 0; }
.anios { display: grid; gap: clamp(40px, 5vw, 72px); }
.anio { display: grid; gap: 10px 32px; }
.anio-cuando { display: flex; flex-direction: column; max-width: none; }
.anio-prefijo { font-size: var(--step-lead); font-weight: 500; line-height: 1.2; }
.anio-numero {
  padding-top: 0.08em; 
  font-size: clamp(88px, 34vw, 22rem);
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.05em;
}
.anio-texto { max-width: 32ch; font-size: var(--step-lead); line-height: 1.3; }
@media (min-width: 768px) {
  .anio { grid-template-columns: auto minmax(0, 1fr); align-items: end; }
  .anio-numero { font-size: clamp(9rem, 25vw, 24rem); }
}
.historia-cierre { display: grid; gap: 40px; padding: var(--seccion) var(--margen); }
.cita-familiar p { max-width: none; font-size: var(--step-head); font-weight: 900; line-height: 0.95; letter-spacing: -0.04em; }
.cita-familiar footer { max-width: 46ch; margin-top: 16px; font-size: var(--step-body); }
#historia-completa > summary { list-style: none; }
.historia-ocultar,
#historia-completa[open] .historia-ver { display: none; }
#historia-completa[open] .historia-ocultar { display: inline; }
#historia-completa[open] .icono-mas-v { transform: rotate(90deg); }
.historia-completa-panel { display: grid; gap: 0.9em; margin-top: 32px; }
#historia-completa:not([open]) > .historia-completa-panel { display: none; } 
.historia-completa-panel h3 { font-size: var(--step-lead); font-weight: 500; line-height: 1.25; }
.historia-completa-panel p { max-width: 62ch; }
.linea-tiempo { display: grid; gap: 14px; margin-top: 12px; }
.linea-tiempo strong { display: block; font-weight: 900; }
@media (min-width: 1024px) {
  .historia-cierre { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; column-gap: var(--hueco); }
}
#prensa { background: var(--field-1); }
.prensa-banda { display: flex; align-items: center; min-height: 22vh; overflow: clip; container-type: inline-size; }
.prensa-pista { display: flex; width: max-content; }
.prensa-tira {
  display: flex;
  flex: none;
  align-items: center;
  max-width: none;
  font-size: 15vw;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.prensa-nombre { padding-block: 0.1em; }
.prensa-marquee .prensa-nombre::after,
.prensa-banda--fija .prensa-nombre + .prensa-nombre::before {
  content: '';
  display: inline-block;
  width: 0.24em;
  height: 0.24em;
  margin-inline: 0.42em;
  border-radius: 50%;
  background: currentColor;
  vertical-align: 0.2em;
}
.prensa-banda--fija .prensa-tira {
  padding-inline: var(--margen);
  font-size: min(15vw, calc((100cqi - 2 * var(--margen)) / (var(--letras) * 0.62)));
}
.prensa-banda--l8 { --letras: 8; }
.prensa-banda--l12 { --letras: 12; }
.prensa-banda--l16 { --letras: 16; }
.prensa-banda--l20 { --letras: 20; }
.prensa-banda--l24 { --letras: 24; }
.prensa-banda--l28 { --letras: 28; }
.prensa-banda--l32 { --letras: 32; }
.prensa-banda--l36 { --letras: 36; }
.prensa-banda--l40 { --letras: 40; }
.prensa-banda--l44 { --letras: 44; }
.prensa-banda--l48 { --letras: 48; }
.prensa-banda--l52 { --letras: 52; }
.prensa-banda--l56 { --letras: 56; }
.prensa-banda--l60 { --letras: 60; }
.prensa-banda--l64 { --letras: 64; }
.prensa-cuerpo { display: grid; gap: 40px; padding: clamp(48px, 6vw, 96px) var(--margen) var(--seccion); }
.prensa-cabeza { display: grid; gap: 16px; align-content: start; justify-items: start; }
.prensa-frase { max-width: 30ch; font-size: 1.125rem; line-height: 1.4; }
.prensa-pausa { min-height: 44px; margin-top: 8px; padding-inline: 16px; font-size: var(--step-nav); }
.prensa-pausa > span { display: inline-flex; align-items: center; gap: 10px; }
.prensa-pausa .icono { flex: none; }
.prensa-lista { display: grid; }
.prensa-entrada { display: grid; gap: 6px 24px; padding-block: 22px; }
.prensa-entrada:first-child { padding-top: 0; }
.prensa-medio { font-size: var(--step-lead); font-weight: 900; line-height: 1.1; letter-spacing: -0.02em; }
.prensa-titular a {
  font-weight: 500;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}
.prensa-titular .icono-salida { margin-left: 0.3em; }
.prensa-articulo blockquote { margin-top: 12px; }
.prensa-articulo blockquote p { max-width: 36ch; font-size: var(--step-lead); line-height: 1.3; }
.cita-traduccion { font-size: var(--step-small); }
.prensa-fecha { font-size: var(--step-small); }
@media (hover: hover) and (pointer: fine) {
  .prensa-titular a:hover { text-decoration-thickness: 3px; }
}
@media (min-width: 768px) {
  .prensa-banda { min-height: 34vh; }
  .prensa-tira { font-size: 8vw; }
  .prensa-banda--fija .prensa-tira { font-size: min(8vw, calc((100cqi - 2 * var(--margen)) / (var(--letras) * 0.62))); }
}
@media (min-width: 1024px) {
  .prensa-cuerpo {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    grid-template-areas: 'titulo titulo' 'cabeza lista';
    column-gap: var(--hueco);
  }
  .prensa-cuerpo > .titulo-seccion { grid-area: titulo; }
  .prensa-cabeza { grid-area: cabeza; }
  .prensa-lista { grid-area: lista; }
  .prensa-entrada { grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) 11.5rem; align-items: baseline; }
  .prensa-fecha { text-align: right; white-space: nowrap; }
}
#resenas { padding: var(--seccion) var(--margen); background: var(--field-1-step); }
.resenas-lista { display: grid; gap: 40px; margin-top: 32px; }
.estrellas { margin-bottom: 10px; font-size: var(--step-lead); line-height: 1; letter-spacing: 0.08em; }
.resena blockquote p { font-size: var(--step-body); line-height: 1.5; }
.resena-traduccion { font-size: var(--step-small); }
.resena-autor { margin-top: 14px; font-weight: 500; }
.resena-fuente { margin-top: 2px; font-size: var(--step-small); }
.resena-fuente a { text-underline-offset: 0.2em; }
.resenas-pie { margin-top: 40px; }
@media (min-width: 1024px) {
  .resenas-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--hueco); }
}
#visitanos { overflow: clip; }
.visitanos-cortina {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-height: var(--alto-util);
  padding: clamp(32px, 4vw, 56px) var(--margen) clamp(24px, 3vw, 40px);
}
.visitanos-arriba { display: grid; gap: 12px; justify-items: start; }
.visitanos-titulo { font-size: var(--step-head); font-weight: 900; line-height: 0.95; letter-spacing: -0.04em; }
.visitanos-frase { max-width: 24ch; font-size: var(--step-body); line-height: 1.35; }
.visitanos-telefono { max-width: none; margin-top: auto; }
.telefono-gigante {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: var(--ink);
  font-size: clamp(2.5rem, calc(22vw - 0.5rem), 6.5rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.04em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color var(--t-hover) ease;
}
.telefono-gigante > span { display: block; }
.telefono-gigante > span:first-child { white-space: nowrap; }
.telefono-gigante:focus-visible { color: var(--accent); }
@media (hover: hover) and (pointer: fine) {
  .telefono-gigante:hover { color: var(--accent); }
}
.visitanos-esquinas { display: grid; gap: 28px; }
.visitanos-esquinas h3 { margin-bottom: 6px; font-size: var(--step-body); font-weight: 500; }
.visitanos-donde { display: grid; gap: 14px; justify-items: start; }
#visitanos address { line-height: 1.4; }
#visitanos .horario { color: var(--muted); }
#visitanos .abierto { margin-top: 10px; }
.enlace-salida {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-weight: 500;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
}
@media (min-width: 768px) {
  .visitanos-cortina { min-height: min(var(--alto-util), 75vw); }
  .telefono-gigante { font-size: clamp(3rem, calc(13.3vw - 0.75rem), 12rem); }
  .telefono-gigante > span { display: inline; }
  .visitanos-esquinas { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; column-gap: var(--hueco); }
  .visitanos-resenas { justify-self: end; text-align: right; }
}
.pie {
  padding: clamp(96px, 10vw, 144px) var(--margen) 32px;
  background: var(--field-1);
  color: var(--field-1-ink);
  container-type: inline-size; 
}
.pie-nombre {
  max-width: none;
  font-size: var(--monumento);
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.pie-linea,
.pie-palabra { display: block; }
.pie-fila { display: grid; gap: 32px; margin-top: clamp(40px, 5vw, 72px); }
.pie-lugares { display: grid; gap: 6px; }
.pie-lugares a {
  font-size: var(--step-lead);
  font-weight: 500;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}
.pie-enlaces ul { display: grid; grid-template-columns: repeat(2, max-content); gap: 0 40px; margin: 0; padding: 0; list-style: none; }
.pie-enlaces a { display: inline-block; padding-block: 10px; font-size: var(--step-nav); text-decoration: none; text-underline-offset: 0.3em; text-decoration-thickness: 2px; }
.pie-final { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-top: clamp(48px, 6vw, 96px); font-size: var(--step-small); }
.pie-legal { max-width: 60ch; line-height: 1.5; }
.pie-legal a { text-underline-offset: 0.2em; }
.pie-arriba { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 500; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  .pie-enlaces a:hover,
  .pie-arriba:hover { text-decoration-line: underline; }
  .pie-lugares a:hover { text-decoration-thickness: 3px; }
}
@media (min-width: 768px) {
  .pie-linea { display: inline-block; } 
}
@media (min-width: 1024px) {
  .pie-fila { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--hueco); }
}
.pagina-error { padding-bottom: 0; background: var(--bg); color: var(--ink); --foco: var(--accent); }
.error { display: grid; align-content: center; gap: var(--hueco); min-height: 100svh; max-width: 44rem; margin: 0 auto; padding: var(--seccion) var(--margen); }
.error-marca { color: var(--accent); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; }
.error-titulo { font-size: var(--step-head); font-weight: 900; line-height: 1; }
.error-texto { font-size: var(--step-lead); max-width: 40ch; }
.error-texto a { color: var(--accent); text-underline-offset: 0.2em; }
@media (prefers-reduced-motion: no-preference) {
  .monumento-linea { clip-path: inset(-0.3em -0.2em 0 -0.2em); }
  .monumento-palabra {
    animation: letrero-sube 900ms var(--ease-expo) backwards;
    animation-delay: 120ms;
  }
  .monumento-linea + .monumento-linea .monumento-palabra { animation-delay: calc(120ms + var(--stagger-line)); }
  .portada-fila { animation: fila-llega 600ms var(--ease-out) 360ms backwards; }
  .portada-foto img { animation: deriva-foto 5s var(--ease-soft) both; }
  .abierto[data-estado='abierto'] .abierto-punto::after,
  .abierto[data-estado='telefono'] .abierto-punto::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: currentColor;
    animation: pulso-abierto 2400ms var(--ease-out) 2 both;
  }
  [data-fuera] .portada-foto img,
  [data-fuera] .abierto-punto::after { animation-play-state: paused; }
  .con-entradas [data-entrada]:not(.visto) { opacity: 0; transform: translateY(24px); }
  .con-entradas [data-entrada].visto {
    transition: opacity 700ms var(--ease-out), transform var(--t-reveal) var(--ease-expo);
  }
  .con-entradas [data-entrada].visto[data-paso='1'] { transition-delay: var(--stagger-item); }
  .con-entradas [data-entrada].visto[data-paso='2'] { transition-delay: calc(2 * var(--stagger-item)); }
  .con-entradas [data-entrada].visto[data-paso='3'] { transition-delay: calc(3 * var(--stagger-item)); }
  html.con-entradas [data-entrada]:is(:focus-visible, :has(:focus-visible)) { opacity: 1; transform: none; transition: none; }
  .palabra-mascara { clip-path: inset(-0.35em -0.2em 0 -0.2em); }
  .con-entradas .palabra-gigante[data-entrada]:not(.visto) { opacity: 1; transform: none; }
  .con-entradas .palabra-gigante:not(.visto) .palabra-mascara > span { transform: translateY(110%); }
  .con-entradas .palabra-gigante.visto .palabra-mascara > span { transition: transform 900ms var(--ease-expo); }
  .plato[open] > .plato-panel { animation: panel-abre 420ms var(--ease-out); }
  .con-leer-mas .descripcion-resto:not([hidden]) { animation: panel-abre 380ms var(--ease-out); }
  .icono-mas-v,
  .icono-flecha { transition: transform var(--t-ui) var(--ease-out); }
  .boton-llamar,
  .boton-llegar,
  .plato-control,
  .leer-mas {
    transition: transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease;
  }
  .boton-llamar:active,
  .boton-llegar:active,
  .leer-mas:active,
  .plato > summary:active .plato-control { transform: scale(0.97); }
  .boton-llamar .icono,
  .boton-llegar .icono,
  .icono-mas { transition: transform var(--t-ui) var(--ease-out); }
  .boton-llamar:focus-visible .icono { transform: rotate(-14deg); }
  .boton-llegar:focus-visible .icono { transform: translateY(-2px); }
  .plato > summary:focus-visible .icono-mas { transform: scale(1.2); }
  @media (hover: hover) and (pointer: fine) {
    .boton-llamar:hover .icono { transform: rotate(-14deg); }
    .boton-llegar:hover .icono { transform: translateY(-2px); }
    .plato > summary:hover .icono-mas { transform: scale(1.2); }
    .leer-mas:hover .icono-flecha { transform: translateY(2px); }
    .leer-mas[aria-expanded='true']:hover .icono-flecha { transform: rotate(180deg) translateY(2px); }
  }
}
@media (prefers-reduced-motion: no-preference) {
  .titulo-mascara { clip-path: inset(-0.35em -0.2em 0 -0.2em); }
  .con-entradas .titulo-seccion[data-entrada]:not(.visto) { opacity: 1; transform: none; }
  .con-entradas .titulo-seccion:not(.visto) .titulo-mascara > span { transform: translateY(110%); }
  .con-entradas .titulo-seccion.visto .titulo-mascara > span { transition: transform 900ms var(--ease-expo); }
  .pie-linea { clip-path: inset(-0.3em -0.2em 0 -0.2em); }
  .con-entradas .pie-cabeza[data-entrada]:not(.visto) { opacity: 1; transform: none; }
  .con-entradas .pie-cabeza:not(.visto) .pie-palabra { transform: translateY(115%); }
  .con-entradas .pie-cabeza.visto .pie-palabra { transition: transform 900ms var(--ease-expo); }
  .con-entradas .pie-cabeza.visto .pie-linea + .pie-linea .pie-palabra { transition-delay: var(--stagger-line); }
  .resenas-cambian .resena:not([hidden]) { animation: panel-abre 600ms var(--ease-out) backwards; }
  .resenas-cambian .resena[data-paso='1'] { animation-delay: var(--stagger-item); }
  .resenas-cambian .resena[data-paso='2'] { animation-delay: calc(2 * var(--stagger-item)); }
  #historia-completa[open] > .historia-completa-panel { animation: panel-abre 420ms var(--ease-out); }
  .prensa-marquee.en-marcha .prensa-pista { animation: prensa-corre 40s linear infinite; }
  .prensa-marquee[data-pausada] .prensa-pista,
  [data-fuera] .prensa-pista { animation-play-state: paused; }
  @media (hover: hover) and (pointer: fine) {
    .prensa-marquee:hover .prensa-pista { animation-play-state: paused; }
  }
  .boton-oscuro,
  .prensa-pausa,
  .boton-mapa,
  .pie-arriba,
  .enlace-salida {
    transition: transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease;
  }
  .boton-oscuro:active,
  .prensa-pausa:active,
  .boton-mapa:active,
  .pie-arriba:active,
  .enlace-salida:active { transform: scale(0.97); }
  .icono-salida,
  .icono-arriba,
  .boton-mapa .icono,
  .boton-oscuro .icono-mas { transition: transform var(--t-ui) var(--ease-out); }
  .prensa-titular a:focus-visible .icono-salida,
  .enlace-salida:focus-visible .icono-salida { transform: translate(2px, -2px); }
  .pie-arriba:focus-visible .icono-arriba { transform: translateY(-3px); }
  .boton-mapa:focus-visible .icono { transform: translateY(-2px); }
  .boton-oscuro:focus-visible .icono-mas { transform: scale(1.2); }
  @media (hover: hover) and (pointer: fine) {
    .prensa-titular a:hover .icono-salida,
    .enlace-salida:hover .icono-salida { transform: translate(2px, -2px); }
    .pie-arriba:hover .icono-arriba { transform: translateY(-3px); }
    .boton-mapa:hover .icono { transform: translateY(-2px); }
    .boton-oscuro:hover .icono-mas { transform: scale(1.2); }
  }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .escena-ventana.is-live {
      --s0: 0.62;
      --pie-ventana: 7rem;
      --foco-ventana: 18% 50%; 
      height: 200svh;
      margin-top: clamp(24px, 3vw, 48px);
      view-timeline-name: --ventana;
      view-timeline-inset: var(--barra-alto) var(--barra-abajo);
    }
    .scene.is-live .escena-escenario {
      position: sticky;
      top: var(--barra-alto);
      height: var(--alto-util);
      overflow: clip;
    }
    .escena-ventana.is-live .ventana { display: flex; flex-direction: column; height: 100%; }
    .escena-ventana.is-live .ventana-marco {
      position: relative;
      flex: 1 1 auto;
      min-height: 0;
      transform-origin: var(--foco-ventana);
      animation: ventana-abre linear both;
      animation-timeline: --ventana;
      animation-range: contain 0% contain 75%;
    }
    .escena-ventana.is-live .ventana-marco img {
      position: absolute;
      inset: 0;
      height: 100%;
      aspect-ratio: auto;
      transform-origin: var(--foco-ventana);
      animation: ventana-asienta linear both;
      animation-timeline: --ventana;
      animation-range: contain 0% contain 75%;
    }
    .escena-ventana.is-live .ventana-pie {
      flex: none;
      height: var(--pie-ventana);
      animation: ventana-pie-baja linear both;
      animation-timeline: --ventana;
      animation-range: contain 0% contain 75%;
    }
    @media (min-width: 768px) {
      .escena-ventana.is-live { --s0: 0.5; --pie-ventana: 4.5rem; --foco-ventana: 22% 50%; }
    }
    .escena-anios.is-live {
      height: 150svh;
      padding: 0;
      view-timeline-name: --anios;
      view-timeline-inset: var(--barra-alto) var(--barra-abajo);
    }
    .escena-anios.is-live .anios { position: relative; display: block; height: 100%; }
    .escena-anios.is-live .anio {
      position: absolute;
      inset: 0;
      align-content: center;
      padding-inline: var(--margen);
      animation: anio-entra linear both;
      animation-timeline: --anios;
      animation-range: entry 40% contain 50%;
    }
    .escena-anios.is-live .anio-texto {
      animation: anio-lugar-sube linear both;
      animation-timeline: --anios;
      animation-range: entry 75% contain 65%;
    }
    #visitanos { view-timeline-name: --visitanos; view-timeline-inset: var(--barra-alto) var(--barra-abajo); }
    .visitanos-cortina {
      animation: cortina-sube linear none;
      animation-timeline: --visitanos;
      animation-range: entry 0% entry 100%;
    }
    .visitanos-titulo {
      animation: luz-titulo linear none;
      animation-timeline: --visitanos;
      animation-range: entry 0% entry 100%;
    }
    .telefono-gigante > span {
      animation: luz-telefono linear none;
      animation-timeline: --visitanos;
      animation-range: entry 0% entry 100%;
    }
    @media (min-width: 768px) {
      .telefono-gigante > span { animation-name: luz-telefono-ancho; }
    }
    #visitanos:has(:focus-visible) :is(.visitanos-cortina, .visitanos-titulo, .telefono-gigante > span) { animation: none; }
    .pie-nombre {
      transform-origin: 0 100%;
      animation: pie-crece linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 100%;
    }
  }
}
@keyframes prensa-corre { from { transform: none; } to { transform: translateX(-50%); } }
@keyframes ventana-abre { from { transform: scale(var(--s0)); } to { transform: none; } }
@keyframes ventana-asienta {
  0% { transform: scale(calc(1.15 / var(--s0))); }
  25% { transform: scale(calc(1.1125 / (var(--s0) + (1 - var(--s0)) * 0.25))); }
  50% { transform: scale(calc(1.075 / (var(--s0) + (1 - var(--s0)) * 0.5))); }
  75% { transform: scale(calc(1.0375 / (var(--s0) + (1 - var(--s0)) * 0.75))); }
  100% { transform: none; }
}
@keyframes ventana-pie-baja {
  from { transform: translateY(calc((var(--alto-util) - var(--pie-ventana)) * (var(--s0) - 1) / 2)); }
  to { transform: none; }
}
@keyframes anio-entra { from { opacity: 0; transform: translateX(40%); } to { opacity: 1; transform: none; } }
@keyframes anio-lugar-sube { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
@keyframes cortina-sube { from { transform: translateY(-100%); } to { transform: none; } }
@keyframes luz-titulo { 0%, 95% { opacity: 0; } 100% { opacity: 1; } }
@keyframes luz-telefono { 0%, 74% { opacity: 0; } 88%, 100% { opacity: 1; } }
@keyframes luz-telefono-ancho { 0%, 52% { opacity: 0; } 66%, 100% { opacity: 1; } }
@keyframes pie-crece { from { transform: scale(0.94); } to { transform: none; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .monumento {
      transform-origin: 50% 100%;
      animation: letrero-crece linear both;
      animation-timeline: --portada;
      animation-range: exit 0% exit 100%;
    }
    .monumento-linea {
      animation: letrero-separa-izquierda linear both;
      animation-timeline: --portada;
      animation-range: exit 0% exit 100%;
    }
    .monumento-linea + .monumento-linea { animation-name: letrero-separa-derecha; }
    .portada-foto {
      animation: foto-se-hunde linear both;
      animation-timeline: --portada;
      animation-range: exit 0% exit 100%;
    }
    .portada-foto::after {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--bg); 
      opacity: 0;
      animation: foto-se-oscurece linear both;
      animation-timeline: --portada;
      animation-range: exit 0% exit 100%;
    }
  }
}
@keyframes letrero-sube { from { transform: translateY(115%); } to { transform: none; } }
@keyframes fila-llega { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes deriva-foto {
  from { transform: scale(1.03); }
  to { transform: scale(1.06) translate(-0.6%, -0.4%); }
}
@keyframes pulso-abierto {
  from { opacity: 0.55; transform: scale(1); }
  to { opacity: 0; transform: scale(2.6); }
}
@keyframes panel-abre { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes letrero-crece { from { transform: none; } to { transform: scale(1.04); } }
@keyframes letrero-separa-izquierda { from { transform: none; } to { transform: translateX(-0.3em); } }
@keyframes letrero-separa-derecha { from { transform: none; } to { transform: translateX(0.3em); } }
@keyframes foto-se-hunde { from { transform: none; } to { transform: translateY(10%) scale(1.06); } }
@keyframes foto-se-oscurece { from { opacity: 0; } to { opacity: 0.45; } }
