
:root {
  --fondo: #F9F3EA;
  --fondo-hondo: #F3E8D9;
  --pared: #E3E2E6;
  --superficie: #F9F9FB;
  --texto: #151417;
  --texto-secundario: #6A686E;
  --linea: #CDCBD0;
  --accion: #D1A86B;
  --accion-luz: #E8D9BD;
  --accion-hondo: #BC8A4F;
  --accion-borde: #7F552A;
  --accion-texto: #151417;
  --foco: #151417;
  --error: #151417;
  --fondo-oscuro: #151417;
  --superficie-oscura: #252428;
  --texto-sobre-oscuro: #F2F0F3;
  --texto-secundario-sobre-oscuro: #AAA8AD;
  --foco-sobre-oscuro: #F2F0F3;

  --f-texto: "Archivo", "Archivo Respaldo", Arial, sans-serif;
  --f-etiqueta: "JetBrains Mono", ui-monospace, Consolas, monospace;

  --fs-h1: 2.75rem;
  --fs-cifra: 2.1875rem;
  --fs-h2: 1.8125rem;
  --fs-manifiesto: 1.25rem;
  --fs-h3: 1.5rem;
  --fs-destacado: 1.25rem;
  --fs-texto: 1rem;
  --fs-pequeno: 0.875rem;
  --fs-etiqueta: 0.875rem;

  --e-1: 0.5rem;
  --e-2: 1rem;
  --e-3: 1.5rem;
  --e-4: 2rem;
  --e-6: 3rem;
  --e-8: 4rem;
  --e-12: 6rem;
  --margen: clamp(1.5rem, 8vw - 0.5rem, 10rem);
  --margen-cab: clamp(1.25rem, 0.7rem + 2.25vw, 3rem);
  --calle: 24px;
  --seccion: clamp(4rem, 1.2rem + 7.5vw, 10rem);
  --cab-fila: 64px;
  --lanza: 0px;
  --cab: calc(var(--cab-fila) + var(--lanza));

  --curva: cubic-bezier(0.32, 0.72, 0, 1);
}
@media (min-width: 821px) {
  :root {
    --fs-h1: clamp(4.6875rem, 2.25rem + 2.708vw, 5.5rem);
    --fs-cifra: clamp(3.5rem, 2rem + 1.667vw, 4rem);
    --fs-h2: clamp(2.625rem, 1.5rem + 1.25vw, 3rem);
    --fs-manifiesto: clamp(2rem, 1.25rem + 0.9375vw, 2.25rem);
    --fs-h3: clamp(1.9375rem, 1.4375rem + 0.625vw, 2rem);
    --fs-destacado: clamp(1.4375rem, 0.9375rem + 0.625vw, 1.5rem);
    --fs-texto: clamp(1.0625rem, 0.5625rem + 0.625vw, 1.125rem);
    --fs-pequeno: clamp(0.875rem, 0.375rem + 0.625vw, 0.9375rem);
    --cab-fila: 72px;
    --margen-cab: clamp(2.5rem, 0.7rem + 2.25vw, 3rem);
  }
}

@property --w { syntax: "<length>"; inherits: true; initial-value: 0px; }
@property --k { syntax: "<length>"; inherits: true; initial-value: 0px; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.escena-imanes { scroll-snap-type: y proximity; }
html:not(.no-js):not(.escena-imanes) { scroll-padding-top: calc(var(--cab) + 16px); }
@media (max-width: 820px) {
  html:not(.no-js):not(.escena-imanes) { scroll-padding-bottom: calc(64px + env(safe-area-inset-bottom) + 16px); }
}
body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font-family: var(--f-texto);
  font-size: var(--fs-texto);
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  --sup: var(--fondo);
  --sup-alt: var(--superficie);
}
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
picture { display: block; }
figure { margin: 0; }
h1, h2, h3, h4 { margin: 0; font-family: var(--f-texto); color: inherit; text-wrap: balance; }
h1 { font-stretch: 62%; font-weight: 800; font-size: var(--fs-h1); line-height: 1.02; letter-spacing: -0.02em; }
h2 { font-weight: 500; font-size: var(--fs-h2); line-height: 1.1; letter-spacing: -0.02em; }
h3 { font-weight: 500; font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -0.01em; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
li { margin: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
strong, b { font-weight: 600; }
small { font-size: var(--fs-pequeno); }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--foco-actual, var(--foco)); outline-offset: 3px; }
::selection { background: var(--texto); color: var(--texto-sobre-oscuro); }

.contenedor { position: relative; z-index: 1; width: min(1200px, 100% - 2 * var(--margen)); margin-inline: auto; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.salto { position: absolute; left: var(--margen-cab); top: -200px; z-index: 100; padding: 12px 16px; background: var(--texto); color: var(--texto-sobre-oscuro); font-weight: 500; text-decoration: none; }
.salto:focus { top: 12px; }

.polvo { display: none; position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
html.polvo-vivo .polvo { display: block; }
.polvo--cerca { position: absolute; z-index: 3; }
@media (max-width: 820px) { html.polvo-vivo .polvo--cerca { display: none; } }
@media (prefers-reduced-motion: reduce) { html .polvo { display: none; } }

.luz {
  position: absolute;
  width: 560px;
  height: 560px;
  background: radial-gradient(closest-side, var(--superficie-oscura), transparent);
  pointer-events: none;
}

.pared-plata, .pared-champan, .pared-gris { position: relative; overflow: clip; background: none; }
.pared-plata::before, .pared-champan::before, .pared-gris::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.pared-plata { --sup: var(--superficie); --sup-alt: var(--superficie); }
.pared-plata::before { background: linear-gradient(180deg, var(--fondo) 0%, var(--pared) 16%, var(--superficie) 52%, var(--pared) 86%, var(--fondo) 100%); }
.pared-champan { --sup: var(--fondo); --sup-alt: var(--superficie); }
.pared-champan::before {
  background:
    linear-gradient(180deg, var(--fondo) 0%, transparent 12%, transparent 88%, var(--fondo) 100%),
    radial-gradient(ellipse 60% 70% at 50% 56%, var(--superficie) 0%, var(--fondo) 58%, var(--fondo-hondo) 100%);
}
.pared-gris { --sup: var(--linea); --sup-alt: var(--superficie); }
.pared-gris::before { background: linear-gradient(180deg, var(--fondo) 0%, var(--linea) 14%, var(--texto-secundario-sobre-oscuro) 55%, var(--linea) 86%, var(--fondo) 100%); }
:is(.pared-plata, .pared-gris) :is(.eyebrow, .fuente, .secundario) { color: var(--texto); }
.luz--clara {
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 640px;
  height: 640px;
  margin: -320px 0 0 -320px;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--superficie) 80%, transparent), transparent);
}
@media (max-width: 820px) { .luz--clara { width: 420px; height: 420px; margin: -210px 0 0 -210px; } }
.titulo-degradado { color: var(--texto); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .titulo-degradado {
    background-image: linear-gradient(180deg, var(--texto-secundario) 0%, var(--texto) 70%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  :is(.zona-oscura, .pagina-cab) .titulo-degradado { background-image: linear-gradient(180deg, var(--texto-secundario-sobre-oscuro) 0%, var(--texto-sobre-oscuro) 70%); }
}
@media (forced-colors: active) { .titulo-degradado { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; } }

.zona-oscura, .pagina-cab {
  background-color: var(--fondo-oscuro);
  color: var(--texto-sobre-oscuro);
  --sup: var(--fondo-oscuro);
  --foco-actual: var(--foco-sobre-oscuro);
}
:is(.zona-oscura, .pagina-cab) p { line-height: 1.6; letter-spacing: 0.01em; }

.reticula > .contenedor, .seccion:not(.pagina-cab) > .seccion__int {
  --reticula: var(--linea);
  --reticula-arriba: calc(var(--seccion) - 24px);
  --reticula-abajo: calc(var(--seccion) - 24px);
}
.zona-oscura.reticula > .contenedor { --reticula: var(--superficie-oscura); }
.reticula > .contenedor::before, .seccion:not(.pagina-cab) > .seccion__int::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-inline: 1px solid var(--reticula);
  background-origin: border-box;
  background-image:
    linear-gradient(var(--reticula), var(--reticula)),
    linear-gradient(var(--reticula), var(--reticula)),
    linear-gradient(var(--reticula), var(--reticula)),
    linear-gradient(var(--reticula), var(--reticula)),
    linear-gradient(var(--reticula), var(--reticula));
  background-size: 1px 100%;
  background-repeat: no-repeat;
  background-position:
    calc((100% - 120px) / 6 + 12px) 0,
    calc((100% - 120px) / 3 + 36px) 0,
    50% 0,
    calc((100% - 120px) * 2 / 3 + 84px) 0,
    calc((100% - 120px) * 5 / 6 + 108px) 0;
  -webkit-mask-image: linear-gradient(to bottom,
    var(--texto) var(--reticula-arriba), transparent var(--reticula-arriba),
    transparent calc(100% - var(--reticula-abajo)), var(--texto) calc(100% - var(--reticula-abajo)));
  mask-image: linear-gradient(to bottom,
    var(--texto) var(--reticula-arriba), transparent var(--reticula-arriba),
    transparent calc(100% - var(--reticula-abajo)), var(--texto) calc(100% - var(--reticula-abajo)));
  pointer-events: none;
}
@media (max-width: 820px) {
  .reticula > .contenedor::before, .seccion:not(.pagina-cab) > .seccion__int::before {
    background-image: linear-gradient(var(--reticula), var(--reticula));
    background-position: 50% 0;
  }
}

.etiqueta, .eyebrow {
  font-family: var(--f-etiqueta);
  font-weight: 500;
  font-size: var(--fs-etiqueta);
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.eyebrow { color: var(--texto-secundario); margin-bottom: 16px; }
:is(.zona-oscura, .pagina-cab) .eyebrow { color: var(--texto-secundario-sobre-oscuro); }
.etiqueta--punto::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--texto);
  vertical-align: 0.06em;
}
:is(.zona-oscura, .pagina-cab) .etiqueta--punto::before { background: var(--accion); }
.lead { font-size: var(--fs-destacado); font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; max-width: 26em; }
.secundario { color: var(--texto-secundario); }
.peq { font-size: 1rem; }
.fuente { font-size: var(--fs-pequeno); line-height: 1.45; color: var(--texto-secundario); }
.enlace {
  display: inline-block;
  padding-block: 12px;
  font-weight: 500;
  font-size: var(--fs-texto);
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.enlace:hover { text-decoration-thickness: 2px; }
.iva {
  margin-left: 6px;
  font-family: var(--f-texto);
  font-stretch: 100%;
  font-style: normal;
  font-weight: 400;
  font-size: var(--fs-pequeno);
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  color: var(--texto-secundario);
  white-space: nowrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px 0 22px;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: var(--f-etiqueta);
  font-weight: 500;
  font-size: var(--fs-etiqueta);
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  color: var(--texto);
  transition: background-color 0.2s var(--curva), color 0.2s var(--curva), border-color 0.2s var(--curva);
}
.btn::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--btn-punto, currentColor);
}

