/* Homepage final quotation CTA ----------------------------------------- */
:is(.viox-homepage, .viox-factory-page) .viox-section--final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--viox-red) !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-section--final-cta::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  color: rgba(255, 255, 255, .085);
  content: "VIOX";
  font-family: var(--viox-font);
  font-size: clamp(180px, 25vw, 360px);
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: .76;
  pointer-events: none;
  transform: translate(-50%, -48%);
  white-space: nowrap;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta {
  display: grid;
  width: calc(100% - 40px) !important;
  max-width: 1400px !important;
  min-height: 440px !important;
  place-items: center;
  margin: 0 auto !important;
  text-align: center;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta__copy {
  display: flex;
  width: min(920px, 100%);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 76px 0 72px;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta h2 {
  max-width: 900px;
  margin: 0;
  padding: 0 !important;
  color: #fff !important;
  font-family: var(--viox-font) !important;
  font-size: clamp(50px, 4.5vw, 64px) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta h2::before {
  display: none !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta h2 span,
:is(.viox-homepage, .viox-factory-page) .viox-final-cta .viox-heading-key,
:is(.viox-homepage, .viox-factory-page) .viox-final-cta .viox-heading-key--on-red {
  color: #fff !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta p {
  display: block !important;
  max-width: 760px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .92) !important;
  font-family: var(--viox-font) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary {
  min-width: 190px;
  margin-top: 32px;
  border: 0 !important;
  background: #fff !important;
  color: var(--viox-dark) !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary::before {
  background: var(--viox-dark) !important;
}

:is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary:hover,
:is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary:focus-visible,
:is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary:active {
  color: #fff !important;
}

@media (max-width: 1024px) {
  :is(.viox-homepage, .viox-factory-page) .viox-final-cta {
    width: calc(100% - 48px) !important;
    min-height: 420px !important;
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta__copy {
    padding: 68px 0 64px;
  }
}

@media (max-width: 780px) {
  :is(.viox-homepage, .viox-factory-page) .viox-section--final-cta::before {
    font-size: clamp(130px, 46vw, 210px);
    transform: translate(-50%, -54%);
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta {
    width: calc(100% - 32px) !important;
    min-height: 430px !important;
    padding: 0 !important;
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta__copy {
    padding: 64px 0 60px;
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta h2 {
    max-width: 13ch;
    font-size: clamp(36px, 10.4vw, 44px) !important;
    line-height: 1.08 !important;
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta p {
    max-width: 34ch;
    margin-top: 22px;
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  :is(.viox-homepage, .viox-factory-page) .viox-final-cta__primary {
    margin-top: 28px;
  }
}
