/* css/base.css */
@font-face { font-family: "Bodoni Moda"; src: url("../fuentes/bodoni-moda.woff2") format("woff2"); font-weight: 400 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Bodoni Moda"; src: url("../fuentes/bodoni-moda-italica.woff2") format("woff2"); font-weight: 400 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Zodiak"; src: url("../fuentes/zodiak-300.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Zodiak"; src: url("../fuentes/zodiak-300i.woff2") format("woff2"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Zodiak"; src: url("../fuentes/zodiak-400.woff2") format("woff2"); font-weight: 400 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("../fuentes/switzer-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("../fuentes/switzer-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("../fuentes/switzer-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Mano"; src: url("../fuentes/mano-nothing-2.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Pluma"; src: url("../fuentes/mano-pluma-2.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Maquina"; src: url("../fuentes/mono-fragment.woff2") format("woff2"); font-display: swap; }
:root {
  color-scheme: light;
  --hielo: #A7CBD8;
  --aciano: #4A68BE;
  --electrico: #455CFF;
  --indigo: #2B2D96;
  --marino: #1F2C43;
  --terracota: #B84E1C;
  --durazno: #CD8757;
  --violeta: #7E6FB0;
  --turquesa: #738B7F;
  --viridian: #016C5C;
  --sol: #F0CC2C;
  --papel: #F6F5F2;
  --papel-2: #E7E4DD;
  --hierro: #1E1C25;
  --negro: #0A0A0A;
  --noche: #160E23;
  --medianoche: #261732;
  --blanco: var(--papel);
  --papel-cartel: var(--papel);
  --papel-gris: var(--papel-2);
  --tinta: var(--hierro);
  --tinta-suave: #4E4A57;
  --ultramar: var(--indigo);
  --navy: var(--marino);
  --prusia: var(--marino);
  --circulo: var(--marino);
  --agnes: var(--hielo);
  --cielo: var(--hielo);
  --sello: var(--terracota);
  --sello-texto: #9C3F14;
  --naranja: var(--terracota);
  --naranja-lino: #C74D14;
  --arena: #EBDDC0;
  --camel: #BF975C;
  --grafito: #403D4E;
  --lavanda: var(--violeta);
  --acero: #8DA0AE;
  --te: var(--turquesa);
  --linea: rgba(30, 28, 37, .16);
  --display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --serif: "Zodiak", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "Switzer", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mano: "Mano", "Bradley Hand", "Segoe Print", cursive;
  --pluma: "Pluma", "Snell Roundhand", "Apple Chancery", cursive;
  --maquina: "Maquina", "SFMono-Regular", Menlo, "Courier New", monospace;
  --mono: var(--maquina);
  --t-etiqueta: .75rem;                                   
  --t-dato: .75rem;                                       
  --t-pie: .875rem;                                       
  --t-texto: 1.0625rem;                                   
  --t-lectura: 1.1875rem;                                 
  --t-entrada: clamp(1.25rem, 1.05rem + .85vw, 1.625rem); 
  --t-sub: clamp(1.75rem, 1.2rem + 2.3vw, 3rem);          
  --t-titulo: clamp(3.5rem, 2.2rem + 5.4vw, 7rem);        
  --t-cartel: clamp(2.9rem, 1rem + 8.2vw, 8.75rem);       
  --aire: .9em;                                   
  --margen: clamp(20px, 3.4vw, 48px);             
  --zona-segura-abajo: env(safe-area-inset-bottom, 0px);
  --z-grano: 90;
  --z-capa: 80;
  --tinta-cabecera: var(--tinta);
  --sombra-papel: 0 1px 1px rgba(30, 28, 37, .06), 0 10px 18px -8px rgba(30, 28, 37, .18), 0 34px 48px -28px rgba(30, 28, 37, .38);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; background: var(--papel-cartel); }
html, body { overscroll-behavior-y: none; }
body {
  margin: 0; background: var(--papel-cartel); color: var(--tinta);
  font-family: var(--sans); font-size: var(--t-texto); line-height: 1.5;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
  overflow-x: clip; font-kerning: normal;
}
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
img, svg, canvas, video { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
:focus-visible { outline: 2px solid var(--electrico); outline-offset: 4px; border-radius: 2px; }
::selection { background: var(--hielo); color: var(--marino); }
html { scrollbar-width: thin; scrollbar-color: rgba(120, 116, 128, .55) transparent; }
h1, h2, h3, h4, p, figure, blockquote, ul, ol, dl { margin: 0; }
ul, ol { padding: 0; list-style: none; }
.solo-lectores { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.etiqueta { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.tabular { font-variant-numeric: tabular-nums; }
.dato { font-family: var(--maquina); font-size: var(--t-dato); line-height: 1.35; letter-spacing: .02em; text-transform: uppercase; }
.display { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; letter-spacing: -.02em; }
.mano { font-family: var(--mano); font-weight: 400; letter-spacing: .01em; line-height: 1.1; }
.pluma { font-family: var(--pluma); font-weight: 400; line-height: 1; }
.maquina { font-family: var(--maquina); }
.versalitas { font-family: var(--serif); text-transform: uppercase; letter-spacing: .12em; }
.titulo-sala { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: var(--t-titulo); line-height: .94; letter-spacing: -.025em; text-wrap: balance; }
.escribe { clip-path: inset(-.4em calc(100% - var(--escrito, 100) * 1%) -.5em -.2em); }
html.js .escribe:not(.escrito) { --escrito: 0; }
.sala { position: relative; min-height: 100svh; isolation: isolate; background: var(--fondo, var(--papel)); color: var(--tinta-sala, var(--tinta)); }
.sala > .marcas { position: absolute; inset: 14px; pointer-events: none; z-index: 3; }
.sala > .marcas::before, .sala > .marcas::after {
  content: ""; position: absolute; width: 14px; height: 14px; opacity: .55;
  border-color: currentColor; border-style: solid; border-width: 0;
}
.sala > .marcas::before { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
.sala > .marcas::after { right: 0; bottom: 0; border-right-width: 1px; border-bottom-width: 1px; }
.capitulo { display: flex; align-items: center; gap: .8em; margin-bottom: var(--aire); }
.capitulo i { display: block; width: 3.2em; height: 1px; background: currentColor; transform-origin: 0 50%; }
.grano { position: fixed; inset: -50%; width: 200%; height: 200%; pointer-events: none; z-index: var(--z-grano); opacity: .035;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  -.2125 -.7154 -.0721 0 1'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
@media (max-width: 860px) { .grano { display: none; } }
.cabecera { position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-capa); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
  padding: calc(env(safe-area-inset-top, 0px) + 14px) var(--margen) 10px; color: var(--tinta-cabecera); pointer-events: none; transition: color .6s ease; }
.cabecera a, .cabecera button { pointer-events: auto; }
.cabecera::before { content: ""; position: absolute; inset: 0 0 -18px; z-index: -1; pointer-events: none; transition: background .6s ease;
  background: linear-gradient(to bottom, var(--fondo-cabecera, transparent) 0 52%, color-mix(in srgb, var(--fondo-cabecera, transparent) 0%, transparent)); }
.cabecera__marca { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .22em; text-decoration: none; padding: 10px 0; }
.cabecera__sala { position: relative; height: 1.35em; overflow: hidden; justify-self: center; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-pie); min-width: 12em; text-align: center; }
.cabecera__sala span { position: absolute; inset: 0; white-space: nowrap; }
.cabecera__estado { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; justify-self: end; }
.cabecera__estado i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: .6em; vertical-align: .05em; }
@media (max-width: 860px) {
  .cabecera { grid-template-columns: auto 1fr; }
  .cabecera__estado { display: none; }
  .cabecera__sala { justify-self: end; text-align: right; min-width: 0; width: 14em; }
}
.progreso { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: calc(var(--z-capa) + 1); pointer-events: none; }
.progreso i { display: block; height: 100%; background: var(--tinta-cabecera); transform-origin: 0 50%; transform: scaleX(0); transition: background .6s ease; }
.sello-wa { position: fixed; right: max(14px, var(--margen)); bottom: calc(var(--zona-segura-abajo) + 16px); z-index: var(--z-capa);
  width: 76px; height: 76px; display: grid; place-items: center; text-decoration: none; color: var(--blanco); transform: rotate(-12deg);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .4s ease, visibility .4s; -webkit-tap-highlight-color: transparent; }
.sello-wa svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 6px 14px rgba(110, 40, 10, .28)); }
.sello-wa:active { transform: rotate(-12deg) scale(.94); }
@media (hover: hover) and (pointer: fine) { .sello-wa:hover { transform: rotate(-4deg) scale(1.04); } }
html:not(.sello-visible) .sello-wa { opacity: 0; visibility: hidden; transform: rotate(-30deg) scale(.6); }
.tocadiscos { position: fixed; left: max(12px, calc(var(--margen) - 6px)); bottom: calc(var(--zona-segura-abajo) + 14px); z-index: var(--z-capa);
  width: 70px; height: 70px; display: block; -webkit-tap-highlight-color: transparent; }
.tocadiscos svg { width: 100%; height: 100%; overflow: visible; }
.tocadiscos__etiqueta { position: absolute; left: calc(100% + 10px); bottom: 10px; white-space: nowrap; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-pie);
  color: var(--tinta-cabecera); opacity: 0; transform: translateX(-6px); transition: opacity .5s ease, transform .5s ease, color .6s ease; pointer-events: none; }
.tocadiscos[aria-pressed="true"] .tocadiscos__etiqueta, .tocadiscos:focus-visible .tocadiscos__etiqueta { opacity: 1; transform: none; }
@media (hover: hover) and (pointer: fine) { .tocadiscos:hover .tocadiscos__etiqueta { opacity: 1; transform: none; } }
@media (max-width: 860px) { .tocadiscos { width: 58px; height: 58px; } .tocadiscos__etiqueta { display: none; } }
@media (max-height: 740px) and (max-width: 860px) { html[data-sala="cartel"] .tocadiscos { opacity: 0; visibility: hidden; } }
.tocadiscos { transform-origin: 0 100%; transition: opacity .4s ease, visibility .4s, transform .4s cubic-bezier(.2,.8,.2,1); }
html:not(.disco-visible):not(.musica-sonando) .tocadiscos { opacity: 0; visibility: hidden; transform: scale(.7); }
html.musica-sonando:not(.disco-visible) .tocadiscos { transform: scale(.72); }
html.club-abierta .tocadiscos, html.club-abierta .sello-wa { opacity: 0; visibility: hidden; }
.hora-gato { position: fixed; right: max(14px, var(--margen)); bottom: calc(var(--zona-segura-abajo) + 104px); z-index: var(--z-capa);
  max-width: 13em; padding: 8px 12px 9px; background: var(--blanco); color: var(--tinta); border-radius: 3px; transform-origin: 85% 110%;
  font-family: var(--mano); font-size: 1.15rem; line-height: 1.15; text-align: left; pointer-events: none;
  box-shadow: 0 10px 24px -14px rgba(22, 14, 35, .55); rotate: -2deg; }
.hora-gato::after { content: ""; position: absolute; right: 30px; bottom: -6px; width: 12px; height: 12px; background: inherit; rotate: 45deg; }
.laminas .lamina-movil { z-index: var(--z, 1); box-shadow: 0 -18px 40px -24px rgba(22, 14, 35, .45); }
.laminas .lamina-movil.lamina-pegada { position: sticky !important; top: var(--pega, 0px) !important; }
.laminas-midiendo .lamina-movil.lamina-pegada { position: relative !important; top: auto !important; }
.laminas .cartel.cartel--pegado { position: sticky; top: 0; z-index: 1; }
.laminas-midiendo .cartel.cartel--pegado { position: relative; top: auto; }
.marca-lamina { display: block; height: 0; }
.velo-lamina { position: absolute; left: 0; right: 0; top: 0; height: 100svh; background: #0b0814; opacity: 0; pointer-events: none; z-index: 50; }
.boton { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 52px; padding: 0 1.4em;
  font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  background: var(--ultramar); color: var(--blanco); border-radius: 2px; transition: transform .25s cubic-bezier(.2,.8,.2,1), background .3s ease; }
.boton:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .boton:hover { background: var(--marino); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  html.js .escribe:not(.escrito) { --escrito: 100; }
}
@media print {
  .grano, .cabecera, .progreso, .sello-wa, .tocadiscos, .hora-gato { display: none !important; }
  .sala { min-height: auto; break-inside: avoid; }
}
/* css/salas/00-cartel.css */
@font-face { font-family: "Mincho"; src: url("../fuentes/mincho-medatsu.woff2") format("woff2"); font-display: swap; unicode-range: U+3064, U+76EE, U+7ACB; }
.cartel { --fondo: var(--papel); --tinta-sala: var(--marino); --grafito-lapiz: #645F57; overflow: clip; }
.cartel__hoja { position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 22px; align-content: center;
  justify-items: center; text-align: center; padding: calc(env(safe-area-inset-top, 0px) + 60px) 20px calc(var(--zona-segura-abajo) + 76px); }
.cartel__ficha { display: contents; }
.cartel__dato { display: grid; justify-items: center; gap: 3px; }
.cartel__rol { font-family: var(--sans); font-weight: 600; font-size: .625rem; line-height: 1.3; letter-spacing: .22em; text-transform: uppercase; color: var(--aciano); }
.cartel__nombre { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: 2.125rem; line-height: 1; letter-spacing: -.01em; color: var(--marino); }
.cartel__titulo { max-width: 13ch; font-family: var(--display); font-weight: 400; font-style: italic; font-variation-settings: "opsz" 96; font-size: 2rem; line-height: 1.02; letter-spacing: -.015em;
  color: var(--marino); text-wrap: balance; }
.cartel__nota { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: .9375rem; line-height: 1.3; color: var(--tinta-suave); }
.cartel__valor { font-family: var(--serif); font-weight: 400; font-size: 1.1875rem; line-height: 1.25; color: var(--marino); }
.cartel__valor--chico { font-size: 1rem; line-height: 1.35; }
.cartel__chico { max-width: 26ch; font-family: var(--sans); font-weight: 400; font-size: .8125rem; line-height: 1.5; color: var(--tinta-suave); }
.cartel__valor, .cartel__chico, .cartel__nota { text-wrap: pretty; }
.cartel__enlace { color: var(--marino); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .3s; }
.cartel__enlace-dos { display: block; white-space: nowrap; }
.cartel__enlace-dos::after { content: " →"; display: inline-block; margin-left: .3em; transition: translate .3s cubic-bezier(.2, .8, .2, 1); }
.cartel__enlace:focus-visible { outline: 2px solid var(--marino); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .cartel__enlace:hover { color: var(--terracota); }
  .cartel__enlace:hover .cartel__enlace-dos::after { translate: 4px 0; }
}
.cartel__obra { position: relative; margin: 0; width: min(60vw, 250px); }
.cartel__marco { position: relative; padding: 6% 6% 15%; background: #ECE8DF; box-shadow: var(--sombra-papel); container-type: inline-size; }
.cartel__tela { position: relative; aspect-ratio: 1; }
.cartel__lienzo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: #A9BFE2; touch-action: pan-y; }
.cartel__plano { position: absolute; inset: 0; background: var(--indigo); opacity: 0; pointer-events: none; }
.cartel__lapiz { position: absolute; left: 6%; right: 6%; bottom: 0; height: 15cqw; display: flex; align-items: center; justify-content: space-between; gap: 3cqw;
  font-family: var(--mano); font-size: 4.1cqw; line-height: 1; color: var(--grafito-lapiz); white-space: nowrap; }
.cartel__lapiz-titulo { font-size: 1.15em; }
.cartel__vertical { display: flex; gap: 12px; writing-mode: vertical-rl; pointer-events: none; }
.cartel__jp { font-family: "Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 1.125rem; letter-spacing: .5em; color: var(--marino); }
.cartel__es { font-family: var(--sans); font-weight: 600; font-size: .5625rem; letter-spacing: .32em; text-transform: uppercase; color: var(--tinta-suave); }
.cartel__vertical--obra { position: absolute; left: calc(100% + 14px); top: 8%; }
.cartel__vertical--borde { display: none; }
.cartel__desliza { position: absolute; left: 50%; bottom: calc(var(--zona-segura-abajo) + 26px); translate: -50% 0; display: grid; justify-items: center; gap: 8px;
  font-family: var(--sans); font-weight: 600; font-size: .5625rem; letter-spacing: .3em; text-transform: uppercase; color: var(--tinta-suave); }
.cartel__desliza::after { content: ""; width: 1px; height: 22px; background: linear-gradient(var(--tinta-suave), transparent); animation: cartel-desliza 2.2s ease-in-out infinite; }
@keyframes cartel-desliza { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
html.js:not(.cartel-entro) :is(.cartel__dato:not(.cartel__dato--obra), .cartel__dato--obra .cartel__rol, .cartel__dato--obra .cartel__nota,
  .cartel__marco, .cartel__vertical, .cartel__lapiz-ed, .cartel__lapiz-firma, .cartel__desliza) { opacity: 0; animation: cartel-respaldo .6s 6s forwards; }
html.js:not(.cartel-entro) .cartel__titulo { filter: blur(6px); animation: cartel-respaldo .6s 6s forwards; }
@keyframes cartel-respaldo { to { opacity: 1; filter: none; } }
@media (prefers-reduced-motion: reduce) {
  html.js:not(.cartel-entro) :is(.cartel__dato:not(.cartel__dato--obra), .cartel__dato--obra .cartel__rol, .cartel__dato--obra .cartel__nota,
    .cartel__marco, .cartel__vertical, .cartel__lapiz-ed, .cartel__lapiz-firma, .cartel__desliza, .cartel__titulo) { opacity: 1; filter: none; animation: none; }
}
.cartel--saliendo :is(.cartel__dato, .cartel__lapiz, .cartel__vertical, .cartel__desliza) { filter: opacity(calc(1 - var(--salida, 0))); }
.cartel--saliendo .cartel__lapiz { translate: 0 calc(var(--salida, 0) * -12px); }
.cartel--fuera :is(.cartel__dato, .cartel__lapiz) { pointer-events: none; }
.cartel__dato--obra { grid-column: 1 / -1; grid-row: 1; margin-bottom: 14px; }
.cartel__obra { grid-column: 1 / -1; grid-row: 2; }
.cartel__dato--estudio, .cartel__dato--quien { grid-column: 1; justify-self: end; justify-items: end; text-align: right; }
.cartel__dato--tecnica, .cartel__dato--medidas { grid-column: 2; justify-self: start; justify-items: start; text-align: left; }
.cartel__dato--estudio, .cartel__dato--tecnica { grid-row: 3; align-self: start; margin-top: 20px; }
.cartel__dato--quien, .cartel__dato--medidas { grid-row: 4; align-self: start; margin-top: 12px; }
.cartel__dato--paso { grid-column: 1 / -1; grid-row: 5; margin-top: 18px; }
.cartel__dato--estudio .cartel__nombre { font-size: 1.5rem; }
.cartel__valor { font-size: 1.0625rem; }
@media (min-width: 861px) {
  .cartel__hoja { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: clamp(40px, 5vw, 84px);
    padding: calc(env(safe-area-inset-top, 0px) + 70px) var(--margen) 70px; }
  .cartel__ficha { display: grid; align-content: center; gap: 30px; }
  .cartel__ficha--izq { justify-self: end; justify-items: end; text-align: right; max-width: 290px; }
  .cartel__ficha--der { justify-self: start; justify-items: start; text-align: left; max-width: 330px; }
  .cartel__ficha--izq .cartel__dato { justify-items: end; }
  .cartel__ficha--der .cartel__dato { justify-items: start; }
  .cartel__dato, .cartel__obra { grid-column: auto; grid-row: auto; align-self: auto; }
  .cartel__dato { margin: 0 !important; gap: 5px; }
  .cartel__dato--estudio .cartel__nombre { font-size: clamp(2.25rem, 1.4rem + 1.3vw, 2.75rem); }
  .cartel__titulo { font-size: clamp(1.9rem, 1.2rem + 1.2vw, 2.4rem); }
  .cartel__valor { font-size: 1.3125rem; }
  .cartel__valor--chico { font-size: 1.0625rem; }
  .cartel__chico { font-size: .875rem; }
  .cartel__obra { width: min(370px, 44svh); }
  .cartel__vertical--obra { display: none; }
  .cartel__vertical--borde { display: flex; position: absolute; right: var(--margen); top: 50%; translate: 0 -50%; }
  .cartel__jp { font-size: 1.25rem; }
  .cartel--saliendo .cartel__ficha { translate: 0 calc(var(--salida, 0) * -12px); }
}
@media (max-width: 860px) and (max-height: 840px) {
  .cartel__hoja { padding-top: calc(env(safe-area-inset-top, 0px) + 52px); padding-bottom: calc(var(--zona-segura-abajo) + 40px); }
  .cartel__dato--obra { margin-bottom: 10px; }
  .cartel__titulo { font-size: 1.75rem; }
  .cartel__obra { width: min(54vw, 32svh); }
  .cartel__dato--quien, .cartel__dato--medidas { display: none; }
  .cartel__dato--estudio, .cartel__dato--tecnica { margin-top: 18px; }
  .cartel__desliza { display: none; }
}
.cartel__origen { margin: 0 0 8px; font-family: var(--mano); font-size: clamp(1.1rem, .95rem + .5vw, 1.35rem); line-height: 1.15; color: var(--ultramar); rotate: -1.5deg; }
.cartel__origen[hidden] { display: none; }
/* css/salas/01-programa.css */
.programa { --fondo: var(--indigo); --tinta-sala: var(--papel); color: var(--papel); }
.programa .capitulo, .programa__temporada, .programa__leyenda { color: var(--durazno); }
.programa__hoja { position: relative; max-width: 1240px; margin: 0 auto; padding: calc(env(safe-area-inset-top, 0px) + 92px) var(--margen) 96px; }
.programa__cabeza { position: relative; margin-bottom: clamp(28px, 6svh, 64px); }
.programa__titulo { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: var(--t-titulo); line-height: .9; letter-spacing: -.03em;
  text-shadow: -1px -1px 0 rgba(255, 255, 255, .14), 1px 2px 0 rgba(8, 8, 40, .55), 0 18px 34px rgba(8, 8, 40, .35); }
.programa__temporada { margin-top: var(--aire); }
.programa__lista { --paso: min(4.4vw, 18px); counter-reset: n; }
.programa__lista li { position: relative; padding-left: calc(var(--i) * var(--paso)); }
.programa__lista li::after { content: ""; position: absolute; left: calc(var(--i) * var(--paso)); right: 0; bottom: 0; height: 1px; background: rgba(167, 203, 216, .34);
  transform-origin: 0 50%; transform: scaleX(var(--raya, 1)); }
html.js .programa__lista li { --raya: 0; }
.programa__lista a { display: grid; grid-template-columns: 3.6em minmax(0, 1fr); column-gap: 10px; align-items: baseline; padding: 12px 0 13px; text-decoration: none; min-height: 52px; }
.programa__pag { grid-row: span 2; font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .02em; text-transform: uppercase; color: var(--hielo); font-variant-numeric: tabular-nums; }
.programa__nombre { font-family: var(--serif); font-weight: 300; font-size: clamp(1.65rem, 1.1rem + 2.4vw, 3rem); line-height: 1.04; letter-spacing: -.015em;
  display: inline-flex; align-items: center; gap: .3em; transition: transform .45s cubic-bezier(.2, .8, .2, 1), letter-spacing .45s ease; }
.programa__que { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-pie); line-height: 1.35; opacity: .86; margin-top: 3px; }
.programa__estrella { width: .5em; height: .5em; color: var(--agnes); flex: none; }
.programa__leyenda { display: flex; align-items: center; gap: 8px; margin-top: 28px; }
.programa__leyenda .programa__estrella { width: 14px; height: 14px; }
@media (hover: hover) and (pointer: fine) {
  .programa__lista a:hover .programa__nombre { transform: translateX(10px); }
  .programa__lista a:hover .programa__estrella { animation: girar 2.4s linear infinite; }
}
@keyframes girar { to { transform: rotate(360deg); } }
.programa__vista { position: fixed; left: 0; top: 0; z-index: 30; width: 240px; aspect-ratio: 8 / 5; pointer-events: none; opacity: 0; visibility: hidden;
  box-shadow: 0 24px 50px -20px rgba(10, 8, 30, .6); background: var(--papel); }
.programa__vista img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 861px) {
  .programa__hoja { padding-top: calc(env(safe-area-inset-top, 0px) + 120px); }
  .programa__lista { --paso: min(5.2vw, 76px); }
  .programa__lista a { grid-template-columns: 5em minmax(0, 1fr); padding: 14px 0 16px; }
  .programa__que { font-size: var(--t-texto); }
}
/* css/salas/03-estante.css */
.estante {
  --fondo: var(--marino);
  --tinta-sala: var(--papel);
  --est-u: clamp(.6px, min(calc((100vw - 2 * var(--margen)) / 1000), calc((100svh - 420px) / 480)), 1.12px);
  --hoja: var(--papel);
  --madera: #D6BE96;
  --madera-canto: #C7A97C;
  --lapiz: #4E4A57;
  display: flex; flex-direction: column; justify-content: center; gap: clamp(8px, 2svh, 30px);
  padding: calc(env(safe-area-inset-top, 0px) + clamp(84px, 11svh, 118px)) var(--margen) clamp(28px, 4svh, 56px);
  overflow: clip;
}
.est-esmalte { position: absolute; inset: 0; z-index: -2; pointer-events: none; overflow: hidden;
  background: linear-gradient(rgba(255, 255, 255, .03), rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .12)); }
.est-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.est-cabeza { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; align-items: end;
  width: 100%; max-width: 1344px; margin: 0 auto; }
.est-capitulo { grid-column: 1 / -1; color: var(--durazno); }
.est-capitulo i { width: 3.2em; }
.est-titulo { grid-column: 1 / 9; color: var(--papel); }
.est-linea { display: block; overflow: hidden; padding: 0 .06em .14em 0; margin: 0 -.06em -.14em 0; }
.est-linea > span { display: block; }
.est-entrada { grid-column: 9 / 13; padding-bottom: .6em; display: grid; gap: 12px; }
.est-lead { font-family: var(--serif); font-weight: 300; font-size: var(--t-entrada); line-height: 1.28; letter-spacing: -.005em; text-wrap: balance; color: rgba(246, 245, 242, .88); }
.est-nota { font-family: var(--serif); font-size: var(--t-pie); line-height: 1.55; color: rgba(246, 245, 242, .7); max-width: 34ch; }
.est-mueble { position: relative; z-index: 1; width: 100%; max-width: 1344px; margin: 0 auto; }
.est-riel { position: relative; }
.est-fila {
  --u: var(--est-u);
  position: relative; display: flex; align-items: flex-end; justify-content: center;
  gap: calc(12 * var(--u));
  width: max-content; margin: 0 auto;
  padding: calc(40 * var(--u)) calc(44 * var(--u)) calc(34 * var(--u));
}
.est-fila > * { position: relative; z-index: 1; }
.est-sujeta:first-child { margin-right: calc(4 * var(--u)); }
.est-libro[data-obra="04"] { margin-right: calc(4 * var(--u)); }
.est-libro--tuyo { margin-left: calc(26 * var(--u)); margin-right: calc(2 * var(--u)); }
.est-sujeta:nth-of-type(2) { margin-left: calc(2 * var(--u)); }
.est-tabla { position: absolute !important; z-index: 0 !important; left: 0; right: 0; bottom: 0; height: calc(50 * var(--u)); pointer-events: none; }
.est-tabla::before, .est-tabla::after { content: ""; position: absolute; left: 0; right: 0; }
.est-tabla::before { 
  top: 0; height: calc(22 * var(--u));
  background:
    linear-gradient(rgba(70, 50, 25, .26), rgba(70, 50, 25, 0) 70%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='60'><filter id='v'><feTurbulence type='fractalNoise' baseFrequency='.0035 .42' numOctaves='3' seed='11'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .28  0 0 0 0 .14  0 0 0 .7 -.18'/></filter><rect width='100%' height='100%' filter='url(%23v)'/></svg>") 0 0 / 900px 100%,
    var(--madera);
  clip-path: polygon(1.2% 0, 98.8% 0, 100% 100%, 0 100%);
}
.est-tabla::after { 
  bottom: 0; height: calc(28 * var(--u));
  background:
    linear-gradient(rgba(255, 246, 228, .55), rgba(255, 246, 228, 0) 12%, rgba(0, 0, 0, 0) 70%, rgba(60, 40, 18, .22)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='700' height='40'><filter id='c'><feTurbulence type='fractalNoise' baseFrequency='.006 .55' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .38  0 0 0 0 .25  0 0 0 0 .12  0 0 0 .8 -.22'/></filter><rect width='100%' height='100%' filter='url(%23c)'/></svg>") 0 0 / 700px 100%,
    var(--madera-canto);
  border-radius: 0 0 calc(2 * var(--u)) calc(2 * var(--u));
  box-shadow: 0 calc(26 * var(--u)) calc(34 * var(--u)) calc(-16 * var(--u)) rgba(4, 8, 18, .6), 0 calc(3 * var(--u)) calc(4 * var(--u)) rgba(4, 8, 18, .32);
}
.est-tabla__escuadra { position: absolute; top: 100%; width: calc(14 * var(--u)); height: calc(58 * var(--u)); left: 9%;
  background:
    radial-gradient(circle at 50% calc(18 * var(--u)), #C9CCD0 calc(2.6 * var(--u)), #8E9298 calc(3.1 * var(--u)), transparent calc(3.6 * var(--u))),
    radial-gradient(circle at 50% calc(42 * var(--u)), #C9CCD0 calc(2.6 * var(--u)), #8E9298 calc(3.1 * var(--u)), transparent calc(3.6 * var(--u))),
    linear-gradient(90deg, #35323F, #4B4858 45%, #2E2B37);
  border-radius: 0 0 calc(2 * var(--u)) calc(2 * var(--u));
  box-shadow: calc(6 * var(--u)) calc(10 * var(--u)) calc(14 * var(--u)) rgba(4, 8, 18, .4); }
.est-tabla__escuadra:nth-child(2) { left: 50%; }
.est-tabla__escuadra:nth-child(3) { left: auto; right: 9%; }
.est-tela {
  background-color: var(--c);
  background-image: var(--lino, repeating-linear-gradient(45deg, rgba(255, 255, 255, .05) 0 1px, rgba(0, 0, 0, 0) 1px 3px));
  background-size: 180px 180px;
}
.est-libro {
  --u: var(--est-u);
  --hondo: calc(var(--alto) * .72);
  position: relative; flex: 0 0 auto; display: block; padding: 0; border: 0; background: none; color: var(--t);
  width: calc(var(--grueso) * var(--u)); height: calc(var(--alto) * var(--u));
  transform-style: preserve-3d;
  transform: perspective(calc(1500 * var(--u))) translateY(calc((var(--caida, 0) - var(--alza, 0) - var(--sube, 0) * 24) * var(--u))) translateZ(calc(var(--sube, 0) * 14 * var(--u))) rotateX(-5deg) rotateY(calc(-17deg - var(--mira, 0) * 7deg - var(--paseo, 0) * 8deg));
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.est-libro:focus-visible { outline-offset: 6px; }
.est-libro__lomo, .est-libro__tapa, .est-libro__cabeza { position: absolute; display: block; }
.est-libro__lomo {
  inset: 0; display: flex; flex-direction: column; align-items: center;
  padding: calc(12 * var(--u)) 0 calc(12 * var(--u));
  color: var(--t);
  background-color: var(--c);
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .34), rgba(255, 255, 255, .07) 11%, rgba(255, 255, 255, .13) 21%, rgba(255, 255, 255, 0) 42%, rgba(0, 0, 0, .05) 72%, rgba(0, 0, 0, .32)),
    var(--lino, repeating-linear-gradient(45deg, rgba(255, 255, 255, .05) 0 1px, rgba(0, 0, 0, 0) 1px 3px));
  background-size: 100% 100%, 180px 180px;
  border-radius: calc(3 * var(--u)) calc(3 * var(--u)) calc(2 * var(--u)) calc(2 * var(--u));
  box-shadow: inset 0 calc(2 * var(--u)) 0 rgba(255, 255, 255, .12), inset 0 calc(-2 * var(--u)) 0 rgba(0, 0, 0, .2);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.est-libro::before, .est-sujeta::before { content: ""; position: absolute; inset: 3% -4% 0 6%; background: rgba(3, 7, 16, .38); filter: blur(calc(9 * var(--u)));
  transform: translateZ(calc(var(--hondo) * -1 * var(--u) - 2px)); opacity: var(--asoma, 1); pointer-events: none; }
.est-libro::after, .est-sujeta::after { content: ""; position: absolute; left: -10%; right: -30%; bottom: calc(-7 * var(--u)); height: calc(14 * var(--u));
  background: radial-gradient(closest-side, rgba(45, 32, 18, .42), rgba(45, 32, 18, 0)); transform: translateZ(calc(-30 * var(--u))); pointer-events: none; }
.est-libro__bandas { width: 64%; height: calc(6 * var(--u)); border-top: calc(1.4 * var(--u)) solid currentColor; border-bottom: calc(1.4 * var(--u)) solid currentColor; opacity: .82; flex: 0 0 auto; }
.est-libro__num { display: grid; justify-items: center; gap: calc(3 * var(--u)); margin-top: calc(11 * var(--u)); flex: 0 0 auto; font-family: var(--sans); font-weight: 600; font-variant-numeric: tabular-nums; }
.est-libro__num small { font-size: calc(9.5 * var(--u)); letter-spacing: .12em; line-height: 1; }
.est-libro__num span { display: grid; place-items: center; width: calc(28 * var(--u)); height: calc(28 * var(--u)); border: calc(1.2 * var(--u)) solid currentColor; font-size: calc(14.5 * var(--u)); letter-spacing: .02em; line-height: 1; }
.est-libro__titulo {
  flex: 1 1 auto; min-height: 0; margin: calc(14 * var(--u)) 0;
  writing-mode: vertical-rl; text-align: center; white-space: nowrap;
  font-family: var(--serif); font-weight: 600; font-size: calc(var(--letra) * var(--u)); line-height: 1; letter-spacing: .012em;
  text-rendering: geometricPrecision;
}
.est-libro__marca { width: calc(13 * var(--u)); height: calc(13 * var(--u)); flex: 0 0 auto; color: currentColor; opacity: .85; }
.est-libro__tapa {
  top: 0; left: 100%; width: calc(var(--hondo) * var(--u)); height: 100%;
  transform-origin: 0 50%; transform: rotateY(90deg);
  background-color: var(--c);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, .26), rgba(0, 0, 0, .05) 8%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .12)), var(--lino, none);
  background-size: 100% 100%, 180px 180px;
  border-radius: 0 calc(3 * var(--u)) calc(3 * var(--u)) 0;
  filter: brightness(.9);
}
.est-libro__tapa .est-libro__marca, .est-vuelo__fuera .est-libro__marca { position: absolute; left: 50%; bottom: 8%; width: calc(18 * var(--u)); height: calc(18 * var(--u)); transform: translateX(-50%); color: var(--t); opacity: .7; }
.est-libro__cabeza {
  left: 0; top: 0; width: 100%; height: calc(var(--hondo) * var(--u));
  transform-origin: 50% 0; transform: rotateX(-90deg);
  background: repeating-linear-gradient(90deg, #F1E8D5 0 calc(1.3 * var(--u)), #DCCFB4 calc(1.3 * var(--u)) calc(2.1 * var(--u)));
  border-left: calc(2 * var(--u)) solid var(--c); border-right: calc(2 * var(--u)) solid var(--c); border-top: calc(2 * var(--u)) solid var(--c);
}
.est-etiqueta-libro { position: absolute; left: 17%; right: 17%; top: 13%; display: grid; justify-items: center; gap: calc(5 * var(--u));
  padding: calc(12 * var(--u)) calc(8 * var(--u)) calc(11 * var(--u)); background: #F3EDE1; color: var(--tinta); text-align: center;
  outline: calc(1 * var(--u)) solid rgba(28, 27, 25, .5); outline-offset: calc(-5 * var(--u));
  box-shadow: 0 calc(1 * var(--u)) calc(2 * var(--u)) rgba(0, 0, 0, .25); }
.est-etiqueta-libro small { font-family: var(--sans); font-weight: 600; font-size: calc(7.5 * var(--u)); letter-spacing: .2em; line-height: 1.2; text-transform: uppercase; }
.est-etiqueta-libro span { font-family: var(--serif); font-weight: 400; font-size: calc(17 * var(--u)); line-height: 1.04; text-wrap: balance; }
.est-etiqueta-libro i { display: block; width: 34%; height: calc(1 * var(--u)); background: currentColor; opacity: .45; }
.est-etiqueta-libro--lapiz { background: #EFE8D9; color: var(--lapiz); }
.est-etiqueta-libro--lapiz span { font-weight: 300; font-style: italic; font-size: calc(18 * var(--u)); }
.est-libro--tuyo .est-libro__bandas { opacity: .35; }
.est-libro__num--lapiz { color: var(--lapiz); }
.est-libro__num--lapiz span { border-style: dashed; border-color: rgba(78, 74, 87, .55); }
.est-libro__pregunta { width: calc(30 * var(--u)); height: calc(46 * var(--u)); margin-top: calc(26 * var(--u)); flex: 0 0 auto; overflow: visible; filter: url(#est-lapiz); }
.est-libro__pregunta path { fill: none; stroke: var(--lapiz); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.est-libro__titulo--tuyo { font-weight: 300; font-style: italic; font-size: calc(var(--letra) * 1.08 * var(--u)); color: var(--lapiz); letter-spacing: .01em; margin-top: calc(10 * var(--u)); }
.est-libro--tuyo .est-libro__marca { opacity: .45; }
.est-libro__lomo, .est-libro__tapa, .est-libro__cabeza, .est-libro::after,
.est-sujeta__cara, .est-sujeta__arriba, .est-sujeta__lado, .est-sujeta::after { opacity: var(--asoma, 1); }
.est-vuelo .est-libro__lomo { opacity: 1; }
.est-sujeta {
  --u: var(--est-u);
  --hondo: 96;
  flex: 0 0 auto; width: calc(var(--ancho) * var(--u)); height: calc(var(--alto) * var(--u));
  transform-style: preserve-3d;
  transform: perspective(calc(1500 * var(--u))) translateY(calc(var(--caida, 0) * var(--u))) rotateX(-5deg) rotateY(calc(-10deg - var(--mira, 0) * 6deg - var(--paseo, 0) * 6deg));
}
.est-sujeta__cara {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(8 * var(--u));
  padding: calc(12 * var(--u)); text-align: center; color: var(--papel);
  background:
    radial-gradient(ellipse 80% 60% at 30% 20%, rgba(255, 255, 255, .10), rgba(255, 255, 255, 0) 70%),
    linear-gradient(rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, .18)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23g)' opacity='.14'/></svg>"),
    var(--hierro);
  outline: calc(1 * var(--u)) solid rgba(246, 245, 242, .2); outline-offset: calc(-8 * var(--u));
  border-radius: calc(2 * var(--u));
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.est-sujeta__valor { display: block; font-family: var(--serif); font-weight: 300; font-size: calc(42 * var(--u)); line-height: .92; letter-spacing: -.02em; white-space: nowrap; }
.est-sujeta__valor--largo { font-size: calc(25 * var(--u)); letter-spacing: -.015em; }
.est-sujeta__que { display: block; font-family: var(--sans); font-weight: 600; font-size: calc(9.5 * var(--u)); line-height: 1.3; letter-spacing: .16em; text-transform: uppercase; max-width: 86%; color: var(--durazno); }
.est-sujeta__arriba, .est-sujeta__lado { position: absolute; display: block; }
.est-sujeta__arriba { left: 0; top: 0; width: 100%; height: calc(var(--hondo) * var(--u)); transform-origin: 50% 0; transform: rotateX(-90deg); background: linear-gradient(#5B4743, #36302F); }
.est-sujeta__lado { top: 0; left: 100%; width: calc(var(--hondo) * var(--u)); height: 100%; transform-origin: 0 50%; transform: rotateY(90deg); background: linear-gradient(90deg, #121117, #1A1820); }
.est-rotulo { position: absolute; z-index: 6; left: 0; top: 0; display: grid; gap: 3px; min-width: 190px; max-width: 280px;
  padding: 10px 14px 12px; background: var(--blanco); color: var(--tinta);
  box-shadow: 0 1px 0 rgba(28, 27, 25, .1), 0 18px 30px -20px rgba(28, 27, 25, .55);
  pointer-events: none; opacity: 0; visibility: hidden; }
.est-rotulo::after { content: ""; position: absolute; left: -6px; top: 18px; width: 12px; height: 12px; background: inherit; transform: rotate(45deg); }
.est-rotulo__n { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; font-variant-numeric: tabular-nums; color: var(--ultramar); }
.est-rotulo__nombre { font-family: var(--serif); font-size: var(--t-lectura); line-height: 1.15; }
.est-rotulo__tipo { font-family: var(--serif); font-size: var(--t-pie); line-height: 1.3; color: var(--tinta-suave); }
.est-pista { display: flex; align-items: center; justify-content: center; gap: .7em; margin-top: calc(66 * var(--est-u)); color: var(--durazno); }
.est-pista__estrella { width: 13px; height: 13px; color: var(--durazno); flex: 0 0 auto; }
.est-pista__tactil { display: none; }
@media (hover: none), (pointer: coarse) { .est-pista__fino { display: none; } .est-pista__tactil { display: inline; } }
html.est-abierto, html.est-abierto body { overflow: hidden; }
html.est-abierto .est-pista, html.est-abierto .est-rotulo { visibility: hidden; }
.est-ficha { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
  background: transparent; color: var(--tinta); overflow: hidden; outline: none; }
.est-ficha:not([open]) { display: none; }
.est-ficha::backdrop { background: transparent; }
.est-ficha__fondo { position: absolute; inset: 0; z-index: 0; opacity: 0;
  background: radial-gradient(ellipse 70% 70% at 50% 46%, rgba(44, 36, 28, .5), rgba(22, 17, 13, .78)); }
.est-ficha__grano { position: absolute; inset: 0; z-index: 9; pointer-events: none; opacity: .07; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.est-escena { position: absolute; inset: 0; z-index: 2; perspective: 1800px; perspective-origin: 50% 50%; pointer-events: none; }
.est-vuelo { position: absolute; left: 0; top: 0; width: var(--W); height: var(--H); margin-top: calc(var(--H) / -2);
  transform-style: preserve-3d; visibility: hidden; color: var(--t); }
.est-vuelo > div { position: absolute; display: block; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.est-vuelo__tapa { left: 0; top: 0; width: var(--W); height: var(--H); transform-style: preserve-3d; transform-origin: 0 50%; -webkit-backface-visibility: visible !important; backface-visibility: visible !important; }
.est-vuelo__fuera, .est-vuelo__dentro { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: 2px 6px 6px 2px; overflow: hidden; }
.est-vuelo__fuera { background-color: var(--c); background-image: linear-gradient(90deg, rgba(0, 0, 0, .22), rgba(255, 255, 255, .06) 4%, rgba(0, 0, 0, 0) 14%, rgba(0, 0, 0, 0) 85%, rgba(0, 0, 0, .14)), var(--lino, none); background-size: 100% 100%, 180px 180px; }
.est-vuelo__dentro { transform: rotateY(180deg); border-radius: 6px 2px 2px 6px; background-color: var(--c); background-image: var(--lino, none); background-size: 180px 180px; }
.est-vuelo__dentro .est-pagina { position: absolute; top: var(--canto); bottom: var(--canto); left: var(--canto); right: 0; }
.est-vuelo__pagina { left: 0; top: 0; width: var(--W); height: var(--H); background-color: var(--c); background-image: var(--lino, none); background-size: 180px 180px; border-radius: 2px 6px 6px 2px; }
.est-vuelo__pagina::before { content: ""; position: absolute; top: var(--canto); bottom: var(--canto); left: 0; right: var(--canto); background: var(--hoja);
  box-shadow: inset 18px 0 26px -18px rgba(60, 45, 25, .35); }
.est-vuelo__lomo { left: calc(var(--T) / -2); top: 0; width: var(--T); height: var(--H); transform: rotateY(-90deg); }
.est-vuelo__lomo .est-libro__lomo { position: absolute; inset: 0; }
.est-vuelo__canto { left: calc(var(--W) - var(--T) / 2); top: 0; width: var(--T); height: var(--H); transform: rotateY(90deg);
  background: repeating-linear-gradient(90deg, #F1E8D5 0 2px, #DCCFB4 2px 3.5px); border-top: 4px solid var(--c); border-bottom: 4px solid var(--c); }
.est-vuelo__cabeza { left: 0; top: calc(var(--T) / -2); width: var(--W); height: var(--T); transform: rotateX(90deg);
  background: repeating-linear-gradient(0deg, #F1E8D5 0 2px, #DCCFB4 2px 3.5px); border-left: 4px solid var(--c); border-right: 4px solid var(--c); }
.est-vuelo__contra { left: 0; top: 0; width: var(--W); height: var(--H); transform: translateZ(calc(var(--T) / -2)) rotateY(180deg); background-color: var(--c); background-image: var(--lino, none); background-size: 180px 180px; filter: brightness(.82); }
.est-vuelo .est-libro__tapa { position: absolute; inset: 0; left: 0; width: auto; height: auto; transform: none; filter: none; background: none; border-radius: 0; }
.est-ficha__libro {
  --H: clamp(500px, 82vh, 740px); --W: calc(var(--H) * .72); --canto: calc(var(--H) * .016);
  position: absolute; z-index: 3; left: 50%; top: 50%; width: calc(var(--W) * 2); height: var(--H);
  margin: calc(var(--H) / -2) 0 0 calc(var(--W) * -1);
  display: grid; grid-template-columns: 1fr 1fr; padding: var(--canto);
  border-radius: 6px; color: var(--tinta);
  background-color: var(--c, var(--grafito)); background-image: var(--lino, none); background-size: 180px 180px;
  box-shadow: 0 60px 90px -50px rgba(0, 0, 0, .75), 0 18px 30px -20px rgba(0, 0, 0, .5);
  opacity: 0; visibility: hidden;
}
.est-obra { display: contents; }
.est-obra[hidden] { display: none; }
.est-pagina { position: relative; min-height: 0; background: var(--hoja); overflow: hidden; container-type: inline-size; }
.est-lamina { padding-right: 0; box-shadow: inset -26px 0 30px -24px rgba(60, 45, 25, .38); }
.est-cartela { box-shadow: inset 26px 0 30px -24px rgba(60, 45, 25, .38); }
.est-nombre { position: absolute; z-index: 3; inset: 5.4% 6% 4.2% 7.5%; margin: 0; pointer-events: none;
  font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: calc(var(--nombre, 15cqi) * .9); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; color: var(--marino); }
.est-nombre--sobre { color: var(--t); z-index: 4; }
.est-nombre__l { display: block; overflow: hidden; padding-bottom: .05em; margin-bottom: -.05em; }
.est-nombre__l > span { display: block; white-space: nowrap; }
.est-nombre__anio { position: absolute; right: 0; bottom: 0; }
.est-bloque { position: absolute; z-index: 1; left: 32%; right: 6.5%; top: var(--bloque-arriba, 25%); bottom: 8.5%;
  background-color: var(--c); background-image: var(--lino, none); background-size: 180px 180px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05); }
.est-impresion { position: absolute; margin: 0; }
.est-impresion--pc { z-index: 2; left: 38.5%; width: 50%; top: var(--foto-arriba, 36%); transform: rotate(.6deg); }
.est-impresion--movil { z-index: 5; left: 8.5%; width: 25%; top: var(--tel-arriba, 46%); transform: rotate(-1.4deg); }
.est-impresion__papel { position: relative; padding: 4.2%; background: #FBFAF5;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .14), 0 16px 26px -16px rgba(30, 20, 10, .55); }
.est-impresion--movil .est-impresion__papel { padding: 6%; }
.est-impresion__foto { position: relative; overflow: hidden; background: #0B0907; aspect-ratio: 1.6; }
.est-impresion--movil .est-impresion__foto { aspect-ratio: 600 / 1298; }
.est-impresion__foto img { display: block; width: 100%; height: auto; }
.est-impresion__luz, .est-impresion__grano { position: absolute; inset: 0; pointer-events: none; opacity: 0; }
.est-impresion__luz { background: radial-gradient(ellipse at 40% 35%, #C4301F, #7A160E); mix-blend-mode: multiply; }
.est-impresion__grano { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='2.1' numOctaves='1' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .97  0 0 0 0 .92  0 0 0 2.6 -1.5'/></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>");
  background-size: 180px 180px; }
.est-revelando .est-impresion__grano { animation: est-grano .42s steps(4) infinite; }
@keyframes est-grano { 0% { background-position: 0 0; } 25% { background-position: -37px 21px; } 50% { background-position: 53px -44px; } 75% { background-position: -18px -61px; } 100% { background-position: 0 0; } }
.est-lamina__pie { position: absolute; z-index: 3; left: 39.5%; top: calc(var(--foto-arriba, 36%) + 25.8%); margin: 0; font-family: var(--sans); font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--t); opacity: .92; }
.est-boceto .est-impresion__papel { background: #FBF8F0; }
.est-boceto__dibujo { display: block; width: 100%; height: auto; aspect-ratio: 1.6; overflow: visible; filter: url(#est-lapiz); }
.est-impresion--movil .est-boceto__dibujo { aspect-ratio: .462; }
.est-boceto__dibujo path { fill: none; stroke: var(--lapiz); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.est-cartela { display: flex; flex-direction: column; padding: 8.5% 9% 6% 10%; }
.est-cartela__n { color: var(--tinta-suave); }
.est-cartela__tipo { margin-top: 26px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-sub); line-height: 1.06; letter-spacing: -.012em; color: var(--marino); text-wrap: balance; }
.est-cartela__que { margin-top: 22px; font-family: var(--serif); font-size: var(--t-lectura); line-height: 1.45; text-wrap: pretty; }
.est-cartela__datos { margin-top: 30px; border-top: 1px solid var(--linea); }
.est-cartela__datos li { position: relative; padding: 13px 0 13px 22px; border-bottom: 1px solid var(--linea); font-family: var(--serif); font-size: var(--t-texto); line-height: 1.3; }
.est-cartela__datos li::before { content: ""; position: absolute; left: 1px; top: 1.05em; width: 7px; height: 7px; border: 1.2px solid var(--ultramar); }
.est-cartela__vivo { align-self: flex-start; margin-top: 34px; gap: .7em; background: var(--terracota); }
@media (hover: hover) and (pointer: fine) { .est-cartela__vivo:hover { background: var(--sello-texto); } }
.est-cartela__vivo svg { width: 14px; height: 14px; flex: 0 0 auto; }
.est-firmas { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 22px; }
.est-punzones { display: flex; align-items: center; gap: 10px; }
.est-punzon { position: relative; width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; }
@media (min-width: 861px) {
  .est-cartela { padding: 8% 8.5% 7% 9.5%; }
  .est-cartela__tipo { margin-top: 4.6cqi; font-size: clamp(1.5rem, 9cqi, 2.9rem); }
  .est-cartela__que { margin-top: 3.8cqi; font-size: clamp(.9375rem, 3.7cqi, 1.1875rem); line-height: 1.42; }
  .est-cartela__datos { margin-top: 4.6cqi; }
  .est-cartela__datos li { padding: 2.4cqi 0 2.4cqi 22px; font-size: clamp(.875rem, 3.5cqi, 1.0625rem); }
  .est-cartela__vivo { margin-top: 5.6cqi; }
  .est-firmas { padding-top: 4cqi; }
}
.est-punzon svg { width: 100%; height: 100%; display: block; }
.est-punzon--jfl span, .est-punzon--anio span { font-family: var(--serif); font-weight: 600; font-size: 10px; letter-spacing: .08em; line-height: 1; }
.est-punzon--jfl { border: 1.2px solid currentColor; border-radius: 50%; }
.est-punzon--anio { width: 42px; border: 1.2px solid currentColor; }
.est-punzones--lapiz .est-punzon { color: var(--lapiz); opacity: .7; border-style: dashed; }
.est-ficha__cerrar { position: absolute; z-index: 7; left: 50%; bottom: -58px; transform: translateX(-50%); white-space: nowrap; color: #F3EEE3 !important;
  display: inline-flex; align-items: center; gap: .6em; min-height: 44px; padding: 0 2px;
  font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; color: var(--tinta);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .45em; }
.est-ficha__cerrar::before { content: ""; width: 16px; height: 1px; background: currentColor; }
@media (hover: hover) and (pointer: fine) { .est-ficha__cerrar:hover { text-decoration-thickness: 2px; } }
@media (max-width: 860px) {
  .estante {
    --est-u: clamp(.56px, calc(100svh * .00076), .78px);
    min-height: 100svh; height: auto; justify-content: flex-start; gap: 0;
    padding: calc(env(safe-area-inset-top, 0px) + 72px) 0 calc(env(safe-area-inset-bottom, 0px) + 106px);
  }
  .est-cabeza { display: block; padding: 0 var(--margen); }
  .est-entrada { padding: 0; margin-top: 14px; gap: 8px; }
  .est-lead { font-size: 1.25rem; }
  .est-nota { max-width: 40ch; }
  .est-mueble { flex: 1 0 auto; display: flex; flex-direction: column; justify-content: flex-end; max-width: none; padding-top: 14px; }
  .est-rotulo { position: relative; left: auto; top: auto; align-self: center; display: block; margin: 0 auto 2px; min-width: 0; max-width: calc(100% - 2 * var(--margen));
    text-align: center; padding: 7px 14px 9px; opacity: 1; visibility: visible; transition: opacity .3s ease; white-space: nowrap; }
  .est-rotulo__n { margin-right: .7em; }
  .est-rotulo__tipo { display: block; margin-top: 1px; }
  .est-rotulo::after { left: 50%; top: auto; bottom: -6px; margin-left: -6px; }
  .est-riel { flex: 0 0 auto; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: calc(34 * var(--est-u)); }
  .est-riel::-webkit-scrollbar { display: none; }
  .est-fila { justify-content: flex-start; min-width: 100%; padding: calc(24 * var(--u)) calc(28 * var(--u)) calc(34 * var(--u)); }
  .est-libro { scroll-snap-align: center; }
  .est-libro.es-centro { --sube: .55; }
  .est-tabla__escuadra { left: 6%; }
  .est-tabla__escuadra:nth-child(2) { left: 46%; }
  .est-tabla__escuadra:nth-child(3) { right: 7%; }
  .est-pista { margin-top: 2px; }
  .est-ficha__libro {
    position: absolute; inset: 0; left: 0; top: 0; width: auto; height: auto; margin: 0; padding: 0 0 calc(env(safe-area-inset-bottom, 0px) + 36px);
    display: block; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    border-radius: 0; background: var(--hoja); box-shadow: none;
  }
  .est-ficha__cerrar { position: sticky; top: 0; left: auto; right: auto; bottom: auto; transform: none; z-index: 8; display: flex; justify-content: flex-end; width: 100%; min-height: 56px;
    padding: calc(env(safe-area-inset-top, 0px) + 8px) var(--margen) 8px; text-decoration: none; color: var(--tinta) !important;
    background: linear-gradient(var(--hoja) 72%, rgba(245, 240, 230, 0)); }
  .est-ficha__cerrar::before { width: 22px; }
  .est-pagina { box-shadow: none; overflow: visible; }
  .est-lamina { width: calc(100% - 2 * var(--margen)); margin: 4px auto 0; aspect-ratio: .62; overflow: hidden; }
  .est-nombre { inset: 4.4% 5% 3.4% 6%; }
  .est-bloque { left: 27%; right: 5%; top: var(--bloque-arriba-m, 21%); bottom: 9%; }
  .est-impresion--movil { z-index: 2; left: 50%; width: 35%; top: calc(var(--bloque-arriba-m, 21%) + 5%); transform: rotate(.8deg); }
  .est-impresion--pc { z-index: 5; left: 5%; width: 50%; top: 61%; transform: rotate(-1.6deg); }
  .est-impresion--movil .est-impresion__papel { padding: 5%; }
  .est-impresion--pc .est-impresion__papel { padding: 5%; }
  .est-lamina__pie { left: auto; right: 6.4%; top: calc(var(--bloque-arriba-m, 21%) + 5%); font-size: 10px; letter-spacing: .14em; writing-mode: vertical-rl; transform: rotate(180deg); }
  .est-cartela { padding: 26px var(--margen) 8px; }
  .est-cartela__vivo { align-self: stretch; }
  .est-firmas { margin-top: 26px; padding-top: 0; flex-wrap: wrap; }
}
@media (max-width: 860px) and (hover: none) { .est-libro { transition: transform .45s cubic-bezier(.2, .8, .2, 1); } }
@media (min-width: 861px) and (max-height: 620px) {
  .est-ficha__libro { inset: 0; left: 0; top: 0; width: auto; height: auto; margin: 0; padding: 0 0 36px; display: block; overflow-y: auto; border-radius: 0; background: var(--hoja); }
  .est-pagina { overflow: visible; box-shadow: none; }
  .est-lamina { width: min(560px, 92vw); margin: 0 auto; aspect-ratio: .74; overflow: hidden; }
  .est-cartela { max-width: 560px; margin: 0 auto; padding: 26px 0 0; }
  .est-ficha__cerrar { position: sticky; top: 0; left: auto; bottom: auto; transform: none; display: flex; justify-content: flex-end; width: 100%; min-height: 56px;
    padding: 8px var(--margen); background: var(--hoja); color: var(--tinta) !important; text-decoration: none; }
}
@media (hover: hover) and (pointer: fine) {
  .est-libro { cursor: pointer; transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
  .est-sujeta { transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
  .est-libro:hover, .est-libro:focus-visible { --sube: 1; }
}
.est-sin-paso .est-libro, .est-sin-paso .est-sujeta { transition: none !important; }
.est-libro.est-fuera { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .est-libro { transform: perspective(calc(1500 * var(--u))) rotateX(-5deg) rotateY(-17deg) !important; }
  .est-revelando .est-impresion__grano { animation: none; }
}
/* css/salas/02-carta.css */
#carta {
  --fondo: var(--hielo);
  --tinta-sala: var(--hierro);
  --cc-papel: var(--papel);
  --cc-lino-c: var(--terracota);
  --cc-lino: none;
  --pag-w: 460px;
  --pag-h: 660px;
  position: relative;
  padding: clamp(92px, 12vh, 140px) var(--margen) clamp(110px, 14vh, 150px);
  overflow: clip;
}
.cc-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.cc-escena { position: relative; z-index: 1; }
.cc-libro { position: relative; display: grid; gap: 22px; max-width: 560px; margin: 0 auto; }
.cc-lamina, .cc-lamina__dentro { display: contents; }
.cc-pag { position: relative; overflow: hidden; color: var(--hierro); background: var(--cc-papel); border-radius: 1px; box-shadow: var(--sombra-papel); }
.cc-pag__dentro { position: relative; padding: 36px 34px 44px; }
.cc-pag--forro { border: 10px solid transparent; border-right-width: 0; background: linear-gradient(var(--cc-papel), var(--cc-papel)) padding-box, var(--cc-lino) 0 0 / 300px border-box, var(--cc-lino-c) border-box; }
.cc-final { border-width: 10px 10px 10px 0; }
.cc-pag--forro::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; box-shadow: inset 0 0 0 1px rgba(90, 40, 10, .16), inset 0 1px 3px rgba(90, 40, 10, .18); }
.cc-folio { position: absolute; bottom: 16px; right: 22px; color: var(--hierro); opacity: .5; }
.cc-tapa { aspect-ratio: .7; color: var(--papel); text-align: center;
  background:
    radial-gradient(120% 90% at 50% 40%, rgba(255, 170, 110, .07), rgba(40, 10, 0, .3) 100%),
    repeating-linear-gradient(0deg, rgba(70, 20, 0, .08) 0 1px, transparent 1px 2.4px),
    repeating-linear-gradient(90deg, rgba(255, 196, 150, .05) 0 1px, transparent 1px 2.4px),
    var(--cc-lino) 0 0 / 300px,
    var(--cc-lino-c);
  box-shadow: inset 1px 1px 0 rgba(255, 190, 140, .2), inset -1px -1px 0 rgba(60, 15, 0, .35), var(--sombra-papel); }
.cc-tapa::before { content: ""; position: absolute; top: 0; bottom: 0; left: 16px; width: 3px; pointer-events: none; background: linear-gradient(90deg, rgba(60, 15, 0, .26), rgba(255, 190, 140, .14)); }
.cc-tapa__tinta { height: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 12% 8% 10%; filter: url(#cc-impreso); }
.cc-tapa__menor { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); line-height: 1.7; letter-spacing: .16em; text-transform: uppercase; opacity: .92; }
.cc-tapa__centro { display: grid; justify-items: center; gap: 18px; }
.cc-tapa__titulo { font-family: var(--display); font-variation-settings: "opsz" 96; font-weight: 400; font-size: var(--t-titulo); line-height: .98; letter-spacing: -.02em; text-wrap: balance; }
.cc-tapa__titulo em { font-style: italic; }
.cc-tapa__sub { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-entrada); line-height: 1.3; }
.cc-etiqueta { color: var(--indigo); }
.cc-propongo { color: var(--terracota); }
.cc-entrada { margin-top: 22px; font-family: var(--serif); font-weight: 300; font-size: var(--t-sub); line-height: 1.1; color: var(--marino); }
.cc-nombre { margin-top: 22px; font-family: var(--display); font-variation-settings: "opsz" 96; font-weight: 400; font-size: clamp(2.6rem, 1.7rem + 2.4vw, 3.4rem); line-height: 1; letter-spacing: -.02em; color: var(--marino); text-wrap: balance; }
.cc-nombre em { font-style: italic; }
.cc-nombre__sub { display: block; margin-top: .3em; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: .42em; line-height: 1.2; letter-spacing: 0; color: var(--marino); }
.cc-bajada { margin-top: 10px; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-entrada); line-height: 1.25; color: var(--marino); }
@media (min-width: 861px) { #carta:not(.cc--movil) .cc-nombre { font-size: var(--t-sub); } }
.cc-columna { margin-top: 22px; font-family: var(--serif); font-weight: 400; font-size: var(--t-texto); line-height: 1.55; color: var(--hierro); text-align: justify; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
.cc-precio { margin-top: 16px; font-family: var(--serif); font-weight: 400; font-size: var(--t-entrada); line-height: 1.1; color: var(--terracota); font-variant-numeric: lining-nums tabular-nums; }
.cc-precio-nota { margin-top: 6px; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-pie); line-height: 1.4; color: var(--hierro); }
.cc-precio-nota [data-precio] { font-style: normal; font-weight: 400; color: var(--terracota); }
.cc-dato { margin-top: 10px; color: var(--indigo); }
.cc-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 22px; }
.cc-agregar, .cc-boton { display: inline-flex; align-items: center; justify-content: center; gap: .7em; min-height: 46px; padding: 0 18px;
  font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  color: var(--papel); background: var(--terracota); border-radius: 2px; transition: background-color .25s ease, color .25s ease, transform .2s cubic-bezier(.2, .8, .2, 1); -webkit-tap-highlight-color: transparent; }
.cc-agregar::before { content: ""; width: 10px; height: 10px; flex: none; background: linear-gradient(currentColor, currentColor) 50% 50% / 100% 1.5px no-repeat, linear-gradient(currentColor, currentColor) 50% 50% / 1.5px 100% no-repeat; }
.cc-agregar[aria-pressed="true"] { color: var(--terracota); background: transparent; box-shadow: inset 0 0 0 1.5px var(--terracota); }
.cc-agregar[aria-pressed="true"]::before { width: 10px; height: 5px; background: none; border-left: 1.5px solid; border-bottom: 1.5px solid; transform: translateY(-2px) rotate(-45deg); }
.cc-agregar--chico { min-height: 44px; padding: 0 14px; }
.cc-agregar:active, .cc-boton:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .cc-agregar:hover, .cc-boton:hover { background: #9C3F14; } .cc-agregar[aria-pressed="true"]:hover { background: rgba(184, 78, 28, .08); } }
html:not(.js) .cc-agregar { display: none; }
.cc-agregar, .cc-boton, .cc-enlace, .cc-indice button, .cc-comanda button, .cc-comanda__pedir { touch-action: manipulation; }
.cc-enlace { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; color: var(--indigo); text-decoration: underline; text-underline-offset: .4em; }
.cc-opciones { margin-top: 22px; display: grid; gap: 10px; }
.cc-opcion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 12px; border-top: 1px solid var(--linea); }
.cc-servicio > .cc-pag__dentro > .cc-opcion { margin-top: 18px; }
.cc-opcion__t { font-family: var(--serif); font-size: var(--t-texto); line-height: 1.35; color: var(--hierro); }
.cc-opcion__precio { color: var(--terracota); font-variant-numeric: lining-nums tabular-nums; }
.cc-indice { margin-top: 28px; }
.cc-indice button { display: flex; align-items: baseline; justify-content: space-between; width: 100%; min-height: 44px; padding: 10px 0 9px; text-align: left; border-bottom: 1px solid var(--linea);
  font-family: var(--serif); font-size: var(--t-texto); color: var(--marino); }
.cc-indice .dato { color: var(--indigo); }
@media (hover: hover) and (pointer: fine) { .cc-indice button:hover span:first-child { text-decoration: underline; text-underline-offset: .3em; } }
html:not(.js) .cc-indice { display: none; }
.cc-lista { margin-top: 24px; display: grid; gap: 8px; }
.cc-lista li { display: grid; grid-template-columns: 2.4em 1fr; align-items: baseline; font-family: var(--serif); font-size: var(--t-texto); line-height: 1.45; color: var(--hierro); }
.cc-lista .dato { color: var(--indigo); }
.cc-etiqueta--no { margin-top: 26px; }
.cc-lista--no { margin-top: 12px; }
.cc-lista--no li { display: block; padding-left: 1.2em; position: relative; }
.cc-lista--no li::before { content: ""; position: absolute; left: 0; top: .75em; width: .6em; height: 1px; background: var(--terracota); }
.cc-frase { margin: 22px 0 0; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-sub); line-height: 1.18; color: var(--marino); }
.cc-filas { margin-top: 28px; border-top: 1px solid var(--linea); }
.cc-filas div { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--linea); }
.cc-filas dt { color: var(--indigo); }
.cc-filas dd { margin: 0; color: var(--terracota); }
.cc-columna--chica { margin-top: 18px; }
.cc-fig { margin: 18px 0 0; }
.cc-fig__lamina { position: relative; overflow: hidden; background: var(--campo, var(--aciano)); border-radius: 2px;
  box-shadow: 0 1px 1px rgba(30, 28, 37, .08), 0 9px 14px -10px rgba(30, 28, 37, .5); }
.cc-fig__dibujo { display: block; width: 100%; height: auto; max-width: none; }
.cc-fig__pie { margin-top: 8px; color: var(--indigo); }
.cc-cosas { display: block; width: 100%; height: auto; margin-top: 16px; overflow: visible; }
.cc-ficha { margin-top: 14px; border-top: 1px solid var(--linea); }
.cc-ficha div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 8px 0 7px; border-bottom: 1px solid var(--linea); }
.cc-ficha dt { color: var(--indigo); }
.cc-ficha dd { margin: 0; color: var(--marino); text-align: right; }
.cc-cuanto { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px; margin-top: 14px; }
.cc-cuanto .cc-precio { margin-top: 0; }
.cc-cuanto .cc-precio-nota { margin-top: 2px; }
.cc-sello { position: absolute; top: 28px; right: 28px; width: 92px; height: 92px; max-width: none; transform: rotate(-12deg); pointer-events: none; }
.cc-cuadros { margin-top: 12px; display: grid; gap: 3px; }
.cc-cuadros li { position: relative; padding-left: 14px; font-family: var(--serif); font-size: var(--t-pie); line-height: 1.4; color: var(--hierro); }
.cc-cuadros li::before { content: ""; position: absolute; left: 0; top: .48em; width: 6px; height: 6px; background: var(--turquesa); }
.cc-mes__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 14px; margin-top: 4px; }
.cc-opcion--sola { margin-top: 14px; }
.cc-cortes__lista { margin-top: 18px; display: grid; gap: 8px; }
.cc-cortes__lista li { --marca: 1; position: relative; padding: 9px 0 0 22px; border-top: 1px solid var(--linea); }
.cc-cortes__lista li::before { content: ""; position: absolute; left: 0; top: 17px; width: 10px; height: 10px; background: var(--nodo, var(--electrico)); transform: scale(var(--marca)); }
.cc-cortes__t { font-family: var(--display); font-variation-settings: "opsz" 96; font-weight: 400; font-size: var(--t-entrada); line-height: 1.05; color: var(--marino); }
.cc-cortes__para { margin-top: 3px; color: var(--indigo); }
.cc-cortes__x { margin-top: 3px; font-family: var(--serif); font-size: var(--t-pie); line-height: 1.45; color: var(--hierro); text-wrap: pretty; }
.cc-cortes__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 14px; margin-top: 4px; }
.cc-pasos { margin-top: 20px; display: grid; }
.cc-pasos li { position: relative; display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; align-items: start; padding-bottom: 16px; font-family: var(--serif); font-size: var(--t-texto); line-height: 1.45; color: var(--hierro); }
.cc-pasos li:last-child { padding-bottom: 0; }
.cc-pasos__n { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nodo); color: var(--papel);
  font-family: var(--display); font-variation-settings: "opsz" 12; font-weight: 500; font-size: 1.15rem; line-height: 1; box-shadow: 0 1px 1px rgba(30, 28, 37, .12), 0 5px 8px -5px rgba(30, 28, 37, .45); }
.cc-pasos__riel { position: absolute; left: 16.25px; top: 34px; bottom: 0; width: 1.5px; background: var(--linea); transform-origin: 50% 0; }
.cc-pasos__texto { padding-top: 1px; }
.cc-pasos p { margin-top: 2px; }
.cc-pasos__t { color: var(--marino); }
.cc-pasos__marca { display: block; color: var(--indigo); }
.cc-pasos li[style*="terracota"] .cc-pasos__marca { color: var(--terracota); }
.cc-otto { align-self: flex-end; width: 92px; margin: 14px 6px 0 auto; }
.cc-otto__dibujo { display: block; width: 100%; height: auto; max-width: none; }
.cc-otto__dibujo g > path:first-child { display: none; } 
.cc-pie { display: none; }
.cc-comanda { display: none; z-index: 60; }
html.js .cc-comanda.cc-comanda--viva { display: block; }
.cc-comanda__pestana { display: none; }
.cc-comanda__papel { position: relative; filter: drop-shadow(0 16px 22px rgba(20, 28, 45, .3)) drop-shadow(0 2px 3px rgba(20, 28, 45, .2)); }
.cc-comanda__hoja {
  position: relative; padding: 20px 18px 18px; background: var(--marino); color: var(--papel);
  -webkit-mask: radial-gradient(circle 4px at 50% 0, #0000 96%, #000) 50% 0 / 11px 51% repeat-x, radial-gradient(circle 4px at 50% 100%, #0000 96%, #000) 50% 100% / 11px 51% repeat-x;
          mask: radial-gradient(circle 4px at 50% 0, #0000 96%, #000) 50% 0 / 11px 51% repeat-x, radial-gradient(circle 4px at 50% 100%, #0000 96%, #000) 50% 100% / 11px 51% repeat-x;
}
.cc-comanda__hoja::before { content: ""; position: absolute; inset: 9px 7px; border: 1px solid rgba(246, 245, 242, .2); pointer-events: none; }
.cc-comanda .etiqueta { color: var(--durazno); }
.cc-comanda__cabeza { position: relative; text-align: center; padding-bottom: 10px; border-bottom: 1px solid rgba(246, 245, 242, .3); }
.cc-comanda__titulo { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-entrada); line-height: 1.1; }
.cc-comanda__fecha { margin-top: 4px; color: rgba(246, 245, 242, .7); }
.cc-comanda__lineas { display: grid; padding: 4px 0 2px; }
.cc-linea { display: grid; grid-template-columns: 1.2em 1fr 30px; grid-template-areas: "n nombre quitar" ". precio precio"; align-items: center; column-gap: 6px; padding: 6px 0; border-bottom: 1px dotted rgba(246, 245, 242, .28); overflow: hidden; }
.cc-linea--fija { grid-template-columns: 1.2em 1fr auto; grid-template-areas: "n nombre precio"; }
.cc-linea__n { grid-area: n; align-self: start; padding-top: .35em; color: rgba(246, 245, 242, .6); }
.cc-linea__nombre { grid-area: nombre; font-family: var(--serif); font-size: var(--t-texto); line-height: 1.25; color: var(--papel); }
.cc-linea__precio { grid-area: precio; font-family: var(--serif); font-size: var(--t-pie); font-variant-numeric: lining-nums tabular-nums; text-align: right; color: rgba(246, 245, 242, .85); }
.cc-linea--fija .cc-linea__precio { font-style: italic; color: var(--durazno); }
.cc-linea__precio small { display: block; font-family: var(--sans); font-size: var(--t-etiqueta); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.cc-linea__quitar { grid-area: quitar; align-self: start; width: 30px; height: 40px; display: grid; place-items: center; color: rgba(246, 245, 242, .7); border-radius: 2px; -webkit-tap-highlight-color: transparent; }
.cc-linea__quitar svg { width: 12px; height: 12px; }
@media (hover: hover) and (pointer: fine) { .cc-linea__quitar:hover { color: var(--papel); background: rgba(246, 245, 242, .1); } }
.cc-comanda__deshacer { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; padding: 2px 0 6px; overflow: hidden; }
.cc-comanda__deshacer[hidden] { display: none; }
.cc-comanda__aviso { flex: 1 1 auto; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-pie); line-height: 1.25; }
.cc-comanda__boton-deshacer { flex: none; min-height: 44px; padding: 0 8px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; color: var(--durazno); text-decoration: underline; text-underline-offset: .3em; }
.cc-comanda__reloj { position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: var(--durazno); transform-origin: 0 50%; }
.cc-comanda__cuentas { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(246, 245, 242, .3); display: grid; gap: 2px; }
.cc-cuenta { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.cc-cuenta[hidden] { display: none; }
.cc-cuenta__v { font-family: var(--serif); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; text-align: right; }
.cc-cuenta--total .cc-cuenta__v { font-size: var(--t-entrada); }
.cc-cuenta--mes .cc-cuenta__v, .cc-cuenta--plazo .cc-cuenta__v { font-size: var(--t-pie); }
.cc-plazo { white-space: normal; }
.cc-plazo__boceto { display: block; font-style: italic; font-weight: 300; }
.cc-plazo__obra { display: block; }
.cc-plazo__obra[hidden], .cc-plazo__a[hidden] { display: none; }
.cc-comanda__pago { margin-top: 10px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-pie); line-height: 1.35; color: rgba(246, 245, 242, .85); }
.cc-comanda__pedir { display: flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 12px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--papel); background: var(--terracota); border-radius: 2px; transition: background-color .3s ease, transform .2s cubic-bezier(.2, .8, .2, 1); }
.cc-comanda__pedir:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .cc-comanda__pedir:hover { background: #9C3F14; } }
.cc-comanda__plegar { display: none; }
.cc-cifra { display: inline-flex; vertical-align: top; }
.cc-col { display: inline-block; height: 1.25em; line-height: 1.25em; overflow: hidden; vertical-align: top; }
.cc-tira { display: block; white-space: pre; }
.cc-sep { display: inline-block; line-height: 1.25em; height: 1.25em; }
.cc-peso { margin-right: .04em; }
#carta:not(.cc--libro):not(.cc--movil) .cc-comanda { position: sticky; bottom: calc(var(--zona-segura-abajo) + 96px); width: min(340px, 100%); margin: 28px auto 0; }
#carta:not(.cc--libro):not(.cc--movil) .cc-comanda__pestana, .cc--movil .cc-comanda__pestana, .cc--pestana .cc-comanda__pestana {
  display: grid; grid-template-columns: auto auto; grid-template-areas: "et fl" "mi mi"; justify-content: center; align-content: center; gap: 3px 7px; width: 100%; min-height: 54px; padding: 6px 12px;
  background: var(--marino); color: var(--papel); border-radius: 2px; box-shadow: var(--sombra-papel); -webkit-tap-highlight-color: transparent; }
.cc-comanda__pestana .etiqueta { grid-area: et; }
.cc-comanda__flecha { grid-area: fl; align-self: center; width: 7px; height: 7px; border-left: 1.5px solid var(--durazno); border-top: 1.5px solid var(--durazno); transform: translateY(2px) rotate(45deg); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.cc-comanda--abierta .cc-comanda__flecha { transform: translateY(-2px) rotate(225deg); }
.cc-comanda__mini { grid-area: mi; text-align: center; font-family: var(--serif); font-size: var(--t-texto); line-height: 1.2; font-variant-numeric: lining-nums tabular-nums; }
#carta:not(.cc--libro):not(.cc--movil) .cc-comanda__papel, .cc--movil .cc-comanda__papel, .cc--pestana .cc-comanda__papel {
  --cc-papel-w: min(330px, calc(100vw - 28px)); position: absolute; left: 50%; width: var(--cc-papel-w); margin-left: calc(var(--cc-papel-w) / -2); bottom: calc(100% + 10px);
  max-height: calc(100svh - 150px); overflow: auto; overscroll-behavior: contain;
  visibility: hidden; opacity: 0; transform: translateY(18px); transition: opacity .3s ease, transform .4s cubic-bezier(.2, .8, .2, 1), visibility 0s .4s; }
.cc-comanda--abierta .cc-comanda__papel { visibility: visible !important; opacity: 1 !important; transform: none !important; transition: opacity .25s ease, transform .45s cubic-bezier(.2, .8, .2, 1), visibility 0s 0s !important; }
#carta:not(.cc--libro):not(.cc--movil) .cc-comanda__plegar, .cc--movil .cc-comanda__plegar, .cc--pestana .cc-comanda__plegar {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin-top: 6px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; color: var(--durazno); }
#carta.cc--libro { height: 100vh; height: 100svh; padding: 0; }
.cc--libro .cc-escena { position: absolute; left: 0; right: 0; top: var(--cc-arriba, 84px); height: var(--pag-h); }
.cc--libro .cc-libro { display: block; width: calc(var(--pag-w) * 2); height: var(--pag-h); max-width: none; margin: 0 auto; perspective: 2600px; perspective-origin: 50% 42%; }
.cc--libro .cc-lamina { display: none; }
.cc--libro .cc-hoja { position: absolute; top: 0; left: 50%; width: 50%; height: 100%; transform-origin: 0 50%; transform-style: preserve-3d; }
.cc--libro .cc-cara { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.cc--libro .cc-cara--dorso { transform: rotateY(180deg); }
.cc--libro .cc-hoja--tapa .cc-cara--dorso { transform: translateZ(-3px) rotateY(180deg); }
.cc--libro .cc-canto { position: absolute; top: 0; right: 0; width: 3px; height: 100%; transform-origin: 100% 50%; transform: rotateY(-90deg); background: linear-gradient(90deg, #7E3210, #A34418 40%, #EDE8DF 41%, #EDE8DF 60%, #7E3210 61%); }
.cc--libro .cc-pag { position: absolute; inset: 0; border-radius: 0; box-shadow: none; aspect-ratio: auto; }
.cc--libro .cc-pag__dentro { position: absolute; left: 0; top: 0; width: calc(100% / var(--esc, 1)); min-height: calc(100% / var(--esc, 1)); transform: scale(var(--esc, 1)); transform-origin: 0 0; padding: 46px 46px 50px; display: flex; flex-direction: column; }
.cc--libro .cc-pag--forro .cc-pag__dentro { padding: 36px 36px 40px; }
.cc--libro .cc-tapa__tinta { height: auto; min-height: calc(100% / var(--esc, 1)); padding: 12% 8% 10%; }
.cc--libro .cc-tapa__titulo { font-size: calc(var(--pag-w) * .15); }
.cc--libro .cc-nombre { font-size: var(--t-sub); }
.cc--libro .cc-columna { font-size: var(--t-pie); line-height: 1.65; max-width: 30em; }
.cc--libro .cc-servicio .cc-acciones { margin-top: auto; padding-top: 14px; }
.cc--libro [data-fig] .cc-nombre { margin-top: 16px; }
.cc--libro .cc-fig { margin-top: 15px; }
.cc--libro .cc-fig + .cc-columna { margin-top: 12px; }
.cc--libro .cc-columna + .cc-precio { margin-top: 12px; }
.cc--libro .cc-ficha { margin-top: 12px; }
.cc--libro .cc-ficha div { padding: 6px 0 5px; }
.cc--libro .cc-opcion { padding-top: 9px; }
.cc--libro .cc-opciones { margin-top: 14px; gap: 8px; }
.cc--libro .cc-agregar--chico { min-height: 38px; }
.cc--libro .cc-enlace { min-height: 32px; }
.cc--libro .cc-fig__pie { margin-top: 6px; }
.cc--libro .cc-pasos li { font-size: .9375rem; }
.cc--libro .cc-bajada { font-size: 1.125rem; }
.cc--libro .cc-otto { margin-top: auto; }
.cc--libro .cc-sello { top: 26px; right: 26px; }
.cc--libro .cc-cara--frente .cc-pag:not(.cc-tapa)::after, .cc--libro .cc-base--der .cc-pag::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 46px; pointer-events: none; z-index: 6; background: linear-gradient(90deg, rgba(40, 30, 20, .16), rgba(40, 30, 20, .04) 40%, rgba(40, 30, 20, 0)); }
.cc--libro .cc-cara--dorso .cc-pag::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 46px; pointer-events: none; z-index: 6; background: linear-gradient(270deg, rgba(40, 30, 20, .18), rgba(40, 30, 20, .05) 40%, rgba(40, 30, 20, 0)); }
.cc--libro .cc-cara--dorso .cc-folio { right: auto; left: 24px; }
.cc--libro .cc-pag--forro .cc-folio { right: 14px; }
.cc--libro .cc-cara--dorso .cc-pag--forro .cc-folio { right: auto; left: 14px; }
.cc--libro .cc-luz { position: absolute; inset: 0; pointer-events: none; opacity: 0; visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.cc--libro .cc-luz--frente { transform: translateZ(.05px); background: linear-gradient(90deg, rgba(20, 24, 36, .4), rgba(20, 24, 36, .2)); }
.cc--libro .cc-luz--dorso { transform: rotateY(180deg) translateZ(.05px); background: linear-gradient(270deg, rgba(20, 24, 36, .36), rgba(20, 24, 36, .16)); }
.cc--libro .cc-hoja--tapa .cc-luz--dorso { transform: translateZ(-3px) rotateY(180deg) translateZ(.05px); }
.cc--libro .cc-base { position: absolute; top: 0; width: 50%; height: 100%; z-index: 1; }
.cc--libro .cc-base--der { left: 50%; box-shadow: 1px 1px 0 #DCD8CF, 2px 2px 0 var(--papel), 3px 3px 0 #DCD8CF, 4px 4px 0 var(--papel), 5px 5px 0 #A34418, 6px 6px 0 #7E3210; }
.cc--libro .cc-base--der .cc-pag { position: absolute; inset: 0; }
.cc--libro .cc-base--izq { left: 0; background: var(--papel); box-shadow: -1px 1px 0 #DCD8CF, -2px 2px 0 var(--papel), -3px 3px 0 #DCD8CF, -4px 4px 0 var(--papel), -5px 5px 0 #A34418, -6px 6px 0 #7E3210; opacity: 0; }
.cc--libro .cc-mesa { position: absolute; top: 5%; bottom: -2.5%; left: 1.5%; right: 1.5%; z-index: 0; transform-origin: 100% 50%; background: rgba(20, 40, 60, .32); filter: blur(20px); border-radius: 8px; }
.cc--libro .cc-sombra { position: absolute; top: 0; width: 50%; height: 100%; pointer-events: none; opacity: 0; z-index: 25; }
.cc--libro .cc-sombra--der { left: 50%; background: linear-gradient(90deg, rgba(20, 24, 36, .36), rgba(20, 24, 36, .08) 55%, rgba(20, 24, 36, 0)); }
.cc--libro .cc-sombra--izq { left: 0; background: linear-gradient(270deg, rgba(20, 24, 36, .36), rgba(20, 24, 36, .08) 55%, rgba(20, 24, 36, 0)); }
.cc--libro .cc-lomo { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; z-index: 26; pointer-events: none; background: rgba(40, 30, 20, .14); opacity: 0; }
.cc--libro .cc-pie { display: block; position: absolute; left: 0; right: 0; z-index: 2; top: calc(var(--cc-arriba, 84px) + var(--pag-h) + 22px); text-align: center; color: var(--marino); }
.cc--libro .cc-pie span { display: inline-block; }
.cc--libro.cc--lado .cc-comanda { position: absolute; left: var(--cc-comanda-x, auto); top: var(--cc-comanda-y, 120px); width: var(--cc-comanda-w, 212px); }
.cc--libro.cc--lado .cc-comanda__pestana { display: none; }
.cc--pestana .cc-comanda { position: absolute; left: 50%; bottom: calc(var(--zona-segura-abajo) + 18px); width: 150px; margin-left: -75px; }
.cc--libro.cc--pestana.cc--con-pedido .cc-pie { opacity: 0; }
#carta.cc--movil { height: 100vh; height: 100svh; padding: 0; }
.cc--movil .cc-escena { position: absolute; top: calc(env(safe-area-inset-top, 0px) + 54px); left: 16px; right: 16px; bottom: calc(var(--zona-segura-abajo) + 100px); }
.cc--movil .cc-libro { display: block; width: 100%; height: 100%; max-width: none; perspective: 1500px; perspective-origin: 0% 50%; }
.cc--movil .cc-lamina { display: block; position: absolute; left: 0; top: 0; width: calc(100% - 9px); height: calc(100% - 9px); transform-origin: 0 50%; transform-style: preserve-3d; }
.cc--movil .cc-borde { position: absolute; inset: 0; pointer-events: none; box-shadow: var(--sombra-papel); transform: translateZ(-.05px); }
.cc--movil .cc-dorso { position: absolute; inset: 0; pointer-events: none; transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; background: var(--papel-2); box-shadow: inset -24px 0 30px -24px rgba(20, 24, 36, .3); }
.cc--movil .cc-lamina[data-l="0"] > .cc-dorso { border: 10px solid transparent; background: linear-gradient(var(--cc-papel), var(--cc-papel)) padding-box, var(--cc-lino) 0 0 / 300px border-box, var(--cc-lino-c) border-box; }
.cc--movil .cc-lamina__dentro { display: flex; flex-direction: column; position: absolute; left: 0; top: 0; width: calc(100% / var(--esc, 1)); min-height: calc(100% / var(--esc, 1)); transform: scale(var(--esc, 1)); transform-origin: 0 0;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; background: var(--cc-papel); overflow: hidden; }
.cc--movil .cc-pag { flex: 1 1 auto; border-radius: 0; box-shadow: none; overflow: visible; }
.cc--movil .cc-pag { display: flex; flex-direction: column; }
.cc--movil .cc-pag__dentro { flex: 1 1 auto; display: flex; flex-direction: column; padding: 20px 20px 30px; }
.cc--movil .cc-pag--forro { border-width: 10px; }
.cc--movil .cc-pag--forro .cc-pag__dentro { padding: 16px 14px 26px; }
.cc--movil .cc-tapa { aspect-ratio: auto; flex: 1 1 auto; display: flex; }
.cc--movil .cc-tapa__tinta { flex: 1; height: auto; padding: 16% 6% 13%; }
.cc--movil .cc-nombre, .cc--movil .cc-entrada { margin-top: 12px; }
.cc--movil .cc-fig { margin-top: 14px; }
.cc--movil .cc-columna, .cc--movil .cc-precio { margin-top: 14px; }
.cc--movil .cc-servicio .cc-acciones { margin-top: auto; padding-top: 16px; }
.cc--movil .cc-otto { margin-top: auto; width: 84px; }
@media (max-width: 860px) { .cc-sello { top: 8px; right: 8px; width: 66px; height: 66px; } }
.cc--movil .cc-opcion { flex-wrap: nowrap; }
.cc--movil .cc-opcion__precio { display: block; }
.cc--movil .cc-indice { margin-top: 18px; }
.cc--movil .cc-luz, .cc--movil .cc-sombra-l { position: absolute; inset: 0; pointer-events: none; opacity: 0; visibility: hidden; transform: translateZ(.05px); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.cc--movil .cc-luz { background: linear-gradient(90deg, rgba(20, 24, 36, .45), rgba(20, 24, 36, .22)); }
.cc--movil .cc-sombra-l { background: linear-gradient(90deg, rgba(20, 24, 36, .36), rgba(20, 24, 36, 0) 70%); }
.cc--movil .cc-lamina.cc-dormida { transform: translate(9px, 9px) !important; transform-style: flat; }
.cc--movil .cc-lamina.cc-dormida > .cc-lamina__dentro { opacity: 0; -webkit-backface-visibility: visible; backface-visibility: visible; }
.cc--movil .cc-lamina.cc-dormida > .cc-borde { transform: none; }
.cc--movil .cc-lamina.cc-ida { transform: translateX(-120%) !important; transform-style: flat; }
.cc--movil .cc-lamina.cc-pila > .cc-dorso, .cc--movil .cc-lamina.cc-dormida > i:not(.cc-borde), .cc--movil .cc-lamina.cc-ida > i { display: none; }
.cc--movil .cc-pista { position: absolute; left: 0; right: 0; bottom: calc(var(--zona-segura-abajo) + 44px); text-align: center; color: var(--marino); pointer-events: none; }
.cc--movil .cc-comanda { position: absolute; left: 50%; bottom: calc(var(--zona-segura-abajo) + 20px); width: 140px; margin-left: -70px; }
@media (prefers-reduced-motion: reduce) {
  .cc-agregar, .cc-boton, .cc-comanda__flecha, .cc-comanda__papel { transition: none !important; }
}
@media print {
  #carta { height: auto !important; padding: 0 !important; }
  .cc-comanda, .cc-agregar, .cc-pie { display: none !important; }
}
.cc-planes { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.cc-plan { position: relative; display: flex; flex-direction: column; gap: 3px; padding: 13px 12px 12px; border: 1px solid var(--linea); border-radius: 2px; }
.cc-plan--sugerido { border-color: var(--terracota); box-shadow: inset 0 0 0 .5px var(--terracota); }
.cc-plan__nota { position: absolute; top: -.8em; right: 8px; padding: 0 6px; background: var(--cc-papel); font-family: var(--mano); font-size: 1.05rem; line-height: 1.3; color: var(--terracota); rotate: -2deg; }
.cc-plan__t { font-family: var(--serif); font-size: var(--t-texto); line-height: 1.2; color: var(--hierro); }
.cc-plan__precio { font-family: var(--serif); font-size: var(--t-texto); line-height: 1.2; color: var(--terracota); font-variant-numeric: lining-nums tabular-nums; }
.cc-plan__que { margin-top: 5px; font-family: var(--serif); font-style: italic; font-size: var(--t-pie); line-height: 1.3; color: var(--hierro); }
.cc-plan__lista { margin: 6px 0 10px; }
.cc-plan .cc-agregar { margin-top: auto; align-self: flex-start; }
/* css/salas/02p-borradores.css */
.borradores { --fondo: var(--papel); --tinta-sala: var(--hierro); --esfero: #232B5C; min-height: 100svh; overflow: clip; }
.borradores__defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.borradores__mesa { position: relative; min-height: 100svh; display: grid; place-content: center; justify-items: center; gap: clamp(30px, 5.5svh, 64px);
  padding: 96px var(--margen) 110px; }
.borradores__papel { position: relative; width: min(92vw, 560px); rotate: -2deg; }
.borradores__sombra { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.borradores__sombra::before, .borradores__sombra::after { content: ""; position: absolute; bottom: 12px; width: 46%; height: 34%;
  box-shadow: 0 18px 16px -2px rgba(30, 28, 37, .3); }
.borradores__sombra::before { left: 10px; transform: rotate(-3.4deg) skewX(-4deg); }
.borradores__sombra::after { right: 10px; transform: rotate(3.4deg) skewX(4deg); }
.borradores__tarjeta { --renglon: 48px; --margen-rojo: 50px; position: relative; z-index: 1; padding: 32px 28px 28px calc(var(--margen-rojo) + 16px);
  background-color: #FDFCF8;
  background-image:
    linear-gradient(160deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 34%, rgba(30, 28, 37, 0) 68%, rgba(30, 28, 37, .05)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .37  0 0 0 0 .3  0 0 0 .16 0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>"),
    linear-gradient(to right, transparent var(--margen-rojo), rgba(184, 78, 28, .42) var(--margen-rojo) calc(var(--margen-rojo) + 1.4px), transparent calc(var(--margen-rojo) + 1.4px)),
    repeating-linear-gradient(to bottom, transparent 0 calc(var(--renglon) - 1px), rgba(69, 92, 255, .16) calc(var(--renglon) - 1px) var(--renglon));
  background-size: 100% 100%, 220px 220px, 100% 100%, 100% 100%;
  background-position: 0 0, 0 0, 0 0, 0 26px;
  border-radius: 2px;
  box-shadow: 0 0 0 .5px rgba(30, 28, 37, .07), 0 1px 1px rgba(30, 28, 37, .12), 0 4px 8px -3px rgba(30, 28, 37, .16), 0 26px 40px -30px rgba(30, 28, 37, .5); }
.borradores__cinta { position: absolute; z-index: 2; top: -17px; left: 50%; width: 136px; height: 34px; translate: -50% 0; rotate: 2.5deg;
  filter: drop-shadow(0 1px 1px rgba(30, 28, 37, .16)); pointer-events: none; }
.borradores__cinta i { position: absolute; inset: 0;
  background:
    linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .28) 46%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(180deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .06) 50%, rgba(30, 28, 37, .05)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='c'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .22 0'/></filter><rect width='100%25' height='100%25' filter='url(%23c)'/></svg>"),
    rgba(206, 222, 228, .6);
  clip-path: polygon(1.5% 2%, 98.6% 0, 99.4% 18%, 97.6% 41%, 100% 63%, 98.2% 84%, 99.2% 100%, .8% 98%, 0 80%, 2.2% 57%, .3% 36%, 2.4% 17%); }
.borradores__cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.borradores__cabeza .etiqueta { color: var(--indigo); }
.borradores__que { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-pie); color: var(--tinta-suave); }
.borradores__lista li { min-height: var(--renglon); display: flex; align-items: flex-end; flex-wrap: wrap; gap: 0 .6em; }
.borradores__lista del { position: relative; display: inline-block; text-decoration: none; font-size: 2.35rem; line-height: var(--renglon); color: var(--esfero); }
.borradores__lista del .escribe { display: inline-block; filter: url(#borr-tinta); }
.borradores__lista del svg { mix-blend-mode: multiply; }
.borradores__lista del svg path { filter: url(#borr-marcador); }
.borradores__nota { color: var(--terracota); line-height: var(--renglon); }
.borradores__final { position: relative; max-width: 11ch; text-align: center; font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96;
  font-size: clamp(3.5rem, 14.5vw, 9.5rem); line-height: .92; letter-spacing: -.03em; color: var(--indigo); text-wrap: balance; }
.borradores__final em { font-style: italic; }
.borradores__final-texto { display: inline-block; }
.borradores__subraya { position: absolute; left: 4%; bottom: -.18em; width: 92%; max-width: none; height: .2em; overflow: visible; }
.borradores__subraya path { fill: none; stroke: var(--electrico); stroke-width: 3.6; stroke-linecap: round; }
@media (min-width: 861px) {
  .borradores__papel { width: 680px; }
  .borradores__tarjeta { --renglon: 58px; --margen-rojo: 64px; padding: 40px 44px 34px calc(var(--margen-rojo) + 20px); background-position: 0 0, 0 0, 0 0, 0 32px; }
  .borradores__lista del { font-size: 3rem; }
  .borradores__final { max-width: none; }
}
@media (max-width: 860px) and (max-height: 720px) {
  .borradores__mesa { padding: 72px var(--margen) 84px; gap: 22px; }
  .borradores__tarjeta { --renglon: 40px; --margen-rojo: 44px; padding: 26px 22px 22px 58px; }
  .borradores__lista del { font-size: 1.95rem; }
  .borradores__final { font-size: min(13vw, 7.4svh); }
}
/* css/salas/04-origenes.css */
.origenes { --fondo: var(--aciano); --tinta-sala: var(--papel); overflow: clip; }
.origenes__hoja { position: relative; max-width: 1180px; margin: 0 auto; padding: calc(env(safe-area-inset-top, 0px) + 96px) var(--margen) 120px; }
.origenes .capitulo { color: #F6F5F2; }
.origenes__titulo { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: var(--t-cartel); line-height: .9; letter-spacing: -.03em; color: var(--papel); }
.origenes__carta { margin-top: clamp(34px, 6svh, 64px); font-family: var(--serif); font-weight: 300; font-size: clamp(1.5rem, 1.05rem + 2.1vw, 2.85rem); line-height: 1.16;
  letter-spacing: -.012em; color: var(--papel); }
.origenes__carta > p + p { margin-top: .55em; }
.origenes__carta::after { content: ""; display: block; clear: both; }
.origenes__abre { font-style: italic; }
.foto { display: block; position: relative; overflow: hidden; background: var(--marino); box-shadow: 0 1px 1px rgba(10, 20, 60, .2), 0 16px 26px -16px rgba(10, 20, 60, .55); }
.foto img, .foto svg { display: block; width: 100%; height: 100%; object-fit: cover; }
.foto--der { float: right; clear: both; margin: .14em 0 .18em .45em; }
.foto--izq { float: left; clear: both; margin: .14em .45em .18em 0; }
.origenes__carta > p:has(> .foto)::before { content: ""; float: left; clear: both; width: 0; height: var(--hueco, 0px); }
.foto--linea { display: inline-block; vertical-align: -.12em; height: .9em; margin: 0 .08em; box-shadow: none; }
.foto--v { width: 31%; aspect-ratio: 4 / 5; }
.foto--h { width: 38%; aspect-ratio: 4 / 3; }
.foto--cupula { width: 38%; aspect-ratio: 760 / 567; }
.foto--calle { width: .85em; aspect-ratio: 560 / 627; }
.foto--vitrina { width: 38%; aspect-ratio: 760 / 573; }
.foto--trabajo { width: 1.6em; aspect-ratio: 720 / 450; }
.foto--mascota { width: .95em; height: .95em; background: none; overflow: visible; }
.foto--mascota svg { object-fit: contain; }
.origenes__katze { position: relative; display: inline-block; }
.origenes__katze::after { content: ""; position: absolute; left: -2%; right: -2%; bottom: .02em; height: 2px; background: var(--hielo); transform-origin: 0 50%; transform: scaleX(var(--raya, 1)); }
.origenes__cierre { clear: left; display: grid; justify-items: start; gap: 2px; padding-top: .7em; }
.origenes__firma { padding-top: .48em; font-family: var(--display); font-weight: 400; font-size: clamp(1.3125rem, 1rem + 1vw, 1.75rem);
  line-height: 1.2; letter-spacing: .24em; text-transform: uppercase; color: var(--papel); }
.origenes__firma::before { content: ""; display: block; width: 3em; height: 1px; margin-bottom: .67em; background: rgba(246, 245, 242, .7); }
.origenes__lugar { font-family: var(--serif); font-weight: 300; font-style: italic; font-size: var(--t-texto); color: #F6F5F2; }
.origenes__nota-final { margin-top: .5em; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); color: var(--hielo); rotate: -3deg; }
.origenes__ia { display: block; width: 100%; margin-top: clamp(42px, 5vw, 70px); padding: 0; text-align: left; color: var(--papel); background: none; border: 0; cursor: pointer; }
.origenes__ia::before { content: ""; display: block; height: 1px; margin-bottom: clamp(20px, 2vw, 26px); background: rgba(246, 245, 242, .45); }
.origenes__ia-texto { display: block; font-family: var(--display); font-style: italic; font-weight: 400; font-size: clamp(2.5rem, 1.6rem + 3.9vw, 4.4rem); line-height: 1;
  letter-spacing: -.01em; text-wrap: balance; }
.origenes__ia-fin { white-space: nowrap; }
.origenes__ia-cursor { display: inline-block; width: .42em; height: .78em; margin-left: .1em; vertical-align: -.04em; background: var(--hielo); animation: ia-parpadeo 1s steps(1) infinite; }
.origenes__ia-pista { display: inline-flex; align-items: center; gap: .7em; min-height: 44px; margin-top: 18px; padding: 0 20px; border-radius: 999px; font-family: var(--sans);
  font-weight: 600; font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; color: var(--marino); background: var(--papel); transition: background-color .3s ease; }
.origenes__ia-pista span { transition: translate .3s cubic-bezier(.3, .7, .2, 1); }
.origenes__ia:focus-visible { outline: 2px solid var(--papel); outline-offset: 6px; }
@media (hover: hover) and (pointer: fine) {
  .origenes__ia:hover .origenes__ia-pista { background-color: var(--hielo); }
  .origenes__ia:hover .origenes__ia-pista span { translate: 4px 0; }
}
@media (max-width: 640px) {
  .origenes__carta { font-size: clamp(1.38rem, 1rem + 1.9vw, 1.6rem); line-height: 1.2; }
  .origenes__carta p { text-wrap: pretty; }
  .foto--der { margin: .12em 0 .1em .42em; }
  .foto--izq { margin: .12em .42em .1em 0; }
  .foto--v { width: 35%; }
  .foto--h { width: 40%; }
  .foto--cupula { width: 40%; }
  .foto--vitrina { width: 40%; }
}
html.con-maquina { overflow: hidden; }
.ia-maquina { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 18px; border: 0; background: transparent; color: var(--tinta); overflow: hidden; overscroll-behavior: contain; }
.ia-maquina[open] { display: grid; place-items: center; }
.ia-maquina::backdrop { background: rgba(22, 14, 35, .66); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.ia-maquina__escena { position: relative; display: grid; justify-items: center; width: min(100%, 540px); }
.ia-maquina__papel { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; width: 84%; min-height: min(46svh, 380px); padding: 26px 24px 30px; cursor: text;
  background: #FBF8F1 linear-gradient(to bottom, rgba(28, 27, 25, .05), transparent 18%); box-shadow: 0 -2px 22px rgba(0, 0, 0, .18); }
.ia-maquina__fecha { align-self: flex-end; margin-bottom: 1.4em; font-family: var(--maquina); font-size: .75rem; letter-spacing: .02em; color: #6B6862; }
.ia-maquina__pregunta { margin-bottom: .7em; font-family: var(--serif); font-weight: 300; font-style: italic; font-size: clamp(1.5rem, 1.25rem + 1.1vw, 1.95rem); line-height: 1.12; color: var(--indigo); }
.ia-maquina__respuesta { min-height: 7.6em; font-family: var(--maquina); font-size: clamp(.95rem, .9rem + .3vw, 1.08rem); line-height: 1.58; color: #2A2830; }
.ia-maquina__cursor { display: inline-block; width: .58em; height: 1.1em; margin-left: 1px; vertical-align: -.18em; background: rgba(46, 63, 184, .75); animation: ia-parpadeo 1s steps(1) infinite; }
@keyframes ia-parpadeo { 50% { opacity: 0; } }
.ia-maquina__cuerpo { position: relative; z-index: 2; width: 100%; height: 112px; margin-top: -8px; border-radius: 16px 16px 30px 30px;
  background: linear-gradient(#55525F, #3A3846 40%, #26242E); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 26px 50px -24px rgba(0, 0, 0, .8); }
.ia-maquina__rodillo { position: absolute; left: -3%; right: -3%; top: -15px; height: 30px; border-radius: 15px; background: linear-gradient(#141318, #4E4C57 38%, #2A2931 62%, #0F0E12); box-shadow: 0 6px 10px -4px rgba(0, 0, 0, .6); }
.ia-maquina__rodillo i { position: absolute; top: -3px; width: 20px; height: 36px; border-radius: 6px; background: linear-gradient(90deg, #1A191E, #46444E, #1A191E); }
.ia-maquina__rodillo i:first-child { left: -10px; }
.ia-maquina__rodillo i:last-child { right: -10px; }
.ia-maquina__marca { position: absolute; left: 50%; top: 26px; translate: -50% 0; padding: 3px 10px 2px; font-family: var(--sans); font-weight: 600; font-size: .5625rem; letter-spacing: .32em; color: #D9D3C4;
  border-radius: 3px; background: linear-gradient(#5E5B68, #3E3C48); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 0 rgba(0, 0, 0, .4); }
.ia-maquina__teclas { position: absolute; left: 7%; right: 7%; bottom: 20px; display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 6px; }
.ia-maquina__teclas i { aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #F7F3EA, #D2CBBC 58%, #8D8678); box-shadow: 0 3px 0 #17161B; transition: translate .08s, box-shadow .08s; }
.ia-maquina__teclas i.baja { translate: 0 2px; box-shadow: 0 1px 0 #17161B; }
.ia-maquina__botones { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; margin-top: 22px; opacity: .001; translate: 0 8px; transition: opacity .45s, translate .45s cubic-bezier(.3, .7, .2, 1); }
.ia-maquina__botones.listos { opacity: 1; translate: 0 0; }
.ia-maquina__botones button { min-height: 48px; padding: 0 1.25em; border-radius: 999px; font-family: var(--maquina); font-size: .95rem; cursor: pointer; }
.ia-maquina__sin { color: var(--tinta); background: #F3EFE6; border: 0; }
.ia-maquina__cerrar { color: #F3EFE6; background: transparent; border: 1.5px solid rgba(243, 239, 230, .55); }
.ia-maquina__botones button:focus-visible { outline: 2px solid #F3EFE6; outline-offset: 3px; }
.generica { position: fixed; inset: 0; z-index: 5; display: none; flex-direction: column; overflow: hidden; opacity: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1E1B4B;
  background: radial-gradient(60% 50% at 80% 10%, rgba(168, 85, 247, .22), transparent 70%), radial-gradient(50% 50% at 10% 90%, rgba(99, 102, 241, .2), transparent 70%), linear-gradient(135deg, #EEF2FF, #F5F3FF 45%, #FDF2F8); }
.generica.vista { display: flex; }
.generica__barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; font-size: 14px; font-weight: 500; }
.generica__logo { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.generica__logo i { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(135deg, #6366F1, #A855F7); }
.generica__links { display: none; gap: 26px; color: #4B5563; }
.generica__cta { padding: 9px 16px; border-radius: 999px; color: #fff; background: linear-gradient(90deg, #6366F1, #A855F7); }
.generica__hero { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 0 22px; text-align: center; }
.generica__chip { padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 500; color: #4F46E5; background: rgba(99, 102, 241, .1); }
.generica__h { max-width: 13ch; font-size: clamp(34px, 7vw, 66px); font-weight: 800; line-height: 1.04; letter-spacing: -.035em;
  background: linear-gradient(90deg, #4F46E5, #A855F7, #EC4899); -webkit-background-clip: text; background-clip: text; color: transparent; }
.generica__p { max-width: 30ch; font-size: 17px; line-height: 1.5; color: #6B7280; }
.generica__botones { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.generica__boton { padding: 13px 22px; border-radius: 12px; font-weight: 600; color: #fff; background: linear-gradient(90deg, #6366F1, #A855F7); box-shadow: 0 12px 30px -12px rgba(99, 102, 241, .7); }
.generica__boton--b { color: #4F46E5; background: #fff; box-shadow: 0 1px 3px rgba(30, 27, 75, .12); }
.generica__tarjetas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 0 16px 56px; }
.generica__tarjetas span { padding: 16px 20px; border-radius: 16px; font-size: 14px; font-weight: 600; background: rgba(255, 255, 255, .72); box-shadow: 0 10px 26px -14px rgba(30, 27, 75, .3); }
.generica__jaja, .generica__pregunta { position: absolute; left: 0; right: 0; width: max-content; margin-inline: auto; color: #121212; }
.generica__jaja { top: 4%; display: flex; font-family: var(--serif); font-weight: 400; font-size: clamp(3.6rem, 2.6rem + 4.8vw, 6rem); line-height: 1; letter-spacing: -.02em; }
.generica__jaja span { display: inline-block; opacity: 0; }
.generica__pregunta { bottom: 6%; max-width: min(88vw, 24em); font-family: var(--serif); font-weight: 300; font-style: italic;
  font-size: clamp(1.4rem, 1.15rem + 1.05vw, 2rem); line-height: 1.2; text-align: center; text-wrap: balance; opacity: 0; }
@media (min-width: 861px) {
  .generica__links { display: flex; }
  .generica__barra { padding: 22px 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .ia-maquina__cursor, .origenes__ia-cursor { animation: none; }
}
/* css/salas/05-libreta.css */
.libreta { --fondo: var(--aciano); z-index: 1; padding: clamp(72px, 12svh, 140px) var(--margen) clamp(80px, 14svh, 160px); }
.libreta__hoja { position: relative; max-width: 1120px; margin: 0 auto; padding: clamp(30px, 5vw, 72px) clamp(22px, 5vw, 80px) clamp(32px, 5vw, 72px);
  background-color: var(--papel); background-image: radial-gradient(circle, rgba(31, 44, 67, .075) 1px, transparent 1.3px); background-size: 22px 22px;
  background-position: 11px 11px; box-shadow: 0 2px 2px rgba(0, 0, 0, .12), 0 40px 70px -28px rgba(0, 0, 0, .6); color: var(--tinta); }
.libreta__eti { color: var(--tinta-suave); }
.libreta__columnas { margin-top: clamp(22px, 4vw, 44px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); }
.libreta__titulo { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(2.1rem, 1.3rem + 2.6vw, 3.9rem); line-height: .98;
  letter-spacing: -.02em; text-wrap: balance; }
.libreta__titulo--si { font-style: italic; }
.libreta__lista { margin-top: clamp(18px, 3vw, 30px); display: grid; gap: clamp(16px, 2.2vw, 24px); }
.libreta__lista li { position: relative; font-family: var(--serif); font-weight: 300; font-size: clamp(1.12rem, .98rem + .55vw, 1.42rem); line-height: 1.38; text-wrap: pretty; }
.libreta__nota { display: block; margin-top: 3px; font-family: var(--mano); font-size: 1.1em; line-height: 1.2; color: var(--ultramar); }
.libreta__lista--si li { padding-left: 2em; }
.libreta__chulo { position: absolute; left: 0; top: .02em; width: 1.4em; height: 1.4em; overflow: visible; }
.libreta__chulo path { fill: none; stroke: var(--ultramar); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.libreta__cierre { margin-top: clamp(22px, 3vw, 34px); font-family: var(--mano); font-size: clamp(1.3rem, 1.1rem + .7vw, 1.75rem); line-height: 1.2; color: var(--ultramar); rotate: -1.5deg; }
.libreta__enlace { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.libreta__enlace:focus-visible { outline: 2px solid var(--ultramar); outline-offset: 4px; }
@media (max-width: 860px) {
  .libreta { padding: 64px 12px 72px; }
  .libreta__hoja { padding: 30px 20px 32px; }
  .libreta__columnas { grid-template-columns: 1fr; gap: 44px; }
}
.libreta__velo { position: absolute; inset: 0; z-index: 4; background: #10183A; opacity: 0; pointer-events: none; }
.club.sobre-libreta { z-index: 2; border-radius: 28px 28px 0 0; box-shadow: 0 -26px 60px -24px rgba(10, 16, 46, .5); }
/* css/salas/07-calendario.css */
.club, .vitrina {
  --fondo: #F1EFEA;
  --tinta-sala: #1F2C43;
  --pared: #F1EFEA;
  --ink: #1F2C43;
  --ink-80: rgba(31, 44, 67, .8);
  --ink-60: rgba(31, 44, 67, .6);
  --ink-40: rgba(31, 44, 67, .4);
  --ink-16: rgba(31, 44, 67, .16);
  --ink-10: rgba(31, 44, 67, .1);
  --tx-fibra: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .2  0 0 0 0 .22  0 0 0 .07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23f)'/></svg>");
  --tx-papel: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .32  0 0 0 0 .28  0 0 0 .09 0'/></filter><rect width='100%25' height='100%25' filter='url(%23p)'/></svg>");
}
.club {
  position: relative; height: 100vh; height: 100svh; overflow: clip; color: var(--ink);
  background-color: var(--pared);
  background-image: radial-gradient(70% 62% at 50% 42%, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0) 72%), var(--tx-fibra);
}
.club__lienzo { position: absolute; inset: 0; z-index: 1; overflow: hidden; cursor: grab; touch-action: pan-y; will-change: opacity; }
.club__lienzo.es-arrastre { cursor: grabbing; }
.club__marca { position: absolute; left: 0; top: 0; pointer-events: none; will-change: transform; }
.club__marca span { position: absolute; left: 0; top: 0; font-family: "Pluma", cursive; font-size: clamp(2.6rem, 5.4vw, 5.6rem); line-height: 1; white-space: nowrap; color: rgba(31, 44, 67, .045); }
.club__piezas { position: absolute; left: 0; top: 0; margin: 0; padding: 0; list-style: none; }
.pz { position: absolute; left: 0; top: 0; will-change: transform; visibility: hidden; }
.pz__boton { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pz__boton:focus-visible .pz__marco { outline: 2px solid var(--terracota); outline-offset: 6px; }
.pz__marco { display: block; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.pz__pie { display: grid; gap: 2px; margin-top: 10px; font-family: var(--maquina); font-size: .625rem; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.pz__pie span:first-child { color: var(--ink-40); }
@media (hover: hover) and (pointer: fine) {
  .pz__boton:hover .pz__marco { transform: translateY(-6px); }
}
.pz__obra { display: block; position: relative; width: 100%; aspect-ratio: var(--r); container-type: inline-size; rotate: var(--rot, 0deg); }
.ob { position: absolute; inset: 0; overflow: hidden; border-radius: .4cqw; background-color: #FBFAF6; background-image: var(--tx-papel); color: var(--ink); font-family: var(--serif);
  box-shadow: 0 .3cqw .5cqw rgba(31, 44, 67, .12), 0 3cqw 5cqw -2cqw rgba(31, 44, 67, .16), 0 10cqw 16cqw -10cqw rgba(31, 44, 67, .24); transition: box-shadow .7s ease; }
:where(.ob) p { margin: 0; }
.ob__ejemplo { position: absolute; z-index: 3; top: 4cqw; right: 4cqw; padding: .6cqw 2.6cqw .9cqw; border: max(1px, .3cqw) solid var(--terracota); border-radius: 99px;
  font-family: var(--display); font-style: italic; font-size: 3.4cqw; line-height: 1.1; color: var(--terracota); rotate: 6deg; opacity: .9; }
.ob__estrella { display: block; width: 100%; height: auto; }
.ob__estrella path { fill: currentColor; }
.cinta { position: absolute; z-index: 4; width: 30cqw; height: 8cqw; background-color: rgba(226, 216, 190, .72); background-image: var(--tx-papel); box-shadow: 0 .3cqw .5cqw rgba(31, 44, 67, .08); pointer-events: none; }
.cinta--arriba { top: -3.4cqw; left: 50%; translate: -50% 0; rotate: -3deg; }
.cinta--izq { top: -3cqw; left: 4cqw; width: 22cqw; height: 6.4cqw; rotate: -14deg; }
.cinta--der { top: -3cqw; right: 4cqw; width: 22cqw; height: 6.4cqw; rotate: 11deg; }
.cinta--esquina { top: 2cqw; left: -7cqw; rotate: -40deg; }
.chinche { position: absolute; z-index: 4; top: 3.6cqw; left: 50%; width: 6cqw; aspect-ratio: 1; translate: -50% 0; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 34% 30%, #E58A5C, var(--terracota) 52%, #7A3212); box-shadow: .6cqw 1.4cqw 1.4cqw rgba(31, 44, 67, .32); }
.ob--recibo { --zz: 3.4cqw; display: flex; flex-direction: column; gap: 3cqw; padding: 15cqw 9cqw 14cqw; background-color: #FDFCF8; box-shadow: none; font-family: var(--maquina); font-size: 5.2cqw;
  -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--zz)) no-repeat, conic-gradient(from 135deg at top, #000 90deg, #0000 0) bottom / calc(2 * var(--zz)) var(--zz) repeat-x;
  mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--zz)) no-repeat, conic-gradient(from 135deg at top, #000 90deg, #0000 0) bottom / calc(2 * var(--zz)) var(--zz) repeat-x; }
.pz__obra:has(.ob--recibo), .pz__obra:has(.ob--globo), .pz__obra:has(.ob--letrero) { filter: drop-shadow(0 1.6cqw 1.8cqw rgba(31, 44, 67, .2)); }
.rec__cabeza { text-align: center; font-family: var(--sans); font-weight: 600; font-size: 5cqw; letter-spacing: .3em; text-transform: uppercase; }
.rec__linea { padding-bottom: 3cqw; border-bottom: max(1px, .4cqw) dashed var(--ink-40); text-align: center; color: var(--ink-60); }
.rec__fila, .rec__total { display: flex; justify-content: space-between; gap: 3cqw; line-height: 1.3; }
.rec__total { margin-top: 2cqw !important; padding-top: 3cqw; border-top: max(1px, .4cqw) dashed var(--ink-40); font-size: 6.4cqw; }
.rec__gracias { margin-top: auto !important; text-align: center; font-family: "Mano", cursive; font-size: 7.4cqw; line-height: 1.1; color: var(--ink-80); }
.ob--foto { display: flex; flex-direction: column; padding: 5cqw 5cqw 0; background-color: #FCFBF8; }
.ob--foto img { display: block; width: 100%; height: auto; max-width: none; box-shadow: 0 0 0 max(1px, .2cqw) rgba(31, 44, 67, .08); }
.foto__pie { flex: 1; display: grid; place-items: center; text-align: center; font-family: "Mano", cursive; font-size: 6.4cqw; line-height: 1.1; color: var(--ink-80); }
.ob--globo { isolation: isolate; overflow: visible; display: grid; align-content: center; gap: 4cqw; padding: 8cqw 11cqw 20cqw; background: none; box-shadow: none; }
.ob--globo::before { content: ""; position: absolute; inset: 0 0 13cqw 0; z-index: -1; border-radius: 16cqw; background: #FCFBF8 var(--tx-papel); }
.ob--globo::after { content: ""; position: absolute; z-index: -1; left: 17cqw; bottom: 6cqw; width: 13cqw; aspect-ratio: 1; background: #FCFBF8 var(--tx-papel); rotate: 50deg; skew: 12deg 12deg; }
.globo__texto { font-family: "Mano", cursive; font-size: 9cqw; line-height: 1.18; text-align: center; }
.globo__nota { justify-self: end; font-family: var(--maquina); font-size: 3.6cqw; letter-spacing: .1em; text-transform: uppercase; color: var(--terracota); }
.globo__nota::before { content: "↑ "; }
.ob--titulo { padding: 8cqw 9cqw; background-color: #FBF8F1; box-shadow: inset 0 0 0 2.2cqw #FBF8F1, inset 0 0 0 2.5cqw var(--ink-16), 0 .3cqw .5cqw rgba(31, 44, 67, .12), 0 3cqw 5cqw -2cqw rgba(31, 44, 67, .16), 0 10cqw 16cqw -10cqw rgba(31, 44, 67, .24); }
.titulo__eti { font-family: var(--sans); font-weight: 600; font-size: 3.1cqw; letter-spacing: .26em; text-transform: uppercase; text-align: center; color: var(--ink-60); }
.titulo__dom { margin: 3cqw 0 4.6cqw !important; font-family: var(--display); font-size: 10cqw; line-height: 1; text-align: center; }
.titulo__filas { margin: 0; display: grid; width: 74%; }
.titulo__filas div { display: flex; justify-content: space-between; align-items: baseline; padding: 1.8cqw 0; border-top: max(1px, .25cqw) solid var(--ink-16); }
.titulo__filas dt { font-family: var(--maquina); font-size: 3cqw; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-60); }
.titulo__filas dd { margin: 0; font-family: "Mano", cursive; font-size: 4.6cqw; }
.titulo__sello { position: absolute; top: 6cqw; right: 6.5cqw; display: grid; place-items: center; width: 9cqw; aspect-ratio: 1; border-radius: 50%; background: var(--terracota); color: #F6DCCB; }
.titulo__sello .ob__estrella { width: 58%; }
.ob__otto { position: absolute; z-index: 3; right: -5cqw; bottom: -9cqw; width: 30cqw; pointer-events: none; }
.ob__otto svg, .ob__basti svg { display: block; width: 100%; height: auto; }
.ob--doc { display: flex; flex-direction: column; gap: 3cqw; padding: 13cqw 10cqw 10cqw; }
.doc__titulo { font-family: var(--display); font-size: 8.6cqw; line-height: 1.05; }
.doc__texto { font-family: var(--serif); font-weight: 300; font-size: 4.3cqw; line-height: 1.45; color: var(--ink-80); }
.doc__sub { margin-top: 1.4cqw !important; font-family: var(--sans); font-weight: 600; font-size: 3.3cqw; letter-spacing: .12em; text-transform: uppercase; }
.doc__linea { display: block; height: 1.5cqw; border-radius: 1cqw; background: #ECE9E2; }
.doc__linea--c { width: 58%; }
.ob--codigo { display: flex; flex-direction: column; justify-content: center; gap: 6cqw; padding: 14cqw 8cqw 10cqw; }
.ob--codigo pre { margin: 0; font-family: var(--maquina); font-size: 3.7cqw; line-height: 1.6; white-space: pre; color: var(--ink-80); }
.c-k { color: var(--ink); } .c-s { color: var(--aciano); }
.codigo__nota { align-self: flex-end; rotate: -4deg; font-family: "Mano", cursive; font-size: 6cqw; line-height: 1; color: var(--terracota); }
.ob--cuaderno { display: flex; flex-direction: column; padding: 9cqw 8cqw 7cqw; background-color: #FFFFFF;
  background-image: linear-gradient(rgba(74, 104, 190, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(74, 104, 190, .16) 1px, transparent 1px), var(--tx-papel); background-size: 5cqw 5cqw, 5cqw 5cqw, auto; }
.cuad__eti { font-family: "Mano", cursive; font-size: 8cqw; line-height: 1; color: #3F3E48; }
.cuad__linea { display: block; width: 100%; height: 22cqw; margin-top: auto; overflow: visible; }
.cuad__linea path { fill: none; stroke: #3F3E48; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .85; }
.cuad__pie { margin-top: 3cqw !important; font-family: "Mano", cursive; font-size: 5.4cqw; color: #3F3E48; }
.ob--letrero { overflow: visible; background: none; box-shadow: none; }
.letrero__cuerda { position: absolute; top: 0; left: 50%; width: 64%; height: 26%; translate: -50% 0;
  background: linear-gradient(to top left, transparent calc(50% - .5cqw), #8E7C5E calc(50% - .3cqw), #8E7C5E calc(50% + .3cqw), transparent calc(50% + .5cqw)) left / 50% 100% no-repeat,
              linear-gradient(to top right, transparent calc(50% - .5cqw), #8E7C5E calc(50% - .3cqw), #8E7C5E calc(50% + .3cqw), transparent calc(50% + .5cqw)) right / 50% 100% no-repeat; }
.letrero__cuerda::before { content: ""; position: absolute; top: -1.8cqw; left: 50%; width: 4.4cqw; aspect-ratio: 1; translate: -50% 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #B9B4AA, #6E6A62); }
.letrero__carton { position: absolute; top: 24%; left: 4%; right: 4%; bottom: 0; display: grid; place-content: center; justify-items: center; gap: 1.6cqw; border-radius: 1.6cqw; text-align: center;
  background: #E8DCC2 var(--tx-papel); box-shadow: inset 0 0 0 1.6cqw #E8DCC2, inset 0 0 0 1.9cqw rgba(31, 44, 67, .2); }
.letrero__abierto { font-family: var(--display); font-style: italic; font-size: 14cqw; line-height: 1; }
.letrero__festivo { font-family: "Mano", cursive; font-size: 7cqw; line-height: 1; color: var(--ink-80); }
.letrero__horas { font-family: "Mano", cursive; font-size: 12cqw; line-height: 1; color: var(--terracota); }
.ob--resena { display: flex; flex-direction: column; gap: 3cqw; padding: 13cqw 9cqw 9cqw; }
.res__estrellas { font-size: 5cqw; letter-spacing: .14em; color: var(--terracota); }
.res__texto { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 6.2cqw; line-height: 1.32; }
.res__quien { font-family: var(--maquina); font-size: 3.4cqw; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-60); }
.ob__postit { position: absolute; z-index: 3; right: -5cqw; bottom: -9cqw; display: grid; place-items: center; width: 46cqw; aspect-ratio: 1; padding: 5cqw; rotate: 6deg;
  background: #F4E6A6 var(--tx-papel); box-shadow: 0 .4cqw .6cqw rgba(31, 44, 67, .12), 0 3cqw 4cqw -2cqw rgba(31, 44, 67, .2); }
.ob__postit p { font-family: "Mano", cursive; font-size: 5.6cqw; line-height: 1.15; text-align: center; color: #33303A; }
.ob--etiqueta { display: flex; flex-direction: column; align-items: center; padding-top: 32cqw; background: transparent; box-shadow: none; overflow: visible; filter: drop-shadow(0 2cqw 3cqw rgba(31, 44, 67, .18)); }
.ob--etiqueta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #EFE4CB var(--tx-papel); clip-path: polygon(0 14%, 50% 0, 100% 14%, 100% 100%, 0 100%); }
.et__hueco { position: absolute; top: 10cqw; left: 50%; width: 9cqw; aspect-ratio: 1; translate: -50% 0; border-radius: 50%; background: var(--pared); box-shadow: inset 0 .6cqw 1cqw rgba(31, 44, 67, .25); }
.et__hilo { position: absolute; top: -16cqw; left: 50%; width: 24cqw; height: 31cqw; border-left: max(1px, .5cqw) solid #9C8B6E; border-top: max(1px, .5cqw) solid #9C8B6E; border-top-left-radius: 100% 100%; }
.et__viejo { font-family: var(--display); font-size: 12cqw; line-height: 1; color: var(--ink-60); text-decoration: line-through; text-decoration-color: var(--terracota); text-decoration-thickness: 1.4cqw; }
.et__nuevo { margin-top: 5cqw !important; font-family: "Mano", cursive; font-size: 22cqw; line-height: 1; rotate: -4deg; }
.et__desde { margin-top: 7cqw !important; padding: 0 8cqw; text-align: center; font-family: "Mano", cursive; font-size: 6.6cqw; line-height: 1.15; color: var(--ink-80); }
.ob--reporte { display: flex; flex-direction: column; padding: 15cqw 8cqw 10cqw; }
.rep__cabeza { display: flex; justify-content: space-between; gap: 3cqw; padding-bottom: 2.4cqw; border-bottom: .9cqw double var(--ink); font-family: var(--maquina); font-size: 3.3cqw; letter-spacing: .06em; text-transform: uppercase; }
.rep__negocio { margin: 4cqw 0 3cqw !important; font-family: var(--display); font-style: italic; font-size: 9.4cqw; line-height: 1; }
.rep__fila { display: flex; justify-content: space-between; align-items: baseline; gap: 3cqw; padding: 2.6cqw 0; border-bottom: max(1px, .25cqw) solid var(--ink-10); }
.rep__fila span:first-child { font-family: var(--maquina); font-size: 3.3cqw; letter-spacing: .04em; text-transform: uppercase; }
.rep__fila span:last-child { font-family: "Mano", cursive; font-size: 4.8cqw; }
.rep__fila span:last-child::before { content: "✓ "; font-family: var(--serif); color: var(--terracota); }
.rep__fila.es-pendiente span:last-child { color: var(--ink-60); }
.rep__fila.es-pendiente span:last-child::before { content: "– "; color: var(--ink-40); }
.ob__basti { position: absolute; z-index: 3; right: 5cqw; bottom: 1.5cqw; width: 38cqw; pointer-events: none; }
.ob--sobre { display: flex; flex-direction: column; justify-content: flex-end; padding: 0 9cqw 8cqw; background-color: #F5EFE1; }
.sobre__solapa { position: absolute; left: 0; right: 0; top: 0; height: 54%; background: #ECE3CF var(--tx-papel); clip-path: polygon(0 0, 100% 0, 50% 100%); }
.sobre__lacre { position: absolute; left: 50%; top: 54%; display: grid; place-items: center; width: 15cqw; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #D2683A, var(--terracota) 55%, #8E3A14); box-shadow: 0 .8cqw 1.6cqw rgba(60, 20, 6, .35); color: #F8DCCB; }
.sobre__lacre .ob__estrella { width: 56%; }
.sobre__para { font-family: var(--maquina); font-size: 3.2cqw; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-60); }
.sobre__titulo { margin-top: 1cqw !important; font-family: var(--display); font-style: italic; font-size: 11.5cqw; line-height: 1; }
.sobre__llega { margin-top: 2.4cqw !important; font-family: "Mano", cursive; font-size: 5.6cqw; color: var(--terracota); }
.club__cabeza { opacity: var(--t, 1); position: absolute; z-index: 3; left: calc(var(--margen) - 18px); top: calc(env(safe-area-inset-top, 0px) + 56px); max-width: min(420px, 44vw); display: grid; gap: 10px; padding: 18px 18px 20px; pointer-events: none;
  background: rgba(241, 239, 234, .84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.club__eti { color: var(--ink-60); }
.club__titulo { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(1.7rem, 1rem + 1.7vw, 2.7rem); line-height: 1.02; letter-spacing: -.015em; text-wrap: balance; }
.club__titulo em { font-style: italic; }
.club__bajada { font-family: var(--serif); font-weight: 300; font-size: var(--t-texto); line-height: 1.45; color: var(--ink-80); text-wrap: pretty; }
.club__pista { display: flex; align-items: center; gap: 10px; margin-top: 2px; font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-60); }
.club__pista::before { content: ""; width: 22px; height: 1px; background: var(--ink-40); }
.club__coordenadas { position: absolute; z-index: 3; left: 50%; bottom: calc(var(--zona-segura-abajo) + 18px); translate: -50% 0; padding: 6px 12px; font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-60); white-space: nowrap; pointer-events: none;
  background: rgba(241, 239, 234, .84); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.vitrina { position: fixed; inset: 0; z-index: calc(var(--z-capa) - 1); color: var(--ink); touch-action: manipulation; }
html.club-abierta { overflow: hidden; }
.vitrina__fondo { position: absolute; inset: 0; background: rgba(241, 239, 234, .96); will-change: opacity; }
.vitrina__hoja { position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); align-items: center; align-items: safe center;
  column-gap: clamp(28px, 4vw, 72px); padding: calc(env(safe-area-inset-top, 0px) + 76px) var(--margen) calc(var(--zona-segura-abajo) + 84px); cursor: zoom-out; }
.vitrina__hoja > * { cursor: auto; }
.vitrina__cuadro { margin: 0; justify-self: center; width: 100%; display: grid; place-items: center; }
.vitrina__marco { display: grid; place-items: center; width: 100%; }
.pz__obra.vitrina__obra { width: min(100%, calc((100svh - 240px) * var(--r)), 36rem); }
.vitrina__ficha { max-width: 520px; min-width: 0; }
.ficha__eti { font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-60); }
.ficha__titulo { margin-top: 12px; font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: clamp(2rem, 1.2rem + 2.3vw, 3.3rem); line-height: 1.02; letter-spacing: -.018em; text-wrap: balance; }
.ficha__filas { margin: 24px 0 0; border-top: 1px solid var(--ink); }
.ficha__filas div { display: grid; grid-template-columns: 8.4em minmax(0, 1fr); gap: 16px; padding: 12px 0 13px; border-bottom: 1px solid var(--ink-16); }
.ficha__filas dt { padding-top: 3px; font-family: var(--maquina); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-60); }
.ficha__filas dd { margin: 0; font-family: var(--serif); font-weight: 300; font-size: 1.0625rem; line-height: 1.5; color: var(--ink); }
.ficha__nota { margin-top: 16px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: .9375rem; line-height: 1.45; color: var(--ink-60); }
.ficha__boton { margin-top: 24px; background: var(--terracota); color: var(--papel); }
@media (hover: hover) and (pointer: fine) { .ficha__boton:hover { background: var(--sello-texto); } }
.vitrina__cerrar, .vitrina__ant, .vitrina__sig { margin: 0; padding: 10px 0; border: 0; background: none; color: var(--ink-80); font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.vitrina__cerrar:hover, .vitrina__ant:hover, .vitrina__sig:hover { color: var(--terracota); }
.vitrina__cerrar { position: absolute; z-index: 6; right: var(--margen); top: calc(env(safe-area-inset-top, 0px) + 52px); display: flex; align-items: center; gap: 10px; }
.vitrina__cerrar::after { content: ""; width: 14px; height: 14px; background: linear-gradient(45deg, transparent 46%, currentColor 46% 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, currentColor 46% 54%, transparent 54%); }
.vitrina__nav { position: absolute; z-index: 6; left: 50%; bottom: calc(var(--zona-segura-abajo) + 18px); translate: -50% 0; display: flex; align-items: center; gap: 22px; white-space: nowrap; }
.vitrina__n { font-family: var(--display); font-size: 1.05rem; letter-spacing: .08em; color: var(--ink); }
@media (max-width: 860px) {
  .club__cabeza { left: 0; right: 0; max-width: none; top: calc(env(safe-area-inset-top, 0px) + 44px); gap: 6px; padding: 14px 16px 16px; transition: opacity .3s; }
  .club__titulo { font-size: 1.55rem; }
  .club__bajada { font-size: .9375rem; }
  .club__pista { font-size: .625rem; }
  .club__pista-arrastra { display: none; }
  .club__coordenadas { font-size: .625rem; bottom: calc(var(--zona-segura-abajo) + 26px); }
  .pz__pie { margin-top: 7px; font-size: .5625rem; letter-spacing: .08em; }
  .vitrina__hoja { grid-template-columns: minmax(0, 1fr); align-items: start; row-gap: 26px; padding: calc(env(safe-area-inset-top, 0px) + 92px) 16px calc(var(--zona-segura-abajo) + 100px); }
  .pz__obra.vitrina__obra { width: min(100%, calc(46svh * var(--r)), 26rem); }
  .ficha__titulo { font-size: 1.85rem; }
  .ficha__filas div { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 10px 0 11px; }
  .ficha__filas dd { font-size: 1rem; }
  .vitrina__cerrar { top: calc(env(safe-area-inset-top, 0px) + 54px); right: 16px; }
  .vitrina__nav { position: static; translate: none; justify-content: center; gap: 18px; margin-top: 6px; }
}
html:not(.js) .club { height: auto; padding: 120px var(--margen) 100px; }
html:not(.js) .club__lienzo { position: static; overflow: visible; }
html:not(.js) .club__cabeza { position: static; max-width: 60ch; margin-bottom: 40px; background: none; }
html:not(.js) .club__marca, html:not(.js) .club__coordenadas, html:not(.js) .club__pista, html:not(.js) .vitrina { display: none; }
html:not(.js) .club__piezas { position: static; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 48px 32px; }
html:not(.js) .pz { position: static; visibility: visible; }
html:not(.js) .pz__ficha { display: block; margin-top: 14px; }
/* css/salas/07z-pliegue.css */
.pliegue {
  --fondo: #F1EFEA;
  --tinta-sala: #1F2C43;
  --s: min(44vw, 56svh);
  --papel-hoja: #FFFFFF;
  --papel-dorso: #F6F3EC;
  --cuadricula: rgba(74, 104, 190, .17);
  --crema: #1F2C43;
  --tx-fibra: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .2  0 0 0 0 .22  0 0 0 .07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23f)'/></svg>");
  position: relative; height: 100vh; height: 100svh; overflow: clip; background-color: #F1EFEA;
  background-image: radial-gradient(70% 62% at 50% 46%, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0) 72%), var(--tx-fibra);
}
.pliegue__fondo { position: absolute; inset: 0; z-index: 4; background: var(--papel); opacity: 0; pointer-events: none; }
.pliegue__nota { position: absolute; z-index: 2; left: 50%; top: 7.5%; translate: -50% 0; width: max-content; max-width: 90vw; text-align: center; font-family: "Mano", cursive; font-size: clamp(1.35rem, 1rem + 1.6vw, 2.3rem); line-height: 1.25; color: var(--crema); pointer-events: none; opacity: 0; }
.pliegue__nota span { display: block; }
.pliegue__pie { position: absolute; z-index: 2; left: 50%; bottom: calc(var(--zona-segura-abajo) + 24px); translate: -50% 0; font-family: var(--maquina); font-size: var(--t-dato); letter-spacing: .14em; text-transform: uppercase; color: rgba(31, 44, 67, .55); pointer-events: none; }
.pliegue__escena { position: absolute; inset: 0; z-index: 1; perspective: 1500px; perspective-origin: 50% 46%; will-change: transform; }
.hoja { position: absolute; left: 50%; top: 50%; width: var(--s); height: var(--s); margin: calc(var(--s) / -2) 0 0 calc(var(--s) / -2); transform-style: preserve-3d; --celda: calc(var(--s) / 20); }
.hoja--2 { --l: calc(var(--s) * .7071); width: var(--l); height: var(--l); margin: calc(var(--l) / -2) 0 0 calc(var(--l) / -2); visibility: hidden; opacity: 0; }
.hoja__giro { position: absolute; inset: 0; transform: rotate(45deg); transform-style: preserve-3d; }
.hoja__sombra { position: absolute; inset: 8%; border-radius: 50%; background: rgba(31, 44, 67, .26); filter: blur(34px); transform: translate3d(0, 5%, -2px); pointer-events: none; }
.hoja__base { position: absolute; inset: 0; background-color: var(--papel-hoja); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  background-image: linear-gradient(var(--cuadricula) 1px, transparent 1px), linear-gradient(90deg, var(--cuadricula) 1px, transparent 1px); background-size: var(--celda) var(--celda); }
.hoja--2 .hoja__base { background-image: none; background-color: var(--papel-dorso); }
.hoja__lineas { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; transform: translateZ(3px); pointer-events: none; }
.hoja__linea { fill: none; stroke: #403D4E; stroke-width: .32; stroke-linecap: round; opacity: 0; }
.doblez { --a: 0deg; --z: 0px; position: absolute; width: 50%; height: 50%; transform-style: preserve-3d; transform-origin: 50% 50%;
  transform: translateZ(var(--z)) rotate3d(var(--ax), var(--ay), 0, var(--a)); }
.doblez--tl { left: 0; top: 0; --ax: 1; --ay: -1; --z: .4px; }
.doblez--br { right: 0; bottom: 0; --ax: 1; --ay: -1; --z: .9px; }
.doblez--tr { right: 0; top: 0; --ax: 1; --ay: 1; --z: 1.4px; }
.doblez--bl { left: 0; bottom: 0; --ax: 1; --ay: 1; --z: 1.9px; }
.doblez__frente, .doblez__dorso { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.doblez__frente { background-color: var(--papel-hoja); background-image: linear-gradient(var(--cuadricula) 1px, transparent 1px), linear-gradient(90deg, var(--cuadricula) 1px, transparent 1px); background-size: var(--celda) var(--celda); }
.hoja--2 .doblez__frente { background-image: none; background-color: var(--papel-dorso); }
.doblez__dorso { background-color: var(--papel-dorso); }
.doblez__frente::after, .doblez__dorso::after { content: ""; position: absolute; inset: 0; background: #1E1C25; opacity: calc((1 - cos(2 * var(--a))) * .12); pointer-events: none; }
.doblez--tl .doblez__frente, .doblez--tl .doblez__dorso { clip-path: polygon(0 0, 100% 0, 0 100%); }
.doblez--tr .doblez__frente, .doblez--tr .doblez__dorso { clip-path: polygon(100% 0, 100% 100%, 0 0); }
.doblez--bl .doblez__frente, .doblez--bl .doblez__dorso { clip-path: polygon(0 100%, 0 0, 100% 100%); }
.doblez--br .doblez__frente, .doblez--br .doblez__dorso { clip-path: polygon(100% 100%, 0 100%, 100% 0); }
.doblez--tl .doblez__dorso, .doblez--br .doblez__dorso { transform: rotate3d(1, 1, 0, 180deg); }
.doblez--tr .doblez__dorso, .doblez--bl .doblez__dorso { transform: rotate3d(1, -1, 0, 180deg); }
.hoja__num { position: absolute; font-family: "Mano", cursive; font-size: clamp(1.1rem, .8rem + 1.2vw, 1.8rem); line-height: 1; color: #403D4E; opacity: 0; }
.doblez--tl .hoja__num { left: 16%; top: 12%; } .doblez--tr .hoja__num { right: 16%; top: 12%; }
.doblez--bl .hoja__num { left: 16%; bottom: 12%; } .doblez--br .hoja__num { right: 16%; bottom: 12%; }
.doblez__dorso--marille { background-color: var(--durazno); color: #1E1C25; }
.doblez__dorso--gold { background-color: var(--sol); color: #1E1C25; }
.doblez__dorso--termin { background-color: var(--aciano); color: #F6F5F2; }
.doblez__dorso--werk { background-color: var(--viridian); color: #F6F5F2; }
.doblez__dorso > span { position: absolute; translate: -50% -50%; rotate: 180deg; display: grid; justify-items: center; gap: .3em; font-family: var(--sans); font-weight: 600; font-size: clamp(.5rem, .35rem + .55vw, .75rem); letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; }
.doblez__palabra { font-weight: 600; }
.doblez__dorso small { font-weight: 500; font-size: .74em; letter-spacing: .16em; opacity: .78; }
.doblez--tl .doblez__dorso > span { left: 32%; top: 32%; } .doblez--tr .doblez__dorso > span { left: 68%; top: 32%; }
.doblez--bl .doblez__dorso > span { left: 32%; top: 68%; } .doblez--br .doblez__dorso > span { left: 68%; top: 68%; }
@media (max-width: 860px) {
  .pliegue { --s: min(78vw, 44svh); }
  .pliegue__nota { top: 13%; }
}
.pliegue .velo-lamina { display: none; }
html:not(.js) .pliegue { display: none; }
/* css/salas/08-adivino.css */
.adivino { --fondo: var(--papel); --tinta-sala: var(--grafito); --hilo: rgba(64, 61, 78, .2); --hilo-fuerte: rgba(64, 61, 78, .55);
  --curva: cubic-bezier(.23, 1, .32, 1); --curva-io: cubic-bezier(.77, 0, .175, 1);
  height: 100svh; overflow: clip; color: var(--grafito); }
.adivino--lista { height: auto; }
.adivino__hoja { position: relative; z-index: 1; height: 100%; display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: calc(env(safe-area-inset-top, 0px) + 64px) var(--margen) calc(var(--zona-segura-abajo) + 98px); }
.adivino--lista .adivino__hoja { height: auto; min-height: 100svh; }
.adivino__cabeza { display: grid; grid-template-rows: 1fr; }
.adivino__cabeza-in { min-height: 0; overflow: hidden; padding-bottom: 4px; }
.adivino__titulo { font-family: var(--serif); font-weight: 300; font-size: var(--t-titulo); line-height: .92; letter-spacing: -.035em; text-wrap: balance; }
.adivino__bajada { display: flex; align-items: center; gap: .45em; margin-top: .5em; font-family: var(--serif); font-style: italic; font-size: var(--t-entrada); line-height: 1.2; }
.adivino__estrella { width: .72em; height: .72em; flex: none; }
.adivino__escena { position: relative; min-height: 0; -webkit-user-select: none; user-select: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.adivino__mundo { position: absolute; left: 50%; top: 50%; width: 0; height: 0; z-index: 2; }
.adivino__sombra { position: absolute; left: 50%; top: 50%; width: 200px; height: 200px; margin: -100px 0 0 -100px; border-radius: 50%; z-index: 1; pointer-events: none;
  background: radial-gradient(closest-side, rgba(44, 36, 48, .36), rgba(44, 36, 48, .17) 52%, rgba(44, 36, 48, 0)); transform-origin: 50% 50%; will-change: transform, opacity; }
.adivino__letras { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.adivino__letra { position: absolute; left: 0; top: 0; font-size: var(--tam-letra, 96px); line-height: 1; white-space: nowrap; will-change: transform, opacity;
  text-shadow: 0 0 2px rgba(239, 235, 226, .9), 0 0 12px rgba(239, 235, 226, .7); }
.adivino__nota { position: absolute; z-index: 5; right: 2%; top: 4%; display: flex; align-items: flex-start; gap: 2px; pointer-events: none;
  font-size: 1.55rem; line-height: 1; color: var(--grafito); rotate: -6deg; transition: opacity .4s ease; }
.adivino__nota svg { width: 46px; height: 40px; max-width: none; flex: none; margin-top: 14px; overflow: visible; transform: scaleX(-1); }
.adivino__nota path { fill: none; stroke: var(--grafito); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.adivino--jugando .adivino__nota, .adivino--fortuna .adivino__nota, .adivino--lista .adivino__nota, .adivino--escena-chica .adivino__nota { opacity: 0; }
.adivino--sin-escena .adivino__escena { visibility: hidden; }
.cara { position: absolute; left: 0; top: 0; transform-origin: 0 0; visibility: hidden; overflow: hidden; -webkit-tap-highlight-color: transparent; }
.cara__tinta { position: absolute; inset: 0; background-color: var(--c); background-image: var(--grano); background-size: calc(var(--u) * .7) auto; background-blend-mode: multiply; }
.cara__luz, .cara__brillo, .cara__ao { position: absolute; inset: 0; pointer-events: none; opacity: 0; }
.cara__luz { background: #1c1922; }
.cara__brillo { background: #FFFBF2; }
.cara__ao { background: linear-gradient(var(--ao-ang, 90deg), rgba(34, 28, 40, .72), rgba(34, 28, 40, .2) 34%, rgba(34, 28, 40, 0) 68%); }
.cara--fuera .cara__ao { opacity: 1; background: linear-gradient(var(--ao-ang), rgba(30, 24, 36, .3), rgba(30, 24, 36, .08) 18%, rgba(30, 24, 36, 0) 34%),
  linear-gradient(var(--ao-base), rgba(30, 24, 36, .2), rgba(30, 24, 36, 0) 42%); }
.cara__trazos { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; max-width: none; }
.cara__trazos path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.cara__trazos .pliegue { stroke: rgba(255, 250, 238, .55); stroke-width: 1.3; }
.cara__trazos .borde { stroke: rgba(30, 26, 36, .26); stroke-width: 1.6; }
.cara__trazos .bisagra { stroke: rgba(30, 26, 36, .28); stroke-width: 1.2; }
.cara__trazos .filo { stroke: rgba(255, 252, 244, .75); stroke-width: 1.3; }
.cara__rotulo { position: absolute; left: calc(var(--u) * var(--x)); top: calc(var(--u) * var(--y)); translate: -50% -50%; display: grid; justify-items: center; gap: calc(var(--u) * .02);
  font-family: var(--sans); font-weight: 600; font-size: calc(var(--u) * .084); line-height: 1; letter-spacing: .2em; text-indent: .2em; text-transform: uppercase; white-space: nowrap; color: var(--ct); }
.cara__rotulo small { font-weight: 500; font-size: .52em; letter-spacing: .16em; text-indent: .16em; opacity: .74; font-variant-numeric: tabular-nums; }
.cara__num { position: absolute; left: calc(var(--u) * var(--x)); top: calc(var(--u) * var(--y)); translate: -50% -50%; font-family: var(--serif); font-weight: 300; font-size: calc(var(--u) * .34); line-height: .8; color: var(--grafito); }
.cara__marca { position: absolute; left: calc(var(--u) * var(--x)); top: calc(var(--u) * var(--y)); translate: -50% -50%; display: grid; justify-items: center; gap: calc(var(--u) * .02); text-align: center; color: var(--grafito); }
.cara__marca .mano { font-size: calc(var(--u) * .15); line-height: .95; white-space: nowrap; }
.cara__marca svg { width: calc(var(--u) * .1); height: calc(var(--u) * .1); }
.cara__circulo { max-width: none; position: absolute; left: calc(var(--u) * var(--x)); top: calc(var(--u) * var(--y)); width: calc(var(--u) * var(--cw)); height: calc(var(--u) * var(--ch)); translate: -50% -50%; overflow: visible; }
.cara__circulo path { fill: none; stroke: var(--trazo, var(--grafito)); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.cara--pared .cara__tinta, .cara--fondo .cara__tinta { --c: #F4EFE4; }
.cara--dorso .cara__tinta { --c: #E9E1CF; }
.cara--dorso .cara__num { opacity: .1; }
.adivino--color .cara--fuera, .adivino--numero .cara--pared { cursor: pointer; }
.adivino__panel { position: relative; min-height: 0; padding-top: 8px; }
.adivino__fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; }
.adivino__modo { min-height: 44px; padding: 0 0 0 10px; font-family: var(--sans); font-weight: 500; font-size: var(--t-pie); color: var(--grafito);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .24em; text-decoration-color: var(--hilo-fuerte); touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.adivino__pregunta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 .5em; min-height: 1.6em; margin: 0 0 10px; }
.pregunta__orden { font-family: var(--serif); font-style: italic; font-size: var(--t-entrada); line-height: 1.2; letter-spacing: .01em; }
.pregunta__que { font-family: var(--sans); font-weight: 500; font-size: var(--t-pie); line-height: 1.3; color: rgba(64, 61, 78, .78); }
.adivino__opciones, .lista__opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.opcion { position: relative; display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 8px 10px; text-align: left;
  background: var(--blanco); border: 1px solid var(--hilo); border-radius: 3px; color: var(--grafito);
  box-shadow: 0 1px 0 rgba(64, 61, 78, .05), 0 10px 18px -16px rgba(40, 34, 46, .5);
  transition: transform .16s var(--curva), border-color .2s ease, background-color .2s ease, opacity .15s ease; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.opcion:active { transform: scale(.97); }
.opcion.es-elegida { border-color: var(--grafito); box-shadow: inset 0 0 0 1px var(--grafito); }
.opcion--muestra.es-elegida { border-color: rgba(28, 24, 34, .5); box-shadow: inset 0 0 0 2px var(--ct); }
.adivino__opciones--elegida .opcion:not(.es-elegida) { opacity: .4; }
.adivino--cambiando .adivino__opciones, .adivino--cambiando .fortuna { pointer-events: none; }
.opcion--muestra { background-color: var(--c); color: var(--ct); border-color: rgba(28, 24, 34, .14); padding-left: 14px; }
.opcion--muestra .opcion__que { opacity: .9; }
.opcion__hex { display: none; margin-left: auto; font-family: var(--sans); font-weight: 500; font-size: var(--t-etiqueta); letter-spacing: .12em; opacity: .7; font-variant-numeric: tabular-nums; }
.opcion__num { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--hilo-fuerte);
  font-family: var(--serif); font-weight: 300; font-size: var(--t-entrada); line-height: 1; padding-bottom: 2px; }
.opcion__texto { display: grid; gap: 3px; min-width: 0; }
.opcion__nombre { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); line-height: 1.1; letter-spacing: .14em; text-transform: uppercase; }
.opcion__que { font-family: var(--sans); font-weight: 500; font-size: var(--t-pie); line-height: 1.22; }
@media (hover: hover) and (pointer: fine) {
  .opcion:hover, .opcion.es-encima { border-color: var(--hilo-fuerte); background-color: #FCFAF5; }
  .opcion--muestra:hover, .opcion--muestra.es-encima { background-color: var(--c); border-color: rgba(28, 24, 34, .5); transform: translateX(4px); }
  .adivino__modo:hover { text-decoration-color: currentColor; }
}
.adivino__lista { display: grid; gap: 22px; }
.adivino__lista[hidden], .adivino__juego[hidden] { display: none; }
.lista__q { border: 0; margin: 0; padding: 0; min-width: 0; }
.lista__titulo { display: flex; align-items: baseline; gap: .6em; padding: 0; margin-bottom: 10px; font-family: var(--serif); font-style: italic; font-size: var(--t-entrada); line-height: 1.2; }
.lista__titulo .etiqueta { font-style: normal; }
.lista__op[aria-pressed="true"] { border-color: var(--grafito); background-color: #FCFAF5; box-shadow: inset 0 0 0 1px var(--grafito); }
.lista__op.opcion--muestra[aria-pressed="true"] { background-color: var(--c); box-shadow: inset 0 0 0 2px var(--ct); }
.lista__op[aria-pressed="true"]::after { content: ""; position: absolute; top: 7px; right: 8px; width: 10px; height: 10px;
  background: currentColor; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.lista__volver { justify-self: start; padding-left: 0; }
.fortuna { display: grid; justify-items: center; align-content: start; gap: 12px; }
.fortuna[hidden] { display: none; }
.fortuna__fila[hidden] { display: none; }
.fortuna__fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(100%, 400px); min-height: 44px; }
.fortuna__otra { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 2px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta);
  letter-spacing: .14em; text-transform: uppercase; color: var(--grafito); touch-action: manipulation; transition: transform .16s var(--curva); -webkit-tap-highlight-color: transparent; }
.fortuna__otra:active { transform: scale(.97); }
.fortuna__otra svg { width: 18px; height: 18px; }
.fortuna__otra path { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fortuna__sombra { width: min(100%, 400px); filter: drop-shadow(0 16px 18px rgba(44, 36, 48, .2)) drop-shadow(0 2px 2px rgba(44, 36, 48, .12)); }
.fortuna__papel { --d: 13px; --r: 3.7px; position: relative; padding: 20px 20px 18px; rotate: -.8deg; color: var(--grafito);
  background-color: #F8F4EA; background-image: var(--grano); background-size: 150px auto; background-blend-mode: multiply;
  -webkit-mask: radial-gradient(circle at 50% 0, #0000 var(--r), #000 calc(var(--r) + .6px)) top / var(--d) 51% repeat-x,
    radial-gradient(circle at 50% 100%, #0000 var(--r), #000 calc(var(--r) + .6px)) bottom / var(--d) 51% repeat-x;
  mask: radial-gradient(circle at 50% 0, #0000 var(--r), #000 calc(var(--r) + .6px)) top / var(--d) 51% repeat-x,
    radial-gradient(circle at 50% 100%, #0000 var(--r), #000 calc(var(--r) + .6px)) bottom / var(--d) 51% repeat-x; }
.fortuna__cabeza { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0 10px; border-bottom: 1px solid var(--hilo); }
.fortuna__necesita { margin-top: 14px; padding-right: 42%; font-family: var(--serif); font-style: italic; font-size: var(--t-texto); line-height: 1.2; color: rgba(64, 61, 78, .8); }
.fortuna__producto { margin: 4px 0 0; padding-right: 8%; font-family: var(--serif); font-weight: 400; font-size: var(--t-sub); line-height: 1; letter-spacing: -.02em; text-wrap: balance; }
.fortuna__datos { display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 14px 0 0; padding: 10px 0; border-top: 1px dashed var(--hilo-fuerte); border-bottom: 1px dashed var(--hilo-fuerte); }
.fortuna__datos dd { margin: 4px 0 0; font-family: var(--sans); font-weight: 600; font-size: var(--t-texto); line-height: 1.2; font-variant-numeric: tabular-nums; }
.fortuna__extra { margin-top: 8px; font-size: var(--t-pie); line-height: 1.35; color: rgba(64, 61, 78, .86); }
.fortuna__extra:empty { display: none; }
.fortuna__porque { margin-top: 10px; font-family: var(--serif); font-size: var(--t-texto); line-height: 1.38; }
.fortuna__pie { display: grid; gap: 3px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--hilo); font-size: var(--t-pie); line-height: 1.32; color: rgba(64, 61, 78, .88); }
.fortuna__nota { margin-top: 10px; font-size: 1.4rem; line-height: 1; rotate: -2.5deg; transform-origin: 0 50%; }
.fortuna__nota:empty { display: none; }
.fortuna__matasellos { position: absolute; z-index: 2; right: 2px; top: 4px; width: 150px; max-width: none; height: auto; mix-blend-mode: multiply; opacity: .92; pointer-events: none; overflow: visible; }
.fortuna__pedir { position: relative; display: flex; align-items: stretch; width: min(100%, 400px); min-height: 58px; text-decoration: none; color: var(--blanco);
  filter: drop-shadow(0 10px 14px rgba(150, 44, 28, .24)); transition: transform .16s var(--curva); touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.fortuna__pedir:active { transform: scale(.97); }
.fortuna__pedir > span { display: flex; align-items: center; justify-content: center; background: var(--sello); }
.pedir__principal { flex: 1; padding: 0 14px; font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .14em; text-transform: uppercase; text-align: center;
  -webkit-mask: radial-gradient(circle at 100% 0, #0000 8px, #000 8.5px) top / 100% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 8px, #000 8.5px) bottom / 100% 51% no-repeat;
  mask: radial-gradient(circle at 100% 0, #0000 8px, #000 8.5px) top / 100% 51% no-repeat, radial-gradient(circle at 100% 100%, #0000 8px, #000 8.5px) bottom / 100% 51% no-repeat; }
.pedir__talon { flex-direction: column; width: 70px; gap: 1px; border-left: 1.5px dashed rgba(247, 245, 240, .6); font-family: var(--serif); font-style: italic; font-size: var(--t-pie); line-height: 1.1;
  -webkit-mask: radial-gradient(circle at 0 0, #0000 8px, #000 8.5px) top / 100% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 8px, #000 8.5px) bottom / 100% 51% no-repeat;
  mask: radial-gradient(circle at 0 0, #0000 8px, #000 8.5px) top / 100% 51% no-repeat, radial-gradient(circle at 0 100%, #0000 8px, #000 8.5px) bottom / 100% 51% no-repeat; }
@media (hover: hover) and (pointer: fine) {
  .fortuna__pedir:hover { transform: rotate(-1.2deg) translateY(-2px); }
  .fortuna__otra:hover { text-decoration: underline; text-underline-offset: .3em; }
}
.adivino--fortuna .adivino__juego { display: none; }
.adivino__sinjs { display: none; font-size: var(--t-texto); line-height: 1.5; max-width: 32em; }
html:not(.js) .adivino__sinjs { display: block; }
html:not(.js) .adivino__juego, html:not(.js) .adivino__escena { display: none; }
@media (max-width: 860px) {
  .adivino--recogida .adivino__cabeza, .adivino--fortuna .adivino__cabeza { grid-template-rows: 0fr; }
  .adivino--fortuna .adivino__cabeza { opacity: 0; }
  .adivino--fortuna .adivino__escena { display: none; }
  .adivino--fortuna .adivino__hoja { padding-bottom: calc(var(--zona-segura-abajo) + 124px); }
  .adivino--lista .adivino__escena { height: 210px; flex: none; }
  .adivino__nota { font-size: 1.4rem; }
  .fortuna__papel { padding: 18px 18px 16px; }
}
@media (max-width: 860px) and (max-height: 800px) {
  .adivino__cabeza .capitulo { display: none; }
  .adivino__titulo { line-height: .9; }
  .fortuna { gap: 8px; }
  .fortuna__papel { padding: 14px 16px 12px; }
  .fortuna__cabeza { padding: 2px 0 8px; }
  .fortuna__necesita { margin-top: 8px; }
  .fortuna__datos { margin-top: 8px; padding: 6px 0; }
  .fortuna__porque { margin-top: 8px; font-size: var(--t-pie); line-height: 1.35; }
  .fortuna__pie { margin-top: 8px; padding-top: 6px; }
  .fortuna__nota { margin-top: 6px; font-size: 1.2rem; }
  .fortuna__matasellos { width: 132px; }
  .fortuna__producto { font-size: 1.6rem; }
  .fortuna__fila { min-height: 38px; }
  .adivino--fortuna .adivino__hoja { padding-top: calc(env(safe-area-inset-top, 0px) + 56px); }
}
@media (max-width: 860px) and (max-height: 500px) {
  .adivino--fortuna .adivino__hoja { padding-bottom: calc(var(--zona-segura-abajo) + 16px); }
  .adivino--fortuna .adivino__panel { overflow-y: auto; }
}
@media (min-width: 861px) {
  .adivino__hoja { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; grid-template-rows: auto minmax(24px, 1fr) auto;
    padding: 108px var(--margen) 116px; }
  .adivino__cabeza { grid-column: 1 / 7; grid-row: 1; position: relative; z-index: 3; }
  .adivino__titulo { font-size: clamp(2.6rem, min(5.6vw, 9.6svh), 7rem); }
  .adivino__escena { grid-column: 7 / 13; grid-row: 1 / 4; }
  .adivino__panel { grid-column: 1 / 6; grid-row: 3; align-self: end; z-index: 3; min-height: auto; }
  .adivino__opciones { grid-template-columns: 1fr; gap: 6px; max-width: 440px; }
  .opcion { min-height: 60px; padding: 8px 14px 8px 12px; gap: 14px; }
  .opcion__texto { grid-auto-flow: column; justify-content: start; align-items: baseline; gap: 12px; }
  .opcion__hex { display: block; }
  .opcion--muestra { min-height: 64px; padding-left: 18px; }
  .adivino__fila { max-width: 440px; }
  .adivino__nota { right: 3%; top: 5%; font-size: 1.8rem; rotate: -6deg; }
  .adivino--fortuna .adivino__cabeza { grid-template-rows: 0fr; opacity: 0; }
  .adivino--fortuna .adivino__panel { grid-row: 1 / 4; align-self: center; }
  .adivino--fortuna .fortuna { justify-items: start; }
  .adivino--lista .adivino__panel { grid-row: 2 / 4; align-self: start; padding-top: 28px; }
  .adivino--lista .adivino__escena { grid-row: 1 / 4; min-height: 520px; }
  .adivino__lista { max-width: 560px; }
  .fortuna__sombra, .fortuna__fila, .fortuna__pedir { width: min(100%, 470px); }
  .fortuna__papel { padding: 26px 30px 24px; }
  .fortuna__matasellos { width: 170px; right: 8px; top: 2px; }
}
@media (min-width: 861px) and (max-height: 860px) {
  .adivino__hoja { padding-top: 92px; padding-bottom: 104px; }
  .adivino--fortuna .adivino__hoja { padding-top: 76px; padding-bottom: 100px; }
  .adivino--fortuna .adivino__panel { grid-column: 1 / 7; padding-top: 0; }
  .fortuna__sombra, .fortuna__fila, .fortuna__pedir { width: min(100%, 560px); }
  .fortuna { gap: 8px; }
  .fortuna__fila { min-height: 36px; }
  .fortuna__papel { padding: 18px 26px 16px; }
  .fortuna__necesita { margin-top: 10px; }
  .fortuna__producto { font-size: clamp(1.9rem, 1rem + 2.2svh, 2.5rem); }
  .fortuna__datos { margin-top: 10px; padding: 8px 0; }
  .fortuna__porque { margin-top: 8px; font-size: var(--t-pie); line-height: 1.42; }
  .fortuna__pie { margin-top: 8px; padding-top: 8px; font-size: .8125rem; }
  .fortuna__nota { margin-top: 6px; font-size: 1.3rem; }
  .fortuna__pedir { min-height: 52px; }
  .adivino__opciones { grid-template-columns: 1fr 1fr; max-width: 560px; }
  .adivino__fila { max-width: 560px; }
  .opcion, .opcion--muestra { min-height: 56px; }
  .opcion__texto { grid-auto-flow: row; gap: 3px; }
  .opcion__hex { display: none; }
}
.opcion__ej { font-family: var(--sans); font-weight: 400; font-size: calc(var(--t-pie) * .88); line-height: 1.25; opacity: .8; }
/* css/salas/09-creditos.css */
.creditos { --fondo: var(--noche); --tinta-sala: #EDE9F6; --lavanda-noche: #B2A9D8; --texto-noche: #D3CCE6; overflow: clip; }
.creditos__calle { position: relative; height: 100svh; overflow: hidden; }
.calle-noche { position: absolute; left: 0; right: 0; bottom: 0; height: 56svh; overflow: hidden; }
.calle-noche__pano { position: absolute; left: 0; bottom: 0; width: calc(56svh * 2.3895); height: 56svh; will-change: transform; }
.calle-noche__base { display: block; width: 100%; height: 100%; }
.calle-noche__vitrina, .calle-noche__ventana { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: calc(var(--w) * 1%); height: calc(var(--h) * 1%); opacity: 0; pointer-events: none; }
.calle-noche__vitrina { box-shadow: 0 0 34px 8px rgba(71, 90, 255, .5), 0 40px 70px 6px rgba(71, 90, 255, .22); }
.calle-noche__vitrina img { display: block; width: 100%; height: 100%; }
.calle-noche__ventana { background: rgba(246, 196, 118, .62); mix-blend-mode: screen; box-shadow: 0 0 16px 4px rgba(246, 190, 110, .22); }
.creditos__cabeza { position: relative; z-index: 2; padding: 92px var(--margen) 0; }
.creditos .capitulo { color: var(--electrico); }
.creditos__titulo { max-width: 11ch; font-family: var(--serif); font-weight: 300; font-size: var(--t-titulo); line-height: .95; letter-spacing: -.03em; color: var(--electrico); }
.creditos__titulo em { font-style: italic; }
.creditos__sub { margin-top: .55em; font-family: var(--serif); font-size: var(--t-entrada); color: #EDE9F6; }
.creditos__contador { margin-top: 1.2em; color: var(--lavanda-noche); }
.creditos__cuenta { color: var(--electrico); }
.creditos__luz { max-width: 30ch; margin-top: .6em; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-entrada); line-height: 1.3; color: var(--lavanda-noche); opacity: 0; }
.creditos.quieto .creditos__luz { opacity: 1; }
.vitrina__letrero { position: absolute; left: 50%; bottom: calc(100% + 1.1svh); translate: -50% 0; font-family: "Pluma", cursive; font-size: clamp(14px, 2.5svh, 26px); line-height: 1; white-space: nowrap; color: #FFF3E2;
  text-shadow: 0 0 4px rgba(255, 214, 160, .95), 0 0 12px rgba(255, 170, 110, .7), 0 0 26px rgba(255, 150, 90, .45); }
.creditos__estrella { position: absolute; z-index: 2; top: 92px; right: var(--margen); width: clamp(40px, 6vw, 72px); height: auto; color: var(--electrico); }
.creditos__turno { position: relative; display: grid; grid-template-areas: "texto" "fecha" "acciones"; gap: 26px; max-width: 1180px; margin: 0 auto; padding: 104px var(--margen) 110px; }
.turno__texto { grid-area: texto; }
.turno__titulo { font-family: var(--serif); font-weight: 300; font-size: clamp(2.6rem, 1.7rem + 4vw, 5.6rem); line-height: .96; letter-spacing: -.03em; color: #EDE9F6; }
.turno__bajada { margin-top: .6em; font-family: var(--serif); font-size: var(--t-entrada); line-height: 1.35; color: var(--texto-noche); }
.turno__fecha { grid-area: fecha; font-family: var(--mano); font-size: 1.55rem; line-height: 1.15; color: var(--electrico); }
.turno__acciones { grid-area: acciones; display: grid; gap: 12px; justify-items: start; }
.turno__chat { position: relative; display: flex; align-items: center; gap: 16px; width: min(100%, 740px); min-height: 84px; padding: 11px 11px 11px 30px;
  border-radius: 44px; border: 1px solid rgba(237, 233, 246, .16); background: rgba(237, 233, 246, .055); color: #EDE9F6; text-decoration: none;
  box-shadow: 0 30px 70px -36px rgba(69, 92, 255, .7); transition: border-color .4s ease, background-color .4s ease, transform .35s cubic-bezier(.3, .7, .2, 1); }
.chat__campo { flex: 1; min-width: 0; font-family: var(--sans); font-size: clamp(1rem, .88rem + .45vw, 1.3rem); line-height: 1.4; color: #EDE9F6; text-wrap: pretty; }
.chat__cosa { color: #fff; background: linear-gradient(rgba(69, 92, 255, .75), rgba(69, 92, 255, .75)) 0 100% / 100% 2px no-repeat; }
.chat__cursor { display: inline-block; width: 2px; height: 1.12em; margin-left: 2px; vertical-align: -.18em; background: var(--electrico); animation: chat-parpadeo 1.05s steps(1) infinite; }
.chat__enviar { flex: none; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: var(--electrico); color: #fff;
  box-shadow: 0 12px 30px -10px rgba(69, 92, 255, .95); transition: transform .4s cubic-bezier(.3, .7, .2, 1); }
.chat__enviar svg { width: 26px; height: 26px; overflow: visible; translate: -1px 1px; }
.chat__avion { fill: currentColor; stroke: currentColor; stroke-width: 1.2; stroke-linejoin: round; }
.chat__doblez { fill: none; stroke: var(--electrico); stroke-width: 1.4; stroke-linecap: round; }
.turno__chat.chat--latido .chat__enviar { animation: chat-latido 1.6s ease-out 2; }
.turno__chat.chat--enviado .chat__enviar svg { animation: chat-vuela .7s cubic-bezier(.55, 0, .75, .3) forwards; }
.turno__pista { font-family: var(--sans); font-size: var(--t-pie); line-height: 1.5; color: var(--texto-noche); padding-left: 30px; }
.turno__otro { display: inline-flex; align-items: center; min-height: 44px; margin-left: .6em; font-family: var(--sans); font-size: var(--t-pie); color: #EDE9F6; text-underline-offset: 4px; }
.turno__chat:focus-visible, .turno__otro:focus-visible { outline: 2px solid #EDE9F6; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .turno__chat:hover { border-color: rgba(237, 233, 246, .32); background-color: rgba(237, 233, 246, .085); transform: translateY(-2px); }
  .turno__chat:hover .chat__enviar { transform: rotate(-14deg) scale(1.07); }
}
@keyframes chat-parpadeo { 50% { opacity: 0; } }
@keyframes chat-latido { 0% { box-shadow: 0 0 0 0 rgba(69, 92, 255, .6), 0 12px 30px -10px rgba(69, 92, 255, .95); } 100% { box-shadow: 0 0 0 18px rgba(69, 92, 255, 0), 0 12px 30px -10px rgba(69, 92, 255, .95); } }
@keyframes chat-vuela { 0% { translate: -1px 1px; opacity: 1; } 60% { translate: 26px -22px; opacity: 0; } 61% { translate: -26px 22px; opacity: 0; } 100% { translate: -1px 1px; opacity: 1; } }
@media (max-width: 600px) {
  .turno__chat { min-height: 68px; padding: 8px 8px 8px 20px; gap: 10px; border-radius: 34px; }
  .chat__enviar { width: 50px; height: 50px; }
  .turno__pista { padding-left: 20px; }
  .turno__otro { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .chat__cursor { display: none; } .turno__chat, .chat__enviar { transition: none; } }
.creditos__rodaje { position: relative; height: 100svh; }
.rodaje { position: absolute; inset: 0; overflow: hidden; background: var(--noche); }
.rodaje__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 86% 50%;
  -webkit-mask-image: linear-gradient(transparent, #000 24%, #000 76%, transparent); mask-image: linear-gradient(transparent, #000 24%, #000 76%, transparent); }
.rodaje__fundido { position: absolute; inset: 0; z-index: 3; background: var(--noche); pointer-events: none; }
.rodaje__lista { position: absolute; z-index: 2; left: var(--margen); right: var(--margen); top: 0; max-width: 34rem; text-shadow: 0 1px 18px rgba(22, 14, 35, .9); }
.rodaje__presenta { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .24em; text-transform: uppercase; color: var(--electrico); }
.rodaje__obra { margin: .35em 0 1.4em; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-sub); line-height: 1.05; color: #EDE9F6; }
.rodaje__creditos { display: grid; gap: 26px; }
.rodaje__creditos dt { font-family: var(--sans); font-weight: 600; font-size: var(--t-etiqueta); letter-spacing: .18em; text-transform: uppercase; color: var(--electrico); }
.rodaje__creditos dd { margin: 4px 0 0; font-family: var(--serif); font-size: clamp(1.45rem, 1.2rem + 1vw, 2rem); line-height: 1.15; color: #F1EEF8; }
.rodaje__creditos dd.rodaje__chico { font-family: var(--sans); font-size: .9375rem; line-height: 1.5; color: var(--texto-noche); }
.rodaje__nadie { margin-top: 2.2em; font-family: var(--mano); font-size: 1.5rem; line-height: 1.15; color: var(--electrico); }
.creditos__final { position: relative; display: flex; flex-direction: column; min-height: 100svh; }
.colofon { max-width: 34rem; margin: 0 auto; padding: 112px var(--margen) 0; text-align: center; transition: opacity 1s; }
.colofon__estrella { width: 28px; height: auto; margin: 0 auto 18px; color: var(--electrico); }
.colofon__texto { font-family: var(--serif); font-style: italic; font-size: var(--t-texto); line-height: 1.6; color: var(--texto-noche); }
.colofon__enlaces { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 24px; margin-top: 18px; font-family: var(--sans); font-size: var(--t-pie); }
.colofon__enlaces a { display: inline-flex; align-items: center; min-height: 44px; color: #EDE9F6; text-underline-offset: 3px; }
.gigante { position: relative; margin-top: auto; padding-top: 40px; }
.gigante__fin { margin-bottom: 26vw; text-align: center; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: var(--t-sub); color: #EDE9F6; opacity: 0; }
.gigante__marco { position: relative; translate: 0 16%; }
.gigante__nombre { font-family: var(--display); font-weight: 400; font-variation-settings: "opsz" 96; font-size: 23vw; line-height: .8; letter-spacing: -.05em; white-space: nowrap; text-align: center; color: var(--electrico); user-select: none; }
.gigante__nombre span { display: block; }
.gigante__basti { position: absolute; z-index: 2; right: 4%; bottom: calc(100% - 4.6vw); width: 27vw; }
.gigante__basti > svg:first-child { display: block; width: 100%; height: auto; }
.gigante__ojos { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; opacity: 0; filter: drop-shadow(0 0 5px rgba(243, 231, 168, .95)); }
.gigante__ojos path { fill: #F3E7A8; }
@media (min-width: 861px) {
  .calle-noche { height: 58vh; }
  .calle-noche__pano { left: 50%; width: auto; height: 100%; aspect-ratio: 2000 / 837; translate: -50% 0; transform-origin: 50% 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
  .creditos__cabeza { padding-top: 120px; }
  .creditos__estrella { top: 124px; }
  .creditos__luz { position: absolute; right: var(--margen); top: 218px; max-width: 26ch; margin: 0; text-align: right; }
  .creditos__turno { padding: 140px var(--margen); }
  .rodaje__lista { left: max(var(--margen), 7vw); }
  .gigante__fin { margin-bottom: 15vw; }
  .gigante__marco { translate: 0 22%; }
  .gigante__nombre { font-size: 14vw; line-height: .74; }
  .gigante__nombre span { display: inline; }
  .gigante__basti { width: 16vw; right: 8%; bottom: calc(100% - 2.2vw); }
}
.creditos.quieto .calle-noche__vitrina, .creditos.quieto .calle-noche__ventana { opacity: 1; }
.creditos.quieto .rodaje__fundido { display: none; }
.creditos.quieto .creditos__rodaje { height: auto; }
.creditos.quieto .rodaje { position: relative; min-height: 100svh; }
.creditos.quieto .rodaje__lista { position: relative; left: 0; right: 0; padding: 96px var(--margen); }
.creditos.quieto .gigante__fin { opacity: 1; }
.turno__preguntas { justify-self: start; min-height: 44px; margin-left: 30px; padding: 0; border: 0; background: none; font-family: var(--sans); font-size: var(--t-pie);
  color: #EDE9F6; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.turno__preguntas:focus-visible { outline: 2px solid #EDE9F6; outline-offset: 4px; }
.preguntas { width: min(100% - 24px, 580px); max-height: min(100% - 24px, 920px); margin: auto; padding: 0; border: 0; border-radius: 4px; background: var(--papel);
  color: var(--tinta); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .6); overflow: auto; overscroll-behavior: contain; }
.preguntas::backdrop { background: rgba(14, 8, 26, .74); }
.preguntas__hoja { position: relative; display: grid; gap: 20px; padding: 30px 24px 26px; }
.preguntas__cerrar { position: absolute; top: 6px; right: 6px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: none;
  color: var(--tinta); cursor: pointer; }
.preguntas__cerrar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.preguntas__eti { color: var(--tinta-suave); }
.preguntas__titulo { margin-top: -10px; padding-right: 30px; font-family: var(--serif); font-weight: 300; font-size: clamp(1.6rem, 1.25rem + 1.5vw, 2.25rem); line-height: 1.08;
  letter-spacing: -.01em; text-wrap: balance; }
.preguntas__campo { display: grid; gap: 8px; }
.preguntas__p { display: flex; align-items: baseline; gap: 10px; padding: 0; font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1.3; }
.preguntas__n { font-family: var(--mono); font-size: .78rem; font-weight: 400; color: var(--tinta-suave); }
.preguntas__campo input { min-height: 48px; padding: 10px 12px; border: 1px solid rgba(30, 28, 37, .28); border-radius: 3px; background: #fff;
  font: 400 1rem/1.3 var(--sans); color: var(--tinta); }
.preguntas__campo input::placeholder { color: rgba(30, 28, 37, .45); }
.preguntas__campo input:focus-visible { outline: 2px solid var(--ultramar); outline-offset: 2px; }
.preguntas__grupo { display: flex; flex-wrap: wrap; gap: 8px; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.preguntas__grupo[hidden] { display: none; }
.preguntas__grupo > legend { float: left; width: 100%; margin-bottom: 4px; }
.preguntas__op { position: relative; display: inline-flex; }
.preguntas__op input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.preguntas__op span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 15px; border: 1px solid rgba(30, 28, 37, .28); border-radius: 999px;
  font: 400 .95rem/1.2 var(--sans); transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.preguntas__op input:checked + span { background: var(--ultramar); border-color: var(--ultramar); color: #fff; }
.preguntas__op input:focus-visible + span { outline: 2px solid var(--ultramar); outline-offset: 2px; }
.preguntas__precios { font-family: var(--serif); font-size: 1rem; line-height: 1.45; color: var(--tinta-suave); }
.preguntas__enviar { min-height: 52px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--ultramar); color: #fff; font: 600 1rem/1 var(--sans); cursor: pointer; }
.preguntas__enviar:focus-visible { outline: 2px solid var(--ultramar); outline-offset: 3px; }
.preguntas__nota { margin-top: -10px; font-family: var(--sans); font-size: .82rem; line-height: 1.45; color: var(--tinta-suave); }
.preguntas__listo:empty { display: none; }
.preguntas__listo { font-family: var(--serif); font-size: 1.08rem; line-height: 1.45; }
.preguntas__listo a { color: var(--ultramar); text-underline-offset: 3px; }
@media (max-width: 860px) {
  .turno__preguntas { margin-left: 20px; }
  .preguntas__hoja { padding: 28px 18px 22px; gap: 18px; }
}
@media (hover: hover) and (pointer: fine) {
  .preguntas__op span:hover { border-color: var(--ultramar); }
  .preguntas__enviar:hover { filter: brightness(1.08); }
}
.colofon__ganas { margin-top: 26px; font-family: var(--mano); font-size: clamp(1.35rem, 1.1rem + .7vw, 1.75rem); line-height: 1.2; color: #EDE9F6; rotate: -1.5deg; }
.colofon__ganas a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-underline-offset: 5px; }
.colofon__ganas a:focus-visible { outline: 2px solid #EDE9F6; outline-offset: 4px; }
.rodaje__dedicatoria { margin-top: 2.6em; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.65rem); line-height: 1.35; color: #EDE9F6; }
