@charset "UTF-8";
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/hanken-grotesk-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/hanken-grotesk-latin-ext-500.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/hanken-grotesk-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/hanken-grotesk-latin-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --tinta: #0e0d0c;
  --tinta-2: #1b1917;
  --hueso: #e7e5e2;
  --hueso-2: #dcd9d4;
  --pared: #681f1e;
  --pared-2: #571918;
  --laton: #b08a50;
  --laton-2: #c49f66;
  --acero: #9a948d;
  --madera: #2b2018;
  --suave: #5c5853;
  --suave-oscuro: #a39e98;
  --suave-pared: #dcc6c2;
  --error: #9b1c13;
  --t-pequeno: 0.875rem;
  --t-cuerpo: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --t-entrada: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --t-titular: clamp(2.25rem, 1.3rem + 3.2vw, 4rem);
  --t-cartel: clamp(3.5rem, 10vw, 11.25rem);
  --m: clamp(20px, 3.2vw, 48px);
  --hueco-col: clamp(16px, 1.7vw, 24px);
  --hueco: clamp(80px, 8vw, 128px);
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --muelle: cubic-bezier(0.34, 1.32, 0.64, 1);
}
@media (max-aspect-ratio: 1/1) { :root { --t-cartel: clamp(3.25rem, 17vw, 6.5rem); } }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; overflow-x: clip; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  position: relative; margin: 0; background: var(--tinta); color: var(--hueso);
  font-family: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: var(--t-cuerpo); line-height: 1.5; font-weight: 400; letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