.boton-p {
  position: relative;
  align-items: stretch;
  padding: 0;
  border: 0;
  background: none;
  color: var(--accion-texto);
}
.boton-p::before { content: none; }
.boton-p__cara {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: inherit;
  padding: 0 22px;
  border: 1px solid var(--accion-borde);
  background: var(--accion);
  color: var(--accion-texto);
}
:is(.zona-oscura, .pagina-cab, .cabecera__movil, .barra-movil.sobre-oscuro) .boton-p__cara,
html:not(.cab-clara) .cabecera .boton-p__cara,
html.menu-abierto .cabecera .boton-p__cara { border-color: var(--accion); }
.boton-p__cara::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accion-texto);
}
.boton-p__cara::after, .boton-p__brillo {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 45%;
  background: linear-gradient(100deg, transparent 0%,
    color-mix(in srgb, var(--accion-luz) 90%, transparent) 40%,
    color-mix(in srgb, var(--superficie) 80%, transparent) 50%,
    color-mix(in srgb, var(--accion-luz) 90%, transparent) 60%,
    transparent 100%);
  transform: translateX(-150%) skewX(-18deg);
  pointer-events: none;
}
.boton-p:active .boton-p__cara { background: var(--accion-hondo); transform: translateY(1px); }
.boton-p:focus-visible { outline-offset: 4px; }
@media (hover: hover) {
  .boton-p:hover .boton-p__cara { background: color-mix(in srgb, var(--accion) 65%, var(--accion-luz)); }
  .boton-p:active .boton-p__cara { background: var(--accion-hondo); }
}
@keyframes boton-barrido {
  0%   { transform: translateX(-150%) skewX(-18deg); }
  28%  { transform: translateX(330%) skewX(-18deg); }
  100% { transform: translateX(330%) skewX(-18deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .boton-p__cara { transition: background-color 0.2s var(--curva), transform 0.09s; }
  .boton-p__cara::after { animation: boton-barrido 3.6s cubic-bezier(0.45, 0, 0.55, 1) infinite; }
  html:not(.no-js) .boton-p:not(.en-vista) .boton-p__cara::after { animation-play-state: paused; }
  .boton-p__brillo { transition: transform 0.8s cubic-bezier(0.45, 0, 0.55, 1); }
  @media (hover: hover) {
    .boton-p:hover .boton-p__cara::after { animation: none; }
    .boton-p:hover .boton-p__brillo { transform: translateX(330%) skewX(-18deg); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .boton-p__cara::after, .boton-p__brillo { display: none; }
}
.boton-p--grande { min-height: 64px; min-width: 320px; }
.boton-p--grande .boton-p__cara { padding: 0 40px; gap: 12px; font-size: 1rem; }
.boton-p--grande .boton-p__cara::before { width: 10px; height: 10px; }
@media (max-width: 820px) {
  .boton-p--grande { display: flex; width: 100%; max-width: 420px; min-width: 0; min-height: 56px; }
  .boton-p--grande .boton-p__cara { padding: 0 24px; }
}
.btn--secundario, .btn--tinta { --btn-punto: var(--texto); background: var(--sup, var(--fondo)); color: var(--texto); border-color: var(--texto-secundario); }
.btn--secundario:hover, .btn--tinta:hover { border-color: var(--texto); }
:is(.zona-oscura, .pagina-cab) :is(.btn--secundario, .btn--tinta) { --btn-punto: var(--accion); color: var(--texto-sobre-oscuro); border-color: var(--texto-secundario-sobre-oscuro); }
:is(.zona-oscura, .pagina-cab) :is(.btn--secundario, .btn--tinta):hover { border-color: var(--texto-sobre-oscuro); }
.btn--claro { --btn-punto: var(--texto); background: var(--superficie); color: var(--texto); border-color: var(--texto); }
.btn--claro:hover { --btn-punto: var(--texto-sobre-oscuro); background: var(--texto); color: var(--texto-sobre-oscuro); }
:is(.zona-oscura, .pagina-cab) .btn--claro { --btn-punto: var(--texto); background: var(--texto-sobre-oscuro); color: var(--texto); border-color: var(--texto-sobre-oscuro); }
:is(.zona-oscura, .pagina-cab) .btn--claro:hover { --btn-punto: var(--texto); background: var(--superficie); color: var(--texto); border-color: var(--superficie); }
.btn--ghost { background: var(--sup, var(--fondo)); color: var(--texto); border-color: var(--texto-secundario); }
.btn--ghost::before { content: none; }
.btn--ghost:hover { border-color: var(--texto); }

.acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }

.cabecera {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  --sup: transparent;
  --cab-bg: transparent;
  --cab-texto: var(--texto-sobre-oscuro);
  --cab-sec: var(--texto-secundario-sobre-oscuro);
  --cab-punto: var(--texto-sobre-oscuro);
  --cab-linea: transparent;
  --foco-actual: var(--foco-sobre-oscuro);
  background: var(--cab-bg);
  color: var(--cab-texto);
}
html:not(.no-js) .cabecera { position: fixed; }
.cabecera::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--cab-linea); pointer-events: none; }
html.cab-oscura .cabecera, html.menu-abierto .cabecera { --cab-bg: var(--fondo-oscuro); }
html.cab-clara:not(.menu-abierto) .cabecera {
  --cab-bg: var(--superficie);
  --cab-texto: var(--texto);
  --cab-sec: var(--texto-secundario);
  --cab-punto: var(--accion);
  --cab-linea: var(--linea);
  --foco-actual: var(--foco);
}
.cabecera__int { display: flex; align-items: center; gap: 28px; height: var(--cab-fila); padding-inline: var(--margen-cab); }










html.con-lanza { --lanza: 44px; }
@media (min-width: 1024px) { html.con-lanza { --lanza: 50px; } }
.lanza {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: var(--lanza); padding-inline: var(--margen-cab);
  background: linear-gradient(90deg, var(--fondo-oscuro) 8%, var(--superficie-oscura) 50%, var(--fondo-oscuro) 92%);
  color: var(--texto-sobre-oscuro);
  font-weight: 500; font-size: 1rem; line-height: 1.25; letter-spacing: 0;
}
.lanza::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent 10%, var(--accion) 50%, transparent 90%);
}
.lanza__larga, .lanza__corta { display: flex; align-items: center; margin: 0; white-space: nowrap; }
.lanza__parte { display: inline-flex; align-items: center; }
.lanza__sep { flex: none; width: 1px; height: 14px; margin-inline: 14px; background: color-mix(in oklab, var(--texto-secundario-sobre-oscuro) 45%, transparent); }
.lanza__rotulo {
  display: inline-flex; align-items: center;
  font-family: var(--f-etiqueta); font-weight: 500; font-size: var(--fs-etiqueta); line-height: 1; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--texto-secundario-sobre-oscuro);
}
.lanza__rotulo::before { content: ""; flex: none; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--accion); }
.lanza__n {
  margin-inline: 0.3em; font-stretch: 62%; font-weight: 800; font-size: 1.375rem; line-height: 1; letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums; color: var(--accion);
}
.lanza__larga .lanza__parte:last-child:not(.lanza__parte--plazas) { color: var(--texto-secundario-sobre-oscuro); }
.lanza__rayas { display: inline-flex; align-items: center; gap: 3px; margin-left: 12px; }
.lanza__rayas span { width: 3px; height: 12px; background: var(--accion); }
.lanza__rayas .es-ocupada { background: color-mix(in oklab, var(--texto-secundario-sobre-oscuro) 30%, transparent); }
.lanza .iva { color: var(--texto-secundario-sobre-oscuro); }
.lanza__corta { display: none; }
@media (max-width: 1023px) {
  .lanza__larga { display: none; }
  .lanza__corta { display: flex; }
  .lanza__sep { margin-inline: 12px; }
  .lanza__n { font-size: 1.25rem; }
}


@media (max-width: 400px) {
  .lanza__corta, .lanza__corta .iva { font-stretch: 87.5%; }
  .lanza__corta .lanza__sep { margin-inline: 8px; }
  .lanza__corta .lanza__n { margin-inline: 0.2em; }
}
.cabecera__logo {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-stretch: 62%;
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--cab-texto);
  text-decoration: none;
  white-space: nowrap;
}
.logo__punto { color: var(--accion); }
.cabecera__nav { display: none; margin-inline: auto; }
.cabecera__lista { display: flex; align-items: center; gap: 28px; }
.cabecera__enlace {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--f-etiqueta);
  font-weight: 500;
  font-size: var(--fs-etiqueta);
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cab-texto);
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  white-space: nowrap;
  cursor: pointer;
}
.cabecera__enlace:hover, .cabecera__enlace[aria-current="page"], .cabecera__drop-btn.es-activa { text-decoration: underline; }











.cabecera { --cab-oro: var(--accion); --cab-pieza: var(--superficie-oscura); --cab-pieza-borde: transparent; --cab-pieza-tinte: color-mix(in oklab, var(--superficie-oscura) 55%, var(--fondo-oscuro)); }
html.cab-clara:not(.menu-abierto) .cabecera { --cab-oro: var(--accion-borde); --cab-pieza: var(--fondo); --cab-pieza-borde: var(--linea); --cab-pieza-tinte: var(--fondo-hondo); }
.cabecera__nav { align-self: stretch; }
.cabecera__lista { height: 100%; }
.cabecera__drop { position: relative; align-self: stretch; display: flex; }
.cabecera__drop-btn {
  position: relative;
  z-index: 1;
  height: 100%;
  margin-inline: -14px;
  padding-inline: 14px;
}
.cabecera__drop-btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 10px 0 0;
  background: var(--cab-pieza);
  border: 1px solid var(--cab-pieza-borde);
  border-bottom: 0;
  opacity: 0;
  pointer-events: none;
}
.cabecera__oro {
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--cab-oro);
  opacity: 0;
  pointer-events: none;
}
.cabecera__drop-btn::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.cabecera__panel {
  position: absolute;
  top: 100%;
  left: -14px;
  z-index: 60;
  min-width: max(17rem, calc(100% + 28px));
  margin: 0;
  padding: 8px 0 12px;
  list-style: none;
  background: var(--cab-pieza);
  border: 1px solid var(--cab-pieza-borde);
  border-top: 0;
  visibility: hidden;
}
.cabecera__panel a {
  display: block;
  padding: 12px 20px;
  font-weight: 500;
  font-size: 1.0625rem;
  line-height: 1.3;
  color: var(--cab-texto);
  text-decoration: none;
  white-space: nowrap;
}
.cabecera__panel a > span {
  display: inline-block;
  padding-bottom: 4px;
  background: linear-gradient(var(--cab-oro), var(--cab-oro)) left bottom / 0% 1px no-repeat;
}
.cabecera__panel a:hover, .cabecera__panel a:focus-visible { background-color: var(--cab-pieza-tinte); }
.cabecera__panel a:hover > span, .cabecera__panel a:focus-visible > span, .cabecera__panel a[aria-current="page"] > span { background-size: 100% 1px; }
.cabecera__panel a:focus-visible { outline: 2px solid var(--foco-actual); outline-offset: -4px; }

.cabecera__drop.es-abierto .cabecera__drop-btn::before, .cabecera__drop.es-abierto .cabecera__oro { opacity: 1; }
.cabecera__drop.es-abierto .cabecera__drop-btn::after { transform: translateY(1px) rotate(225deg); }
.cabecera__drop.es-abierto .cabecera__panel { visibility: visible; }
@media (hover: hover) {
  html.no-js .cabecera__drop:hover .cabecera__drop-btn::before, html.no-js .cabecera__drop:hover .cabecera__oro { opacity: 1; }
  html.no-js .cabecera__drop:hover .cabecera__panel { visibility: visible; }
}

@media (prefers-reduced-motion: no-preference) {
  .cabecera__drop-btn::before { transition: opacity 140ms ease-in; }
  .cabecera__oro { opacity: 1; transform: scaleX(0); transition: transform 140ms ease-in; }
  .cabecera__drop-btn::after { transition: transform 180ms ease-in; }
  .cabecera__panel { clip-path: inset(0 0 100% 0); transition: clip-path 160ms ease-in, visibility 0s linear 160ms; }
  .cabecera__panel li { opacity: 0; transform: translateY(-6px); transition: opacity 100ms ease-in, transform 100ms ease-in; }
  .cabecera__panel a { transition: background-color 160ms ease; }
  .cabecera__panel a > span { transition: background-size 260ms var(--curva), transform 260ms var(--curva); }
  .cabecera__panel a:hover > span, .cabecera__panel a:focus-visible > span { transform: translateX(4px); }
  .cabecera__drop.es-abierto .cabecera__drop-btn::before { transition: opacity 200ms ease-out; }
  .cabecera__drop.es-abierto .cabecera__oro { transform: scaleX(1); transition: transform 320ms var(--curva) 40ms; }
  .cabecera__drop.es-abierto .cabecera__drop-btn::after { transition: transform 280ms var(--curva); }
  .cabecera__drop.es-abierto .cabecera__panel { clip-path: inset(0 0 0 0); transition: clip-path 280ms var(--curva), visibility 0s; }
  .cabecera__drop.es-abierto .cabecera__panel li { opacity: 1; transform: none; transition: opacity 220ms ease-out 80ms, transform 280ms var(--curva) 80ms; }
  .cabecera__drop.es-abierto .cabecera__panel li:nth-child(2) { transition-delay: 125ms; }
  .cabecera__drop.es-abierto .cabecera__panel li:nth-child(3) { transition-delay: 170ms; }
  .cabecera__drop.es-abierto .cabecera__panel li:nth-child(4) { transition-delay: 215ms; }
  html.no-js .cabecera__drop:hover .cabecera__oro { transform: scaleX(1); }
  html.no-js .cabecera__drop:hover .cabecera__panel { clip-path: inset(0 0 0 0); transition: none; }
  html.no-js .cabecera__drop:hover .cabecera__panel li { opacity: 1; transform: none; }
}
.cabecera__acc { display: flex; align-items: center; gap: 12px; margin-left: auto; }

.idioma { display: flex; align-items: center; }
.idioma__op {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding-left: 0.06em;
  font-family: var(--f-etiqueta);
  font-weight: 500;
  font-size: var(--fs-etiqueta);
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--cab-sec);
  text-decoration: none;
}
.idioma__op:hover { color: var(--cab-texto); }
.idioma__op[aria-current] { color: var(--cab-texto); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.idioma__sep { font-family: var(--f-etiqueta); font-size: var(--fs-etiqueta); line-height: 1; color: var(--cab-sec); }

.btn--cabecera { display: none; }

.cabecera__burger {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--cab-sec);
  color: var(--cab-texto);
  cursor: pointer;
}
.cabecera__burger-rayas { display: grid; gap: 6px; width: 18px; }
.cabecera__burger-rayas span { display: block; height: 1px; background: currentColor; }
.cabecera__burger[aria-expanded="true"] .cabecera__burger-rayas span:first-child { transform: translateY(3.5px) rotate(45deg); }
.cabecera__burger[aria-expanded="true"] .cabecera__burger-rayas span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.cabecera__movil {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow-y: auto;
  padding: calc(var(--cab) + 32px) var(--margen) calc(32px + env(safe-area-inset-bottom));
  background: var(--fondo-oscuro);
  color: var(--texto-sobre-oscuro);
  --sup: transparent;
  --foco-actual: var(--foco-sobre-oscuro);
}
.cabecera__movil-lista > li > a {
  display: block;
  padding: 8px 0;
  font-stretch: 62%;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-decoration: none;
}
.cabecera__movil-grupo { padding: 16px 0; }
.cabecera__movil-etq { margin-bottom: 4px; color: var(--texto-secundario-sobre-oscuro); }
.cabecera__movil-sub { display: block; padding: 10px 0; font-weight: 500; font-size: 1.25rem; line-height: 1.3; text-decoration: none; }
.cabecera__movil a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.cabecera__movil-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; }
.idioma--menu .idioma__op { color: var(--texto-secundario-sobre-oscuro); }
.idioma--menu .idioma__op[aria-current] { color: var(--texto-sobre-oscuro); }
html.menu-abierto { overflow: hidden; }



