.hero {

  padding: 20px 0px;
  background: #f7f7f7;
}


/* ===== Hero Carrera: imagen completa en portrait y landscape ===== */
.carrera-hero {
  background: #fff;
}

/* Portada carrera: 100% ancho y SIN recorte */
.carrera-img {
  height: auto;
  /* mantiene proporción */
  max-width: 100%;
  object-fit: contain;
  /* por si algún navegador lo aplica */
}


/* Splash / Portada inicial */
.splash {
  position: fixed;
  inset: 0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 1.15s ease, visibility 1.15s ease;
}

.splash-logo {
  width: min(420px, 70vw);
  height: auto;
}

/* Cuando se oculta */
.splash--hide {
  opacity: 0;
  visibility: hidden;
}


.text-justify {
  text-align: justify;
  text-justify: inter-word;
}


/* Logo de la sección Bases: más grande en escritorio */
.logo-carrera {
  width: 70%;
  /* móvil / base */
  height: auto;
}

/* Desktop */
@media (min-width: 992px) {
  .logo-carrera {
    width: 60%;
  }
}






/* ===== Sponsors ticker (cinta infinita) ===== */
.sponsors-ticker {
  position: relative;
}

.sponsors-track {
  display: flex;
  align-items: center;
  gap: 18px;
  width: max-content;
  animation: sponsorsScroll 22s linear infinite;
}

.sponsors-track img {
  height: 150px;
  width: auto;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  border: 0px solid rgba(0, 0, 0, .08);
  padding: 8px 12px;
}

/* Ajustes responsivos */
@media (min-width: 992px) {
  .sponsors-track img {
    height: 150px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sponsors-track {
    animation: none;
  }
}

@keyframes sponsorsScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}