main { display: block; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
figure { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: 500; line-height: 0.95; letter-spacing: -0.045em; text-wrap: balance; }
h3 { font-size: var(--t-entrada); line-height: 1.15; letter-spacing: -0.02em; }
p, ul, ol, dl, dd, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
a:hover { text-decoration-thickness: 2px; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
::selection { background: var(--laton); color: var(--tinta); }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.saltar:not(:focus) { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.saltar:focus { position: fixed; left: var(--m); top: 12px; z-index: 60; padding: 12px 18px; background: var(--hueso); color: var(--tinta); }
.marco { padding-inline: var(--m); }
.seccion { padding-block: var(--hueco); }
.titular { font-size: var(--t-titular); }
.cartel { font-size: var(--t-cartel); line-height: 0.86; letter-spacing: -0.055em; }
.entrada { font-size: var(--t-entrada); line-height: 1.35; letter-spacing: -0.015em; }
.suave { color: var(--suave-oscuro); }
.botones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 13px 26px; border: 0; border-radius: 0; cursor: pointer;
  background: var(--laton); color: var(--tinta);
  font-size: var(--t-cuerpo); font-weight: 500; line-height: 1.2; text-decoration: none; text-align: center;
  transition: background-color 0.2s, transform 0.18s var(--ease);
}
.boton:hover { background: var(--laton-2); }
.boton:active { transform: scale(0.97); }
.boton--borde { background: transparent; color: inherit; border: 2px solid currentColor; padding: 11px 24px; }
.boton--borde:hover { background: var(--tinta-2); }
.chip {
  min-height: 44px; padding: 8px 16px; border: 2px solid currentColor; border-radius: 0; background: transparent;
  cursor: pointer; text-align: left; font-weight: 500;
  transition: background-color 0.2s, color 0.2s, transform 0.18s var(--ease);
}
.chip:hover { background: var(--tinta-2); }
.chip:active { transform: scale(0.97); }
.chip[aria-pressed="true"] { background: var(--hueso); color: var(--tinta); border-color: var(--hueso); }
.cab {
  position: absolute; inset: 0 0 auto 0; z-index: 30;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 32px;
  padding: 20px var(--m); color: var(--hueso);
}
.pg-legal .cab, .pg-404 .cab { position: relative; }
.cab-marca { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.cab-lab { width: 38px; height: 38px; flex: none; color: var(--hueso); }
.cab-nombre { display: block; height: 30px; width: auto; aspect-ratio: var(--nombre-linea); overflow: visible; }
@media (max-width: 899px) { .cab-nombre { height: 24px; } }
.cab-nav { justify-self: end; }
.cab-nav ul { display: flex; gap: clamp(20px, 2.2vw, 34px); }
.cab-nav a { display: inline-block; padding-block: 10px; text-decoration: none; }
.cab-nav a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.cab-acciones { display: flex; align-items: center; gap: 20px; }
.cab-preguntar { min-height: 44px; padding: 8px 18px; border: 2px solid currentColor; background: transparent; cursor: pointer; font-weight: 500; transition: transform 0.18s var(--ease); }
.cab-preguntar:active { transform: scale(0.97); }
.cab-menu { display: none; min-height: 44px; padding: 8px 18px; border: 2px solid currentColor; background: transparent; cursor: pointer; font-weight: 500; }
.cab--simple { grid-template-columns: 1fr; }
.menu-movil { position: absolute; inset: 84px 0 auto 0; z-index: 29; padding: 8px var(--m) 32px; background: var(--tinta-2); color: var(--hueso); }
html:not(.js) .menu-movil { position: relative; inset: auto; padding-top: 84px; }
.js .menu-movil:not(.is-abierto) { display: none; }
html:not(.js) .cab-menu, html:not(.js) [data-asistente-abrir] { display: none !important; }
.menu-movil nav ul { display: grid; }
.menu-movil nav a { display: block; padding-block: 12px; font-size: var(--t-entrada); text-decoration: none; }
.menu-movil-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
@media (max-width: 1099px) {
  .cab { grid-template-columns: minmax(0, 1fr) auto; padding-block: 16px; }
  .cab-nav, .cab-acciones > :not(.cab-menu) { display: none; }
  .cab-menu { display: inline-flex; align-items: center; }
}
@media (min-width: 1100px) { .menu-movil { display: none !important; } }
.ritual { --d: min(40vw, 64svh); position: relative; height: 100svh; min-height: 560px; background: var(--tinta); color: var(--hueso); }
.js .ritual { height: 300svh; }
.ritual-escenario { position: relative; height: 100svh; min-height: 560px; overflow: hidden; }
.js .ritual-escenario { position: sticky; top: 0; }
.ritual-ventana {
  position: absolute; left: 50%; top: 50%; width: 150vmax; height: 150vmax; margin: -75vmax 0 0 -75vmax;
  border-radius: 50%; overflow: hidden; transform-origin: 50% 50%;
}
.ritual-fotos { position: absolute; left: 50%; top: 50%; width: 100vw; height: 100svh; min-height: 560px; margin: -50svh 0 0 -50vw; transform-origin: 50% 50%; }
.ritual-foto { position: absolute; inset: 0; opacity: 0; transition: opacity 0.8s cubic-bezier(0.44, 0, 0.56, 1); }
.ritual-foto.is-activa { opacity: 1; }
.ritual-foto img { width: 100%; height: 100%; object-fit: cover; }
.ritual-foto[data-paso="0"] img { object-position: 50% 45%; }
.ritual-foto[data-paso="2"] img { object-position: 52% 40%; }
.ritual-foto:last-child img { object-position: 50% 52%; }
.ritual-velo { position: absolute; inset: 0; background: rgba(14, 13, 12, 0.5); }
html:not(.js) .ritual-foto:not(:last-of-type) { opacity: 0; }
html:not(.js) .ritual-foto:last-of-type { opacity: 1; }
.js .ritual:not(.is-vivo):not(.is-quieto) .ritual-ventana { opacity: 0; }
.js .ritual.is-vivo .ritual-ventana { transition: opacity 0.6s; }
.js .ritual.is-quieto { height: 100svh; }
.js .ritual.is-quieto .ritual-escenario { position: relative; }
.ritual.is-quieto .ritual-foto { opacity: 0; transition: none; }
.ritual.is-quieto .ritual-foto:last-of-type { opacity: 1; }
.ritual.is-quieto .ritual-maquina { display: none; }
.ritual-lab { position: absolute; left: 50%; top: 50%; width: var(--d); aspect-ratio: 1000 / 981; transform: translate(-50%, -50%); color: var(--hueso); }
.lab { width: 100%; height: 100%; overflow: visible; }
.lab-calco { color: var(--hueso); opacity: 0.55; }
.lab-tinta { color: var(--hueso); }
.js .ritual.is-vivo .lab-calco { opacity: 0.5; }
.maquina { position: absolute; left: 0; top: 0; display: block; width: 120px; aspect-ratio: var(--mq-proporcion); pointer-events: none; transform-origin: var(--mq-punta-x) var(--mq-punta-y); }
.maquina img { display: block; width: 100%; height: 100%; }
.ritual-maquina { width: calc(var(--d) * 0.3); opacity: 0; }
.js .ritual.is-vivo .ritual-maquina { opacity: 1; transition: opacity 0.3s; }
.js .ritual.is-vivo .ritual-maquina.is-fuera { opacity: 0; }
.ritual-texto { position: absolute; inset: 0; }
.ritual-texto.is-ido { visibility: hidden; }
.ritual-cabeza { display: contents; }
.ritual-h1 { position: absolute; left: var(--m); bottom: calc(50svh - var(--d) / 2); font-size: var(--t-titular); max-width: 5.2em; }
.ritual-h1-letras { display: block; width: 4.9em; height: auto; aspect-ratio: var(--nombre-dos); overflow: visible; }
.ritual-entrada { position: absolute; right: var(--m); bottom: calc(50svh - var(--d) / 2 + 76px); width: min(25vw, 360px); max-width: 26ch; }
.ritual-accion { position: absolute; right: var(--m); bottom: calc(50svh - var(--d) / 2); width: min(25vw, 360px); }
html:not(.js) .ritual-texto, .ritual.is-quieto .ritual-texto { background: rgba(14, 13, 12, 0.35); }
.ritual-pie { position: absolute; left: var(--m); bottom: 28px; display: none; max-width: 40ch; font-size: var(--t-pequeno); color: var(--hueso); }
.ritual-pie.is-visto { display: block; animation: pie-aparece 0.4s cubic-bezier(0.44, 0, 0.56, 1); }
@keyframes pie-aparece { from { opacity: 0; } to { opacity: 1; } }
.ritual-fin { position: absolute; left: 50%; bottom: 5svh; display: grid; justify-items: center; gap: 18px; width: min(90vw, 520px); transform: translateX(-50%); text-align: center; opacity: 0; visibility: hidden; transition: opacity 0.5s, visibility 0s 0.5s; }
.ritual-fin.is-visto { opacity: 1; visibility: visible; transition: opacity 0.5s; }
.ritual-fin-texto { font-size: var(--t-entrada); line-height: 1.3; }
html:not(.js) .ritual-fin, html:not(.js) .ritual-pie, .ritual.is-quieto .ritual-fin, .ritual.is-quieto .ritual-pie { display: none; }
@media (max-width: 899px) {
  .ritual { --d: min(78vw, 40svh); }
  .js .ritual { height: 280svh; }
  .ritual-lab { top: 51%; }
  .ritual-cabeza { position: absolute; top: 92px; left: var(--m); right: var(--m); display: grid; gap: 10px; }
  .ritual-h1, .ritual-entrada { position: static; width: auto; max-width: none; }
  .ritual-entrada { max-width: 30ch; line-height: 1.3; }
  .ritual-accion { left: var(--m); right: var(--m); bottom: 24px; width: auto; }
  .ritual-accion .boton { width: 100%; }
  .ritual-pie { bottom: 20px; right: var(--m); }
  .ritual-fin { bottom: 4svh; }
}
@media (max-width: 899px) and (max-height: 700px) {
  .ritual-cabeza { top: 80px; }
  .ritual-lab { top: 53%; }
}
.artistas { position: relative; isolation: isolate; background: var(--tinta); color: var(--hueso); padding-bottom: 10svh; }
.artistas-fijo { position: sticky; top: 0; z-index: 2; height: 100svh; display: grid; place-items: start center; padding-top: clamp(72px, 10svh, 120px); pointer-events: none; mix-blend-mode: difference; }
.artistas-cartel { color: #ffffff; text-align: center; white-space: nowrap; pointer-events: auto; }
.artistas-lista { position: relative; z-index: 1; margin-top: -100svh; padding-top: 32svh; }
.artistas-nota { max-width: 22ch; margin-bottom: 14svh; }
.artistas-lista ul { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 12svh; }
.artista { grid-column: 1 / span 3; }
.artista--der { grid-column: 10 / span 3; margin-top: 22svh; }
.artista-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.artista-texto { display: grid; gap: 10px; max-width: 320px; margin-top: 18px; }
.artista-alias { color: var(--suave-oscuro); font-weight: 400; letter-spacing: -0.01em; }
.artista-papel { color: var(--suave-oscuro); font-size: var(--t-pequeno); }
.artista-texto .boton { justify-self: start; margin-top: 6px; }
.pared { background: var(--pared); color: var(--hueso); }
.pared .chip:hover, .pared .boton--borde:hover { background: var(--pared-2); }
.pared .chip[aria-pressed="true"] { background: var(--hueso); color: var(--pared); }
.pared-cabeza { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 28px; align-items: end; margin-bottom: clamp(48px, 6vw, 96px); }
.pared-cabeza h2 { grid-column: 1 / span 6; }
.pared-lado { grid-column: 8 / span 5; display: grid; gap: 24px; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.pared-cuadros { columns: 4; column-gap: clamp(18px, 2.4vw, 40px); }
.cuadro { break-inside: avoid; margin-bottom: clamp(24px, 2.8vw, 44px); }
.cuadro:nth-child(3n + 1) .cuadro-boton { transform: rotate(-0.5deg); }
.cuadro:nth-child(4n + 2) .cuadro-boton { transform: rotate(0.6deg); }
.cuadro-boton { display: block; width: 100%; padding: clamp(7px, 0.7vw, 11px); border: 0; background: var(--madera); cursor: zoom-in; transition: transform 0.35s var(--muelle); }
.cuadro-boton:hover { transform: rotate(0deg) scale(1.015); }
.cuadro-boton:active { transform: scale(0.98); }
.cuadro-paspartu { display: block; padding: clamp(10px, 1.3vw, 18px); background: var(--hueso); }
.cuadro--alto .cuadro-paspartu { padding-block: clamp(16px, 2vw, 28px); }
.cuadro--ancho .cuadro-paspartu { padding-inline: clamp(16px, 2vw, 28px); }
.cuadro-paspartu img { width: 100%; }
.cuadro-pie { margin-top: 10px; font-size: var(--t-pequeno); color: var(--suave-pared); }
.cuadro.is-elegido .cuadro-boton { transform: scale(1.03); }
.cuadro-invita { cursor: pointer; text-decoration: none; color: var(--tinta); }
.cuadro-invita .cuadro-paspartu { display: grid; align-content: space-between; gap: 40px; aspect-ratio: 5 / 6; padding: clamp(20px, 2.4vw, 32px); }
.cuadro-invita-texto { font-size: var(--t-entrada); line-height: 1.2; letter-spacing: -0.02em; }
.cuadro-invita-accion { justify-self: start; padding: 10px 18px; background: var(--laton); color: var(--tinta); font-weight: 500; }
.galeria { background: var(--tinta); color: var(--hueso); padding-bottom: 0; }
.galeria-dentro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: clamp(40px, 5vw, 80px); align-items: start; }
.galeria-texto { grid-column: 1 / span 5; display: grid; gap: 24px; }
.galeria-foto figcaption, .higiene-foto figcaption { margin-top: 10px; font-size: var(--t-pequeno); color: var(--suave-oscuro); }
.galeria-foto, .higiene-foto { overflow: clip; }
.galeria-foto img, .higiene-foto img { width: 100%; object-fit: cover; }
.galeria-foto--1 { grid-column: 7 / span 6; grid-row: 1 / span 2; }
.galeria-foto--1 img { aspect-ratio: 5 / 6; }
.galeria-foto--2 { grid-column: 2 / span 4; }
.galeria-foto--2 img { aspect-ratio: 5 / 6; }
.galeria-foto--3 { grid-column: 4 / span 9; }
.galeria-foto--3 img { aspect-ratio: 16 / 9; }
.invitados { margin-top: var(--hueco); overflow: hidden; background: var(--pared); color: var(--hueso); padding-block: clamp(18px, 2.4vw, 36px); }
.invitados-pista { display: flex; width: max-content; white-space: nowrap; font-size: var(--t-cartel); font-weight: 500; line-height: 1; letter-spacing: -0.05em; animation: banda 70s linear infinite; }
.invitados-pista span::after { content: '·'; margin-inline: 0.28em; }
@keyframes banda { to { transform: translateX(-50%); } }
.invitados:hover .invitados-pista { animation-play-state: paused; }
.invitados-texto { padding-block: 28px var(--hueco); max-width: calc(68ch + 2 * var(--m)); }
.piercing { background: var(--hueso); color: var(--tinta); }
.piercing .boton--borde:hover, .preguntas .boton--borde:hover { background: var(--hueso-2); }
.piercing-cabeza { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 40px; align-items: end; }
.piercing-cabeza > div { grid-column: 1 / span 6; display: grid; gap: 24px; }
.piercing-foto { grid-column: 8 / span 5; }
.piercing-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lineup { width: 100%; margin-top: clamp(56px, 7vw, 112px); border-collapse: collapse; font-size: var(--t-entrada); line-height: 1.45; letter-spacing: -0.015em; }
.lineup th, .lineup td { padding: 0 var(--hueco-col) 0.75em 0; text-align: left; vertical-align: top; font-weight: 400; }
.lineup th { width: 30%; font-weight: 500; }
.lineup td:nth-child(2) { width: 32%; }
.higiene { background: var(--tinta); color: var(--hueso); }
.higiene-dentro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: clamp(28px, 3vw, 48px); }
.higiene-texto { grid-column: 1 / span 5; grid-row: 1 / span 2; display: grid; gap: 24px; align-content: start; }
.higiene-lista { display: grid; gap: 12px; }
.higiene-lista li { padding-left: 1.1em; text-indent: -1.1em; }
.higiene-lista li::before { content: '·'; display: inline-block; width: 1.1em; text-indent: 0; color: var(--laton); font-weight: 500; }
.higiene-prueba { font-size: var(--t-pequeno); color: var(--suave-oscuro); max-width: 46ch; }
.higiene-foto--1 { grid-column: 7 / span 6; }
.higiene-foto--1 img { aspect-ratio: 16 / 9; }
.higiene-foto--2 { grid-column: 7 / span 3; }
.higiene-foto--3 { grid-column: 10 / span 3; }
.higiene-foto--2 img, .higiene-foto--3 img { aspect-ratio: 1 / 1; }
.opiniones { background: var(--pared); color: var(--hueso); }
.opiniones-dentro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 48px; align-items: center; }
.opiniones-foto { grid-column: 1 / span 5; }
.opiniones-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.opiniones-texto { grid-column: 7 / span 6; display: grid; gap: 40px; }
.opinion blockquote p { font-size: var(--t-entrada); line-height: 1.35; letter-spacing: -0.015em; max-width: 30ch; }
.opinion figcaption { margin-top: 14px; font-size: var(--t-pequeno); color: var(--suave-pared); }
.opiniones-fuente { font-size: var(--t-pequeno); color: var(--suave-pared); }
.top10 { max-width: 40ch; }
.preguntas { background: var(--hueso); color: var(--tinta); }
.preguntas-dentro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 48px; }
.preguntas-cabeza { grid-column: 1 / span 4; display: grid; gap: 28px; align-content: start; }
.preguntas-mas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.preguntas-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.preguntas-lista { grid-column: 6 / span 7; display: grid; gap: 40px; }
.pregunta { display: grid; gap: 10px; max-width: 62ch; }
.visita { position: relative; min-height: 100svh; display: flex; align-items: flex-start; justify-content: flex-end; padding: 64px var(--m); color: var(--tinta); }
.visita-foto { position: absolute; inset: 0; }
.visita-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; }
.visita-tarjeta { position: relative; width: min(400px, 100%); padding: 32px; background: var(--hueso); display: grid; gap: 18px; }
.visita-t { font-size: var(--t-entrada); line-height: 1.15; letter-spacing: -0.02em; }
.visita-horas { display: grid; gap: 6px; margin: 0; }
.visita-horas div { display: flex; justify-content: space-between; gap: 16px; }
.visita-horas dt { font-weight: 500; }
.visita-horas dd { text-align: right; font-variant-numeric: tabular-nums; }
.visita-boton { width: 100%; min-height: 56px; }
.pg-legal main, .pg-404 main { background: var(--hueso); color: var(--tinta); }
.cabecera-pg { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 32px; padding-block: clamp(64px, 8vw, 128px); }
.cabecera-pg h1 { grid-column: 1 / span 7; }
.cabecera-pg-lado { grid-column: 9 / span 4; display: grid; gap: 20px; align-content: end; }
.cabecera-pg .suave, .legal .suave { color: var(--suave); }
.legal-foto { margin-bottom: clamp(64px, 8vw, 120px); }
.legal-foto img { width: 100%; aspect-ratio: 16 / 6; object-fit: cover; object-position: 50% 55%; }
.legal { display: grid; gap: 64px; padding-bottom: var(--hueco); }
.legal-sec { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 16px; }
.legal-sec h2 { grid-column: 1 / span 4; font-size: var(--t-entrada); line-height: 1.15; letter-spacing: -0.02em; }
.legal-texto { grid-column: 6 / span 7; display: grid; gap: 16px; max-width: 65ch; }
.franja { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--hueco-col); padding-bottom: var(--hueco); }
.franja img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.perdida { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 40px; padding-block: clamp(56px, 7vw, 112px); }
.perdida-texto { grid-column: 1 / span 6; display: grid; gap: 24px; align-content: center; justify-items: start; }
.perdida-lab { width: clamp(120px, 14vw, 200px); height: auto; color: var(--tinta); }
.perdida-calco { opacity: 0.5; }
.perdida-foto { grid-column: 7 / span 6; }
.perdida-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.pg-404 .pie--mini .marco { font-size: var(--t-cuerpo); }
.pg-404 .pie--mini p { max-width: 70ch; }
@media (prefers-reduced-motion: no-preference) {
  .perdida-texto > *, .perdida-foto, .pg-404 .franja figure, .pg-404 .pie--mini p { animation: entra-404 0.7s var(--ease) both; }
  .perdida-texto > :nth-child(2) { animation-delay: 0.08s; }
  .perdida-texto > :nth-child(3) { animation-delay: 0.16s; }
  .perdida-texto > :nth-child(4) { animation-delay: 0.24s; }
  .perdida-foto { animation-delay: 0.2s; }
  .pg-404 .franja figure:nth-child(2) { animation-delay: 0.1s; }
  .pg-404 .franja figure:nth-child(3) { animation-delay: 0.2s; }
  .pg-404 .franja figure:nth-child(4) { animation-delay: 0.3s; }
  .perdida-trazo use:nth-child(1) { stroke-dasharray: 1028 1028; animation: traza-404-a 1.6s 0.3s var(--ease) both; }
  .perdida-trazo use:nth-child(2) { stroke-dasharray: 1615 1615; animation: traza-404-b 1.8s 1.6s var(--ease) both; }
}
@keyframes entra-404 { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes traza-404-a { from { stroke-dashoffset: 1028; } to { stroke-dashoffset: 0; } }
@keyframes traza-404-b { from { stroke-dashoffset: 1615; } to { stroke-dashoffset: 0; } }
@media (max-width: 1099px) {
  .pared-cuadros { columns: 3; }
  .pared-cabeza h2, .pared-lado { grid-column: 1 / -1; }
}
@media (max-width: 899px) {
  .artistas { padding-top: 72px; }
  .artistas-fijo { position: relative; height: auto; padding: 0 var(--m); place-items: start; mix-blend-mode: normal; }
  .artistas-lista { margin-top: 0; padding-top: 28px; }
  .artistas-nota { margin-bottom: 48px; }
  .artistas-lista ul { grid-template-columns: minmax(0, 1fr); row-gap: 64px; }
  .artista, .artista--der { grid-column: 1; width: 72%; margin-top: 0; }
  .artista--der { margin-left: auto; }
  .artista-texto { max-width: none; }
  .galeria-texto, .galeria-foto--1, .galeria-foto--2, .galeria-foto--3 { grid-column: 1 / -1; grid-row: auto; }
  .galeria-foto--2 { width: 72%; }
  .piercing-cabeza > div, .piercing-foto { grid-column: 1 / -1; }
  .higiene-texto, .higiene-foto--1 { grid-column: 1 / -1; grid-row: auto; }
  .higiene-foto--2 { grid-column: 1 / span 6; }
  .higiene-foto--3 { grid-column: 7 / span 6; }
  .opiniones-foto, .opiniones-texto { grid-column: 1 / -1; }
  .opiniones-foto { width: 72%; }
  .preguntas-cabeza, .preguntas-lista { grid-column: 1 / -1; }
  .preguntas-foto { display: none; }
  .cabecera-pg h1, .cabecera-pg-lado, .legal-sec h2, .legal-texto, .perdida-texto, .perdida-foto { grid-column: 1 / -1; }
  .franja { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  .pared-cuadros { columns: 2; }
  .lineup, .lineup tbody, .lineup tr, .lineup th, .lineup td, .lineup td:nth-child(2) { display: block; width: auto; }
  .lineup tr { margin-bottom: 22px; }
  .lineup th, .lineup td { padding: 0; }
  .lineup td { font-size: var(--t-cuerpo); line-height: 1.45; }
  .lineup td:last-child { color: var(--suave); }
  .visita { display: block; min-height: 0; padding: 0 0 112px; background: var(--tinta); }
  .visita-foto { position: relative; height: 70svh; }
  .visita-tarjeta { margin: -80px var(--m) 0; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .invitados-pista { animation: none; }
  .cuadro-boton { transition: none; }
}
.precio { background: var(--hueso); color: var(--tinta); }
.precio .chip:hover { background: var(--hueso-2); }
.precio .chip[aria-pressed="true"] { background: var(--tinta); color: var(--hueso); border-color: var(--tinta); }
.precio-cabeza { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 40px; align-items: end; }
.precio-cabeza-texto { grid-column: 1 / span 6; display: grid; gap: 24px; }
.precio-foto { grid-column: 8 / span 5; }
.precio-foto img { width: 100%; aspect-ratio: 12 / 5; object-fit: cover; }
.calc { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: clamp(48px, 6vw, 88px); margin-top: clamp(56px, 7vw, 104px); }
.calc-cuerpo { grid-column: 1 / span 6; position: relative; }
.calc-opciones { grid-column: 8 / span 5; display: grid; gap: 30px; align-content: start; }
.calc-vistas { display: none; gap: 8px; margin-bottom: 16px; }
.calc-figuras { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 2vw, 32px); }
.cuerpo-svg { width: 100%; height: auto; color: var(--tinta); overflow: visible; }
.cuerpo-linea path { stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.cuerpo-linea .cuerpo-detalle { stroke-width: 1; opacity: 0.5; }
.zona { fill: transparent; cursor: pointer; transition: fill 0.25s; }
.zona:hover, .zona.is-encima { fill: rgba(104, 31, 30, 0.14); }
@media (hover: none) { .zona { fill: rgba(104, 31, 30, 0.07); } }
.zona.is-elegida { fill: url(#punteado); }
.calc-vistas-nombres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 2vw, 32px); margin-top: 10px; text-align: center; font-size: var(--t-pequeno); color: var(--suave); }
.calc-maquina { width: 84px; z-index: 2; transition: transform 0.75s var(--muelle); }
.calc-campo { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; gap: 12px; }
.calc-leyenda { padding: 0; font-weight: 500; }
.calc select { width: 100%; min-height: 52px; padding: 10px 14px; border: 2px solid var(--tinta); border-radius: 0; background: var(--hueso); color: var(--tinta); cursor: pointer; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips--dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.chip-radio { position: relative; display: block; }
.chip-radio input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.chip-radio span { display: block; min-height: 46px; padding: 10px 14px; border: 2px solid var(--tinta); line-height: 1.25; transition: background-color 0.2s, color 0.2s, transform 0.18s var(--ease); }
.chip-radio small { font-size: var(--t-pequeno); color: var(--suave); }
.chip-radio input:hover + span { background: var(--hueso-2); }
.chip-radio input:checked + span { background: var(--tinta); color: var(--hueso); }
.chip-radio input:checked + span small { color: var(--suave-oscuro); }
.chip-radio input:active + span { transform: scale(0.97); }
.chip-radio input:focus-visible + span { outline: 2px solid var(--tinta); outline-offset: 3px; }
.ticket { grid-column: 2 / span 10; position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); background: var(--tinta); color: var(--hueso); }
.ticket-cuerpo { display: grid; gap: 22px; align-content: space-between; padding: clamp(28px, 3.5vw, 52px); }
.ticket-que { font-size: var(--t-entrada); line-height: 1.25; letter-spacing: -0.015em; max-width: 32ch; }
.ticket-datos { display: grid; gap: 4px; color: var(--suave-oscuro); }
.ticket-datos li:empty { display: none; }
.ticket-foto { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: end; }
.ticket-foto img { width: 96px; height: 115px; object-fit: cover; }
.ticket-foto figcaption { font-size: var(--t-pequeno); color: var(--suave-oscuro); }
.ticket-nota { font-size: var(--t-pequeno); color: var(--suave-oscuro); max-width: 62ch; }
.ticket-matriz { position: relative; display: grid; align-content: center; justify-items: center; gap: 14px; padding: clamp(28px, 3vw, 44px) clamp(18px, 2vw, 30px); text-align: center; }
.ticket-matriz::before, .ticket-matriz::after { content: ''; position: absolute; left: -14px; width: 28px; height: 28px; border-radius: 50%; background: var(--hueso); }
.ticket-matriz::before { top: -14px; }
.ticket-matriz::after { bottom: -14px; }
.ticket-perforado { position: absolute; left: -3px; top: 26px; bottom: 26px; display: flex; flex-direction: column; justify-content: space-between; }
.ticket-perforado i { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--hueso); }
.ticket-titulo-precio { font-size: var(--t-pequeno); color: var(--suave-oscuro); }
.ticket-precio { font-size: var(--t-titular); font-weight: 500; line-height: 1; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.ticket-precio span { display: inline-block; }
.ticket-precio.is-largo { font-size: var(--t-entrada); line-height: 1.15; }
.ticket-boton { width: 100%; min-height: 56px; }
.ticket-boton[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; }
.ticket-boton[aria-disabled="true"]:active { transform: none; }
.ticket.is-listo .ticket-que { animation: ticket-entra 0.45s var(--ease); }
@keyframes ticket-entra { from { opacity: 0.2; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.calc-sinjs { grid-column: 1 / -1; font-size: var(--t-entrada); }
@media (max-width: 899px) {
  .precio-cabeza-texto, .precio-foto, .calc-cuerpo, .calc-opciones, .ticket { grid-column: 1 / -1; }
  .calc-vistas { display: flex; }
  .calc-figuras { grid-template-columns: minmax(0, 1fr); width: min(66vw, 300px); margin-inline: auto; }
  .calc-figuras .cuerpo-svg[data-vista="b"] { display: none; }
  .calc-figuras.is-detras .cuerpo-svg[data-vista="f"] { display: none; }
  .calc-figuras.is-detras .cuerpo-svg[data-vista="b"] { display: block; }
  .calc-vistas-nombres { display: none; }
  .ticket { grid-template-columns: minmax(0, 1fr); }
  .ticket-matriz::before { top: -14px; left: -14px; }
  .ticket-matriz::after { top: -14px; bottom: auto; left: auto; right: -14px; }
  .ticket-perforado { left: 26px; right: 26px; top: -3px; bottom: auto; flex-direction: row; }
  .calc-maquina { width: 62px; }
}
@media (prefers-reduced-motion: reduce) {
  .calc-maquina { transition: none; }
  .ticket.is-listo .ticket-que { animation: none; }
}
.pie { background: var(--tinta); color: var(--hueso); padding-bottom: 48px; overflow: hidden; }
.pie-marca { padding: clamp(64px, 8vw, 128px) var(--m) 0; }
.pie-marca svg { display: block; width: 100%; height: auto; aspect-ratio: var(--nombre-linea); overflow: visible; }
.pie-fila { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--hueco-col); row-gap: 40px; margin-top: 72px; }
.pie-lugares { grid-column: 1 / span 5; display: grid; gap: 6px; align-content: start; }
.pie-lugares a { font-size: var(--t-entrada); line-height: 1.3; color: var(--laton); text-decoration: none; }
.pie-lugares a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.pie-columnas { grid-column: 7 / span 6; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--hueco-col); }
.pie-que { max-width: 30ch; }
.pie-direccion { margin-top: 12px; color: var(--suave-oscuro); font-size: var(--t-pequeno); }
.pie-enlaces { display: grid; gap: 4px; align-content: start; font-size: var(--t-pequeno); }
.pie-enlaces a { display: inline-block; padding-block: 4px; text-decoration: none; }
@media (pointer: coarse) { .pie-enlaces a, .pie-lugares a { padding-block: 10px; } .pie-enlaces { gap: 0; } }
.pie-enlaces a:hover { text-decoration: underline; }
.pie-final { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 16px 40px; margin-top: 96px; font-size: var(--t-pequeno); color: var(--suave-oscuro); }
.pie-final a { color: var(--hueso); }
.pie-arriba { white-space: nowrap; }
.pie--mini { padding-block: 40px; }
.pie--mini .marco { display: grid; gap: 10px; font-size: var(--t-pequeno); color: var(--suave-oscuro); }
@media (max-width: 899px) {
  .pie-lugares, .pie-columnas { grid-column: 1 / -1; }
  .pie-columnas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pie-columnas > div { grid-column: 1 / -1; }
  .pie-final { grid-template-columns: minmax(0, 1fr); margin-top: 64px; }
}
.maquina.is-zumbando img { animation: zumbido 70ms linear infinite; }
@keyframes zumbido {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(0.9px, -0.7px); }
  50% { transform: translate(-0.7px, 0.8px); }
  75% { transform: translate(0.7px, 0.7px); }
}
.mq-margen, .mq-rastro { --mq-carril: max(5px, calc(var(--m) * 0.14)); }
.mq-margen { position: fixed; left: auto; right: var(--mq-carril); top: 0; z-index: 20; width: clamp(22px, calc(var(--m) - var(--mq-carril) - 4px), 40px); opacity: 0; transition: opacity 0.4s; }
.mq-margen.is-visto { opacity: 1; }
.mq-rastro { position: fixed; top: 0; right: calc(var(--mq-carril) - 3px); z-index: 19; width: 6px; height: 100dvh; pointer-events: none; color: var(--laton); opacity: 0; transition: opacity 0.4s; }
.mq-rastro.is-visto { opacity: 0.85; }
.mq-clic { position: fixed; left: 0; top: 0; z-index: 80; width: 44px; }
.mq-punto { position: fixed; left: 0; top: 0; z-index: 79; width: 5px; height: 5px; border-radius: 50%; background: var(--laton); pointer-events: none; transform: var(--p, none); animation: punto-se-va 0.9s var(--ease) both; }
@keyframes punto-se-va { 0% { opacity: 1; transform: var(--p, none) scale(1); } 100% { opacity: 0; transform: var(--p, none) scale(0.4); } }
@media (max-width: 899px) { .mq-margen, .mq-rastro { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .maquina.is-zumbando img { animation: none; }
  .mq-margen, .mq-rastro, .mq-clic, .mq-punto { display: none; }
}
:root { --mq-punta-x: 99.18%; --mq-punta-y: 99.21%; --mq-proporcion: 1.0778; }
:root { --nombre-linea: 581 / 95; --nombre-dos: 292 / 176; }
.dlg { width: min(560px, calc(100vw - 2 * var(--m))); max-height: min(86svh, 760px); margin: auto; padding: 0; border: 0; background: var(--hueso); color: var(--tinta); overflow: hidden; }
.dlg[open] { display: flex; flex-direction: column; }
.dlg::backdrop { background: rgba(14, 13, 12, 0.74); }
.dlg-cabeza { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px 8px; }
.dlg-t { font-size: var(--t-entrada); font-weight: 500; line-height: 1.2; letter-spacing: -0.015em; }
.dlg-cerrar { min-height: 44px; padding: 8px 2px; border: 0; background: none; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
.dlg-cuerpo { display: grid; gap: 18px; padding: 28px 24px; }
.dlg-aviso { padding: 0 24px 12px; font-size: var(--t-pequeno); line-height: 1.45; color: var(--suave); }
.dlg .boton--borde:hover, .dlg .chip:hover { background: var(--hueso-2); }
.chat { position: relative; flex: 1 1 auto; min-height: 180px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 10px; padding: 8px 24px 12px; }
.chat-msg { max-width: 88%; padding: 10px 14px; line-height: 1.45; overflow-wrap: anywhere; }
.chat-msg--bot { align-self: flex-start; background: var(--hueso-2); }
.chat-msg--tu { align-self: flex-end; background: var(--tinta); color: var(--hueso); }
.chat-msg a { font-weight: 500; }
.chat-rapidas { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 24px 8px; }
.chat-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px 24px 24px; }
.chat-form input { min-width: 0; padding: 10px 12px; border: 2px solid var(--tinta); border-radius: 0; background: #f6f5f3; }
.wa { background: #efeae2; color: #111b21; }
.wa-cabeza { display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: #075e54; color: #ffffff; }
.wa-cabeza :focus-visible { outline-color: #ffffff; }
.wa-avatar { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #dfe5e7; color: #075e54; font-weight: 500; }
.wa-quien { flex: 1; display: grid; line-height: 1.25; }
.wa-nombre { font-weight: 500; }
.wa-estado { font-size: var(--t-pequeno); color: #d4e8e4; }
.wa .dlg-cerrar { color: #ffffff; }
.wa-chat { flex: 1 1 auto; min-height: 220px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 8px; padding: 16px; }
.wa-msg { max-width: 82%; padding: 8px 10px 6px; border-radius: 8px; background: #ffffff; line-height: 1.4; overflow-wrap: anywhere; }
.wa-msg--tu { align-self: flex-end; background: #d9fdd3; }
.wa-msg--ellos { align-self: flex-start; }
.wa-hora { float: right; display: inline-flex; align-items: center; gap: 4px; margin: 6px 0 0 10px; font-size: var(--t-pequeno); line-height: 1; color: #54656f; }
.wa-tick { width: 16px; height: 11px; color: #8696a0; transition: color 0.3s; }
.wa-tick.is-leido { color: #53bdeb; }
.wa-aviso { align-self: center; max-width: 92%; display: grid; gap: 10px; justify-items: center; padding: 8px 12px; border-radius: 8px; background: #ffeecd; color: #54656f; font-size: var(--t-pequeno); line-height: 1.45; text-align: center; }
.wa-boton { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: 20px; background: #008069; color: #ffffff; font-weight: 500; text-decoration: none; }
.wa-escribiendo { align-self: flex-start; display: inline-flex; gap: 4px; padding: 12px 14px; border-radius: 8px; background: #ffffff; }
.wa-escribiendo i { width: 6px; height: 6px; border-radius: 50%; background: #8696a0; animation: wa-punto 1s infinite ease-in-out; }
.wa-escribiendo i:nth-child(2) { animation-delay: 0.15s; }
.wa-escribiendo i:nth-child(3) { animation-delay: 0.3s; }
@keyframes wa-punto { 0%, 80%, 100% { opacity: 0.35; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.wa-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px 12px; background: #f0f2f5; }
.wa-form input { min-width: 0; padding: 10px 16px; border: 0; border-radius: 20px; background: #ffffff; }
.wa-enviar { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #00a884; color: #ffffff; cursor: pointer; }
.wa-enviar svg { width: 20px; height: 20px; }
.zoom { width: min(860px, calc(100vw - 2 * var(--m))); max-height: 94svh; background: var(--tinta); color: var(--hueso); }
.zoom .dlg-cabeza { padding-bottom: 12px; }
.zoom .dlg-t { font-size: var(--t-cuerpo); }
.zoom-img { width: auto; max-width: 100%; max-height: calc(94svh - 90px); margin: 0 auto; padding: 0 24px 24px; object-fit: contain; }
@media (prefers-reduced-motion: reduce) { .wa-escribiendo i { animation: none; } }
@media (max-height: 600px) {
  .dlg { max-height: calc(100svh - 16px); }
  .chat, .wa-chat { min-height: 90px; }
  .chat-rapidas { flex-wrap: nowrap; overflow-x: auto; }
  .chat-rapidas .chip { flex: none; }
}
.js [data-aparece] {
  transform: translateY(16px);
  transition: opacity 0.6s cubic-bezier(0.44, 0, 0.56, 1), transform 0.6s cubic-bezier(0.44, 0, 0.56, 1);
  transition-delay: calc(var(--i, 0) * 120ms);
}
.js :is(h1, h2, h3, .titular)[data-aparece] { opacity: 0; }
.js [data-aparece="foto"] { transform: translateY(24px) scale(1.04); }
.js [data-aparece].is-visto { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js [data-aparece] { opacity: 1; transform: none; transition: none; }
}