@media (min-width: 1280px) {
  .cabecera__nav { display: block; }
  .cabecera__acc { margin-left: 0; }
  .btn--cabecera { display: inline-flex; }
  .cabecera__burger, .cabecera__movil { display: none !important; }
}
@media (min-width: 1280px) and (max-width: 1439px) {
  .cabecera__int, .cabecera__lista { gap: 20px; }
  .cabecera__drop-btn::after { margin-left: 8px; }
}

.barra-movil { display: none; }
@media (max-width: 820px) {
  .barra-movil {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    padding: 8px var(--margen) calc(6px + env(safe-area-inset-bottom));
    background: var(--superficie);
    border-top: 1px solid var(--linea);
    --sup: var(--superficie);
    transform: translateY(100%);
    visibility: hidden;
    transition: transform 0.3s var(--curva), visibility 0s linear 0.3s;
  }
  .barra-movil.es-visible { transform: none; visibility: visible; transition: transform 0.3s var(--curva), visibility 0s; }
  .barra-movil.sobre-oscuro { background: var(--fondo-oscuro); border-top-color: var(--fondo-oscuro); --sup: var(--fondo-oscuro); --foco-actual: var(--foco-sobre-oscuro); }
  .barra-movil .boton-p { display: flex; width: 100%; min-height: 44px; }
}

.objeto { position: relative; container-type: inline-size; }
.objeto > * { --w: var(--ancho, 100cqw); }
.objeto--monitor > * { --k: calc(var(--w) / 0.613); }
.objeto--movil > * { --k: calc(var(--w) / 0.0696); }
.obj { position: relative; z-index: 0; width: var(--w); margin-inline: auto; perspective: 1600px; }
.inclina { transform-style: preserve-3d; }
.mon, .mov { position: relative; width: var(--w); transform-style: preserve-3d; }
.mon { height: calc(var(--k) * 0.391); }
.mov { height: calc(var(--k) * 0.14643); }
.mon > *, .mov > *, .mon .pie > * { position: absolute; display: block; max-width: none; margin: 0; }
.mon::before, .mov::before { content: ""; position: absolute; inset: 0; background: var(--fondo-oscuro); pointer-events: none; }
.mon::before { transform: translateZ(calc(var(--k) * -0.00865)); }
.mov::before { border-radius: calc(var(--k) * 0.0105); transform: translateZ(0); }
.mon > img, .mov > img, .mon .pie > img { height: auto; backface-visibility: hidden; }

.mon .pie { left: 0; top: 0; width: 100%; height: 100%; transform-style: preserve-3d; }
.objeto .pie { background: none; }
.mon .frente   { left: 0; top: 0; width: 100%; height: 100%; transform: translateZ(1.5px); }
.mon .pantalla { left: calc(var(--k) * 0.0065); top: calc(var(--k) * 0.0065); width: calc(var(--k) * 0.600); height: calc(var(--k) * 0.375);
                 overflow: clip; background: var(--fondo-oscuro); transform: translateZ(0.5px); }
.mon .reflejo  { left: calc(var(--k) * 0.0065); top: calc(var(--k) * 0.0065); width: calc(var(--k) * 0.600); height: calc(var(--k) * 0.375); transform: translateZ(1px); pointer-events: none; }
.mon .c-der { left: calc(var(--w) - var(--k) * 0.00935); top: 0; width: calc(var(--k) * 0.0187); height: 100%; transform: translateZ(calc(var(--k) * -0.00865)) rotateY(90deg); }
.mon .c-izq { left: calc(var(--k) * -0.00935); top: 0; width: calc(var(--k) * 0.0187); height: 100%; transform: translateZ(calc(var(--k) * -0.00865)) rotateY(-90deg); }
.mon .c-sup { left: 0; top: calc(var(--k) * -0.00935); width: 100%; height: calc(var(--k) * 0.0187); transform: translateZ(calc(var(--k) * -0.00865)) rotateX(90deg); }
.mon .c-inf { left: 0; top: calc(var(--k) * 0.38165); width: 100%; height: calc(var(--k) * 0.0187); transform: translateZ(calc(var(--k) * -0.00865)) rotateX(-90deg); }
.mon .cuello { left: calc(var(--w) / 2 - var(--k) * 0.043); top: calc(var(--k) * 0.2155); width: calc(var(--k) * 0.086); height: calc(var(--k) * 0.42); transform: translateZ(calc(var(--k) * -0.030)); }
.mon .cu-der { left: calc(var(--w) / 2 + var(--k) * 0.032); top: calc(var(--k) * 0.2155); width: calc(var(--k) * 0.022); height: calc(var(--k) * 0.42); transform: translateZ(calc(var(--k) * -0.041)) rotateY(90deg); }
.mon .cu-izq { left: calc(var(--w) / 2 - var(--k) * 0.054); top: calc(var(--k) * 0.2155); width: calc(var(--k) * 0.022); height: calc(var(--k) * 0.42); transform: translateZ(calc(var(--k) * -0.041)) rotateY(-90deg); }
.mon .cable { left: calc(var(--k) * 0.2865); top: calc(var(--k) * 0.2755); width: calc(var(--k) * 0.24); height: calc(var(--k) * 0.28); transform: translateZ(calc(var(--k) * -0.065)); }
.mon .cuello, .mon .cu-izq, .mon .cu-der {
  -webkit-mask-image: linear-gradient(to bottom, var(--texto) 40%, transparent 78%);
  mask-image: linear-gradient(to bottom, var(--texto) 40%, transparent 78%);
}
.mon .cable {
  -webkit-mask-image: linear-gradient(to bottom, var(--texto) 50%, transparent 92%);
  mask-image: linear-gradient(to bottom, var(--texto) 50%, transparent 92%);
}

.mov .frente   { left: 0; top: 0; width: 100%; height: 100%; transform: translateZ(calc(var(--k) * 0.0040 + 1px)); }
.mov .pantalla { left: calc(var(--k) * 0.0018); top: calc(var(--k) * 0.0018); width: calc(var(--k) * 0.066); height: calc(var(--k) * 0.14283);
                 overflow: clip; border-radius: calc(var(--k) * 0.007); background: var(--fondo-oscuro); transform: translateZ(calc(var(--k) * 0.0037)); }
.mov .reflejo  { left: calc(var(--k) * 0.0018); top: calc(var(--k) * 0.0018); width: calc(var(--k) * 0.066); height: calc(var(--k) * 0.14283);
                 object-fit: cover; object-position: 100% 0; transform: translateZ(calc(var(--k) * 0.0037 + 0.5px)); pointer-events: none; }
.mov .reflejo { clip-path: inset(0 round calc(var(--k) * 0.007)); }
.mon .pantalla, .mov .pantalla { backface-visibility: hidden; }
.mov .c-der { left: calc(var(--w) - var(--k) * 0.0040 - 1px); top: 0; width: calc(var(--k) * 0.0080 + 2px); height: 100%; transform: rotateY(90deg); clip-path: inset(7.9% 0); }
.mov .c-izq { left: calc(var(--k) * -0.0040 - 1px); top: 0; width: calc(var(--k) * 0.0080 + 2px); height: 100%; transform: rotateY(-90deg); clip-path: inset(7.9% 0); }
.mov .c-sup { left: 0; top: calc(var(--k) * -0.0040 - 1px); width: 100%; height: calc(var(--k) * 0.0080 + 2px); transform: rotateX(90deg); clip-path: inset(0 16.7%); }
.mov .c-inf { left: 0; top: calc(var(--k) * 0.14243 - 1px); width: 100%; height: calc(var(--k) * 0.0080 + 2px); transform: rotateX(-90deg); clip-path: inset(0 16.7%); }

.objeto__mesa { position: relative; z-index: 1; margin-top: calc(var(--k) * 0.105); }
.objeto--mesa { clip-path: inset(-100vh -200vw 1px -200vw); }
.objeto__mesa--oscura { height: 48px; margin-inline: -100vw; background: none; }
.objeto__mesa--clara { height: 24px; background: none; }
.objeto__mesa--paso { height: 8px; background: none; }

.pantalla__captura { position: absolute; inset: 0; overflow: clip; container-type: size; }
.pantalla__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: auto;
  animation: reproducir var(--dur, 60s) linear infinite;
}
.pantalla__captura[data-inicio] .pantalla__img { animation-delay: calc(var(--dur, 60s) * (-0.01 - 0.87 * var(--inicio, 0))); }
.pantalla__captura--quieta .pantalla__img { animation: none; transform: translate3d(0, calc((100cqh - 100%) * var(--inicio, 0)), 0); }
.pantalla--pausa .pantalla__img { animation-play-state: paused; }
@media (hover: hover) { :is(a, .pantalla):hover .pantalla__img { animation-play-state: paused; } }
@keyframes reproducir {
  0%   { transform: translate3d(0, 0, 0); animation-timing-function: linear; }
  1%   { transform: translate3d(0, 0, 0); animation-timing-function: linear; }
  88%  { transform: translate3d(0, calc(100cqh - 100%), 0); animation-timing-function: linear; }
  94%  { transform: translate3d(0, calc(100cqh - 100%), 0); animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1); }
  98%  { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .pantalla__img { animation: none; transform: translate3d(0, calc((100cqh - 100%) * var(--inicio, 0)), 0); }
}
.pantalla__inicio { position: absolute; top: 0; left: 0; width: 100%; max-width: none; height: auto; }
.pantalla__img[data-src] { visibility: hidden; }
html:not(.no-js) .pantalla__captura[data-espera] .pantalla__img { animation-play-state: paused; }

.marco__pie { margin-top: 16px; font-size: var(--fs-pequeno); line-height: 1.45; color: var(--texto-secundario); }
.pagina-cab .marco__pie { color: var(--texto-secundario-sobre-oscuro); }

.apertura { --sup: transparent; }
.apertura__int {
  position: relative;
  z-index: 1;
  container-type: inline-size;
  overflow-x: clip;
  --h1-div: 5.84;
  --h1-fs: min(calc((100cqw - 2 * var(--margen)) / var(--h1-div)), 13.5rem, 26vh);
  --cont: min(1200px, 100cqw - 2 * var(--margen));
  --cont-x: calc((100cqw - var(--cont)) / 2);
  --mw: 300px;
}
html[lang="ca"] .apertura__int { --h1-div: 4.78; }
.apertura__imanes { display: none; }
.apertura__fija { position: relative; }
.apertura__escenario { position: relative; }
.apertura__luz { z-index: 0; }
.apertura__mesa {
  display: none; position: absolute; z-index: 4; left: 0; right: 0;
  background-color: var(--fondo-oscuro);
  background-image: var(--charcos, radial-gradient(min(35%, 440px) 56px at var(--charco-x, 50%) 60px, var(--superficie-oscura), transparent));
  background-repeat: no-repeat;
}
.apertura__objeto::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: calc(var(--mw) * 0.8091);
  width: calc(var(--mw) * 1.2);
  height: 120px;
  margin-left: calc(var(--mw) * -0.6);
  background: radial-gradient(closest-side, var(--superficie-oscura), transparent);
  pointer-events: none;
}
@media (min-width: 821px) { html.escena-viva .apertura__objeto::after { content: none; } }
@media (max-width: 820px) {
  html.escena-montada .apertura__objeto::after { content: none; }
  .apertura__objeto::after { height: 90px; }
}
.apertura__titular {
  position: relative;
  z-index: 1;
  margin: 0;
  text-align: center;
  font-stretch: 62%;
  font-weight: 800;
  font-size: var(--h1-fs);
  line-height: 0.98;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-wrap: wrap;
}
.apertura__l1, .apertura__l2 { display: block; }
.apertura__l1 { color: var(--texto-secundario-sobre-oscuro); }
.apertura__l2 { color: var(--texto-secundario); font-style: italic; }
.apertura__rotulo { position: relative; z-index: 5; white-space: nowrap; color: var(--texto-secundario-sobre-oscuro); }
.apertura__objeto { position: relative; z-index: 2; width: var(--mw); }
.apertura__intro { position: relative; z-index: 5; }
.apertura__sub { font-size: var(--fs-destacado); font-weight: 400; line-height: 1.4; letter-spacing: 0; color: var(--texto-sobre-oscuro); }
.apertura__acciones { margin-top: 25px; flex-wrap: nowrap; }

