:root {
  --spacing-5xl: 128px;
  --spacing-4xl: 64px;
  --spacing-3xl: 56px;
  --spacing-2xl: 48px;
  --spacing-xl: 40px;
  --spacing-l: 32px;
  --spacing-m: 24px;
  --spacing-s: 20px;
  --spacing-xs: 16px;
  --spacing-2xs: 12px;
  --spacing-3xs: 8px;
  --spacing-4xs: 4px;
  --primary-white-color: #FFFFFF;
  --primary-black-color: #000000;
  --primary-blue-color: #004C97;
  --primary-green-color: #009CA6;
  --primary-gray-300-color: #4D4D4D;
  --primary-gray-400-color: #666666;
  --primary-gray-450-color: #949599;
  --primary-gray-500-color: #B3B3B3;
  --primary-gray-900-color: #E6E6E6;
  --primary-gray-950-color: #F2F2F2;
  --primary-gray-1000-color: #F9F9F9;
  --primary-gray-1100-color: #EFEFEF;
  --secondary-blue-color: #1E3765;
  --secondary-light-blue-color: #B9D9EB;
  --secondary-dark-blue-color: #0E2550;
  --secondary-gold-color: #EBAC00;
  --secondary-ruby-color: #960051;
  --secondary-ruby-color-hover: #610034;
  --tertiary-pale-pink: #EAD3E2;
  --border-radius-xs: 5px;
  --border-radius-s: 10px;
  --border-radius-m: 15px;
  --border-radius-l: 20px;
  --border-radius-xl: 25px;
  --border-radius-2xl: 30px;
  --c-icon-light: #F6EDD3;
  --c-icon-medium: #FEEDA2;
  --c-icon-dark: #EBAC00;
  --shadow-small: 0 2px 20px 4px rgba(30, 55, 101, 0.15);
  --bezier-custom: cubic-bezier(0.47, 0, 0.745, 0.715);
}

.cta-section {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--spacing-5xl) 0;
}
@media (max-width: 1199px) {
  .cta-section {
    padding: var(--spacing-5xl) var(--spacing-l);
  }
}
@media (max-width: 575px) {
  .cta-section {
    padding: var(--spacing-l) var(--spacing-xs);
  }
}
.cta-section__inner-wrapper {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 966px;
  width: 100%;
  padding: var(--spacing-4xl) var(--spacing-2xl) var(--spacing-2xl);
  background-color: var(--primary-white-color);
  border-radius: var(--border-radius-xs);
}
@media (max-width: 575px) {
  .cta-section__inner-wrapper {
    padding: var(--spacing-4xl) var(--spacing-m) var(--spacing-2xl);
  }
}
.cta-section__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.cta-section__image::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--primary-blue-color);
  opacity: 0.9;
}
.cta-section__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.cta-section__excerpt {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-s);
  text-align: center;
  max-width: 748px;
  width: 100%;
  margin: 0 auto;
}
.cta-section__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: -0.02em;
  color: var(--secondary-blue-color);
}
@media (max-width: 575px) {
  .cta-section__title {
    font-weight: 400;
  }
}
.cta-section__text {
  font-size: 22px;
  font-weight: 400;
  line-height: 32px;
  color: var(--primary-gray-300-color);
}
.cta-section__text a {
  color: var(--primary-gray-300-color);
  text-decoration: underline;
}
.cta-section__text p {
  margin: 0 0 var(--spacing-xs) 0;
}
.cta-section__text p:last-child {
  margin-bottom: 0;
}
.cta-section__button-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
}
.cta-section__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 170px;
  height: 57px;
  padding: 0 var(--spacing-2xs);
  background-color: var(--secondary-ruby-color);
  color: var(--primary-white-color);
  border-radius: var(--border-radius-xs);
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.cta-section__button:hover {
  filter: brightness(0.85);
}
.cta-section__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background-color: var(--c-icon-light);
  border-radius: var(--border-radius-s);
}
@media (max-width: 575px) {
  .cta-section__icon {
    transform: translate(-50%, -16px);
  }
}
.cta-section__icon svg {
  width: 64px;
  height: 64px;
}
.cta-section__icon .c-icon-light {
  fill: var(--c-icon-light);
}
.cta-section__icon .c-icon-medium {
  fill: var(--c-icon-medium);
}
.cta-section__icon .c-icon-dark {
  fill: var(--c-icon-dark);
}
.cta-section__form {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
}
.cta-section__form p {
  margin: 0;
}
.cta-section__form .gform_validation_errors {
  display: none !important;
}
.cta-section__form .gform_confirmation_message {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 75px;
  border: 1px solid #399f4b;
  background: rgba(57, 159, 75, 0.4);
  border-radius: var(--border-radius-xs);
}
.cta-section__form form {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  border-radius: var(--border-radius-xs);
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .cta-section__form form {
    height: auto;
    padding: 0 0;
    background: transparent;
    border-radius: 0;
  }
}
.cta-section__form form .gform_footer {
  position: absolute;
  top: 9px;
  right: 12px;
  max-width: 170px;
  width: 100%;
  height: 57px;
  margin: 0 0 !important;
  margin-block-start: 0 !important;
  outline: none !important;
}
@media (max-width: 767px) {
  .cta-section__form form .gform_footer {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
  }
}
.cta-section__form form .gform_footer [type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute !important;
  z-index: 10 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: var(--secondary-ruby-color) !important;
  color: var(--primary-white-color) !important;
  border-radius: var(--border-radius-xs) !important;
  outline: none !important;
  border: none !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  transition: all 0.3s ease !important;
  cursor: pointer;
}
.cta-section__form form .gform_footer [type=submit]:hover {
  filter: brightness(0.85);
}
.cta-section__form form [type=text], .cta-section__form form [type=email] {
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  justify-content: start !important;
  width: 100% !important;
  height: 75px !important;
  border: 1px solid transparent !important;
  outline: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 21px !important;
  font-style: italic !important;
  color: var(--primary-gray-400-color) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  padding: 9px 200px 9px 30px !important;
  border-radius: var(--border-radius-xs) !important;
  background-color: var(--primary-gray-950-color) !important;
}
@media (max-width: 767px) {
  .cta-section__form form [type=text], .cta-section__form form [type=email] {
    padding: 9px var(--spacing-xs) !important;
    border-radius: var(--border-radius-xs) !important;
    background-color: var(--primary-gray-950-color) !important;
    margin: 0 0 9px 0 !important;
  }
}
.cta-section__form form [type=text][aria-invalid=true], .cta-section__form form [type=email][aria-invalid=true] {
  border: 1px solid #c02b0a !important;
}
.cta-section__form form .wpcf7-form-control-wrap {
  position: relative;
  display: flex;
}
.cta-section__form form .wpcf7-not-valid-tip {
  display: none;
}
.cta-section__form form .wpcf7-spinner {
  display: none;
}
.cta-section__form form .wpcf7-response-output {
  display: none;
}