.fb-final-cta,
.fb-final-cta * {
  box-sizing: border-box;
}

.fb-final-cta {
  position: relative;
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  isolation: isolate;
  background: #f3f7fd;
  color: #0f1d3b;
  font-family: var(--fb-font-body);
  --panel-depth: 0px;
}

.fb-final-cta__image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.fb-final-cta__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fb-final-cta__panel {
  pointer-events: auto;
  position: absolute;
  left: max(2rem, calc((100vw - 73.5rem) / 2));
  top: 12%;
  width: 28.875rem;
  max-width: 37vw;
  transform: translate3d(0, var(--panel-depth), 0);
  will-change: transform, opacity;
}

.fb-final-cta-form {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.56);
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.68) 0%, rgba(255, 255, 255, 0.48) 100%);
  box-shadow:
    0 1.125rem 2.625rem rgba(15, 29, 59, 0.12),
    0 0.25rem 0.875rem rgba(15, 29, 59, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.54);
}

@supports ((backdrop-filter: blur(0.875rem)) or (-webkit-backdrop-filter: blur(0.875rem))) {
  .fb-final-cta-form {
    -webkit-backdrop-filter: blur(0.875rem) saturate(1.04);
    backdrop-filter: blur(0.875rem) saturate(1.04);
  }
}

.fb-final-cta-form::after {
  content: "";
  position: absolute;
  inset: -42% -62%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(108deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 42%, rgba(255,255,255,0.18) 48%, rgba(255,255,255,0.72) 50%, rgba(255,255,255,0.18) 52%, rgba(255,255,255,0) 60%, rgba(255,255,255,0) 100%);
  filter: blur(0.625rem);
  mix-blend-mode: screen;
  opacity: 0;
  transform: translateX(-58%);
  animation: fb-final-cta-gloss 7.5s ease-in-out 1.2s infinite;
}

.fb-final-cta-form > * {
  position: relative;
  z-index: 1;
}

.fb-final-cta-form__label,
.fb-final-cta-form__sub-label {
  margin: 0;
  color: #234f97;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.fb-final-cta-form__head h2 {
  margin: 0.5rem 0 0.625rem;
  color: #0f1d3b;
  font-family: var(--fb-font-heading);
  font-size: clamp(2.25rem, 3vw, 2.875rem);
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.02;
  text-wrap: balance;
}

.fb-final-cta-form__copy {
  color: #2b3d59;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.fb-final-cta-form__copy p {
  margin: 0;
}

.fb-final-cta-form__copy p + p {
  margin-top: 0.625rem;
}

.fb-final-cta-form__sub-label {
  margin-top: 1rem;
}

.fb-final-cta-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
  margin: 0.875rem 0 0.75rem;
}

.fb-final-cta-form__field {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
}

.fb-final-cta-form__field--full {
  grid-column: 1 / -1;
}

.fb-final-cta-form__field span {
  color: #233854;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.2;
}

.fb-final-cta-form__field input,
.fb-final-cta-form__field textarea {
  width: 100% !important;
  min-height: 2.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 999px !important;
  padding: 0 1rem !important;
  color: #0f1d3b !important;
  background:
    radial-gradient(120% 140% at 22% 0%, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.34) 44%, rgba(255,255,255,0.22) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.46) 0%, rgba(246,250,255,0.30) 100%) !important;
  box-shadow:
    0 0.5rem 1.25rem rgba(15, 29, 59, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.74),
    inset 0 -0.5rem 1rem rgba(15, 29, 59, 0.035) !important;
  font: 600 0.875rem/1.2 var(--fb-font-body) !important;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

@supports ((backdrop-filter: blur(0.75rem)) or (-webkit-backdrop-filter: blur(0.75rem))) {
  .fb-final-cta-form__field input,
  .fb-final-cta-form__field textarea {
    -webkit-backdrop-filter: blur(0.75rem) saturate(1.05) !important;
    backdrop-filter: blur(0.75rem) saturate(1.05) !important;
  }
}

.fb-final-cta-form__field textarea {
  min-height: 4.75rem !important;
  resize: vertical;
  border-radius: 1.375rem !important;
  padding: 0.8125rem 1rem !important;
  line-height: 1.35 !important;
}

.fb-final-cta-form__field input:focus,
.fb-final-cta-form__field textarea:focus {
  outline: 3px solid rgba(11, 58, 134, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.78) !important;
  background:
    radial-gradient(120% 140% at 22% 0%, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.44) 44%, rgba(255,255,255,0.30) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.56) 0%, rgba(246,250,255,0.36) 100%) !important;
  box-shadow:
    0 0.625rem 1.5rem rgba(15, 29, 59, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    inset 0 -0.5rem 1rem rgba(15, 29, 59, 0.035) !important;
}