.apertura__demos { padding-block: var(--seccion); }
.apertura__cab, .apertura__fila, .apertura__momentos, .apertura__pie { width: var(--cont); margin-inline: auto; }
.apertura__cab-rotulo { color: var(--texto-secundario-sobre-oscuro); }
.apertura__cab h2 { margin-top: 8px; }
.apertura__fila {
  --f-mon: 0.35;
  --f-mov: 0.10;
  --hueco: 48px;
  --lm: calc(var(--cont) * var(--f-mon) * 0.8091);
  position: relative;
  display: grid;
  grid-template-columns: calc(var(--cont) * var(--f-mon)) minmax(0, 1fr) calc(var(--cont) * var(--f-mon));
  align-items: start;
  margin-top: 64px;
  clip-path: inset(-100vh -200vw 1px -200vw);
}
.abanico__item { position: relative; display: grid; grid-template-rows: var(--lm) auto; color: inherit; text-decoration: none; }
.abanico__item--cendra { grid-column: 1; grid-row: 1; }
.abanico__item--masia { grid-column: 2; grid-row: 1; justify-self: center; width: calc(var(--cont) * var(--f-mov)); }
.abanico__item--poke { grid-column: 3; grid-row: 1; }
.abanico__objeto { position: relative; z-index: 1; grid-row: 1; }
.abanico__movil { align-self: end; margin-bottom: calc(var(--lm) - var(--cont) * var(--f-mon) * 0.6378); }
.abanico__nombre { position: relative; z-index: 3; grid-row: 2; justify-self: center; padding: 17px 0 24px; text-align: center; color: var(--texto-secundario-sobre-oscuro); }
.abanico__item:hover .abanico__nombre, .abanico__item:focus-visible .abanico__nombre { color: var(--texto-sobre-oscuro); text-decoration: underline; text-underline-offset: 4px; }
.abanico__item--masia .abanico__nombre { justify-self: center; white-space: nowrap; }
.apertura__fila-mesa {
  position: absolute; z-index: 2; top: var(--lm); bottom: 0; left: -100vw; right: -100vw;
  background-color: var(--fondo-oscuro);
  background-image:
    radial-gradient(calc(var(--cont) * var(--f-mon) * 0.45) 26px at calc(100vw + var(--cont) * var(--f-mon) * 0.5) 26px, var(--superficie-oscura), transparent),
    radial-gradient(calc(var(--cont) * var(--f-mov) * 0.9) 22px at calc(100vw + var(--cont) * 0.5) 26px, var(--superficie-oscura), transparent),
    radial-gradient(calc(var(--cont) * var(--f-mon) * 0.45) 26px at calc(100vw + var(--cont) * (1 - var(--f-mon) * 0.5)) 26px, var(--superficie-oscura), transparent);
  background-repeat: no-repeat;
}
.apertura__momentos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--calle); margin-top: 48px; }
.momento { display: flex; flex-direction: column; align-items: flex-start; }
.momento__tipo { color: var(--texto-secundario-sobre-oscuro); }
.momento__nombre { margin-top: 8px; }
.momento__texto { margin-top: 12px; max-width: 50ch; }
.momento__texto p + p { margin-top: 8px; }
.momento__enlace { margin-top: 4px; }
.apertura__pie { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); row-gap: 16px; align-items: start; margin-top: 64px; }
.apertura__pie-texto { grid-column: 1 / 4; }
.apertura__pie-texto p + p { margin-top: 8px; }
.apertura__pie-cierre { grid-column: 4 / 7; }
.apertura__ficticio { font-size: var(--fs-texto); color: var(--texto-secundario-sobre-oscuro); }

@media (min-width: 821px) {
  .apertura__int {
    --h1-top: calc(var(--cab) + var(--h1-aire, 24px));
    --h1-fin: calc(var(--h1-top) + var(--h1-fs) * 1.96);
    --mw: 32cqw;
    --mon-x: 44.5cqw;
    --mon-top: calc(var(--h1-fin) - 24px);
    --fila-top: calc(var(--h1-fin) + var(--fila-aire, 36px));
    --col: clamp(320px, 30cqw, 440px);
  }
  .apertura__escenario { height: calc(var(--mon-top) + var(--mw) * 0.8091 + 48px); }
  .apertura__titular { position: absolute; top: var(--h1-top); left: 0; right: 0; padding-inline: var(--margen); }
  .apertura__rotulo { margin-top: 28px; }
  .apertura__intro { position: absolute; top: var(--fila-top); right: var(--margen); width: var(--col); }
  .apertura__objeto { position: absolute; top: var(--mon-top); left: calc(var(--mon-x) - var(--mw) / 2); }
  .apertura__monitor .mon { transform: rotateX(10deg) rotateY(-16deg) rotateZ(3deg); }
  .apertura__luz { left: calc(var(--mon-x) - 280px); top: calc(var(--mon-top) + var(--mw) * 0.8091 - 280px); }
}



@media (min-width: 1024px) {
  html.con-lanza .apertura__int { --h1-aire: 18px; --fila-aire: 28px; }
}

@media (max-width: 820px) {
  .apertura__escenario { display: flex; flex-direction: column; min-height: 100svh; padding: calc(var(--cab) + 20px) var(--margen) 24px; }
  .apertura__rotulo { margin-top: 16px; }
  .apertura__objeto { margin: 24px auto 0; }
  .apertura__monitor .mon { transform: rotateX(8deg) rotateY(-10deg) rotateZ(2deg); }
  .apertura__monitor .objeto__mesa--oscura { height: 12px; }
  .apertura__intro { margin-top: 27px; }
  .apertura__acciones { gap: 16px; }
  .apertura__luz { left: 50%; margin-left: -280px; top: max(calc(var(--cab) + 20px + var(--h1-fs) * 1.96 + 24px + var(--mw) * 0.8091 - 280px), calc(var(--cab) + 20px + var(--h1-fs) * 1.96 + 8px)); }
  .apertura__fila { --f-mon: 0.386; --f-mov: 0.1345; --hueco: 16px; margin-top: 48px; }
  .abanico__nombre { padding: 17px 0 20px; }
  .abanico__item--masia .abanico__nombre { white-space: normal; }
  .apertura__momentos { grid-template-columns: minmax(0, 1fr); }
  .apertura__pie { grid-template-columns: minmax(0, 1fr); margin-top: 48px; }
  .apertura__pie-texto, .apertura__pie-cierre { grid-column: 1 / -1; }
}
@media (max-width: 820px) and (max-height: 700px) {
  .apertura__int { --mw: 220px; }
  .apertura__rotulo { margin-top: 12px; }
  .apertura__objeto { margin-top: 16px; }
  .apertura__intro { margin-top: 15px; }
  .apertura__sub { font-size: 1.125rem; }
  .apertura__acciones { margin-top: 20px; }
}

html.escena-viva .apertura__int { height: calc(100lvh + 360vh); }
html.escena-viva .apertura__fija { position: sticky; top: 0; height: 100lvh; overflow: clip; }
html.escena-viva .apertura__escenario { position: absolute; inset: 0; height: auto; min-height: 0; }
html.escena-viva .apertura__demos { position: absolute; inset: 0; padding: 0; pointer-events: none; }
html.escena-viva :is(.apertura__cab, .momento, .apertura__pie, .abanico__item) { visibility: hidden; opacity: 0; pointer-events: auto; }
html.escena-viva :is(.apertura__cab, .momento, .apertura__pie) { z-index: 5; }
html.escena-viva .apertura__cab, html.escena-viva .apertura__pie { position: absolute; top: 14%; margin: 0; width: calc(var(--cont) / 2 - var(--calle) / 2); }
html.escena-viva .apertura__cab { left: var(--cont-x); }
html.escena-viva .apertura__pie { right: var(--cont-x); display: block; }
html.escena-viva .apertura__pie-cierre { margin-top: 16px; }
html.escena-viva .apertura__momentos { display: block; width: auto; margin: 0; }
html.escena-viva .momento { position: absolute; top: 50%; translate: 0 -50%; width: var(--col); }
html.escena-viva .momento:nth-child(odd) { right: var(--margen); }
html.escena-viva .momento:nth-child(even) { left: var(--margen); }
html.escena-viva .apertura__fila { position: absolute; left: var(--cont-x); top: calc(88% - var(--lm)); margin: 0; clip-path: none; }
html.escena-viva .apertura__fila-mesa { display: none; }
html.escena-viva .abanico__objeto { z-index: 2; }
html.escena-viva .abanico__nombre { z-index: 5; }
@media (min-width: 821px) {
  html.escena-viva .apertura__monitor { clip-path: none; }
  html.escena-viva .apertura__monitor .objeto__mesa { display: none; }
  html.escena-viva .apertura__mesa { display: block; top: 100%; height: 100%; }
}
@media (max-width: 820px) {
  html.escena-viva .apertura__int { height: calc(100lvh + 240lvh + 32px); }
  html.escena-viva .apertura__mesa { display: block; top: 0; height: 12px; }
  html.escena-viva .apertura__mesa::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 120px; background: inherit; pointer-events: none; }
  html.escena-viva .apertura__monitor .objeto__mesa { visibility: hidden; }
  html.escena-viva .apertura__imanes { display: block; position: absolute; inset: 0; pointer-events: none; }
  .apertura__iman { position: absolute; left: 0; width: 1px; height: 1px; scroll-snap-align: start; scroll-snap-stop: always; }
  .apertura__iman:nth-child(1) { top: 0; }
  .apertura__iman:nth-child(2) { top: 60lvh; }
  .apertura__iman:nth-child(3) { top: 120lvh; }
  .apertura__iman:nth-child(4) { top: 180lvh; }
  .apertura__iman:nth-child(5) { top: 240lvh; }
  html.escena-viva .momento { left: var(--margen); right: var(--margen); width: auto; translate: none; }
  html.escena-viva .momento[data-momento="1"] { top: calc(var(--cab) + 24px + 0.8091 * var(--cont) + 36px); }
  html.escena-viva .momento[data-momento="2"] { top: calc(var(--cab) + 24px); }
  html.escena-viva .momento[data-momento="3"] { top: calc(var(--cab) + 24px + 140px * 2.104 + 37px); }
  html.escena-viva .apertura__cab { top: calc(var(--cab) + 24px); left: var(--margen); right: var(--margen); width: auto; }
  html.escena-viva .apertura__fila { top: calc(380px - var(--lm)); left: var(--margen); }
  html.escena-viva .apertura__pie { top: calc(380px + 72px); left: var(--margen); right: var(--margen); width: auto; }
}
@media (max-width: 820px) and (max-height: 700px) {
  html.escena-viva .apertura__pie-texto, html.escena-viva .apertura__pie-cierre .apertura__ficticio { display: none; }
  html.escena-viva .manifiesto__previo { display: block; grid-column: 1 / -1; grid-row: 1; margin-bottom: 64px; }
  html.escena-viva .manifiesto__previo p + p { margin-top: 8px; }
}

@media (prefers-reduced-motion: no-preference) {
  html.escena-carga .apertura__objeto .obj { animation: hero-sube 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s backwards; }
  html.escena-carga .apertura__objeto .mon { animation: hero-endereza 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s backwards; }


  html.escena-carga .apertura__objeto :is(.obj, .mon) { will-change: translate, rotate; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 820px) {
  html.escena-carga .apertura__objeto .obj { animation-name: hero-sube-movil; }
}
@keyframes hero-sube { from { translate: 0 60px; } to { translate: 0 0; } }
@keyframes hero-sube-movil { from { translate: 0 40px; } to { translate: 0 0; } }
@keyframes hero-endereza { from { rotate: x 12deg; } to { rotate: x 0deg; } }
@media (max-width: 820px) {
  html.escena-viva:not(.escena-montada) .apertura__mesa { display: none; }
  html.escena-viva:not(.escena-montada) .apertura__monitor .objeto__mesa { visibility: visible; }
}
@font-face {
  font-family: "Archivo Titular Respaldo";
  font-weight: 800;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), local("Roboto Bold"), local("Roboto-Bold"), local("Arial"), local("Roboto");
  size-adjust: 61%;
  ascent-override: 128%;
  descent-override: 38%;
}
.apertura__titular { font-family: "Archivo", "Archivo Titular Respaldo", "Archivo Respaldo", Arial, sans-serif; }
.apertura__l1, .apertura__l2 { white-space: nowrap; }

.sigue { position: absolute; z-index: 5; left: var(--margen); bottom: 24px; margin: 0; pointer-events: none; color: var(--texto-secundario-sobre-oscuro); }
.sigue__int { display: inline-flex; align-items: center; gap: 12px; }
.sigue.es-viva .sigue__int { pointer-events: auto; }
.sigue__linea { position: relative; display: block; flex: none; width: 1px; height: 24px; overflow: clip; background: color-mix(in oklab, var(--texto-secundario-sobre-oscuro) 35%, transparent); }
.sigue__linea::after { content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 10px; background: var(--texto-sobre-oscuro); transform: translateY(70%); }
@media (max-width: 820px) {
  .sigue { position: static; margin-top: auto; padding-top: 20px; }
}
html.escena-viva .sigue { position: absolute; top: 0; bottom: auto; left: var(--margen); margin: 0; padding: 0; }
@media (max-width: 820px) {
  html.escena-viva .sigue { left: auto; right: var(--margen); }
}
html.escena-viva:not(.escena-montada) .sigue { visibility: hidden; }
.sigue.sigue--fuera { visibility: hidden; }
@media (prefers-reduced-motion: no-preference) {
  html.escena-montada .sigue__int { animation: sigue-entra 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.4s backwards; }
  html.escena-montada .sigue.es-viva .sigue__linea::after { animation: sigue-baja 1.9s cubic-bezier(0.65, 0, 0.35, 1) infinite; }
  .sigue.es-viva .sigue__int:hover .sigue__linea::after { animation-play-state: paused; }
}
@keyframes sigue-entra { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@keyframes sigue-baja { 0% { transform: translateY(-100%); } 75%, 100% { transform: translateY(240%); } }

.manifiesto__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); align-items: center; padding-block: var(--seccion); }
.manifiesto__previo { display: none; }
.manifiesto__retrato { grid-column: 1 / 3; grid-row: 1; overflow: clip; }
.manifiesto__retrato img { width: 100%; }
.manifiesto__cuerpo { grid-column: 3 / 7; grid-row: 1; padding-left: var(--calle); }
.manifiesto__rotulo { font-weight: 600; font-size: var(--fs-destacado); line-height: 1.3; letter-spacing: 0; color: var(--texto-secundario-sobre-oscuro); }
.manifiesto__texto { margin-top: 24px; font-size: var(--fs-manifiesto); font-weight: 400; color: var(--texto-sobre-oscuro); }
.manifiesto .manifiesto__texto p { line-height: 1.2; letter-spacing: -0.01em; }
.manifiesto__texto p + p { margin-top: 0.35em; }
.manifiesto__nota { margin-top: 32px; max-width: 46ch; font-size: var(--fs-texto); color: var(--texto-sobre-oscuro); }
.manifiesto__accion { margin-top: 32px; }
@media (max-width: 820px) {
  .manifiesto__int { display: flex; flex-direction: column; align-items: stretch; }
  .manifiesto__retrato { order: 1; width: 100%; max-width: 420px; }
  .manifiesto__cuerpo { order: 2; margin-top: 32px; padding-left: 0; }
  .manifiesto__texto { margin-top: 16px; }
  .manifiesto .manifiesto__texto p { text-wrap: wrap; }
  .manifiesto__nota { margin-top: 24px; }
  .manifiesto__accion { margin-top: 24px; }
}

