#nov-hero .lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

#nov-hero .text-decoration-none {
  text-decoration: none;
}

#nov-hero .nov-inner .button:hover {
  text-decoration: none;
}

#nov-hero {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(/themes/castle/promos/back.webp);
  background-image: -webkit-image-set(url("/themes/castle/promos/back.webp") 1x, url("/themes/castle/promos/back@2x.webp") 2x);
}

#nov-hero .nov-inner {
  width: 1332px;
  /* Figma: site copy from x 289, card ends at x 1621 */
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  /* Figma: the card sits 97px below the hero background and its CTA overhangs the bottom by 18px */
  padding-top: 97px;
  padding-bottom: 133px;
}

#nov-hero .nov-left {
  font-size: 25px;
  line-height: 1.6em;
  font-family: "Roboto", sans-serif;
}

#nov-hero .nov-right {
  max-width: 630px;
}

#nov-hero .nov-left .hero-text {
  color: #FFF;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 25px;
  font-style: normal;
  font-weight: 400;
  line-height: 40px;
  max-width: 605px;
}

#nov-hero .nov-left strong {
  color: #FFF;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 47px;
  font-style: normal;
  font-weight: 900;
  line-height: 59px;
  max-width: 657px;
  margin-bottom: 28px;
}

#nov-hero .left-inner {
  max-width: 25.4em;
}

#nov-hero p {
  margin-bottom: 0;
}

#nov-hero .button {
  border-radius: 54px;
  line-height: 1;
}

#nov-hero .nov-left .button {
  width: 11.75em;
  height: 2.25em;
  font-size: 1.25rem;
  padding: 0.13em 0 0 0;
  background-color: #00B340;
  margin-top: 30px;
}

#form-bundle {
  z-index: 9;
  position: relative;
}

#nov-hero .nov-right {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/hero/form-back.jpg);
  background-image: image-set(url("../images/hero/form-back.webp") 1x, url("../images/hero/form-back@2x.webp") 2x);
  background-image: -webkit-image-set(url("../images/hero/form-back.webp") 1x, url("../images/hero/form-back@2x.webp") 2x);
  width: 100%;
  padding-bottom: 0;
  padding-top: 0;
}

#nov-hero .nov-right .button {
  width: 11.75em;
  height: 2.25em;
  font-size: 1.25rem;
  margin-top: 0;
  padding: 0.13em 0 0 0;
  top: 22px;
  z-index: 4;
  border: none;
  background-color: #EB0F10;
}

@supports (text-box: trim-both cap alphabetic) {

  #nov-hero .nov-left .button,
  #nov-hero .nov-right .button {
    padding: 0;
  }

  #nov-hero .button>span {
    display: block;
    text-box: trim-both cap alphabetic;
  }

  /* component-generated submit: bare text node, no span to trim */
  #nov-hero .promoLead {
    display: block;
    align-content: center;
    text-box: trim-both cap alphabetic;
  }
}

#form-bundle form {
  max-width: 100%;
  width: 100%;
  padding: 0 30px;
}

#form-bundle .form-action {
  text-align: center;
}

#nov-hero .form-text {
  color: #FFF;
  text-align: center;
  font-size: 27px;
  font-style: normal;
  line-height: 100%;
  /* 27px */
  letter-spacing: 0.54px;
}

#hero-form {
  margin-top: 20px;
}

#nov-hero .oh-stage {
  position: relative;
  container-type: inline-size;
  width: 100%;
}

#nov-hero .headline {
  margin-top: 33px;
  margin-bottom: -18px;
}

#nov-hero .main-text {
  color: #FFC928;
  text-align: center;
  text-shadow: 1.125px 2.251px 0 #000;
  -webkit-text-stroke-width: 1.13px;
  -webkit-text-stroke-color: #000;
  font-size: 36.65px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  /* 201.91% */
  letter-spacing: 0.367px;
  margin-bottom: 20px;
}

@supports (background: -webkit-named-image(i)) and (not (text-box: trim-both cap alphabetic)) {
  #nov-hero .button {
    padding-top: 2px;
  }
}

@media screen and (max-width: 1300px) {
  #nov-hero .nov-left {
    font-size: 20px;
  }

  #nov-hero .nov-inner {
    justify-content: center;
    gap: 30px;
  }
}

@media screen and (max-width: 1200px) {
  #nov-hero .nov-left {
    font-size: 18px;
  }
}

@media screen and (max-width: 991px) {
  #nov-hero .nov-inner {
    flex-direction: column;
    padding-top: 50px;
    padding-bottom: 70px;
    gap: 50px;
  }

  #nov-hero .nov-right {
    max-width: 90%;
    border: none;
  }
}

@media screen and (max-width: 767px) {
  #nov-hero {
    background-image: url(/themes/castle/promos/back-m.webp);
    background-image: -webkit-image-set(url("/themes/castle/promos/back-m.webp") 1x, url("/themes/castle/promos/back-m@2x.webp") 2x);
    background-position: top left;
    background-size: 100% auto;
  }

  /* Figma: the site copy is centred in the 439px photo, and the card starts where the photo ends */
  #nov-hero .nov-inner {
    width: 100% !important;
    padding-top: 73px;
    padding-bottom: 0;
    gap: 73px;
  }

  #nov-hero .nov-right {
    background-image: url(../images/hero/form-back-m.jpg);
    background-image: image-set(url("../images/hero/form-back-m.webp") 1x, url("../images/hero/form-back-m@2x.webp") 2x);
    background-image: -webkit-image-set(url("../images/hero/form-back-m.webp") 1x, url("../images/hero/form-back-m@2x.webp") 2x);
    padding-bottom: 57px;
    max-width: 100%;
  }

  #nov-hero .nov-right .button {
    margin: 0 auto;
    margin-top: 8px;
  }

  #nov-hero .nov-left {
    font-size: 14px;
    line-height: 1.77em;
  }

  #nov-hero .left-inner {
    max-width: 100%;
  }

  #nov-hero .nov-left .hero-text {
    font-size: 14px;
    line-height: 23px;
    max-width: 350px;
  }

  #nov-hero .nov-left strong {
    font-size: 23px;
    line-height: 31px;
    margin-bottom: 13px;
    max-width: 389px;
  }

  #nov-hero .nov-left .button {
    margin-top: 20px;
  }

  #nov-hero .main-text {
    font-size: 37.65px;
    line-height: normal;
    letter-spacing: 0.377px;
  }

  #nov-hero .headline {
    margin-top: 57px;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 567px) {
  #nov-hero {
    z-index: 9;
  }

  #preapproved {
    margin-top: 258px;
  }

  /* Safari Only */
  @supports (background: -webkit-named-image(i)) {
    #nov-hero .button {
      padding-top: 0 !important;
    }
  }
}

@media screen and (max-width: 400px) {
  #nov-hero {
    background-size: auto 56%;
  }
}