/* Estilos para el efecto parallax */

.parallax__fade {
  --color-dark-rgb: 0, 0, 0;
  background: linear-gradient(to top, #092454 0%, #09245400 100%);
}

.osmo-icon-svg {
  width: 8em;
  position: relative;
}

.parallax__header {
  z-index: 2;
  padding: var(--section-padding, 2rem) var(--container-padding, 1rem);
  justify-content: center;
  align-items: center;
  aspect-ratio: 0.72 / 1;
  display: flex;
  position: relative;
}

.parallax {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.parallax__content {
  padding: var(--section-padding, 2rem) var(--container-padding, 1rem);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.parallax__visuals {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__layers {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.parallax__caption {
  padding: 0 15% 10% 15%;
  z-index: 31;
  object-fit: cover;
  width: 100%;
  max-width: none;
  position: absolute;
  bottom: 0;
  left: 0;
}

.parallax__caption p {
  background-color: #092454;
  padding: 2em;
  font-family: "Gilroy", sans-serif;
  font-weight: 200;
  font-size: 1.5vw;
  color: white;
  margin: 0;
}

.parallax__fade {
  z-index: 30;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 20%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.parallax__black-line-overflow {
  z-index: 20;
  background-color: #000;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.parallax__title {
  color: #092454;
  pointer-events: none;
  text-align: center;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0.075em;
  font-family: "DM Serif Display", serif;
  font-size: 6vw;
  font-weight: 800;
  line-height: 1;
  position: relative;
}

.parallax__subtitle {
  color: #ffffff;
  background-color: #092454;
  pointer-events: none;
  text-align: center;
  text-transform: none;
  padding: 0.5em 1em;
  font-family: "Gilroy", sans-serif;
  font-weight: 200;
  font-size: 2.5vw;
  line-height: 1;
  position: relative;
}

.parallax__layer-title {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100svh;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__layer-img {
  pointer-events: none;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 107.5%;
  position: absolute;
  top: -7.5%;
  left: 0;
  will-change: transform; /* Optimización para animaciones */
}

/* Fuentes */
@font-face {
  font-family: "DM Serif Display";
  src: url("/font/DMSerifDisplay-Regular.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("/font/Gilroy-Light.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* Responsive */
@media (max-width: 768px) {
  .parallax__title {
    font-size: 8vw;
  }

  .parallax__subtitle {
    font-size: 3.5vw;
  }

  /* Aumentar tamaño de fuente y ajustar padding para legibilidad en mobile */
  .parallax__caption {
    padding: 0 4% 8% 4%;
  }

  .parallax__caption p {
    font-size: 14px;
    padding: 1em;
    line-height: 1.5;
  }
}

/* Agregar breakpoint para pantallas muy pequeñas */
@media (max-width: 480px) {
  .parallax__title {
    font-size: 10vw;
  }

  .parallax__subtitle {
    font-size: 4vw;
  }

  .parallax__caption {
    padding: 0 2% 6% 2%;
  }

  .parallax__caption p {
    font-size: 13px;
    padding: 0.8em;
    line-height: 1.4;
  }
}