.paso-claro {
  height: clamp(240px, 45svh, 520px);
  background-color: var(--fondo);
  background-image: linear-gradient(to bottom,
    var(--fondo-oscuro) 0%,
    var(--superficie-oscura) 24%,
    var(--texto-secundario) 58%,
    var(--texto-secundario-sobre-oscuro) 79%,
    var(--linea) 90%,
    var(--fondo) 100%);
}
.paso-claro .paso-claro__mitad { height: 50%; background: none; }

:is(.dolores, .etapas, .packs, .faq--portada, .cierre) > .contenedor { padding-block: var(--seccion); }
.dolores__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto 1fr; column-gap: var(--calle); }
.dolores__titulo { grid-column: 1 / 4; grid-row: 1; }
.dolores__lista { grid-column: 1 / 4; grid-row: 2; margin-top: 48px; border-bottom: 1px solid var(--linea); }
.dolores__fotos { grid-column: 4 / 7; grid-row: 1 / 3; padding-left: var(--calle); }
.dolores__pila { position: sticky; top: calc(var(--cab) + 24px); }
.dolor { padding-block: 40px; border-top: 1px solid var(--linea); }
.dolor__cifra { font-stretch: 62%; font-weight: 800; font-size: var(--fs-h1); line-height: 1; letter-spacing: -0.01em; }
.dolor__titulo { margin-top: 16px; }
.dolor__texto { margin-top: 12px; max-width: 46ch; }
.dolor .fuente { margin-top: 12px; }
.dolores__foto { position: relative; overflow: clip; aspect-ratio: 4 / 5; background: var(--fondo-oscuro); }
.dolores__foto picture { position: absolute; inset: 0; }
.dolores__foto img { width: 100%; height: 100%; object-fit: cover; }
.dolores__foto--1 img { object-position: 50% 100%; }
.dolores__foto--2 img { object-position: 50% 75%; }
.dolores__foto--3 img { object-position: 50% 94%; }
@media (min-width: 821px) {
  html:not(.escena-viva) .dolores__pila { display: grid; gap: 24px; justify-items: center; }
  html:not(.escena-viva) .dolores__foto { width: min(100%, calc((100svh - var(--cab) - 120px) / 3 * 0.8)); }
  html.escena-viva .dolores__pila { width: min(100%, calc((100svh - var(--cab) - 72px) * 0.8)); aspect-ratio: 4 / 5; margin-left: auto; }
  html.escena-viva .dolores__foto { position: absolute; inset: 0; aspect-ratio: auto; }
  html.escena-viva .dolores__foto--1 { z-index: 3; }
  html.escena-viva .dolores__foto--2 { z-index: 2; }
  html.escena-viva .dolores__foto--3 { z-index: 1; }
}
@media (max-width: 820px) {
  .dolores__int { display: flex; flex-direction: column; }
  .dolores__fotos, .dolores__pila, .dolores__lista { display: contents; }
  .dolores__foto { width: 100%; max-width: 480px; }
  .dolores__foto--1 { order: 1; margin-top: 32px; }
  .dolor--1 { order: 2; }
  .dolores__foto--2 { order: 3; margin-top: 48px; }
  .dolor--2 { order: 4; }
  .dolores__foto--3 { order: 5; margin-top: 48px; }
  .dolor--3 { order: 6; }
  .dolor { padding-block: 24px 0; border-top: 0; }
}

.etapas__titulo { max-width: calc((100% - 5 * var(--calle)) / 6 * 4 + 3 * var(--calle)); }
.etapas__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--calle); align-items: start; margin-top: 64px; }
.etapa { --sup: var(--superficie); background: var(--superficie); padding: 24px; }
.etapa:nth-child(2) { margin-top: 32px; }
.etapa:nth-child(3) { margin-top: 64px; }
.etapa__cuadro { position: relative; aspect-ratio: 1; background: var(--linea); overflow: clip; }
.etapa__foto picture { position: absolute; inset: 0; }
.etapa__foto img { width: 100%; height: 100%; object-fit: cover; }
.etapa h3 { margin-top: 24px; }
.etapa__texto { margin-top: 12px; }
@media (min-width: 821px) and (max-width: 1360px) { .etapa__texto { font-size: 1rem; } }
.etapa__texto p + p { margin-top: 8px; }
.etapas__accion { margin-top: 64px; text-align: center; }
@media (max-width: 820px) {
  .etapas__lista { grid-template-columns: minmax(0, 1fr); row-gap: 24px; margin-top: 48px; }
  .etapa:nth-child(2), .etapa:nth-child(3) { margin-top: 0; }
  .etapa__cuadro { width: 100%; }
  .etapas__accion { margin-top: 48px; }
}

.packs__titulo { max-width: calc((100% - 5 * var(--calle)) / 6 * 5 + 4 * var(--calle)); }
.packs__lista {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  column-gap: var(--calle);
  margin-top: 40px;
  border-block: 1px solid var(--linea);
}
.pack { position: relative; display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 10px; align-content: start; padding-block: 24px 28px; }
.pack + .pack::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--calle) / -2); width: 1px; background: var(--linea); }
@supports not (grid-template-rows: subgrid) { .pack { grid-row: auto; grid-template-rows: none; } }
.pack__para { max-width: 34ch; }
.pack__precio { margin-top: 4px; }
.pack__cifra { font-stretch: 62%; font-weight: 800; font-size: var(--fs-cifra); line-height: 1; letter-spacing: -0.01em; }
.pack__resto { margin-top: 6px; font-size: var(--fs-texto); }
.pack__lanz { margin-top: 8px; font-size: 1rem; font-weight: 600; line-height: 1.4; color: var(--texto); }
.pack__cuota { margin-top: 4px; font-size: 1rem; line-height: 1.45; }
.pack__plazo { font-size: 1rem; color: var(--texto-secundario); }
.lista-cuadro li { position: relative; padding-left: 20px; font-size: 1.0625rem; line-height: 1.5; }
.lista-cuadro li + li { margin-top: 6px; }
.lista-cuadro li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; background: var(--texto); }
.pack__puntos { margin-top: 4px; max-width: 46ch; }
.pack__puntos li { font-size: 1rem; line-height: 1.45; }
.pack__puntos li + li { margin-top: 4px; }
.packs__cta { margin-top: 28px; }
.packs__llamada { font-size: var(--fs-texto); line-height: 1.4; }
.packs__pie { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); margin-top: 48px; }
.packs__comun { grid-column: 1 / 4; }
.packs__comun p + p { margin-top: 8px; }
.packs__empieza { grid-column: 4 / 7; }
@media (max-width: 820px) {
  .packs__lista { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; margin-top: 32px; }
  .pack { grid-row: auto; grid-template-rows: none; row-gap: 10px; padding-block: 28px; }
  .pack + .pack { border-top: 1px solid var(--linea); }
  .pack + .pack::before { content: none; }
  .packs__cta { margin-top: 24px; flex-direction: column; align-items: stretch; gap: 12px; }
  .packs__cta .btn { width: 100%; }
  .packs__cta .enlace { align-self: flex-start; }
  .packs__pie { display: flex; flex-direction: column; gap: 16px; margin-top: 40px; }
}

.faq__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); align-items: start; }
.faq__titulo { grid-column: 1 / 5; grid-row: 1; margin-bottom: 48px; }
.faq__pista { grid-column: 1 / 3; grid-row: 2; align-self: stretch; }
.faq__fijo { position: sticky; top: calc(var(--cab) + 24px); }
.faq__foto { aspect-ratio: 4 / 5; overflow: clip; background: var(--linea); }
.faq__foto picture { position: absolute; inset: 0; }
.faq__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.faq__lista { grid-column: 3 / 7; grid-row: 2; border-bottom: 1px solid var(--linea); }
.faq--portada > .contenedor { padding-bottom: calc(var(--seccion) / 2); --reticula-abajo: calc(var(--seccion) / 2 - 24px); }
.faq.seccion .seccion__cab { max-width: calc((100% - 5 * var(--calle)) / 6 * 4 + 3 * var(--calle)); }
.faq.seccion .faq__lista { margin-left: calc((100% - 5 * var(--calle)) / 6 * 2 + 2 * var(--calle)); }
.faq__item { border-top: 1px solid var(--linea); }
.faq__item summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  list-style: none;
  cursor: pointer;
  font-weight: 500;
  font-size: var(--fs-destacado);
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__signo, .faq__item:not(.faq__item--signo) summary::after {
  flex: none;
  font-family: var(--f-etiqueta);
  font-weight: 500;
  font-size: var(--fs-etiqueta);
  line-height: 1.9;
}
.faq__item:not(.faq__item--signo) summary::after { content: "+"; }
.faq__item[open] .faq__signo, .faq__item[open]:not(.faq__item--signo) summary::after { transform: rotate(45deg); }
.faq__respuesta, .faq__item > p { padding-bottom: 24px; max-width: 50ch; }
@media (max-width: 820px) {
  .faq__int { grid-template-columns: minmax(0, 1fr); }
  .faq__titulo { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .faq__pista { grid-column: 1; grid-row: 2; margin-top: 32px; }
  .faq__fijo { position: relative; top: auto; }
  .faq__foto { aspect-ratio: 1; width: 100%; max-width: 480px; }
  .faq__foto img { object-position: 50% 70%; }
  .faq__lista { grid-column: 1; grid-row: 3; margin-top: 32px; }
  .faq.seccion .seccion__cab { max-width: none; margin-bottom: 32px; }
  .faq.seccion .faq__lista { margin-left: 0; }
}

.cierre > .contenedor { padding-top: calc(var(--seccion) / 2); --reticula-arriba: calc(var(--seccion) / 2 - 24px); }
.cierre__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); align-items: center; }
.cierre__foto { grid-column: 4 / 7; grid-row: 1; position: relative; aspect-ratio: 3 / 2; overflow: clip; background: var(--linea); }
.cierre__foto picture { position: absolute; inset: 0; }
.cierre__foto img { width: 100%; height: 100%; object-fit: cover; }
.cierre__cuerpo { grid-column: 1 / 4; grid-row: 1; padding-right: var(--calle); }
.cierre__texto p { margin-top: 24px; max-width: 45ch; }
.cierre__acciones { margin-top: 32px; }
@media (max-width: 820px) {
  .cierre__int { display: flex; flex-direction: column; align-items: stretch; }
  .cierre__foto { aspect-ratio: 4 / 5; width: 100%; max-width: 480px; }
  .cierre__cuerpo { margin-top: 32px; padding-right: 0; }
  .cierre__acciones { margin-top: 24px; flex-direction: column; align-items: stretch; gap: 12px; }
  .cierre__acciones .btn { width: 100%; }
  .cierre__acciones .enlace { align-self: flex-start; }
}

footer.pie {
  position: relative;
  overflow: clip;
  --pie-paso: clamp(160px, 26svh, 300px);
  color: var(--texto-sobre-oscuro);
  --sup: var(--fondo-oscuro);
}
@media (max-width: 820px) { footer.pie { --pie-paso: clamp(120px, 20svh, 200px); } }

.pie__paso {
  height: var(--pie-paso);
  background-color: var(--fondo-oscuro);
  background-image: linear-gradient(to bottom,
    var(--fondo) 0%,
    color-mix(in oklab, var(--fondo) 85%, var(--linea)) 6%,
    color-mix(in oklab, var(--fondo) 50%, var(--linea)) 13%,
    var(--linea) 20%,
    var(--texto-secundario-sobre-oscuro) 34%,
    var(--texto-secundario) 52%,
    var(--superficie-oscura) 78%,
    var(--fondo-oscuro) 100%);
}
.pie__paso .pie__paso-mitad { height: 50%; background: none; }

.pie__luces {
  position: absolute;
  z-index: 1;
  top: calc(var(--pie-paso) / 2);
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, var(--texto) 22%);
  mask-image: linear-gradient(180deg, transparent 0, var(--texto) 22%);
}
.pie__luz { z-index: 0; left: 50%; bottom: -120px; width: 720px; height: 720px; margin-left: -360px; }
@media (max-width: 820px) { .pie__luz { bottom: 0; width: 420px; height: 420px; margin-left: -210px; } }

