/* Carrusel del hero: aislado para preservar los estilos y el parallax existentes. */
.hero-carousel,
.hero-carousel__track,
.hero-carousel__slide { position: absolute; inset: 0; }
.hero-carousel { pointer-events: none; }
.hero-carousel__slide { display: block; margin: 0; opacity: 0; transform: translate3d(5%, 0, 0) scale(1.04); transition: opacity .72s ease, transform .9s cubic-bezier(.16, 1, .3, 1); }
.hero-carousel__slide.is-active { opacity: 1; transform: translate3d(0, 0, 0) scale(1.025); }
.hero-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.8) contrast(1.1) brightness(.72); }
.hero-carousel::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(1, 9, 18, .88) 0%, rgba(1, 9, 18, .46) 47%, rgba(1, 9, 18, .62) 100%); pointer-events: none; }
.hero-carousel__controls { position: absolute; z-index: 3; right: clamp(1rem, 4vw, 4rem); bottom: clamp(1rem, 3vw, 2.25rem); display: flex; align-items: center; gap: .55rem; pointer-events: auto; }
.hero-carousel__controls button { width: 2.2rem; height: 2.2rem; padding: 0; border: 1px solid rgba(154, 229, 255, .34); border-radius: 999px; color: #e8f4fd; background: rgba(1, 9, 18, .54); backdrop-filter: blur(10px); transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.hero-carousel__controls button:hover,
.hero-carousel__controls button:focus-visible { border-color: #00e5ff; background: rgba(0, 72, 93, .74); transform: translateY(-1px); }
.hero-carousel__dots { display: flex; gap: .35rem; }
.hero-carousel__dots button { width: .55rem; height: .55rem; border-color: transparent; background: rgba(232, 244, 253, .4); }
.hero-carousel__dots button[aria-selected="true"] { width: 1.55rem; background: #00e5ff; }
@media (max-width: 767.98px) { .hero-carousel__controls { right: 1rem; bottom: 1rem; } .hero-carousel__slide img { object-position: 62% center; } }
@media (prefers-reduced-motion: reduce) { .hero-carousel__slide, .hero-carousel__slide.is-active { transform: none; transition: none; } }
/* Copy de escena: los datos viven junto a cada imagen y se proyectan sobre el contenido principal del hero. */
.hero-carousel__copy { display: none; }
#hero-scene-content { max-width: 34rem; transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
#hero-scene-content.hero-carousel__copy--editorial { padding: 0; background: transparent; border: 0; box-shadow: none; }
#hero-scene-content.hero-carousel__copy--panel { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid rgba(135, 229, 255, .35); border-radius: 1rem; background: rgba(2, 15, 27, .72); box-shadow: 0 1.25rem 3.5rem rgba(0, 0, 0, .28); backdrop-filter: blur(12px); }
#hero-scene-content.is-changing { transform: translate3d(0, .7rem, 0); opacity: .28; }
@media (max-width: 767.98px) { #hero-scene-content.hero-carousel__copy--panel { max-width: 100%; padding: 1rem; } }
@media (prefers-reduced-motion: reduce) { #hero-scene-content { transition: none; } #hero-scene-content.is-changing { transform: none; } }
/* animations.css anima el primer container (nav); este es el contenido principal y no debe quedar transparente. */
html.hero-anim-armed .landing-hero > .container.landing-section {
  opacity: 1 !important;
  transform: none !important;
}