/* Homepage Contact Form: supplied Figma contact form frame. */
.fenix-home-contact-form {
  position: relative !important;
  isolation: isolate !important;
  height: auto;
  display: flex !important;
  align-items: flex-start !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--fenix-primary-800) 84%, transparent) 22.7%, color-mix(in srgb, var(--fenix-primary-500) 84%, transparent) 121.17%), var(--fenix-neutral-900) !important;
}

.fenix-home-contact-form::before {
  content: "" !important;
  width: 678px !important;
  height: 678px !important;
  position: absolute !important;
  left: 728px !important;
  top: calc(50% - 339px) !important;
  z-index: 1 !important;
  display: block !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--fenix-primary-300) 60%, transparent) !important;
  filter: blur(150px) !important;
  pointer-events: none !important;
}

.fenix-home-contact-form .fenix-home-shell {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 48px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

.fenix-home-contact-form__copy {
  width: 564px !important;
  min-height: 136px !important;
  height: auto !important;
  display: flex !important;
  flex: 1 1 564px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fenix-home-contact-form__copy h2 {
  width: 564px !important;
  max-width: 100% !important;
  min-height: 56px !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--fenix-white) !important;
  font-family: var(--fenix-font) !important;
  --fenix-type-line-height: var(--fenix-text-h2-line-height) !important;
  font-size: var(--fenix-text-h2-size) !important;
  font-weight: var(--fenix-text-h2-weight) !important;
  line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height)) !important;
  letter-spacing: var(--fenix-letter-spacing) !important;
  text-align: left !important;
}

.fenix-home-contact-form__copy p {
  width: 564px !important;
  max-width: 100% !important;
  min-height: 56px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  color: var(--fenix-primary-50) !important;
  font-family: var(--fenix-font) !important;
  --fenix-type-line-height: var(--fenix-text-subtitle-line-height) !important;
  font-size: var(--fenix-text-subtitle-size) !important;
  font-weight: var(--fenix-text-subtitle-weight) !important;
  line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height)) !important;
  letter-spacing: var(--fenix-letter-spacing) !important;
  text-align: left !important;
}

/* Own Japanese contact typography here, ahead of legacy page-level rules. */
html:lang(ja) #fenix-home-contact-title {
  font-size: 44px !important;
  line-height: 56px !important;
  min-height: 0 !important;
}

html:lang(ja) .fenix-contact-heading__line {
  display: block;
  white-space: normal;
}

@media (min-width: 768px) and (max-width: 1279px) {
  html:lang(ja) #fenix-home-contact-title {
    font-size: 40px !important;
    line-height: 48px !important;
  }
}

@media (max-width: 767px) {
  html:lang(ja) #fenix-home-contact-title {
    font-size: 28px !important;
    line-height: 40px !important;
  }
}

@media (max-width: 1279px) {
  .fenix-home-contact-form .fenix-home-shell {
    flex-direction: column !important;
    align-items: center !important;
  }

  .fenix-home-contact-form__copy {
    width: 580px !important;
    flex: 0 1 auto !important;
  }
}

@media (max-width: 767px) {
  .fenix-home-contact-form__copy,

  .fenix-home-contact-form__copy h2,

  .fenix-home-contact-form__copy p {
    width: 100% !important;
    height: auto !important;
  }

  .fenix-home-contact-form__copy h2 {
    --fenix-type-line-height: var(--fenix-text-h3-line-height) !important;
    font-size: var(--fenix-text-h3-size) !important;
    font-weight: var(--fenix-text-h3-weight) !important;
    line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height)) !important;
  }

  .fenix-home-contact-form__copy p {
    --fenix-type-line-height: var(--fenix-text-body-line-height) !important;
    font-size: var(--fenix-text-body-size) !important;
    line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height)) !important;
  }
}


.fenix-home-contact-form .fenix-home-shell {

  display: grid;

  grid-template-columns: 637px 523px;

  gap: 32px;

  align-items: start;

}



.fenix-home-contact-form__copy h2 {

  width: 637px;

  min-height: 60px;

  height: auto;

  margin: 0;

  color: var(--fenix-neutral-900);

  --fenix-type-line-height: var(--fenix-text-h2-line-height);

  font-size: var(--fenix-text-h2-size);

  font-weight: var(--fenix-text-h2-weight);

  line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height));

}



.fenix-home-contact-form__copy p {

  width: 637px;

  min-height: 56px;

  height: auto;

  margin: 24px 0 0;

  color: var(--fenix-neutral-900);

  font-weight: var(--fenix-text-subtitle-weight);

  --fenix-type-line-height: var(--fenix-text-subtitle-line-height);

  font-size: var(--fenix-text-subtitle-size);

  line-height: var(--fenix-type-line-height, var(--fenix-text-body-line-height));

}



/* Homepage Contact Form final form-wrapper cascade. */