.polvo--pie { position: absolute; z-index: 2; inset: auto 0 0 0; top: var(--pie-paso); height: calc(100% - var(--pie-paso)); }
.pie__noche-int { position: relative; z-index: 3; container-type: inline-size; padding-top: clamp(24px, 3vw, 48px); }
.pie__frase, .pie__enlaces, .pie__base { margin-inline: var(--margen-cab); }

.pie__noche .pie__frase {
  padding-bottom: 64px;
  border-bottom: 1px solid var(--superficie-oscura);
  font-weight: 400;
  font-size: max(var(--fs-manifiesto), 2.5cqw);
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: pretty;
  color: var(--texto-secundario-sobre-oscuro);
}
@media (min-width: 821px) { .pie__noche .pie__frase { text-align: justify; } }
.pie__servicio { color: var(--texto-sobre-oscuro); }




.pie__enlaces { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calle); row-gap: 40px; align-items: start; padding-top: 48px; }
.pie__grupo--web { grid-column: 1 / 3; }
.pie__grupo--google { grid-column: 3 / 5; }
.pie__grupo--packs { grid-column: 5 / 7; }
.pie__grupo--marca { grid-column: 7 / 9; }
.pie__grupo--hablamos { grid-column: 9 / 13; }
@media (min-width: 821px) and (max-width: 1279px) {
  .pie__grupo--web { grid-column: 1 / 5; }
  .pie__grupo--google { grid-column: 5 / 9; }
  .pie__grupo--packs { grid-column: 9 / 13; }
  .pie__grupo--marca { grid-column: 1 / 5; }
  .pie__grupo--hablamos { grid-column: 5 / 11; }
}
.pie__titulo { position: relative; margin-bottom: 16px; padding-bottom: 12px; color: var(--texto-secundario-sobre-oscuro); }
.pie__titulo::after { content: ""; position: absolute; left: 0; bottom: 0; width: 24px; height: 1px; background: var(--accion); }
.pie__grupo a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.pie__grupo a { display: inline-flex; align-items: center; min-width: 44px; min-height: 36px; font-weight: 500; font-size: var(--fs-texto); line-height: 1.3; color: var(--texto-sobre-oscuro); text-decoration: none; }
.pie__grupo a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pie__grupo a.pie__wa { color: var(--texto-secundario-sobre-oscuro); }
.pie__grupo a.pie__reservar::before { content: ""; flex: none; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--accion); }
.pie__noche .pie__nota { margin-bottom: 8px; max-width: 40ch; font-size: var(--fs-texto); line-height: 1.5; color: var(--texto-secundario-sobre-oscuro); }

.pie__noche .pie__nombre {
  position: relative;
  margin: 80px var(--margen-cab) 0;
  font-family: "Archivo", "Archivo Titular Respaldo", "Archivo Respaldo", Arial, sans-serif;
  font-stretch: 62%;
  font-weight: 800;
  font-size: calc((100cqw - 2 * var(--margen-cab)) / 3.52);
  line-height: 0.8;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--superficie);
}

.pie__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 48px; margin-top: 24px; padding-block: 8px 32px; border-top: 1px solid var(--superficie-oscura); }
.pie__legales { display: flex; flex-wrap: wrap; gap: 0 24px; }
.pie__legales a { display: inline-flex; align-items: center; min-height: 44px; color: var(--texto-secundario-sobre-oscuro); text-decoration: none; }
.pie__legales a:hover { color: var(--texto-sobre-oscuro); text-decoration: underline; }
.pie__noche .pie__copy { font-size: 1rem; line-height: 1.45; color: var(--texto-secundario-sobre-oscuro); }

@media (max-width: 820px) {
  .pie__noche .pie__frase { padding-bottom: 48px; }
  .pie__enlaces { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; padding-top: 40px; }
  .pie__grupo--web, .pie__grupo--packs { grid-column: 1 / 2; }
  .pie__grupo--google, .pie__grupo--marca { grid-column: 2 / 3; }
  .pie__grupo--hablamos { grid-column: 1 / -1; }
  .pie__grupo a { min-height: 44px; }
  .pie__noche .pie__nombre { margin-top: 48px; }
  .pie__base { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}





footer.pie { --pie-filo: 16px; background: color-mix(in oklab, var(--accion) 70%, var(--accion-luz)); }
@media (max-width: 820px) { footer.pie { --pie-filo: 8px; } }
.pie__paso {
  position: relative;
  z-index: 1;
  background-color: transparent;
  background-image: linear-gradient(to bottom,
    var(--fondo) 0%,
    color-mix(in oklab, var(--fondo) 70%, var(--accion-luz)) 30%,
    color-mix(in oklab, var(--accion-luz) 85%, transparent) 70%,
    transparent 100%);
}
.pie__oro {
  position: absolute;
  z-index: 0;
  left: 0; right: 0; bottom: 0;
  top: calc(var(--pie-paso) * 0.25);
  pointer-events: none;
  background:
    radial-gradient(60% 55% at 50% 100%, var(--accion-hondo) 0%, color-mix(in oklab, var(--accion-hondo) 0%, transparent) 100%),
    radial-gradient(90% 70% at 50% 100%, var(--accion) 0%, color-mix(in oklab, var(--accion) 0%, transparent) 100%);
}
.pie__noche { position: relative; margin: 0 var(--pie-filo) var(--pie-filo); background: var(--fondo-oscuro); }
.pie__luces { top: var(--pie-paso); left: var(--pie-filo); right: var(--pie-filo); bottom: var(--pie-filo); overflow: clip; }
.polvo--pie { top: 0; height: 100%; }



@media (max-width: 820px) {
  .pie__luces { display: none; }
  .pie__noche { background: radial-gradient(circle 210px at 50% calc(100% - 210px), var(--superficie-oscura), transparent), var(--fondo-oscuro); }
}

.seccion:not(.pagina-cab) { --sup: var(--fondo); --sup-alt: var(--superficie); }
.seccion__int { padding-block: var(--seccion); }
.seccion__int > .acciones { margin-top: 32px; }
.superficie-lino, .banda { background-color: var(--superficie); --sup: var(--superficie); --sup-alt: var(--fondo); }
.seccion.superficie-lino {
  --costura: clamp(40px, 5vw, 72px);
  background-image: linear-gradient(to bottom, var(--fondo) 0, var(--superficie) var(--costura), var(--superficie) calc(100% - var(--costura)), var(--fondo) 100%);
}
.pagina-cab + .seccion.superficie-lino { background-image: linear-gradient(to bottom, var(--superficie) calc(100% - var(--costura)), var(--fondo) 100%); }
.seccion__cab { margin-bottom: 48px; }
.seccion__cab .eyebrow + h2 { margin-top: 0; }
.seccion__cab .lead { margin-top: 16px; }
.seccion__int > :where(h2 + *) { margin-top: 32px; }
.seccion :where(p + p, p + ul, ul + p, ol + p, p + ol, .lista-def + p, .tabla-env + p, .rejilla-2 + p) { margin-top: 16px; }
.seccion p, .seccion li > span { max-width: 50ch; }
.seccion p.lead { max-width: 26em; }

.pagina-cab .seccion__int {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: var(--calle);
  align-items: start;
  padding-top: calc(var(--cab) + 96px);
  padding-bottom: 96px;
}
.pagina-cab { overflow: clip; }
.pagina-cab__texto { display: contents; }
.pagina-cab .eyebrow { grid-column: 1 / -1; grid-row: 1; }
.pagina-cab h1 { grid-column: 1 / -1; grid-row: 2; color: var(--texto-sobre-oscuro); }
.pagina-cab .lead { grid-column: 1 / 4; grid-row: 3; margin-top: 32px; font-weight: 400; line-height: 1.4; letter-spacing: 0; color: var(--texto-secundario-sobre-oscuro); }
.pagina-cab .acciones, .pagina-cab__texto > p:not(.eyebrow):not(.lead) { grid-column: 1 / 4; grid-row: 4; margin-top: 32px; }
.pagina-cab__objeto, .pagina-cab__marco { position: relative; grid-column: 4 / 7; grid-row: 3 / span 3; margin-top: 32px; }
.pagina-cab__luz { z-index: -1; left: 50%; top: 32%; margin: -280px 0 0 -280px; }
.pagina-cab__pantalla .mon { transform: rotateY(-10deg) rotateX(4deg); }
.pagina-cab--partida .pagina-cab__foto { grid-column: 5 / 7; grid-row: 3 / span 3; margin-top: 32px; }
.pagina-cab__foto img { width: 100%; }
@media (min-width: 821px) {
  .pagina-cab h1 { font-size: clamp(4.6875rem, 2.25rem + 2.708vw, 5rem); }
}
@media (max-width: 820px) {
  .pagina-cab .seccion__int { grid-template-columns: minmax(0, 1fr); padding-top: calc(var(--cab) + 40px); padding-bottom: 56px; }
  .pagina-cab .eyebrow, .pagina-cab h1, .pagina-cab .lead, .pagina-cab .acciones, .pagina-cab__texto > p:not(.eyebrow):not(.lead),
  .pagina-cab__objeto, .pagina-cab__marco, .pagina-cab--partida .pagina-cab__foto { grid-column: 1; grid-row: auto; }
  .pagina-cab .lead { margin-top: 24px; }
  .pagina-cab .acciones, .pagina-cab__texto > p:not(.eyebrow):not(.lead) { margin-top: 24px; }
  .pagina-cab__objeto, .pagina-cab__marco { margin-top: 48px; }
  .pagina-cab--partida .pagina-cab__foto { order: 2; width: 60%; margin-top: 48px; }
  .pagina-cab__pantalla .mon { transform: rotateY(-6deg) rotateX(3deg); }
}

.cifra-cartel { font-stretch: 62%; font-weight: 800; font-size: var(--fs-cifra); line-height: 1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.cifra-cartel--h1 { font-size: var(--fs-h1); line-height: 1.02; letter-spacing: -0.02em; }
@media (min-width: 821px) { .cifra-cartel--h1 { font-size: clamp(4.6875rem, 2.25rem + 2.708vw, 5rem); } }
.foto { position: relative; overflow: clip; background: var(--linea); }
.foto picture { position: absolute; inset: 0; }
.foto img { width: 100%; height: 100%; object-fit: cover; }
.foto--219 { aspect-ratio: 21 / 9; }
.foto--169 { aspect-ratio: 16 / 9; }
.foto--45 { aspect-ratio: 4 / 5; }
.foto--32 { aspect-ratio: 3 / 2; }
.foto--11 { aspect-ratio: 1; }
:is(.zona-oscura, .pagina-cab) .foto { background: var(--superficie-oscura); }

.llamada { padding-block: calc(var(--seccion) * 1.25); }
.llamada__int { display: flex; flex-direction: column; align-items: center; width: min(860px, 100% - 2 * var(--margen)); text-align: center; }
.llamada__titulo { font-stretch: 62%; font-weight: 800; font-size: var(--fs-h1); line-height: 1.02; letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 821px) { .llamada__titulo { font-size: clamp(4.6875rem, 2.25rem + 2.708vw, 5rem); } }
.llamada__texto { margin-top: 24px; max-width: 40ch; font-size: var(--fs-destacado); font-weight: 400; line-height: 1.35; letter-spacing: -0.01em; color: var(--texto); }
.llamada__texto + .llamada__texto { margin-top: 8px; }
.llamada__accion { display: flex; justify-content: center; width: 100%; margin-top: 40px; }
.llamada__nota { margin-top: 16px; font-size: 1rem; color: var(--texto); }
.llamada__otro { margin-top: 12px; }
@media (max-width: 820px) {
  .llamada { padding-block: 64px; }
  .llamada__accion { margin-top: 32px; }
}

.relacionados { display: block; padding-bottom: 96px; }
.relacionados__titulo { margin-bottom: 24px; color: var(--texto-secundario); }
.relacionados__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--calle); }
.relacionados__lista li { border-top: 1px solid var(--texto); border-bottom: 1px solid var(--linea); }
.relacionado { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; min-height: 88px; padding-block: 28px; color: var(--texto); text-decoration: none; }
.relacionado__nombre { font-weight: 500; font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -0.01em; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.relacionado:hover .relacionado__nombre, .relacionado:focus-visible .relacionado__nombre { text-decoration-thickness: 2px; }
.relacionado__ir { flex: none; font-family: var(--f-etiqueta); font-size: 1.25rem; line-height: 1; }
@media (max-width: 820px) {
  .relacionados { padding-bottom: 64px; }
  .relacionados__lista { grid-template-columns: minmax(0, 1fr); }
  .relacionados__lista li + li { border-top: 0; }
  .relacionado { min-height: 72px; padding-block: 22px; }
}

[data-grafico] {
  --g-linea: var(--texto);
  --g-linea-suave: var(--linea);
  --g-barra-fuerte: color-mix(in srgb, var(--texto) 55%, transparent);
  --g-barra: color-mix(in srgb, var(--texto-secundario) 40%, transparent);
  --g-barra-suave: color-mix(in srgb, var(--texto-secundario) 22%, transparent);
  --g-estrella: var(--texto);
  --g-estrella-vacia: var(--texto-secundario);
  --g-fondo: var(--superficie);
  --g-texto: var(--texto);
  --g-sec: var(--texto-secundario);
  position: relative;
  color: var(--g-texto);
}
:is(.pagina-cab, .zona-oscura) [data-grafico] {
  --g-linea: color-mix(in srgb, var(--texto-secundario-sobre-oscuro) 45%, transparent);
  --g-linea-suave: color-mix(in srgb, var(--texto-secundario-sobre-oscuro) 22%, transparent);
  --g-barra-fuerte: color-mix(in srgb, var(--texto-secundario-sobre-oscuro) 70%, transparent);
  --g-barra: color-mix(in srgb, var(--texto-secundario-sobre-oscuro) 38%, transparent);
  --g-barra-suave: color-mix(in srgb, var(--texto-secundario-sobre-oscuro) 20%, transparent);
  --g-estrella: var(--texto-sobre-oscuro);
  --g-estrella-vacia: var(--texto-secundario-sobre-oscuro);
  --g-fondo: var(--superficie-oscura);
  --g-texto: var(--texto-sobre-oscuro);
  --g-sec: var(--texto-secundario-sobre-oscuro);
}
[data-grafico] .etiqueta { color: var(--g-sec); }
.g-ico { display: block; flex: none; width: 20px; height: 20px; }
.g-ico--trazo { fill: none; stroke: currentColor; stroke-width: 1.5; }
.g-ico--flecha { width: 40px; height: 12px; stroke-width: 1; overflow: visible; }
.g-ico--bajar { width: 12px; height: 32px; stroke-width: 1; overflow: visible; }
.g-ico--nfc { width: 40px; height: 40px; stroke-width: 2; }
.g-estrellas { display: inline-flex; flex: none; gap: 3px; color: var(--g-estrella-vacia); }
.g-estrella { display: block; width: 14px; height: 14px; }
.g-estrella .g-ico { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; }
.g-estrella.es-llena { color: var(--g-estrella); }
.g-estrella.es-llena .g-ico { fill: currentColor; stroke: none; }
.g-barra { display: block; flex: none; height: 10px; background: var(--g-barra); }
.g-barra--nombre { width: 62%; height: 12px; background: var(--g-barra-fuerte); }
.g-barra--corta { width: 28%; height: 8px; }
.g-barra--texto { width: 100%; height: 8px; background: var(--g-barra-suave); }
.g-punto { display: block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--accion); box-shadow: 0 0 0 5px color-mix(in srgb, var(--accion) 22%, transparent); }
.g-toque { position: absolute; right: -14px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border: 1.5px solid color-mix(in srgb, var(--accion) 60%, transparent); border-radius: 50%; pointer-events: none; }
.g-toque::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--accion); }