.fb-final-cta-form__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 3.125rem !important;
  margin: 0 !important;
  padding: 0 1.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 999px !important;
  color: #0f1d3b !important;
  background:
    radial-gradient(90% 120% at 32% 18%, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.56) 28%, rgba(255,255,255,0.28) 58%, rgba(255,255,255,0.2) 100%),
    linear-gradient(145deg, rgba(255,255,255,0.36) 0%, rgba(244,248,255,0.22) 42%, rgba(255,255,255,0.14) 100%) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  font: 800 0.9375rem/1 var(--fb-font-body) !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow:
    0 0.625rem 1.625rem rgba(15, 29, 59, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -0.375rem 0.875rem rgba(15, 29, 59, 0.05) !important;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

@supports ((backdrop-filter: blur(0.875rem)) or (-webkit-backdrop-filter: blur(0.875rem))) {
  .fb-final-cta-form__button {
    -webkit-backdrop-filter: blur(0.875rem) saturate(1.1) !important;
    backdrop-filter: blur(0.875rem) saturate(1.1) !important;
  }
}

.fb-final-cta-form__button span {
  position: relative;
  z-index: 1;
  color: inherit !important;
}

.fb-final-cta-form__button:hover,
.fb-final-cta-form__button:focus-visible {
  border-color: rgba(255, 255, 255, 0.68) !important;
  transform: translateY(-1px) !important;
  box-shadow:
    0 0.875rem 1.75rem rgba(15, 29, 59, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.74),
    inset 0 -0.375rem 0.875rem rgba(15, 29, 59, 0.05) !important;
}

.fb-final-cta-form__button:focus-visible {
  outline: 3px solid rgba(11, 58, 134, 0.35);
  outline-offset: 4px;
}

.fb-final-cta-form__button.is-loading {
  cursor: wait !important;
  opacity: 0.78;
}

.fb-final-cta-form__status {
  display: none;
  margin: 0.625rem 0 0;
  color: #173c78;
  font-size: 0.8125rem;
  font-weight: 800;
  line-height: 1.35;
}

.fb-final-cta-form__status.is-visible {
  display: block;
}

.fb-final-cta-form__status.is-error {
  color: #8a2d16;
}

.fb-final-cta.is-motion-ready .fb-final-cta__panel {
  opacity: 0;
  transform: translate3d(0, calc(var(--panel-depth) + 1rem), 0);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.7,.2,1);
}

.fb-final-cta.is-in-view .fb-final-cta__panel {
  opacity: 1;
  transform: translate3d(0, var(--panel-depth), 0);
  transition-delay: 110ms;
}

@keyframes fb-final-cta-gloss {
  0%,
  42% {
    opacity: 0;
    transform: translateX(-58%);
  }

  48% {
    opacity: 0.56;
  }

  56% {
    opacity: 0.34;
  }

  64%,
  100% {
    opacity: 0;
    transform: translateX(58%);
  }
}

@media (max-width: 1180px) {
  .fb-final-cta__panel {
    left: 2rem;
    top: 9%;
    width: 27rem;
    max-width: 47vw;
  }

  .fb-final-cta-form {
    padding: 1rem;
  }

  .fb-final-cta-form__head h2 {
    font-size: 2.375rem;
  }
}

@media (max-width: 900px) {
  .fb-final-cta__overlay {
    position: static;
    display: block;
    background: #ffffff;
  }

  .fb-final-cta__panel {
    position: static;
    width: min(100%, 42rem);
    max-width: none;
    padding: 1.5rem 1rem 4rem;
    margin: 0 auto;
    transform: none;
  }

  .fb-final-cta-form {
    border-radius: 1.125rem;
    border: 1px solid rgba(223, 233, 246, 0.92);
    background: #ffffff;
    box-shadow: 0 0.5rem 1.375rem rgba(15, 29, 59, 0.05);
  }

  .fb-final-cta-form::after {
    display: none;
  }

  .fb-final-cta-form__field input,
  .fb-final-cta-form__field textarea {
    border-color: rgba(216, 228, 243, 0.96) !important;
    background: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .fb-final-cta-form__head h2 {
    font-size: 2.25rem;
  }

  .fb-final-cta.is-motion-ready .fb-final-cta__panel {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 767px) {
  .fb-final-cta-form__grid {
    grid-template-columns: 1fr;
  }

  .fb-final-cta-form__head h2 {
    font-size: clamp(2rem, 9vw, 2.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fb-final-cta__panel,
  .fb-final-cta-form__button {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .fb-final-cta-form::after {
    display: none;
    animation: none;
  }
}
