/* =========================================================
   ZERLAB STUDIO — CTA FINALE
   ========================================================= */

.final-cta {
  position: relative;

  width: 100%;
  min-height: 760px;

  padding:
    clamp(45px, 5vw, 70px)
    var(--page-padding)
    0;

  display: flex;
  flex-direction: column;

  color: var(--white);
  background: var(--blue);

  overflow: hidden;
}


/* =========================================================
   TOP
   ========================================================= */

.final-cta-top {
  position: relative;
  z-index: 2;

  padding-bottom: 24px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 30px;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.22);
}


.final-cta-label,
.final-cta-mark {
  color:
    rgba(255, 255, 255, 0.62);

  font-size: 8px;
  font-weight: 700;

  letter-spacing: 2px;

  text-transform: uppercase;
}


/* =========================================================
   CONTENUTO
   ========================================================= */

.final-cta-content {
  position: relative;
  z-index: 2;

  flex: 1;

  padding:
    clamp(75px, 8vw, 120px)
    0
    clamp(130px, 13vw, 200px);

  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap:
    clamp(60px, 8vw, 130px);
}


/* =========================================================
   TITOLO
   ========================================================= */

.final-cta-content h2 {
  max-width: 1050px;

  margin: 0;

  color: var(--white);

  font-size:
    clamp(64px, 7.3vw, 112px);

  font-weight: 500;

  line-height: 0.88;

  letter-spacing: -6px;
}


.final-cta-content h2 strong {
  color: #9fc4e4;

  font-weight: 700;
}


/* =========================================================
   COLONNA DESTRA
   ========================================================= */

.final-cta-side {
  width: min(100%, 330px);

  flex-shrink: 0;

  padding-bottom: 7px;
}


.final-cta-side p {
  max-width: 260px;

  margin:
    0
    0
    30px;

  color:
    rgba(255, 255, 255, 0.68);

  font-size: 13px;

  line-height: 1.75;
}


/* =========================================================
   BOTTONE
   ========================================================= */

.final-cta-button {
  width: 100%;
  min-height: 64px;

  padding:
    0
    20px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 25px;

  border-radius: 6px;

  color: var(--blue);
  background: var(--white);

  text-decoration: none;

  transition:
    transform 0.25s ease,
    background 0.25s ease;
}


.final-cta-button span {
  font-size: 9px;
  font-weight: 800;

  letter-spacing: 1.2px;
}


.final-cta-button strong {
  font-size: 20px;
  font-weight: 500;

  transition:
    transform 0.25s ease;
}


.final-cta-button:hover {
  background: #f2f5f8;

  transform:
    translateY(-3px);
}


.final-cta-button:hover strong {
  transform:
    translateX(5px);
}


/* =========================================================
   ZERLAB GIGANTE SULLO SFONDO
   ========================================================= */

.final-cta-background {
  position: absolute;

  right: -1.5vw;
  bottom: -3vw;
  left: -1.5vw;

  z-index: 1;

  color:
    rgba(255, 255, 255, 0.045);

  font-size: 24vw;
  font-weight: 800;

  line-height: 0.7;

  letter-spacing: -1.8vw;

  text-align: center;

  white-space: nowrap;

  pointer-events: none;
  user-select: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

  .final-cta-content {
    align-items: flex-start;

    flex-direction: column;

    justify-content: center;

    gap: 55px;
  }


  .final-cta-side {
    width: min(100%, 420px);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .final-cta {
    min-height: 690px;

    padding:
      35px
      20px
      0;
  }


  .final-cta-mark {
    display: none;
  }


  .final-cta-content {
    padding:
      65px
      0
      120px;

    gap: 50px;
  }


  .final-cta-content h2 {
    font-size:
      clamp(53px, 15vw, 72px);

    line-height: 0.92;

    letter-spacing: -4px;
  }


  .final-cta-side {
    width: 100%;
  }


  .final-cta-side p {
    font-size: 12px;
  }


  .final-cta-background {
    bottom: -1vw;

    font-size: 31vw;
  }

}