.problema__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); align-items: center; }
.problema__int > div { grid-column: 1 / 5; }
.problema__int > div > h2 + * { margin-top: 32px; }
.problema__movil { grid-column: 5 / 7; justify-self: center; width: min(100%, 260px); }
.problema__movil figcaption { text-align: center; }
@media (max-width: 820px) {
  .problema__int { grid-template-columns: minmax(0, 1fr); }
  .problema__int > div, .problema__movil { grid-column: 1; }
  .problema__movil { width: 60%; margin-top: 40px; }
}
.captura-ancha { margin-top: 48px; }

.lista-check { max-width: 56rem; }
.lista-check li { position: relative; padding-left: 22px; }
.lista-check li + li { margin-top: 10px; }
.lista-check li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; background: var(--texto); }
.lista-check li > a:only-child { display: inline-block; padding-block: 10px; margin-block: -10px; }
.lista-num { counter-reset: n; max-width: 56rem; border-top: 1px solid var(--linea); }
.lista-num li { counter-increment: n; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--linea); }
.lista-num li::before { content: counter(n); font-weight: 600; font-size: var(--fs-destacado); line-height: 1; }
.lista-def { max-width: 50ch; border-top: 1px solid var(--linea); }
.lista-def li { padding: 20px 0; border-bottom: 1px solid var(--linea); }
.lista-def strong { display: block; font-weight: 600; }
.lista-def--doscol strong { margin-bottom: 4px; font-size: var(--fs-destacado); line-height: 1.3; letter-spacing: -0.01em; }
.lista-def--doscol span { display: block; }
.lista-def--doscol strong .iva { display: inline; }

.pasos--vertical .pasos__lista { counter-reset: paso; max-width: 64rem; border-top: 1px solid var(--linea); }
.pasos--vertical .pasos__lista li { counter-increment: paso; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--linea); }
.pasos--vertical .pasos__lista li::before { content: counter(paso); font-weight: 600; font-size: var(--fs-destacado); line-height: 1.3; }
.pasos--vertical h3 { font-size: var(--fs-destacado); line-height: 1.3; }
.pasos--vertical h3 + p { margin-top: 8px; }

.rejilla-2, .rejilla-3 { display: grid; gap: var(--calle); }
.rejilla-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rejilla-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 820px) { .rejilla-2, .rejilla-3 { grid-template-columns: minmax(0, 1fr); } }
.proximo .rejilla-2 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 821px) {
  .proximo .rejilla-2 { max-width: calc((100% - 5 * var(--calle)) / 6 * 4 + 3 * var(--calle)); }
}
.tarjeta { --sup: var(--sup-alt); display: flex; flex-direction: column; align-items: flex-start; padding: 24px; background: var(--sup-alt); }
@media (max-width: 820px) {
  .tarjeta { padding: 24px 16px; }
}
.tarjeta > * + * { margin-top: 12px; }
.tarjeta h2 { font-size: var(--fs-h3); }
.tarjeta__captura { align-self: stretch; }
.tarjeta__captura + h3 { margin-top: 24px; }
.precio-grande { font-stretch: 62%; font-weight: 800; font-size: var(--fs-cifra); line-height: 1; letter-spacing: -0.01em; }

.tabla-env { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; border-top: 1px solid var(--linea); }
.tabla th, .tabla td { padding: 16px 24px 16px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linea); }
.tabla th { font-family: var(--f-etiqueta); font-weight: 500; font-size: var(--fs-etiqueta); line-height: 1.3; letter-spacing: 0.06em; text-transform: uppercase; color: var(--texto-secundario); }
.tabla th:last-child, .tabla td:last-child { padding-right: 0; text-align: right; }
.tabla td:last-child { font-weight: 500; font-variant-numeric: tabular-nums; }
.tabla td:last-child small { display: block; max-width: 22rem; margin-left: auto; font-weight: 400; color: var(--texto-secundario); }
@media (min-width: 821px) { .tabla td:last-child { white-space: nowrap; } .tabla td:last-child small { white-space: normal; } }
@media (max-width: 820px) {
  .tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tabla, .tabla tbody, .tabla tr, .tabla td { display: block; }
  .tabla tr { padding: 16px 0; border-bottom: 1px solid var(--linea); }
  .tabla td { padding: 0; border: 0; }
  .tabla td:last-child { margin-top: 4px; text-align: left; }
  .tabla td:last-child small { max-width: none; margin-left: 0; }
}

.pk-rejilla { border-bottom: 1px solid var(--linea); }
.pk-pack {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: var(--calle);
  align-items: start;
  padding-block: 40px;
  border-top: 1px solid var(--linea);
  scroll-margin-top: 8px;
}
.pk-pack__a { grid-column: 1 / 3; }
.pk-pack__b { grid-column: 3 / 5; }
.pk-pack__c { grid-column: 5 / 7; }
.pk-pack__nombre { font-size: var(--fs-h3); }
.pk-pack__plazo { margin-top: 8px; font-size: 1rem; color: var(--texto-secundario); }
.pk-pack__frase { margin-top: 24px; }
.pk-pack__precio { font-size: var(--fs-texto); }
.pk-cifra { display: block; margin-bottom: 8px; font-stretch: 62%; font-weight: 800; font-size: var(--fs-cifra); line-height: 1; letter-spacing: -0.01em; }
.pk-cuota { margin-top: 12px; font-size: 1rem; }
.pk-cuota__linea { margin-top: 8px; font-size: 1rem; color: var(--texto-secundario); }
.pk-pack__grupo + .pk-pack__grupo { margin-top: 24px; }
.pk-pack__grupo h3 { margin-bottom: 12px; font-weight: 600; font-size: var(--fs-texto); line-height: 1.4; letter-spacing: 0; }
@media (max-width: 820px) {
  .pk-pack { display: flex; flex-direction: column; gap: 24px; padding-block: 32px; }
}

.config__caja { --sup: var(--sup-alt); padding: 32px; background: var(--sup-alt); max-width: 56rem; }
.pk-selector { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; border: 0; }
.config__etq { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.config__fila { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--linea); }
.pk-selector + .config__fila { border-top: 1px solid var(--linea); }
.config__fila--sub { padding-left: 32px; }
.config__precio { font-size: 1rem; color: var(--texto-secundario); white-space: nowrap; }
.pk-incluido { display: block; font-size: 1rem; color: var(--texto-secundario); }
.config__cant { display: flex; align-items: center; gap: 8px; }
.config__cant select { min-height: 44px; padding: 0 12px; border: 1px solid var(--texto-secundario); border-radius: 0; background: var(--superficie); color: var(--texto); font-size: 1rem; }
.config__resultado { margin-top: 32px; font-stretch: 62%; font-weight: 800; font-size: var(--fs-cifra); line-height: 1.05; letter-spacing: -0.01em; }
.config__nota { margin-top: 8px; font-size: 1rem; color: var(--texto-secundario); }
.config__caja .acciones { margin-top: 24px !important; }
.config__aviso { margin-top: 24px; font-size: 1rem; color: var(--texto-secundario); }
@media (max-width: 820px) {
  .config__caja { margin-inline: calc(-1 * var(--margen)); padding: 24px 16px; }
  .config__fila { grid-template-columns: minmax(0, 1fr); }
  .config__precio { white-space: normal; }
}
:is(.config, .form) input[type="checkbox"], :is(.config, .form) input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  border: 1px solid var(--texto-secundario);
  border-radius: 0;
  background: var(--superficie);
  cursor: pointer;
}
:is(.config, .form) input[type="checkbox"]:checked, :is(.config, .form) input[type="radio"]:checked { background: var(--texto); border-color: var(--texto); }
:is(.config, .form) input[type="radio"] { border-radius: 50%; }
:is(.config, .form) input[type="radio"]:checked { box-shadow: inset 0 0 0 4px var(--superficie); }
:is(.config, .form) input:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }

.form__campo { margin-bottom: 24px; }
.form__campo label { display: block; margin-bottom: 8px; font-size: 0.9375rem; font-weight: 500; line-height: 1.4; }
.form__ayuda { display: block; margin-bottom: 8px; font-size: 1rem; color: var(--texto-secundario); }
.form input[type="text"], .form input[type="email"], .form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  font-size: 1rem;
  color: var(--texto);
  background: var(--superficie);
  border: 1px solid var(--texto-secundario);
  border-radius: 0;
}
.form textarea { min-height: 9rem; resize: vertical; }
.form input:focus-visible, .form textarea:focus-visible { outline: 2px solid var(--foco); outline-offset: 0; border-color: var(--texto); }
.form [aria-invalid="true"] { border: 2px solid var(--error); }
.form__error { display: block; margin-top: 8px; font-size: 1rem; font-weight: 500; color: var(--error); }
.form__error::before { content: "! "; }
.form__casilla { display: flex; align-items: flex-start; gap: 12px; }
.form__casilla label { margin: 0; font-size: 1rem; font-weight: 400; }
.form__miel { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.form__estado { margin-bottom: 32px; padding: 24px; border: 1px solid var(--texto); background: var(--superficie); }
.form__estado--error { border-width: 2px; }

.contacto__rejilla { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); align-items: start; }
.contacto__lado:first-child { grid-column: 1 / 5; }
.contacto__lado:last-child { grid-column: 5 / 7; }
.contacto__lado > * + * { margin-top: 48px; }
.contacto__caja, .formulario { --sup: var(--sup-alt); padding: 32px; background: var(--sup-alt); }
.contacto__caja h2, .formulario h2 { font-size: var(--fs-h3); }
.contacto__caja > * + *, .formulario > * + * { margin-top: 16px; }
.formulario > .form { margin-top: 24px; }
@media (max-width: 820px) {
  .contacto__rejilla { grid-template-columns: minmax(0, 1fr); row-gap: 48px; }
  .contacto__lado:first-child, .contacto__lado:last-child { grid-column: 1; }
  .contacto__caja, .formulario { padding: 24px; }
}

.casos .seccion__int { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--calle); row-gap: 96px; align-items: start; }
.casos__bloque:nth-child(1) { grid-column: 3 / 7; }
.casos__bloque:nth-child(2) { grid-column: 1 / 4; }
.casos__bloque:nth-child(3) { grid-column: 4 / 7; margin-top: 160px; }
.casos__marco { display: block; text-decoration: none; }
.casos__bloque > div { margin-top: 24px; }
.casos__bloque h2 { margin-top: 0; font-size: var(--fs-h3); line-height: 1.2; }
.casos__bloque h3 { margin: 24px 0 8px; font-weight: 600; font-size: var(--fs-texto); line-height: 1.4; letter-spacing: 0; }
.casos__bloque .lista-check + p { margin-top: 8px; }
.casos__ficticio { font-size: 1rem; color: var(--texto-secundario); }
@media (max-width: 820px) {
  .casos .seccion__int { grid-template-columns: minmax(0, 1fr); row-gap: 64px; }
  .casos__bloque:nth-child(n) { grid-column: 1; margin-top: 0; }
}

