

:root {
  --onyx: #131313;
  --carbon: #1f1f1f;
  --alabaster: #eaeaea;
  --acento: #3547d8;
  --fuente: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --osmo: cubic-bezier(.625, .05, 0, 1);
  --salida: cubic-bezier(.16, 1, .3, 1);
  --menu-ancho: 30em;
}
@media (max-width: 767px) { :root { --menu-ancho: 80vw; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
body {
  margin: 0; background: var(--alabaster); color: var(--onyx);
  font-family: var(--fuente); font-size: 16px; line-height: 1.5; font-weight: 400;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
body[data-menu="abierto"], body[data-menu="cerrando"] { background: var(--alabaster); }
img, svg { display: block; }
img { max-width: 100%; }
h1, h2, p, ul, figure, blockquote { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 3px; }

.sin-js .carga { display: none; }
html.con-carga { overflow: hidden; }


.carga { position: fixed; inset: 0; z-index: 150; display: none; background: transparent; pointer-events: none; }
.con-carga .carga { display: block; pointer-events: auto; }
.carga-panel { position: absolute; inset: 0; overflow: visible; }
.carga-relleno { position: absolute; inset: 0; background: var(--alabaster); }
.carga-base { position: absolute; top: calc(100% - .6rem); left: -10%; width: 120%; height: 20vw; min-height: 8rem; background: var(--alabaster); transform-origin: top; }
.carga-centro { position: relative; z-index: 1; display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; opacity: 0; }
.carga-logo { --ranura: clamp(10rem, 15vw, 17rem); --hueco: clamp(1.6rem, 7vw, 7rem); --extra: clamp(1.25rem, 6vw, 6rem); display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2.5rem); }
.carga-columna { height: calc(var(--ranura) + var(--extra)); overflow: hidden; }
.carga-pista { display: flex; flex-direction: column; gap: var(--hueco); will-change: transform; transform: translateZ(0); }
.carga-celda { display: flex; height: var(--ranura); align-items: center; justify-content: center; flex: 0 0 var(--ranura); }
.carga-celda svg { display: block; width: auto; height: 100%; fill: var(--onyx); }
@media (max-width: 767px) { .carga-base { height: 28vw; min-height: 6rem; } .carga-logo { --ranura: clamp(8rem, 30vw, 11rem); --hueco: clamp(5rem, 17vw, 6.5rem); --extra: clamp(4.5rem, 16vw, 6rem); gap: clamp(.8rem, 3vw, 1.35rem); } }


.ruido {
  position: fixed; inset: -2.5rem; z-index: 300; pointer-events: none; opacity: .03;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 1.4 1.4 0 -.7'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 18rem; background-repeat: repeat; will-change: background-position;
  animation: ruido-a .18s step-end infinite; transform: translate(0) scale(1.03);
}
.ruido::before {
  content: ""; position: absolute; inset: 0; background-image: inherit; background-repeat: inherit; background-position: 41px -17px; background-size: 23rem;
  animation: ruido-b .26s step-end infinite;
}
@keyframes ruido-a { 0% { background-position: 0 0; } 9% { background-position: -417px 236px; } 17% { background-position: 683px -541px; } 29% { background-position: -928px -184px; } 41% { background-position: 311px 774px; } 53% { background-position: 1048px -326px; } 66% { background-position: -573px 912px; } 78% { background-position: 146px -769px; } 91% { background-position: -1097px 428px; } 100% { background-position: 0 0; } }
@keyframes ruido-b { 0% { background-position: 41px -17px; } 11% { background-position: 802px -463px; } 24% { background-position: -291px 638px; } 39% { background-position: 1124px 197px; } 52% { background-position: -746px -824px; } 67% { background-position: 533px 1049px; } 83% { background-position: -1189px 352px; } 100% { background-position: 41px -17px; } }


.boton {
  --b-color: var(--alabaster); --b-fondo: var(--onyx); --b-fondo-hover: var(--acento);
  --b-ico: var(--onyx); --b-ico-fondo: var(--alabaster);
  --b-pad: .6875em .6875em .6875em .9375em; --b-radio: .25em; --b-radio-ico: .125em; --b-copia: 1.5em; --b-hover: cubic-bezier(.625, .05, 0, 1);
  -webkit-user-select: none; user-select: none; color: var(--b-color);
  position: relative; display: inline-grid; font-size: 14px; font-weight: 500; line-height: 1; text-transform: uppercase;
  -webkit-tap-highlight-color: transparent;
}
.boton::after { content: ""; position: absolute; inset: -.125em; border-radius: var(--b-radio); pointer-events: none; z-index: 1; transition: box-shadow .2s cubic-bezier(.32, .72, 0, 1); }
.boton:focus-visible { outline: 0; }
.boton:focus-visible::after { box-shadow: 0 0 0 .125em var(--acento); }
.boton__fondo { grid-area: 1 / 1; position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background: var(--b-fondo); border-radius: var(--b-radio); overflow: clip; }
.boton__hover { position: absolute; bottom: 0; left: -10%; width: 120%; height: 100%; background: var(--b-fondo-hover); transform: translate3d(0, 175%, 0) rotate(15deg); transition: transform .525s var(--b-hover); }
.boton__interior { grid-area: 1 / 1; display: flex; justify-content: center; align-items: center; gap: .5em; width: 100%; height: 100%; padding: var(--b-pad); }
.boton__mascara { flex: none; display: flex; justify-content: center; align-items: center; clip-path: inset(-10% 0); }
.boton__texto { transition: transform .525s var(--b-hover); text-shadow: 0 var(--b-copia) currentColor; }
.boton__ico { position: relative; flex: none; display: grid; width: 1.125em; height: 1.125em; color: var(--b-ico); border-radius: var(--b-radio-ico); transform: translateY(-.08em); }
.boton__ico-fondo { grid-area: 1 / 1; width: 100%; height: 100%; background: var(--b-ico-fondo); border-radius: var(--b-radio-ico); transition: transform .525s var(--b-hover); }
.boton__ico-mascara { grid-area: 1 / 1; position: relative; display: flex; justify-content: flex-end; width: 100%; height: 100%; overflow: clip; }
.boton__ico-lista { position: absolute; grid-area: 1 / 1; display: flex; flex-flow: row; }
.boton__flecha { width: 1.125em; height: 1.125em; padding: .2em; fill: currentColor; flex: none; transition: transform .525s var(--b-hover); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .boton:hover .boton__hover, .boton:focus-visible .boton__hover { transform: translateZ(0) rotate(0); }
  .boton:hover .boton__texto, .boton:focus-visible .boton__texto { transform: translateY(calc(-1 * var(--b-copia))); }
  .boton:hover .boton__ico-fondo, .boton:focus-visible .boton__ico-fondo { transform: rotate(90deg); }
  .boton:hover .boton__flecha, .boton:focus-visible .boton__flecha { transform: translate3d(200%, 0, 0); }
}


.desenfoque { --reveal: 1; position: fixed; top: 0; left: 0; z-index: 50; width: 100%; height: 15em; pointer-events: none; isolation: isolate; contain: paint; }
.desenfoque-capa { position: absolute; inset: 0; }
.desenfoque-capa.c1 { -webkit-backdrop-filter: blur(calc(.09375em * var(--reveal))); backdrop-filter: blur(calc(.09375em * var(--reveal))); -webkit-mask: linear-gradient(#0000 12.5%, #000 25% 37.5%, #0000 50%); mask: linear-gradient(#0000 12.5%, #000 25% 37.5%, #0000 50%); }
.desenfoque-capa.c2 { -webkit-backdrop-filter: blur(calc(.1875em * var(--reveal))); backdrop-filter: blur(calc(.1875em * var(--reveal))); -webkit-mask: linear-gradient(#0000 0%, #000 12.5% 25%, #0000 37.5%); mask: linear-gradient(#0000 0%, #000 12.5% 25%, #0000 37.5%); }
.desenfoque-capa.c3 { -webkit-backdrop-filter: blur(calc(.375em * var(--reveal))); backdrop-filter: blur(calc(.375em * var(--reveal))); -webkit-mask: linear-gradient(#000 0% 12.5%, #0000 25%); mask: linear-gradient(#000 0% 12.5%, #0000 25%); }
.desenfoque-capa.c4 { -webkit-backdrop-filter: blur(calc(.75em * var(--reveal))); backdrop-filter: blur(calc(.75em * var(--reveal))); -webkit-mask: linear-gradient(#000 0% 8%, #0000 18%); mask: linear-gradient(#000 0% 8%, #0000 18%); }
.desenfoque-capa.c5 { -webkit-backdrop-filter: blur(calc(1.5em * var(--reveal))); backdrop-filter: blur(calc(1.5em * var(--reveal))); -webkit-mask: linear-gradient(#000 0% 12%, #0000 24%); mask: linear-gradient(#000 0% 12%, #0000 24%); }

.cab { position: fixed; inset: 0 0 auto; z-index: 100; color: var(--alabaster); transition: color .2s ease; will-change: transform; }
body[data-tema="activo"] .cab, body[data-pie="activo"] .cab, body[data-menu="abierto"] .cab, body[data-menu="cerrando"] .cab { color: var(--onyx); }
.con-carga .cab { opacity: 0; visibility: hidden; pointer-events: none; }
.cab-contenedor { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 32px; }
.cab-acciones { display: flex; align-items: center; gap: clamp(1.5rem, 3vw, 2.75rem); }
.cab-logo { display: flex; align-items: center; width: clamp(3rem, 3vw, 3.25rem); margin: -.75em; padding: .75em; color: inherit; }
.cab-marca {
  display: block; width: 100%; aspect-ratio: 209 / 184; background: currentColor; transition: background-color .2s ease;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 209 184'%3E%3Cpath d='M0 0H78V36H36V148H78V184H0ZM209 0H131V36H173V148H131V184H209Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 209 184'%3E%3Cpath d='M0 0H78V36H36V148H78V184H0ZM209 0H131V36H173V148H131V184H209Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cab-boton { font-size: .95rem; text-transform: none; transition: opacity .3s ease; }
.cab-boton .boton__texto { color: var(--alabaster); }
body[data-menu="abierto"] .cab-boton, body[data-menu="cerrando"] .cab-boton { opacity: 0; pointer-events: none; }
.cab-menu { display: flex; justify-content: center; align-items: center; margin: -1em; padding: 1em; cursor: pointer; }
.cab-menu-ico { display: flex; flex-flow: column; justify-content: center; align-items: center; gap: .375em; width: 1.5em; }
.cab-menu-barra { display: block; width: 100%; height: .125em; background: currentColor; flex: none; }
@media (max-width: 767px) { .cab-contenedor { padding: 1.5rem; } .cab-boton { display: none; } .cab-logo { width: 3rem; } }


.menu { position: fixed; top: 0; bottom: 0; right: 0; z-index: 1; width: var(--menu-ancho); color: var(--onyx); background: var(--alabaster); }
.menu-interior { display: flex; flex-flow: column; justify-content: flex-start; align-items: stretch; gap: 2em; width: 100%; height: 100%; padding: 7.5em 2em 2em; overflow-x: hidden; overflow-y: auto; }
.menu-lista { display: flex; flex-flow: column; width: 100%; }
.menu-lista.chica { gap: .75em; }
.menu-enlace { display: block; width: 100%; padding: .75em 1em; border-radius: .125em; }
.menu-enlace.actual { color: #ededed; background: var(--acento); }
.menu-etiqueta { letter-spacing: -.04em; font-size: clamp(1.9rem, 2.2vw, 3rem); line-height: 1.08; }
.menu-pie { position: relative; display: flex; justify-content: flex-start; align-items: flex-start; width: 100%; margin-top: auto; padding-top: 1.5em; }
.menu-col { display: flex; flex-flow: column; flex: 1; gap: 1em; align-items: flex-start; }
.menu-chico { font-size: 1em; line-height: 1.1; }
.menu-chico.tenue { opacity: .5; }
.menu-linea { position: absolute; inset: 0 0 auto; height: 1px; background: currentColor; opacity: .15; transform-origin: 0; }
.enlace-giro { position: relative; display: block; height: 1.1em; overflow: hidden; color: inherit; }
.giro-actual, .giro-sig { display: block; line-height: inherit; white-space: nowrap; }
.giro-sig { position: absolute; top: 100%; left: 0; }
.menu-capa { position: fixed; inset: 0 -1px 0 0; z-index: 100; pointer-events: none; cursor: pointer; visibility: hidden; overflow: clip; }
.menu-oscuro { position: absolute; inset: 0; background: rgba(0, 0, 0, .3); opacity: 0; visibility: hidden; }
.menu-bordes { position: absolute; inset: 0; display: flex; flex-flow: column; justify-content: space-between; align-items: stretch; }
.menu-fila { display: flex; flex-flow: column; justify-content: flex-start; align-items: flex-end; }
.menu-borde { width: 100%; height: 1em; background: var(--alabaster); }
.menu-esquina { width: .625em; height: .625em; transform-origin: 100% 0; background-image: radial-gradient(circle farthest-side at 0 100%, #fff0 99%, var(--alabaster)); }
.menu-esquina.abajo { transform-origin: 100% 100%; background-image: radial-gradient(circle farthest-side at 0 0, #fff0 99%, var(--alabaster)); }
@media (max-width: 767px) { .menu-interior { padding: 5em 1.25em 1.25em; } .menu-pie { flex-flow: column; gap: 2em; padding-inline: 1em; } }


.principal { position: relative; z-index: 2; min-height: 100vh; background: inherit; }
.contenido { position: relative; z-index: 20; pointer-events: none; }
.contenido .activo { pointer-events: auto; }
.portada-fin { height: 100vh; height: 100svh; pointer-events: none; }
[data-claro] { background: var(--alabaster); color: var(--onyx); }


.portada { --borde: clamp(1rem, 2vw, 2rem); position: fixed; top: 0; left: 0; z-index: 0; width: 100vw; height: 100svh; overflow: clip; background: var(--onyx); color: #fff; isolation: isolate; transition: background-color .15s ease; }
.portada::after { content: ""; position: absolute; inset: 0; z-index: 5; background: var(--alabaster); opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.portada[data-pintura="alabaster"] { background: var(--alabaster); }
.portada[data-pintura="alabaster"]::after { opacity: 1; }
.portada[data-pintura="alabaster"] .portada-medio, .portada[data-pintura="alabaster"] .portada-sombra, .portada[data-pintura="alabaster"] .portada-destacado, .portada[data-pintura="alabaster"] .portada-frase, .portada[data-pintura="alabaster"] .portada-nav { opacity: 0; visibility: hidden; }
.portada-medio, .portada-sombra { position: absolute; inset: 0; }
.portada-medio { z-index: 0; overflow: hidden; }
.portada-pila { position: absolute; top: 0; left: 0; width: 100%; height: 112%; transform: translateZ(0); will-change: transform; }
.portada-slides { position: absolute; inset: 0; overflow: hidden; }
.portada-slide { position: absolute; inset: 0; opacity: 0; overflow: hidden; will-change: transform; }
.portada-slide.es-actual { opacity: 1; }
.portada-int { position: absolute; inset: 0; will-change: transform; }
.portada-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; transform: scale(1); will-change: transform, opacity; }
.portada-img--hover { opacity: 0; visibility: hidden; transform: scale(1.085); }
.portada-sombra { z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgb(0 0 0 / .22), transparent 34%, rgb(0 0 0 / .28)), #0000001f; }
.portada-destacado, .portada-frase, .portada-nav { position: absolute; z-index: 2; }
.portada-destacado { top: 50%; left: var(--borde); right: var(--borde); display: flex; align-items: center; justify-content: space-between; gap: 1rem; transform: translateY(-50%); font-size: 14px; font-weight: 500; line-height: 1; text-transform: uppercase; }
.portada-grupo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-width: 0; width: calc(50% - (max(100vw, 160svh) * .1225) - 1.5rem); }
.portada-pila-txt { flex: none; }
.portada-destacado, .portada-frase, .portada-nav { text-shadow: 0 0 18px rgba(0, 0, 0, .32); }
.portada-grupo > * { white-space: nowrap; }
.portada-pila-txt.nombre .portada-item { text-align: right; justify-self: end; }
.portada-destacado a { display: inline-flex; }
.portada-pila-txt { display: inline-grid; overflow: hidden; line-height: 1; padding-top: .4em; margin-top: -.4em; }
.portada-item { grid-area: 1 / 1; display: block; white-space: nowrap; visibility: hidden; }
.portada-item.es-actual { visibility: visible; }
.portada-palabra { display: inline-block; padding-top: .25em; padding-bottom: .25em; margin-top: -.25em; margin-bottom: -.25em; }
.portada-etiqueta { display: block; overflow: clip; }
@media (max-width: 1100px) { .portada-etiqueta { display: none; } }
.portada-boton { --b-fondo: transparent; --b-ico: var(--onyx); --b-ico-fondo: var(--alabaster); }
.portada-frase { bottom: var(--borde); left: var(--borde); max-width: min(43rem, calc(100vw - (var(--borde) * 2))); font-size: clamp(1.35rem, min(2vw, 3.8vh), 2.65rem); font-weight: 400; line-height: 1.08; letter-spacing: -.012em; text-wrap: balance; }
.portada-nav { right: var(--borde); bottom: var(--borde); display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.portada-puntos { display: flex; align-items: center; gap: .5rem; }
.portada-punto { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--alabaster) 30%, transparent); cursor: pointer; transition: background-color .45s var(--osmo); -webkit-tap-highlight-color: transparent; }
.portada-punto:focus-visible { outline: 2px solid var(--acento); outline-offset: 3px; }
.portada-punto.es-actual { background: var(--alabaster); }
.portada-progreso { width: clamp(7rem, 12vw, 12rem); height: 2px; border-radius: 999px; background: color-mix(in srgb, var(--alabaster) 25%, transparent); overflow: hidden; }
.portada-relleno { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--alabaster); transform: scaleX(0); transform-origin: 0 50%; will-change: transform; }
.mascara-linea { position: relative; display: block; text-align: start; overflow: clip; }
@media (max-width: 820px) {
  .portada-destacado { top: 47%; right: auto; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .65rem; }
  .portada-grupo { display: contents; }
  .portada-pila-txt.nombre .portada-item { text-align: left; justify-self: start; }
  .portada-etiqueta, .portada-pila-txt.anio { display: none; }
  .portada-pila-txt.nombre { position: relative; top: .25rem; }
  .portada-boton .boton__fondo { display: none; }
  .portada-boton .boton__interior { justify-content: flex-start; padding: 3px 0; }
  .portada-boton.boton { font-size: inherit; }
}
@media (max-width: 700px) {
  .portada-frase { bottom: calc(var(--borde) + 2.75rem); max-width: min(22rem, calc(100vw - (var(--borde) * 2))); font-size: clamp(1.35rem, 6vw, 2.05rem); }
  .portada-nav { left: var(--borde); right: var(--borde); align-items: stretch; gap: .6rem; }
  .portada-progreso { width: 100%; }
  .portada-punto { width: 8px; height: 8px; }

}
@media (max-width: 420px) { .portada-frase { font-size: clamp(1.25rem, 5.8vw, 1.8rem); max-width: min(20rem, calc(100vw - (var(--borde) * 2))); } }
@media (max-height: 720px) { .portada-frase { font-size: clamp(1.15rem, 3.4vh, 1.75rem); } }
@media (max-width: 700px) and (max-height: 720px) { .portada-frase { max-width: min(22rem, calc(100vw - (var(--borde) * 2))); font-size: clamp(1.35rem, 6vw, 2.05rem); } }


.intro-1 { display: grid; grid-template-columns: 1fr; column-gap: 1.5rem; max-width: 100rem; margin-inline: auto; min-height: 60vh; padding: 2.5rem 1.5rem 3rem; overflow: hidden; }
.intro-2 { display: grid; grid-template-columns: 1fr; align-content: start; column-gap: 1.5rem; row-gap: 1.25rem; max-width: 100rem; margin-inline: auto; margin-top: -4rem; min-height: 30vh; padding: 2.5rem 2rem 3rem; }
.intro-rotulo { display: none; font-size: 1.25rem; line-height: 1.4; }
.intro-texto { font-size: 14px; line-height: 1.35; }
.intro-cita { font-size: clamp(2.05rem, 9.6vw, 3.4rem); line-height: 1; font-weight: 400; letter-spacing: -.02em; }
.intro-linea { display: block; white-space: nowrap; }
.cambio { display: inline-grid; vertical-align: bottom; text-align: center; grid-template-rows: 1em 1em; grid-template-columns: max-content; grid-auto-rows: 100%; justify-items: center; margin-bottom: -.01em; padding-bottom: .01em; line-height: 1; overflow: clip; }
.cambio.es-izq { text-align: left; justify-items: start; }
.cambio .vieja, .cambio .nueva { grid-area: 1 / 1; }
.cambio .nueva { display: none; }
.con-js:not(.sin-gsap) .cambio .nueva { display: block; }
.enlace-nombre { position: relative; display: inline-block; vertical-align: baseline; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 1px; text-decoration-skip-ink: auto; }
.enlace-nombre::after { content: ""; position: absolute; inset: -.3em -.05em 0; background: var(--alabaster); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
@media (hover: hover) and (pointer: fine) { .enlace-nombre:hover::after { opacity: .5; } }
@media (min-width: 640px) {
  .intro-1 { min-height: 70vh; padding-top: 12.5rem; padding-bottom: 4rem; }
  .intro-2 { margin-top: -6rem; padding-top: 0; padding-bottom: 4rem; }
  .intro-cita { font-size: 2.75rem; }
  .intro-texto { font-size: 1.25rem; line-height: 1.4; }
}
@media (min-width: 768px) {
  .intro-1 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .intro-2 { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
  .intro-cita-caja { grid-column: 4 / span 3; }
  .intro-rotulo { display: block; grid-column: 1 / span 2; }
  .intro-texto { grid-column: 4 / span 3; }
  .intro-cita { font-size: clamp(3rem, 4vw, 4.25rem); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .intro-cita-caja { grid-column: 3 / span 4; }
  .intro-cita { font-size: clamp(2.6rem, 5.4vw, 3.4rem); }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .intro-cita-caja { grid-column: 6 / span 7; }
  .intro-texto { grid-column: 6 / span 7; }
}
@media (min-width: 1024px) {
  .intro-1 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .intro-2 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .intro-cita-caja { grid-column: 7 / span 6; }
  .intro-rotulo { grid-column: 1 / span 2; }
  .intro-texto { grid-column: 7 / span 6; }
}
@media (max-width: 639px) { .intro-texto { font-size: 14px; line-height: 1.35; } }


.orbita { position: relative; overflow: visible; background: var(--alabaster); color: var(--onyx); }
.orbita-titulo { position: absolute; top: clamp(4rem, 8vh, 7rem); left: 50%; z-index: 4; width: max-content; max-width: calc(100vw - 2rem); margin: 0; transform: translate(-50%); font-size: clamp(3rem, 4vw, 4.25rem); font-weight: 400; line-height: 1; letter-spacing: -.02em; text-align: center; white-space: nowrap; pointer-events: none; }
.orbita-caja { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: 100%; height: 100vh; height: 100dvh; overflow: visible; }
.orbita-izq { position: relative; display: flex; align-items: center; justify-content: center; }
.orbita-coleccion { position: relative; display: flex; justify-content: center; align-items: center; transform: translateY(clamp(1.75rem, 10vh, 8rem)); }
.orbita-lista { display: grid; place-items: center; }
.orbita-item { grid-area: 1 / 1; display: flex; justify-content: center; align-items: center; width: max-content; height: max-content; will-change: transform, opacity, filter; }
.orbita-tarjeta-boton { display: block; background: none; border: 0; padding: 0; cursor: pointer; }
.orbita-tarjeta { position: relative; width: clamp(9rem, 14vw, 18rem); aspect-ratio: 2 / 3; border-radius: .65em; overflow: visible; will-change: width; }
.orbita-incl { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit; transform: perspective(50vw); transform-style: preserve-3d; will-change: transform; pointer-events: none; }
.orbita-medio { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border-radius: inherit; overflow: hidden; transform: translateZ(0); will-change: clip-path; clip-path: inset(25% 0 25% 0 round .65em); }
.orbita-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; display: block; object-fit: cover; object-position: top center; border-radius: inherit; transform: translateZ(0) scale(1.035); transform-origin: center; will-change: transform; }
.orbita-capa-titulo, .orbita-capa-cta { position: absolute; z-index: 10; transform: translateZ(7vw); transform-style: preserve-3d; pointer-events: none; }
.orbita-capa-titulo { top: clamp(.75rem, 1.1vw, 1.15rem); right: clamp(.75rem, 1.1vw, 1.15rem); max-width: min(70%, 16rem); }
.orbita-capa-cta { bottom: clamp(.75rem, 1.1vw, 1.15rem); left: clamp(.75rem, 1.1vw, 1.15rem); }
.orbita-etiqueta { display: block; width: max-content; max-width: none; overflow: visible; border-radius: .5rem; background: var(--acento); color: var(--alabaster); padding: .78rem 1rem .72rem; font-size: clamp(.95rem, 1.1vw, 1.18rem); font-weight: 500; line-height: 1; white-space: nowrap; box-shadow: 0 .65rem 1.8rem #13131329; opacity: 0; visibility: hidden; will-change: transform, opacity; }
.orbita-etiqueta.es-cta { display: flex; align-items: center; gap: .45em; background: var(--onyx); padding-inline: .95rem .85rem; font-size: clamp(.78rem, .85vw, .92rem); }
.orbita-cta-ico { width: .95em; height: .95em; fill: currentColor; transform: rotate(-45deg); transform-origin: center; flex: none; }
.orbita-etiqueta [data-titulo-txt], .orbita-caracter { display: inline-block; }
.orbita-der { display: flex; align-items: center; justify-content: flex-end; padding-top: clamp(4rem, 8vh, 7rem); padding-bottom: clamp(3rem, 7vh, 5rem); padding-inline: clamp(1rem, 2vw, 2rem) clamp(2rem, 5vw, 5rem); }
.orbita-contenido { position: relative; width: 62.5%; --orbita-hueco: clamp(2rem, 4vh, 3.5rem); }
.orbita-lista-caja { position: relative; overflow: visible; }
.orbita-info { position: absolute; top: calc(100% + var(--orbita-hueco)); right: 0; left: 0; display: flex; flex-direction: column; gap: clamp(.75rem, 1.5vh, 1.25rem); min-height: 3.1em; }
.orbita-desc { margin: 0; font-size: 14px; font-weight: 400; line-height: 1.55; color: var(--onyx); }
.orbita-nombres { width: 100%; border-bottom: 1px solid rgba(19, 19, 19, .14); }
.orbita-nombre { position: relative; display: flex; align-items: center; padding: clamp(.6rem, 1vw, .85rem) 0; border-top: 1px solid rgba(19, 19, 19, .14); color: var(--onyx); cursor: pointer; transition: color .35s ease; overflow: hidden; }
.orbita-nombre-fondo { position: absolute; top: -1px; left: 0; width: 100%; height: calc(100% + 2px); background: var(--onyx); pointer-events: none; will-change: transform; transition: transform .5s var(--salida); transform: translateY(-100%); }
.orbita-nombre-txt { position: relative; z-index: 1; flex: 1; font-size: clamp(.85rem, 1.1vw, 1.05rem); font-weight: 400; line-height: 1; transition: font-weight .35s ease, transform .5s var(--salida); }
.orbita-nombre[data-activo="true"] .orbita-nombre-txt { font-weight: 500; transform: translate(16px); }
@media (hover: hover) and (pointer: fine) {
  .orbita-nombre:hover { color: var(--alabaster); }
  .orbita-nombre:hover .orbita-nombre-txt { transform: translate(16px); }
}
.orbita-nombre[data-activo="true"]:hover { color: var(--alabaster); }
@media (max-width: 900px) { .orbita { display: none; } }


.galeria-m { --g-borde: 1.5rem; --g-ancho: min(78vw, 22rem); display: none; overflow: clip; padding-block: 3rem 4rem; }
.galeria-m-titulo { margin: 0 0 2rem; padding-inline: var(--g-borde); font-size: clamp(2.05rem, 9.6vw, 3.4rem); font-weight: 400; line-height: 1; letter-spacing: -.02em; }
.galeria-m-pista { display: flex; gap: 1rem; overflow-x: auto; overflow-y: hidden; padding-left: var(--g-borde); padding-right: calc(100vw - var(--g-ancho) - var(--g-borde)); scroll-padding-left: var(--g-borde); scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.galeria-m-pista::-webkit-scrollbar { display: none; }
.galeria-m-slide { display: block; flex: 0 0 var(--g-ancho); aspect-ratio: 2 / 3; overflow: hidden; border-radius: .65rem; scroll-snap-align: start; }
.galeria-m-slide img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.galeria-m-meta { padding: 2.5rem var(--g-borde) 0; }
.galeria-m-activo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0 1.25rem; font-size: clamp(1.15rem, 5.6vw, 1.55rem); font-weight: 500; line-height: 1; }
.galeria-m-desc { min-height: 4.65em; max-width: 34rem; font-size: 14px; line-height: 1.35; }
@media (max-width: 900px) { .galeria-m { display: block; } }
@media (min-width: 640px) and (max-width: 900px) { .galeria-m-titulo { font-size: 2.75rem; } }


.servicios { --serv-indice: 4ch; --serv-hueco: 50px; position: relative; padding-block: clamp(6rem, 15vh, 11rem); overflow: visible; }
.servicios-rejilla { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 clamp(1rem, 1.5vw, 1.5rem); max-width: 100rem; margin-inline: auto; padding-inline: 1.5rem; }
.servicios-rotulo { grid-column: 2 / span 10; display: inline-flex; align-items: center; gap: .75rem; margin: 0 0 clamp(3rem, 7vh, 4.8rem); font-size: 14px; font-weight: 500; line-height: 1; }
.servicios-punto { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 999px; background: currentColor; transform: translateY(-1px); animation: serv-punto 1.15s ease-in-out infinite; }
@keyframes serv-punto { 0%, 100% { opacity: 1; } 50% { opacity: .15; } }
.servicios-cuerpo { grid-column: 2 / span 10; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0 clamp(1rem, 1.5vw, 1.5rem); align-items: start; }
.servicios-lista { grid-column: 1 / span 7; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(.18rem, 1vh, .55rem); container-type: inline-size; }
.servicios-entrada { width: 100%; }
.servicios-item { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: var(--serv-hueco); align-items: center; width: 100%; margin: 0; padding: 0; border: 0; color: #13131380; background: transparent; font-weight: 500; line-height: 1; letter-spacing: 0; text-align: left; white-space: nowrap; cursor: pointer; transition: color .2s ease; }
.servicios-indice { width: var(--serv-indice); font-size: 14px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
.servicios-titulo { min-width: 0; font-size: clamp(.9rem, calc((100cqw - 80px) / 10.5), 3.4rem); line-height: 1; letter-spacing: -.03em; white-space: nowrap; }
.servicios-item[data-activo="true"], .servicios-item[data-expandido="true"] { color: var(--onyx); }
.servicios-item:focus-visible { outline: 1.5px solid currentColor; outline-offset: .08em; }
.servicios-panel { height: 0; width: 100%; overflow: hidden; opacity: 0; }
.servicios-panel-int { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: var(--serv-hueco); align-items: flex-end; }
.servicios-panel-int::before { content: "(00)"; grid-column: 1; width: var(--serv-indice); visibility: hidden; font-size: 14px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
.servicios-copia { grid-column: 2; display: block; max-width: 28rem; margin: 0; padding-top: 50px; padding-bottom: 30px; color: var(--onyx); font-size: 14px; font-weight: 400; line-height: 1.35; text-align: left; }
.servicios-visual { grid-column: 9 / span 2; position: relative; align-self: stretch; min-height: 100%; pointer-events: none; }
.servicios-vista { --serv-y: 0px; position: absolute; top: 0; left: 0; width: clamp(14.5rem, 20vw, 21rem); aspect-ratio: 1 / 1.5; overflow: hidden; transform: translate3d(0, var(--serv-y), 0); will-change: transform; }
.servicios-img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; background: var(--alabaster); opacity: 0; transition: opacity .3s ease; will-change: opacity; }
.servicios-img[data-activo="true"] { opacity: 1; }
@media (min-width: 768px) { .servicios-titulo { font-size: clamp(2.25rem, calc((100cqw - 80px) / 10.5), 4.25rem); } }
@media (max-width: 1023px) {
  .servicios-rotulo, .servicios-cuerpo { grid-column: 2 / span 10; }
  .servicios-lista { grid-column: 1 / span 6; }
  .servicios-titulo { font-size: clamp(1.45rem, calc((100cqw - 80px) / 11.5), 3rem); }
  .servicios-visual { grid-column: 8 / span 3; }
  .servicios-vista { width: clamp(9rem, 18vw, 13rem); }
}
@media (max-width: 767px) {
  .servicios { --serv-hueco: clamp(1rem, 6vw, 50px); padding-block: clamp(4.5rem, 12vh, 7rem); }
  .servicios-rejilla { grid-template-columns: 1fr; }
  .servicios-rotulo, .servicios-cuerpo { grid-column: 1; }
  .servicios-rotulo { margin-bottom: 2rem; }
  .servicios-cuerpo { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .servicios-lista { grid-column: 1; gap: clamp(.6rem, 2vw, 1rem); }
  .servicios-item { align-items: start; white-space: normal; }
  .servicios-titulo { font-size: clamp(1.7rem, 8.8vw, 3rem); line-height: .95; white-space: normal; }
  .servicios-visual { display: none; }
}


.proceso { position: relative; padding-block: clamp(6rem, 12vw, 11rem); }
.proceso-rejilla { display: grid; grid-template-columns: 1fr; row-gap: clamp(3rem, 8vw, 4.5rem); max-width: 100rem; margin-inline: auto; padding-inline: 1.5rem; }
.proceso-izq { display: flex; flex-direction: column; }
.proceso-arriba { display: flex; align-items: center; justify-content: space-between; margin-block-end: clamp(1.75rem, 3vw, 2.5rem); }
.proceso-flechas { display: flex; column-gap: 1.25rem; }
.proceso-flecha { display: grid; place-items: center; color: currentColor; cursor: pointer; }
.proceso-flecha:disabled { cursor: default; }
.proceso-flecha-ico { width: 1rem; height: 1rem; fill: currentColor; }
.proceso-flecha.prev .proceso-flecha-ico { transform: scaleX(-1); }
.proceso-cuenta { font-family: var(--mono); font-size: .625rem; font-weight: 500; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.proceso-textos { display: grid; }
.proceso-texto { grid-area: 1 / 1; opacity: 0; visibility: hidden; }
.proceso-texto[data-activo="true"] { opacity: 1; visibility: visible; }
.proceso-texto p { font-size: .875rem; font-weight: 500; line-height: 1.5; }
.proceso-progreso { position: relative; margin-block-start: clamp(2rem, 4vw, 3rem); width: 100%; height: 1px; background: color-mix(in srgb, currentColor 15%, transparent); }
.proceso-relleno { position: absolute; inset: 0; background: currentColor; transform: scaleX(0); transform-origin: left center; }
.proceso-der { display: grid; }
.proceso-etapa { grid-area: 1 / 1; display: flex; flex-direction: column; justify-content: flex-start; opacity: 0; visibility: hidden; }
.proceso-etapa[data-activo="true"] { opacity: 1; visibility: visible; }
.proceso-insignia { display: grid; place-items: center; width: clamp(3.5rem, 5vw, 4.25rem); aspect-ratio: 1; margin-block-end: clamp(1rem, 1.5vw, 1.25rem); border-radius: 100%; background: var(--onyx); color: var(--alabaster); font-family: var(--mono); font-size: .8rem; font-weight: 500; letter-spacing: .02em; }
.proceso-nombre, .proceso-sub { font-size: .875rem; font-weight: 500; line-height: 1.4; }
.proceso-sub { margin-block-start: .35em; opacity: .75; }
.sellos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: clamp(1.5rem, 4vw, 4rem); row-gap: 2rem; max-width: 100rem; margin-inline: auto; margin-block-start: clamp(7rem, 14vw, 12rem); padding-inline: 1.5rem; }
.sello { position: relative; display: block; width: clamp(10rem, 19vw, 20rem); line-height: 0; color: var(--onyx); }
.sello-laurel { width: 100%; height: auto; aspect-ratio: 240 / 124; }
.sello-txt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding-inline: 22%; text-align: center; font-size: clamp(1.15rem, 2vw, 2rem); font-weight: 800; line-height: .95; letter-spacing: -.045em; }
@media (min-width: 768px) {
  .proceso-rejilla { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .proceso-izq { grid-column: 1 / span 3; }
  .proceso-der { grid-column: 4 / span 2; }
}
@media (min-width: 1024px) {
  .proceso-rejilla { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .proceso-izq { grid-column: 2 / span 4; }
  .proceso-der { grid-column: 7 / span 3; }
}
@media (max-width: 720px) { .sello { width: min(42vw, 14rem); } }


.cta { padding-block: clamp(5rem, 14vh, 10rem); }
.cta-rejilla { display: grid; grid-template-columns: 1fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); max-width: 100rem; margin-inline: auto; padding-inline: 1.5rem; }
.cta-contenido { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(1.5rem, 3vw, 2.25rem); }
.cta-titulo { margin: 0; font-size: clamp(2.05rem, 9.6vw, 3.4rem); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.cta-linea { display: block; white-space: nowrap; }
.cta-boton { font-size: 1rem; text-transform: none; }
.cta-ascii-caja { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; }
.cta-ascii { width: 100%; min-height: clamp(18rem, 32vw, 36rem); display: flex; align-items: center; justify-content: center; cursor: default; user-select: none; -webkit-user-select: none; touch-action: none; }
.cta-ascii-pre { margin: 0; font-family: var(--mono); font-size: 6px; line-height: 6px; font-weight: 500; color: var(--onyx); white-space: pre; transform-origin: center center; will-change: transform; }
@media (min-width: 640px) { .cta-titulo { font-size: 2.75rem; } }
@media (min-width: 768px) {
  .cta-rejilla { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cta-contenido { grid-column: 2 / span 2; }
  .cta-ascii-caja { grid-column: 4 / span 3; }
  .cta-titulo { font-size: clamp(3rem, 4vw, 4.25rem); }
}
@media (min-width: 1024px) {
  .cta-rejilla { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cta-contenido { grid-column: 2 / span 5; }
  .cta-ascii-caja { grid-column: 7 / span 6; }
}
@media (max-width: 720px) {
  .cta-contenido { align-items: center; text-align: center; }
  .cta-ascii { min-height: min(62vw, 22rem); touch-action: pan-y; }
}


.pie-bloque { position: relative; overflow: clip visible; }
.pie-envoltura { position: relative; overflow: hidden; background: var(--alabaster); color: var(--onyx); }
.pie { --pie-borde: 32px; position: relative; box-sizing: border-box; height: 100vh; height: 100svh; max-height: 100svh; padding: 0; }
.pie-rejilla { position: relative; box-sizing: border-box; width: 100%; height: 100%; min-height: 0; padding-inline: var(--pie-borde); }
.pie-arriba { position: absolute; top: 50%; left: var(--pie-borde); right: var(--pie-borde); display: flex; justify-content: space-between; align-items: flex-start; gap: clamp(2rem, 5vw, 5rem); transform: translateY(-50%); font-size: 14px; font-weight: 500; line-height: 1.35; }
.pie-col { display: flex; flex-direction: column; align-items: flex-start; gap: 4rem; min-width: clamp(8rem, 12vw, 12rem); }
.pie-rotulo { margin: 0; color: #13131380; text-transform: uppercase; }
.pie-enlaces { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.pie-enlaces > span { display: block; }
.pie-enlace { appearance: none; position: relative; display: block; height: 1.35em; overflow: hidden; color: inherit; font: inherit; line-height: inherit; cursor: pointer; }
.pie-dos-puntos { display: inline-block; animation: pie-parpadeo 1s step-end infinite; }
@keyframes pie-parpadeo { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.pie-muestra a { text-decoration: underline; text-underline-offset: 2px; }
.pie-abajo { position: absolute; left: var(--pie-borde); right: var(--pie-borde); bottom: var(--pie-borde); }
.pie-marca { --pie-marca-tam: 120px; display: flex; align-items: flex-end; justify-content: space-between; width: 100%; margin: 0; font-size: var(--pie-marca-tam); font-weight: 800; line-height: 1; letter-spacing: 0; color: var(--onyx); white-space: nowrap; }
.pie-letra { display: block; line-height: .727; height: .727em; }
.pie-letra.it { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 1.01em; line-height: .6; height: .727em; transform: translateY(.085em); margin-inline: .03em; }
.pie-corchete { flex: none; width: .305em; height: .727em; fill: currentColor; }
.pie-oscuro { position: absolute; inset: 0; background: var(--onyx); opacity: 0; pointer-events: none; }
@media screen and (max-width: 991px) { .pie-arriba { display: grid; grid-template-columns: repeat(2, max-content); justify-content: start; gap: 3rem clamp(2rem, 10vw, 6rem); } }
@media screen and (max-width: 767px) { .pie { --pie-borde: 1rem; } .pie-arriba { grid-template-columns: 1fr; gap: 2rem 1rem; font-size: 12px; } .pie-col { gap: 2rem; min-width: 0; } }


@media (prefers-reduced-motion: reduce) {
  .ruido, .ruido::before, .servicios-punto, .pie-dos-puntos { animation: none; }
  .servicios-img, .servicios-item, .boton__hover, .boton__texto, .boton__ico-fondo, .boton__flecha { transition: none; }
}