.cta .seccion__int {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: 1fr auto auto auto 1fr;
  column-gap: var(--calle);
}
.cta h2 { grid-column: 1 / 4; grid-row: 2; }
.cta .seccion__int > p { grid-column: 1 / 4; grid-row: 3; margin-top: 24px; max-width: 45ch; }
.cta .acciones { grid-column: 1 / 4; grid-row: 4; margin-top: 32px; }
.cta__visual { grid-column: 4 / 7; grid-row: 1 / 6; }
@media (max-width: 820px) {
  .cta .seccion__int { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .cta h2 { grid-column: 1; grid-row: 1; }
  .cta .seccion__int > p { grid-column: 1; grid-row: 2; }
  .cta__visual { grid-column: 1; grid-row: 3; margin-top: 32px; }
  .cta .acciones { grid-column: 1; grid-row: 4; margin-top: 24px; flex-direction: column; align-items: stretch; }
  .cta .acciones .btn { width: 100%; }
  .cta .acciones .enlace { align-self: flex-start; }
}

.legal .seccion__int > * { max-width: 50ch; }
.legal .seccion__int > h2 { margin-top: 48px; font-size: var(--fs-h3); line-height: 1.2; }
.legal .seccion__int > :where(h2 + *) { margin-top: 16px; }
.legal .seccion__int > :first-child { margin-top: 0; }
.legal ul { list-style: square; padding-left: 1.25em; }
.legal li + li { margin-top: 8px; }
.legal li > a:only-child { display: inline-block; padding-block: 14px; margin-block: -14px; }
.legal h3 { margin-top: 32px; font-size: var(--fs-destacado); }

.dolor { position: relative; }
.an-tapa { position: absolute; inset: 0; z-index: 3; background: var(--sup, var(--fondo)); transform-origin: 100% 50%; pointer-events: none; }
.etapa .an-tapa { background: var(--superficie); }
.an-filete { position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--linea); transform-origin: 0 50%; pointer-events: none; }
.dolor.an-filete-vivo { border-top-color: transparent; }

html.escena-montada .apertura__mesa { background-color: transparent; background-image: linear-gradient(to bottom, transparent 0, var(--fondo-oscuro) 64px); }


.an-persiana > picture { display: block; position: absolute; inset: 0; }
.an-persiana, .an-persiana > picture { will-change: transform; }
.an-plano, .an-plano .pie { transform-style: flat; }
.an-charco { position: absolute; z-index: 1; left: 0; top: 0; width: 200px; height: 110px; margin-left: -100px; background: radial-gradient(closest-side, var(--superficie-oscura), transparent); transform-origin: 50% 0; pointer-events: none; }
@media (max-width: 820px) {
  html.escena-montada .apertura__mesa { background-image: linear-gradient(to bottom, transparent 0, var(--fondo-oscuro) 100%); }
  html.escena-montada .apertura__mesa::after { top: 12px; height: 72px; background: linear-gradient(to bottom, var(--fondo-oscuro) 0, transparent 100%); }
  .an-charco { top: 6px; height: 80px; }
}
.pagina-cab .sigue--interior { position: absolute; top: 0; bottom: auto; margin: 0; padding: 0; }
@media (prefers-reduced-motion: no-preference) {
  .sigue--interior .sigue__int { animation: sigue-entra 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.6s backwards; }
  .sigue--interior.es-viva .sigue__linea::after { animation: sigue-baja 1.9s cubic-bezier(0.65, 0, 0.35, 1) infinite; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .faq--portada .faq__item { transition: border-top-color 0.25s var(--curva); }
  .faq--portada .faq__item:hover { border-top-color: var(--texto); }
}

@keyframes an2-escalax { from { transform: scaleX(0); } }
@keyframes an2-sube { from { transform: translateY(115%); clip-path: inset(-155% -6% 100% -6%); } to { transform: none; clip-path: inset(-40% -6% -15% -6%); } }
@keyframes an2-aparece { from { opacity: 0; } }
@keyframes an2-trazo { from { stroke-dasharray: 0 1; stroke-dashoffset: -0.5; } to { stroke-dasharray: 1 0; stroke-dashoffset: 0; } }
@keyframes an2-punto { from { opacity: 0; transform: scale(0.2); } }
@keyframes an2-abre { to { transform: scaleX(0); } }
@keyframes an2-media { from { opacity: 0; clip-path: inset(0 0 0 42%); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: no-preference) {
  [data-barra-5s] .wr-cinco__lleno { animation: an2-escalax 5s linear 0.4s backwards; }
  [data-plano] .fg-plano__calle { animation: an2-trazo 1.6s cubic-bezier(0.65, 0, 0.35, 1) 0.1s backwards; }
  [data-plano] .fg-plano__calle--gran { animation-delay: 0.35s; }
  [data-plano] svg > .fg-plano__calle { animation-duration: 1.1s; animation-delay: 0.8s; }
  [data-plano] .fg-plano__sitio { animation: an2-aparece 0.6s ease-out 1.1s backwards; }
  [data-plano] .fg-plano__punto { transform-box: fill-box; transform-origin: 50% 50%; animation: an2-punto 0.8s cubic-bezier(0.19, 1, 0.22, 1) 1.35s backwards; }
  .cf-plazo__barra { animation: an2-escalax 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.35s backwards; }
  .cf-plazo__barra--2 { animation-delay: 0.47s; }
  .cf-plazo__barra--3 { animation-delay: 0.59s; }
  .pk-desde__cifra { animation: an2-sube 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.3s backwards; }
  .pk-desde__resto { animation: an2-aparece 0.6s ease-out 0.75s backwards; }
  .cs-indice__nombre { animation: an2-sube 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.35s backwards; }
  .cs-indice__lista li:nth-child(2) .cs-indice__nombre { animation-delay: 0.47s; }
  .cs-indice__lista li:nth-child(3) .cs-indice__nombre { animation-delay: 0.59s; }
  .cs-indice__tipo { animation: an2-aparece 0.6s ease-out 0.7s backwards; }
  .cs-indice__lista li:nth-child(2) .cs-indice__tipo { animation-delay: 0.82s; }
  .cs-indice__lista li:nth-child(3) .cs-indice__tipo { animation-delay: 0.94s; }
  .an-rearmada, .an-rearmada * { animation: none !important; }
  [data-logos] [data-logo], .an-ping { will-change: transform; }
}
@keyframes an2-sube-movil { from { opacity: 0; transform: translateY(45%); } }
@media (max-width: 820px) and (prefers-reduced-motion: no-preference) {
  .pk-desde__cifra, .cs-indice__nombre { animation-name: an2-sube-movil; }
  [data-media-sangre] { animation: an2-aparece 1.2s ease-out 0.2s backwards; }
  [data-panoramica] { animation: an2-aparece 1s ease-out 0.3s backwards; }
}
@media (min-width: 821px) and (prefers-reduced-motion: no-preference) {
  [data-panoramica]::before, [data-panoramica]::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 3; width: 50.5%; background: var(--fondo-oscuro); pointer-events: none; animation: an2-abre 1.2s cubic-bezier(0.65, 0, 0.35, 1) 0.35s forwards; }
  [data-panoramica]::before { left: 0; transform-origin: 0 50%; }
  [data-panoramica]::after { right: 0; transform-origin: 100% 50%; }
  [data-panoramica].an-rearmada::before, [data-panoramica].an-rearmada::after { content: none; }
  [data-diptico] .px-pieza__foto::before { content: ""; position: absolute; inset: 0; z-index: 2; background: var(--fondo-oscuro); pointer-events: none; transform-origin: 0 50%; animation: an2-abre 1.15s cubic-bezier(0.65, 0, 0.35, 1) 0.45s forwards; }
  [data-diptico] .px-pieza--mesa .px-pieza__foto::before { transform-origin: 100% 50%; animation-delay: 0.8s; }
  [data-diptico] .px-pieza__foto.an-rearmada::before { content: none; }
  [data-media-sangre] { animation: an2-media 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.2s backwards; }
}
.superficie-lino .an-tapa, .banda .an-tapa, .pared-plata .an-tapa { background: var(--superficie); }
.an-tapa--izq { right: 49.5%; transform-origin: 0 50%; }
.an-tapa--dcha { left: 49.5%; }
.an-ping { position: absolute; left: 0; top: 0; z-index: 1; border: 1.5px solid var(--accion); border-radius: 50%; pointer-events: none; opacity: 0; }
.an-recorrido-punto { position: absolute; left: 0; top: 0; z-index: 2; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: var(--texto); pointer-events: none; opacity: 0; }
.rg-g__union, .rg-g__linea, .rs-g__marca, .wr-g__union { position: relative; }
.an-g-punto { position: absolute; left: 0; top: 0; z-index: 2; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--accion); pointer-events: none; opacity: 0; }
.an-fijo-filete { position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--texto); transform-origin: 0 50%; pointer-events: none; }
.an-contador { clip-path: inset(-0.45em -0.15em 0 -0.15em); }
.an-contador__d { display: inline-block; }
html[data-pagina="como-funciona"] .cf-paso__texto::before { transform: scale(var(--cf-punto, 1)); }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .boton-p__cara::before, .btn--secundario::before, .btn--claro::before { transition: transform 0.2s var(--curva); }
  .boton-p:hover .boton-p__cara::before, .boton-p:focus-visible .boton-p__cara::before,
  .btn--secundario:hover::before, .btn--claro:hover::before { transform: translateX(4px); }
}
@media (hover: none) and (prefers-reduced-motion: no-preference) {
  .btn:not(.boton-p):active { transform: translateY(1px); }
}

@media (prefers-reduced-motion: reduce) {
  .btn, .pestana, .barra-movil { transition: none !important; }
}




.slc { display: none; }
html.slc-on .slc {
  display: block; position: fixed; top: 0; left: 0; width: 100%;
  height: 100vh; height: 100lvh;
  z-index: 2147483000; pointer-events: none;
  animation: slc-salvavidas 0s linear 6.2s forwards;
}
@keyframes slc-salvavidas { to { visibility: hidden; } }
.slc-mitad { position: absolute; inset: 0; background: var(--accion); display: grid; place-items: center; will-change: transform; }
.slc-mitad--izq { clip-path: inset(0 calc(50% - .5px) 0 0); }
.slc-mitad--der { clip-path: inset(0 0 0 calc(50% - .5px)); }
.slc-s { display: block; height: clamp(84px, 15vh, 150px); width: auto; overflow: visible; will-change: transform; animation: slc-respira 1.8s ease-in-out infinite alternate; }
@keyframes slc-respira { from { transform: scale(1); } to { transform: scale(0.975); } }
.slc-trazo { fill: none; stroke: var(--texto); stroke-width: 12; stroke-linejoin: round; stroke-dasharray: 6000; stroke-dashoffset: 6000; }
.slc-relleno { fill: var(--texto); opacity: 0.12; }
html.slc-tapa .apertura__objeto :is(.obj, .mon) { animation-play-state: paused !important; }


.logo__s { display: inline-block; width: 0.454em; height: 0.7em; overflow: visible; vertical-align: baseline; }
.logo__s-base { fill: currentColor; }
.logo__s-oro { fill: none; stroke: var(--accion); stroke-width: 190; stroke-linejoin: round; stroke-dasharray: 6000; stroke-dashoffset: 6000; }
.logo__punto { display: inline-block; }

.logo__resto, .logo__punto { position: relative; }
.logo__resto-oro, .logo__punto-neg { position: absolute; left: 0; top: 0; pointer-events: none; white-space: nowrap; }
.logo__resto-oro { color: var(--accion); }
.logo__punto-neg { color: #fff; }
html.cab-clara:not(.menu-abierto) .logo__punto-neg { text-shadow: 0 0 1px var(--texto), 0 0 1px var(--texto); }



.cabecera__burger { position: relative; overflow: hidden; isolation: isolate; }
.cabecera__burger::before {
  content: ""; position: absolute; z-index: -1; left: -1px; right: -1px; top: -1px; height: 140%;
  background: var(--accion); border-radius: 0 0 50% 50% / 0 0 26% 26%;
  transform: translateY(-102%); pointer-events: none;
}
.cabecera__burger-rayas span:first-child { transform: translateX(3px); }
.cabecera__burger-rayas span:last-child { transform: translateX(-3px); }
.cabecera__burger:is(:focus-visible, [aria-expanded="true"]) { color: var(--texto); border-color: var(--accion); }
.cabecera__burger:is(:focus-visible, [aria-expanded="true"])::before { transform: translateY(0); }
.cabecera__burger:focus-visible .cabecera__burger-rayas span { transform: none; }
@media (hover: hover) {
  .cabecera__burger:hover { color: var(--texto); border-color: var(--accion); }
  .cabecera__burger:hover::before { transform: translateY(0); }
  .cabecera__burger:hover .cabecera__burger-rayas span { transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .cabecera__burger::before, .cabecera__burger-rayas span { transition: transform 0.24s cubic-bezier(0.33, 1, 0.68, 1); }
  .cabecera__burger { transition: color 0.12s linear, border-color 0.12s linear; }
}


@media (hover: none) { .cabecera__burger { transition: none; } }


.bl-linea { position: relative; width: fit-content; max-width: 100%; }
.bl-bloque { position: absolute; left: -0.04em; right: -0.04em; top: 0.06em; bottom: 0.02em; background: var(--texto); pointer-events: none; }
.bl-bloque--oro { background: var(--accion); }


.rueda { display: inline-block; overflow: hidden; height: 1.2em; line-height: 1.2; vertical-align: middle; }
.rueda__pista { display: block; }
.rueda__a, .rueda__b { display: block; height: 1.2em; white-space: nowrap; }
