/*
 * Kristy Gannon — loan-page CTA pair and compact contact intake
 * Scoped to the homepage, the 18 loan-product pages, and Form 1 on page 1664.
 */

:root {
  --ownity-primary: #5c3c9d;
  --ownity-primary-hover: #7455b8;
  --ownity-primary-strong: #462d7e;
  --ownity-ink: #2f2348;
  --ownity-text: #334155;
  --ownity-muted: #566278;
  --ownity-ground: #f3f5f8;
  --ownity-soft: #eee8f7;
  --ownity-line: #cbd5e1;
  --ownity-white: #ffffff;
  --ownity-radius: 8px;
}

body.single-post main.kristy-single-main {
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --gap: 0px;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-1664,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---------- Shared loan-page CTA pair ---------- */

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) {
  display: block !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
}

body.home .elementor-element-e940571,
body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) .kristy-cta-group {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) :is(.elementor-widget-container, .elementor-button-wrapper) {
  width: 100%;
  height: 100%;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 64px !important;
  padding: 16px 24px !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(17px, 1.2vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18) !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button::before,
body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button::after {
  display: none !important;
  content: none !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) .button-purchasing .elementor-button {
  border-color: #5c3c9d !important;
  background: #5c3c9d !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-refinance, .button-refinancing) .elementor-button {
  border-color: #5c3c9d !important;
  background: #2f2348 !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) .button-purchasing .elementor-button:hover {
  border-color: #7455b8 !important;
  background: #7455b8 !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.24) !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-refinance, .button-refinancing) .elementor-button:hover {
  border-color: #7455b8 !important;
  background: #5c3c9d !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.24) !important;
}

body:is(
  .home,
  .kristy-product-page,
  .page-id-964,
  .page-id-1018,
  .page-id-1055,
  .page-id-1093,
  .page-id-1113,
  .page-id-1143,
  .page-id-1159,
  .page-id-1180,
  .page-id-1205,
  .page-id-1206,
  .page-id-1236,
  .page-id-1251,
  .page-id-1259,
  .page-id-1275,
  .page-id-1291,
  .page-id-1306,
  .page-id-1323,
  .page-id-1339
) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button:focus-visible {
  outline: 3px solid #7455b8;
  outline-offset: 3px;
}

/* ---------- Compact contact / mortgage-intake page ---------- */

body.page-id-1664 {
  background: #f3f5f8;
  color: #334155;
}

body.page-id-1664 ::selection {
  background: #e7def4;
  color: #2f2348;
}

body.page-id-1664 .elementor-1664 {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(32px, 5vw, 72px);
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) 24px clamp(72px, 9vw, 112px);
}

body.page-id-1664 .elementor-1664 > .e-con {
  width: 100%;
  padding: 0;
}

body.page-id-1664 .elementor-1664 > .e-con > .e-con-inner {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
  position: sticky;
  top: 148px;
  display: block;
}

body.page-id-1664 .elementor-element-5f694411 img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.18);
}

body.page-id-1664 .elementor-element-636c0f93 {
  display: none;
}

body.page-id-1664 .kristy-intake-aside {
  margin-top: 28px;
}

body.page-id-1664 .kristy-intake-aside h2 {
  margin: 0 0 12px;
  color: #2f2348;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

body.page-id-1664 .kristy-intake-aside > p {
  max-width: 42ch;
  margin: 0 0 22px;
  color: #475569;
  font-size: 16px;
  line-height: 1.7;
}

body.page-id-1664 .kristy-contact-links {
  display: grid;
  gap: 10px;
}

body.page-id-1664 .kristy-contact-link {
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  border-radius: 8px;
  background: #2f2348;
  color: #ffffff;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

body.page-id-1664 .kristy-contact-link strong {
  color: #7455b8;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.page-id-1664 .kristy-contact-link span {
  color: #ffffff;
  font-size: 16px;
  font-weight: 650;
}

body.page-id-1664 .kristy-contact-link:hover {
  background: #2f2348;
}

body.page-id-1664 .kristy-contact-link:focus-visible {
  outline: 3px solid #5c3c9d;
  outline-offset: 3px;
}

body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
  padding: clamp(28px, 4vw, 52px);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

body.page-id-1664 .elementor-element-2f834db2,
body.page-id-1664 #gform_wrapper_1 {
  width: 100%;
  max-width: none;
}

body.page-id-1664 #gform_wrapper_1.kristy-intake_wrapper,
body.page-id-1664 #gform_wrapper_1 {
  --gf-color-primary: #462d7e;
  --gf-color-primary-rgb: 92, 60, 157;
  --gf-color-primary-contrast: #ffffff;
  --gf-color-in-ctrl-primary: #462d7e;
  --gf-color-in-ctrl-primary-rgb: 92, 60, 157;
  color: #334155;
  font-family: "Plus Jakarta Sans", sans-serif;
}

body.page-id-1664 .kristy-intake-intro {
  margin: 0 0 14px;
}

body.page-id-1664 .kristy-intake-intro h1 {
  max-width: 15ch;
  margin: 0 0 16px;
  color: #2f2348;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(36px, 4.4vw, 58px);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

body.page-id-1664 .kristy-intake-intro p {
  max-width: 68ch;
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.68;
}

body.page-id-1664 .kristy-intake .gform_fields {
  row-gap: 22px;
  column-gap: 18px;
}

body.page-id-1664 .kristy-intake fieldset.gfield {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

body.page-id-1664 .kristy-intake .kristy-field-full {
  grid-column: 1 / -1 !important;
}

body.page-id-1664 .kristy-intake .kristy-field-half {
  grid-column: span 6 !important;
}

body.page-id-1664 .kristy-intake .gfield_label,
body.page-id-1664 .kristy-intake legend.gfield_label {
  margin-bottom: 8px;
  color: #2f2348;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

body.page-id-1664 .kristy-intake .gfield_required {
  color: #9f1239;
}

body.page-id-1664 .kristy-intake :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  width: 100%;
  min-height: 52px;
  padding: 13px 14px;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #ffffff;
  color: #2f2348;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  caret-color: #462d7e;
}

body.page-id-1664 .kristy-intake :is(.kristy-first-name, .kristy-contact-detail) :is(input[type="text"], input[type="email"], input[type="tel"]) {
  max-width: 460px;
}

body.page-id-1664 .kristy-intake textarea {
  min-height: 128px;
  resize: vertical;
}

body.page-id-1664 .kristy-intake :is(input, select, textarea)::placeholder {
  color: #64748b;
  opacity: 1;
}

body.page-id-1664 .kristy-intake :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea):focus {
  border-color: #462d7e;
  outline: none;
  box-shadow: 0 0 0 3px rgba(92, 60, 157, 0.22);
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.page-id-1664 .kristy-intake #input_1_56 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) .gchoice {
  position: relative;
  min-width: 0;
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #ffffff;
  color: #334155;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) input[type="radio"]:checked + label {
  border-color: #462d7e;
  background: #eee8f7;
  color: #2f2348;
}

body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56) input[type="radio"]:focus-visible + label {
  outline: 3px solid rgba(92, 60, 157, 0.4);
  outline-offset: 2px;
}

body.page-id-1664 .kristy-intake .kristy-consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: #462d7e;
}

body.page-id-1664 .kristy-intake .kristy-consent .gchoice {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

body.page-id-1664 .kristy-intake .kristy-consent label,
body.page-id-1664 .kristy-intake .gfield_description {
  color: #475569;
  font-size: 13px;
  line-height: 1.6;
}

body.page-id-1664 .kristy-intake .gfield_description a {
  color: #462d7e;
  font-weight: 650;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.page-id-1664 .kristy-intake .gform_footer {
  margin-top: 28px;
  padding: 0;
}

body.page-id-1664 .kristy-intake .gform_button {
  min-height: 56px;
  padding: 15px 24px;
  border: 2px solid #5c3c9d;
  border-radius: 8px;
  background: #5c3c9d;
  color: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.page-id-1664 .kristy-intake .gform_button:hover {
  border-color: #7455b8;
  background: #7455b8;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
}

body.page-id-1664 .kristy-intake .gform_button:focus-visible {
  outline: 3px solid #462d7e;
  outline-offset: 3px;
}

body.page-id-1664 .kristy-intake .gfield_error :is(input, select, textarea) {
  border-color: #b42318;
}

body.page-id-1664 .kristy-intake .validation_message,
body.page-id-1664 .kristy-intake .gform_validation_errors {
  color: #7f1d1d;
}

body.page-id-1664 .gform_confirmation_wrapper {
  padding: 24px;
  border-radius: 8px;
  background: #eee8f7;
  color: #2f2348;
  font-size: 17px;
  line-height: 1.6;
}

@media (max-width: 900px) {
  body.page-id-1664 .elementor-1664 {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 40px;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    position: static;
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 24px;
  }

  body.page-id-1664 .kristy-intake-aside {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  body.home .elementor-element-e940571,
  body:is(
    .home,
    .kristy-product-page,
    .page-id-964,
    .page-id-1018,
    .page-id-1055,
    .page-id-1093,
    .page-id-1113,
    .page-id-1143,
    .page-id-1159,
    .page-id-1180,
    .page-id-1205,
    .page-id-1206,
    .page-id-1236,
    .page-id-1251,
    .page-id-1259,
    .page-id-1275,
    .page-id-1291,
    .page-id-1306,
    .page-id-1323,
    .page-id-1339
  ) .kristy-cta-group {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body:is(
    .home,
    .kristy-product-page,
    .page-id-964,
    .page-id-1018,
    .page-id-1055,
    .page-id-1093,
    .page-id-1113,
    .page-id-1143,
    .page-id-1159,
    .page-id-1180,
    .page-id-1205,
    .page-id-1206,
    .page-id-1236,
    .page-id-1251,
    .page-id-1259,
    .page-id-1275,
    .page-id-1291,
    .page-id-1306,
    .page-id-1323,
    .page-id-1339
  ) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button {
    min-height: 56px !important;
    padding: 14px 18px !important;
    font-size: 17px !important;
  }

  body.page-id-1664 .elementor-1664 {
    gap: 30px;
    padding: 28px 16px 72px;
  }

  body.page-id-1664 .elementor-element-b1c077c {
    order: 1;
  }

  body.page-id-1664 .elementor-element-2bb2557b {
    order: 2;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    display: block;
  }

  body.page-id-1664 .elementor-element-5f694411 img {
    max-width: 280px;
    margin: 0 auto;
  }

  body.page-id-1664 .kristy-intake-aside {
    margin-top: 24px;
  }

  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    padding: 26px 18px;
  }

  body.page-id-1664 .kristy-intake-intro h1 {
    max-width: none;
    font-size: clamp(34px, 11vw, 46px);
  }

  body.page-id-1664 .kristy-intake .kristy-field-half {
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 .kristy-intake :is(#input_1_3, #input_1_56),
  body.page-id-1664 .kristy-intake #input_1_56 {
    grid-template-columns: 1fr;
  }

  body.page-id-1664 .kristy-intake .gform_button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(
    .home,
    .kristy-product-page,
    .page-id-964,
    .page-id-1018,
    .page-id-1055,
    .page-id-1093,
    .page-id-1113,
    .page-id-1143,
    .page-id-1159,
    .page-id-1180,
    .page-id-1205,
    .page-id-1206,
    .page-id-1236,
    .page-id-1251,
    .page-id-1259,
    .page-id-1275,
    .page-id-1291,
    .page-id-1306,
    .page-id-1323,
    .page-id-1339
  ) :is(.button-purchasing, .button-refinance, .button-refinancing) .elementor-button,
  body.page-id-1664 :is(.kristy-contact-link, .gform_button, input, select, textarea) {
    transition: none !important;
  }
}

/* Thank-you contact handoff. */
.kristy-thank-you-contact {
  max-width: 720px;
  margin: 24px auto 0;
  color: #334155;
  text-align: center;
}

.kristy-thank-you-contact > p {
  max-width: 64ch;
  margin: 0 auto 22px;
  line-height: 1.7;
}

.kristy-thank-you-contact > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kristy-thank-you-contact a {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border: 2px solid #5c3c9d;
  border-radius: 8px;
  background: #2f2348;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

.kristy-thank-you-contact a:hover {
  background: #5c3c9d;
}

.kristy-thank-you-contact a:focus-visible {
  outline: 3px solid #5c3c9d;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .kristy-thank-you-contact > div {
    grid-template-columns: 1fr;
  }
}

/* ---------- Contact-page conversion polish ---------- */

body.page-id-1664 {
  --kristy-ink: #2f2348;
  --kristy-ink-soft: #3b2c59;
  --kristy-primary: #5c3c9d;
  --kristy-primary-hover: #7455b8;
  --kristy-primary-strong: #462d7e;
  --kristy-ground: #f5f2f9;
  --kristy-surface: #ffffff;
  --kristy-text: #334155;
  --kristy-muted: #475569;
  --kristy-border: #64748b;
  background: var(--kristy-ground);
  color: var(--kristy-text);
}

body.page-id-1664 .kristy-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.page-id-1664 :is(.kodee-fab, .float-btn__wrapper, #chatbot-float-box) {
  display: none !important;
}

body.page-id-1664 #kristy-contact-page {
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  grid-template-areas: "advisor form";
  align-items: start;
  gap: clamp(32px, 4vw, 56px);
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: clamp(48px, 6vw, 80px) 24px clamp(64px, 8vw, 96px);
}

body.page-id-1664 #kristy-contact-form {
  grid-area: form;
  scroll-margin-top: 132px;
}

body.page-id-1664 .elementor-element-2bb2557b {
  grid-area: advisor;
}

body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
  position: sticky;
  top: 132px;
  display: block;
  padding: 28px !important;
  border-radius: 8px;
  background: var(--kristy-ink);
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.24);
}

body.page-id-1664 .elementor-element-5f694411 {
  width: 128px;
  max-width: 128px;
}

body.page-id-1664 .elementor-element-384e8a05 {
  display: none !important;
}

body.page-id-1664 .elementor-element-5f694411 img {
  display: block;
  width: 128px;
  max-width: none !important;
  height: 128px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.36);
}

body.page-id-1664 .kristy-intake-aside {
  margin-top: 24px;
}

body.page-id-1664 .kristy-intake-aside h2 {
  margin: 0 0 9px;
  color: #ffffff;
  font-size: clamp(25px, 2.4vw, 32px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

body.page-id-1664 .kristy-intake-aside .kristy-advisor-credentials {
  margin: 0 0 18px;
  color: #e7def4;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.015em;
}

body.page-id-1664 .kristy-intake-aside > p:not(.kristy-advisor-credentials) {
  max-width: 34ch;
  margin: 0 0 22px;
  color: #e5dff0;
  font-size: 15px;
  line-height: 1.7;
}

body.page-id-1664 .kristy-contact-links {
  display: grid;
  gap: 10px;
}

body.page-id-1664 .kristy-contact-link {
  display: grid;
  gap: 3px;
  min-height: 62px;
  padding: 12px 15px;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: none;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body.page-id-1664 .kristy-contact-link-call {
  background: var(--kristy-primary);
  color: #ffffff;
}

body.page-id-1664 .kristy-contact-link-email {
  outline: 1px solid rgba(231, 222, 244, 0.58);
  outline-offset: -1px;
  background: var(--kristy-ink-soft);
  color: #ffffff;
}

body.page-id-1664 .kristy-contact-link strong,
body.page-id-1664 .kristy-contact-link span {
  color: inherit;
}

body.page-id-1664 .kristy-contact-link strong {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

body.page-id-1664 .kristy-contact-link span {
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 700;
}

body.page-id-1664 .kristy-contact-link:hover {
  transform: translateY(-1px);
}

body.page-id-1664 .kristy-contact-link-call:hover {
  background: var(--kristy-primary-hover);
}

body.page-id-1664 .kristy-contact-link-email:hover {
  background: #4a3866;
}

body.page-id-1664 .kristy-contact-link:focus-visible,
body.page-id-1664 .kristy-office-link:focus-visible {
  outline: 3px solid var(--kristy-primary-hover);
  outline-offset: 3px;
}

body.page-id-1664 .kristy-office-link {
  display: inline-block;
  margin-top: 18px;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.55;
  text-decoration-color: rgba(203, 213, 225, 0.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
  padding: clamp(34px, 4vw, 48px) !important;
  border-radius: 8px;
  background: var(--kristy-surface);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

body.page-id-1664 #gform_wrapper_1 {
  --gf-color-primary: #462d7e;
  --gf-color-primary-rgb: 92, 60, 157;
  --gf-color-primary-contrast: #ffffff;
  --gf-color-in-ctrl-primary: #462d7e;
  --gf-color-in-ctrl-primary-rgb: 92, 60, 157;
  --gf-ctrl-border-color: #64748b;
  --gf-radius: 8px;
  width: 100%;
  max-width: none;
  color: var(--kristy-text);
  font-family: "Plus Jakarta Sans", sans-serif;
}

body.page-id-1664 .kristy-intake-intro {
  margin: 0 0 20px;
}

body.page-id-1664 .kristy-intake-intro h1 {
  max-width: 14ch;
  margin: 0 0 16px;
  color: var(--kristy-ink);
  font-size: clamp(40px, 4.1vw, 54px);
  font-weight: 780;
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

body.page-id-1664 .kristy-intake-intro > p {
  max-width: 67ch;
  margin: 0;
  color: var(--kristy-muted);
  font-size: 17px;
  line-height: 1.68;
}

body.page-id-1664 .kristy-mobile-contact {
  display: none;
}

body.page-id-1664 #gform_wrapper_1 .gform_fields {
  row-gap: 24px;
  column-gap: 18px;
}

body.page-id-1664 #gform_wrapper_1 .gfield_label,
body.page-id-1664 #gform_wrapper_1 legend.gfield_label {
  margin-bottom: 9px;
  color: var(--kristy-ink);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.4;
}

body.page-id-1664 #gform_wrapper_1 .gform_required_legend {
  display: none !important;
}

body.page-id-1664 #gform_wrapper_1 .ginput_counter {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.page-id-1664 #gform_wrapper_1 .gfield_required {
  color: #9f1239;
  font-size: 0;
  font-weight: 700;
}

body.page-id-1664 #gform_wrapper_1 .gfield_required::after {
  content: none;
}

body.page-id-1664 #gform_wrapper_1 .gfield_required_asterisk::after {
  content: "*";
  font-size: 14px;
}

body.page-id-1664 #gform_wrapper_1 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  width: 100%;
  min-height: 54px;
  padding: 13px 14px;
  border: 1px solid var(--kristy-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--kristy-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  caret-color: var(--kristy-primary-strong);
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

body.page-id-1664 #gform_wrapper_1 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea):hover {
  border-color: #475569;
}

body.page-id-1664 #gform_wrapper_1 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea):focus {
  border-color: var(--kristy-primary-strong);
  outline: none;
  box-shadow: 0 0 0 3px rgba(92, 60, 157, 0.24);
}

body.page-id-1664 #gform_wrapper_1 textarea {
  min-height: 118px;
  resize: vertical;
}

body.page-id-1664 #gform_wrapper_1 :is(.kristy-first-name, .kristy-contact-detail) :is(input[type="text"], input[type="email"], input[type="tel"]) {
  max-width: none;
}

body.page-id-1664 #gform_wrapper_1 :is(input, select, textarea)::placeholder {
  color: #64748b;
  opacity: 1;
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

body.page-id-1664 #gform_wrapper_1 #input_1_56 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) .gchoice {
  position: relative;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

body.page-id-1664 #gform_wrapper_1 #input_1_3 .gchoice:last-child {
  grid-column: 1 / -1;
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) label {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 54px;
  margin: 0 !important;
  padding: 11px 13px;
  border: 1px solid var(--kristy-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--kristy-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) label:hover {
  border-color: var(--kristy-primary-strong);
  background: #f5f2f9;
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) input[type="radio"]:checked + label {
  border-color: var(--kristy-primary-strong);
  background: #eee8f7;
  color: #2f2348;
  box-shadow: inset 0 0 0 1px var(--kristy-primary-strong);
}

body.page-id-1664 #gform_wrapper_1 :is(#input_1_3, #input_1_56) input[type="radio"]:focus-visible + label {
  outline: 3px solid rgba(92, 60, 157, 0.45);
  outline-offset: 2px;
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent {
  padding: 18px;
  border-radius: 8px;
  background: #f1f5f9;
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  accent-color: var(--kristy-primary-strong);
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent .gchoice,
body.page-id-1664 #gform_wrapper_1 .kristy-consent .ginput_container_consent {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent label,
body.page-id-1664 #gform_wrapper_1 .gfield_description {
  color: var(--kristy-muted);
  font-size: 13px;
  line-height: 1.58;
}

body.page-id-1664 #field_1_20 .ginput_counter {
  display: none !important;
}

body.page-id-1664 .kristy-next-step {
  margin-top: 24px;
  padding: 17px 18px;
  border-radius: 8px;
  background: #f5f2f9;
  color: #2f2348;
}

body.page-id-1664 .kristy-next-step strong {
  display: block;
  margin-bottom: 3px;
  color: #2f2348;
  font-size: 14px;
  font-weight: 800;
}

body.page-id-1664 .kristy-next-step p {
  margin: 0;
  color: #462d7e;
  font-size: 14px;
  line-height: 1.55;
}

body.page-id-1664 #gform_wrapper_1 .gform_footer {
  margin-top: 16px;
  padding: 0;
}

body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  inline-size: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  min-block-size: 58px !important;
  max-height: 58px !important;
  max-block-size: 58px !important;
  height: 58px !important;
  block-size: 58px !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  border: 2px solid var(--kristy-primary) !important;
  border-radius: 8px !important;
  background: var(--kristy-primary) !important;
  color: #ffffff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18) !important;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}

body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1:hover {
  border-color: var(--kristy-primary-hover) !important;
  background: var(--kristy-primary-hover) !important;
  box-shadow: 0 13px 28px rgba(15, 23, 42, 0.22) !important;
  transform: translateY(-1px);
}

body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1:focus-visible {
  outline: 3px solid var(--kristy-primary-strong) !important;
  outline-offset: 3px !important;
}

body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1:disabled,
body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1[aria-disabled="true"] {
  border-color: #94a3b8 !important;
  background: #cbd5e1 !important;
  color: #475569 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
}

body.page-id-1664 #gform_wrapper_1 .gfield_error :is(input, select, textarea) {
  border-color: #b42318;
  background: #fffafa;
}

body.page-id-1664 #gform_wrapper_1 .validation_message,
body.page-id-1664 #gform_wrapper_1 .gform_validation_errors {
  color: #7f1d1d;
}

body.page-id-1664 .gform_confirmation_wrapper {
  padding: 26px;
  border-radius: 8px;
  background: #eee8f7;
  color: #2f2348;
  font-size: 17px;
  line-height: 1.6;
}

.elementor-location-header .elementor-element-e18c8d6 .elementor-button {
  font-size: 18px;
  line-height: 18px;
}

body.page-id-1664 footer .elementor-element-d2676d7 > .e-con-inner {
  padding-top: 48px;
  padding-bottom: 38px;
}

body.page-id-1664 footer :is(.elementor-element-3fa7eef, .elementor-element-c3a0b59) {
  display: none !important;
}

body.page-id-1664 footer .elementor-element-9bd4a33 {
  margin-top: 30px;
}

body.page-id-1664 footer .elementor-element-5e6694a p {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

body.page-id-1664 footer .elementor-element-6f757e0 {
  gap: 18px;
}

body.page-id-1664 footer :is(.elementor-element-384e70c, .elementor-element-34d6cdb) img {
  max-height: 70px;
  width: auto;
  object-fit: contain;
}

body.page-id-1664 footer .elementor-element-7e5a6bd {
  margin-top: 22px;
}

body.page-id-1664 footer .elementor-element-f81d26d p {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.55;
}

@media (max-width: 1024px) {
  body.page-id-1664 #kristy-contact-page {
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
    gap: 30px;
    padding-inline: 20px;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    padding: 24px !important;
  }

  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    padding: 34px 30px !important;
  }

}

@media (max-width: 820px) {
  .elementor-location-header .elementor-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body.page-id-1664 header .elementor-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
    padding: 8px;
    border-radius: 8px;
  }

  body.page-id-1664 #kristy-contact-page {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "form" "advisor";
    gap: 28px;
    padding: 32px 16px 64px;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    position: static;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    padding: 24px !important;
  }

  body.page-id-1664 .elementor-element-5f694411,
  body.page-id-1664 .elementor-element-5f694411 img {
    width: 100px;
    height: 100px;
  }

  body.page-id-1664 .elementor-element-ca21c98b {
    grid-column: 2;
    min-width: 0;
  }

  body.page-id-1664 .kristy-intake-aside {
    margin-top: 0;
  }

  body.page-id-1664 .kristy-contact-links,
  body.page-id-1664 .kristy-office-link {
    grid-column: 1 / -1;
  }

  body.page-id-1664 .kristy-mobile-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 20px;
  }

  body.page-id-1664 .kristy-mobile-contact > span {
    grid-column: 1 / -1;
    color: var(--kristy-muted);
    font-size: 13px;
    font-weight: 700;
  }

  body.page-id-1664 .kristy-mobile-contact a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 12px;
    border-radius: 8px;
    background: var(--kristy-ink);
    color: #ffffff;
    font-size: 14px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
  }

  body.page-id-1664 .kristy-mobile-contact a:first-of-type {
    background: var(--kristy-primary);
    color: #ffffff;
  }

}

@media (max-width: 560px) {
  body.page-id-1664 #kristy-contact-page {
    padding-inline: 14px;
  }

  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    padding: 28px 18px !important;
  }

  body.page-id-1664 .kristy-intake-intro h1 {
    max-width: none;
    font-size: clamp(36px, 10.8vw, 46px);
  }

  body.page-id-1664 .kristy-intake-intro > p {
    font-size: 16px;
  }

  body.page-id-1664 #gform_wrapper_1 #input_1_3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-1664 #gform_wrapper_1 #input_1_56 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-id-1664 #gform_wrapper_1 #input_1_3 .gchoice:last-child {
    grid-column: 1 / -1;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-field-half {
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 16px;
    padding: 20px !important;
  }

  body.page-id-1664 .elementor-element-5f694411,
  body.page-id-1664 .elementor-element-5f694411 img {
    width: 82px;
    height: 82px;
  }

  body.page-id-1664 .kristy-intake-aside h2 {
    font-size: 25px;
  }

  body.page-id-1664 .kristy-intake-aside > p:not(.kristy-advisor-credentials) {
    grid-column: 1 / -1;
  }

  body.page-id-1664 footer .elementor-element-9bd4a33 {
    margin-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-1664 :is(.kristy-contact-link, .kristy-mobile-contact a, #gform_submit_button_1) {
    transition: none !important;
  }
}

/* Reference-led desktop composition: photographic hero, open advisor column,
   and one compact form card. The existing mobile layout remains unchanged. */
body.page-id-1664 .kristy-contact-hero-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.page-id-1664 .kristy-contact-hero-shell > :is(.e-con-inner, .elementor-widget-html),
body.page-id-1664 .kristy-contact-hero-shell .elementor-widget-html,
body.page-id-1664 .kristy-contact-hero-shell .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.page-id-1664 .kristy-contact-hero {
  display: none;
}

body.page-id-1664 .kristy-goal-select {
  display: none;
}

@media (min-width: 821px) {
  body.page-id-1664 {
    background: #f3f5f8;
  }

  body.page-id-1664 .kristy-contact-hero {
    position: relative;
    display: grid;
    min-height: 370px;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background-image:
      linear-gradient(90deg, rgba(5, 23, 43, 0.96) 0%, rgba(5, 23, 43, 0.88) 38%, rgba(5, 23, 43, 0.58) 66%, rgba(5, 23, 43, 0.28) 100%),
      url("https://kristygannon.com/wp-content/uploads/2025/02/Lifestyleimage.webp");
    background-position: center 34%;
    background-size: cover;
    color: #ffffff;
  }

  body.page-id-1664 .kristy-contact-hero__inner {
    width: min(100%, 1200px);
    margin: 0 auto;
    padding: 66px 24px 72px;
  }

  body.page-id-1664 .kristy-contact-hero h1 {
    max-width: 13ch;
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(46px, 4.5vw, 62px);
    font-weight: 780;
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-wrap: balance;
  }

  body.page-id-1664 .kristy-contact-hero p {
    max-width: 64ch;
    margin: 0;
    color: #eee9f5;
    font-size: 17px;
    line-height: 1.7;
  }

  body.page-id-1664 #kristy-contact-page {
    grid-template-columns: minmax(250px, 310px) minmax(0, 700px);
    grid-template-areas: "advisor form";
    justify-content: center;
    align-items: start;
    gap: clamp(52px, 6vw, 82px);
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: 74px 24px 96px;
  }

  body.page-id-1664 #kristy-contact-page.kristy-has-contact-hero #field_1_1 {
    display: none !important;
  }

  body.page-id-1664 .elementor-element-2bb2557b > .e-con-inner {
    position: static;
    top: auto;
    display: block;
    padding: 4px 0 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.page-id-1664 .elementor-element-5f694411 {
    width: 88px !important;
    max-width: 88px !important;
  }

  body.page-id-1664 .elementor-element-5f694411 img {
    width: 88px !important;
    max-width: none !important;
    height: 88px !important;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
  }

  body.page-id-1664 .kristy-intake-aside {
    margin-top: 24px;
  }

  body.page-id-1664 .kristy-intake-aside h2 {
    max-width: 11ch;
    margin: 0 0 12px;
    color: var(--kristy-ink);
    font-size: clamp(31px, 3vw, 38px);
    font-weight: 780;
    line-height: 1.08;
    letter-spacing: -0.03em;
  }

  body.page-id-1664 .kristy-intake-aside .kristy-advisor-credentials {
    margin: 0 0 20px;
    color: var(--kristy-primary-strong);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: 0.025em;
    text-transform: uppercase;
  }

  body.page-id-1664 .kristy-intake-aside > p:not(.kristy-advisor-credentials) {
    max-width: 31ch;
    margin: 0 0 22px;
    color: var(--kristy-muted);
    font-size: 15px;
    line-height: 1.75;
  }

  body.page-id-1664 .kristy-contact-links {
    display: block;
    border-top: 1px solid #d8d0e5;
  }

  body.page-id-1664 .kristy-contact-link,
  body.page-id-1664 .kristy-contact-link-call,
  body.page-id-1664 .kristy-contact-link-email {
    display: grid;
    gap: 3px;
    min-height: 0;
    padding: 14px 0 15px;
    border-bottom: 1px solid #d8d0e5;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--kristy-ink);
    box-shadow: none;
    transform: none;
  }

  body.page-id-1664 .kristy-contact-link:hover,
  body.page-id-1664 .kristy-contact-link-call:hover,
  body.page-id-1664 .kristy-contact-link-email:hover {
    background: transparent;
    color: var(--kristy-primary-strong);
    transform: none;
  }

  body.page-id-1664 .kristy-contact-link strong {
    color: var(--kristy-primary-strong);
    font-size: 11px;
    letter-spacing: 0.07em;
  }

  body.page-id-1664 .kristy-contact-link span {
    color: inherit;
    font-size: 15px;
    text-decoration: underline;
    text-decoration-color: rgba(70, 45, 126, 0.35);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  body.page-id-1664 .kristy-office-link {
    margin-top: 18px;
    color: var(--kristy-muted);
    font-size: 13px;
    line-height: 1.65;
  }

  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    width: 100%;
    padding: 40px !important;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 28px 64px rgba(15, 23, 42, 0.13);
  }

  body.page-id-1664 #gform_wrapper_1 .gform_fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    row-gap: 20px;
    column-gap: 20px;
  }

  body.page-id-1664 #gform_wrapper_1 :is(#field_1_20, #field_1_3, #field_1_55, #field_1_28, #field_1_56, #field_1_18, #field_1_23) {
    grid-column: span 6 !important;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_20 {
    order: 1;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_3 {
    order: 2;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_55 {
    order: 3;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_28 {
    order: 4;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_56 {
    order: 5;
  }

  body.page-id-1664 #gform_wrapper_1 :is(#field_1_18, #field_1_23) {
    order: 6;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_57 {
    order: 7;
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_58 {
    order: 8;
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 #field_1_3.kristy-has-goal-select > legend,
  body.page-id-1664 #field_1_3.kristy-has-goal-select > #input_1_3 {
    display: none !important;
  }

  body.page-id-1664 .kristy-goal-select {
    display: grid;
    gap: 7px;
  }

  body.page-id-1664 .kristy-goal-select > label {
    margin: 0;
    color: var(--kristy-ink);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.4;
  }

  body.page-id-1664 .kristy-goal-required {
    color: #9f1239;
  }

  body.page-id-1664 #gform_wrapper_1 .gfield_label,
  body.page-id-1664 #gform_wrapper_1 legend.gfield_label {
    margin-bottom: 7px;
    font-size: 14px;
    line-height: 1.35;
  }

  body.page-id-1664 #gform_wrapper_1 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
    min-height: 50px;
    padding: 12px 14px;
    border-color: #9aaabd;
    border-radius: 8px;
    font-size: 15px;
  }

  body.page-id-1664 #gform_wrapper_1 textarea {
    min-height: 120px;
  }

  body.page-id-1664 #gform_wrapper_1 #input_1_56 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  body.page-id-1664 #gform_wrapper_1 #input_1_56 label {
    min-height: 50px;
    padding: 9px 8px;
    border-color: #9aaabd;
    border-radius: 8px;
    font-size: 13px;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-consent {
    padding: 16px 0 0;
    border-top: 1px solid #dbe4e7;
    border-radius: 0;
    background: transparent;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-consent .gfield_label {
    margin-bottom: 10px;
  }

  body.page-id-1664 .kristy-next-step {
    margin-top: 18px;
    padding: 13px 0 0;
    border-top: 1px solid #dbe4e7;
    border-radius: 0;
    background: transparent;
  }

  body.page-id-1664 .kristy-next-step strong,
  body.page-id-1664 .kristy-next-step p {
    display: inline;
    font-size: 13px;
  }

  body.page-id-1664 .kristy-next-step strong::after {
    content: ": ";
  }

  body.page-id-1664 #gform_wrapper_1 .gform_footer {
    margin-top: 17px;
  }

  body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1 {
    width: auto !important;
    inline-size: auto !important;
    min-width: 218px !important;
    min-height: 54px !important;
    min-block-size: 54px !important;
    max-height: 54px !important;
    max-block-size: 54px !important;
    height: 54px !important;
    block-size: 54px !important;
    padding: 14px 24px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
  }
}

@media (min-width: 821px) and (max-width: 1040px) {
  body.page-id-1664 .kristy-contact-hero {
    min-height: 340px;
  }

  body.page-id-1664 .kristy-contact-hero__inner {
    padding-inline: 28px;
  }

  body.page-id-1664 #kristy-contact-page {
    grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
    gap: 36px;
    padding: 58px 20px 78px;
  }

  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    padding: 32px 28px !important;
  }

  body.page-id-1664 .kristy-intake-aside h2 {
    font-size: 30px;
  }
}

/* Final contact-form topology: three calm two-column rows, one message field,
   consent, CTA, and disclosure. Legacy entry fields remain admin-only. */
body.page-id-1664 #gform_wrapper_1 .kristy-legacy-field,
body.page-id-1664 .kristy-next-step,
body.page-id-1664 .kristy-goal-select {
  display: none !important;
}

body.page-id-1664 #gform_wrapper_1 #field_1_58 > legend.gfield_label,
body.page-id-1664 #gform_wrapper_1 #field_1_58 > label.gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent {
  padding: 6px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.page-id-1664 #gform_wrapper_1 .kristy-consent .gchoice label::after,
body.page-id-1664 #gform_wrapper_1 .kristy-consent .gfield_consent_label::after {
  content: " *";
  color: #9f1239;
  font-weight: 800;
}

body.page-id-1664 #gform_wrapper_1 .kristy-form-disclosure {
  max-width: 68ch;
  margin: 22px 0 0;
  color: var(--kristy-muted);
  font-size: 12px;
  line-height: 1.65;
}

body.page-id-1664 #gform_wrapper_1 .kristy-form-disclosure a {
  color: var(--kristy-ink);
  font-weight: 650;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1 {
  border-radius: 8px !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16) !important;
}

body.page-id-1664 #gform_wrapper_1 #field_1_57 textarea {
  min-height: 170px;
}

@media (min-width: 821px) {
  body.page-id-1664 .elementor-element-b1c077c > .e-con-inner {
    padding: 44px !important;
  }

  body.page-id-1664 #gform_wrapper_1 .gform_fields {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 22px;
  }

  body.page-id-1664 #gform_wrapper_1 :is(
    #field_1_20,
    #field_1_18,
    #field_1_23,
    #field_1_60
  ) {
    grid-column: span 6 !important;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_20 { order: 1; }
  body.page-id-1664 #gform_wrapper_1 #field_1_18 { order: 2; }
  body.page-id-1664 #gform_wrapper_1 #field_1_23 { order: 3; }
  body.page-id-1664 #gform_wrapper_1 #field_1_60 { order: 4; }
  body.page-id-1664 #gform_wrapper_1 #field_1_61 {
    order: 5;
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_57 {
    order: 7;
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_58 {
    order: 8;
    grid-column: 1 / -1 !important;
  }

  body.page-id-1664 #gform_wrapper_1 .gfield_label,
  body.page-id-1664 #gform_wrapper_1 legend.gfield_label {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.4;
  }

  body.page-id-1664 #gform_wrapper_1 :is(input[type="text"], input[type="email"], input[type="tel"], select) {
    min-height: 56px;
    padding: 13px 15px;
    border-color: #a5b4c3;
    border-radius: 8px;
    font-size: 15px;
  }

  body.page-id-1664 #gform_wrapper_1 #field_1_57 textarea {
    min-height: 198px;
    padding: 14px 15px;
    border-color: #a5b4c3;
    border-radius: 8px;
    font-size: 15px;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-consent {
    padding-top: 2px;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-consent label {
    font-size: 13px;
    line-height: 1.6;
  }

  body.page-id-1664 #gform_wrapper_1 .gform_footer {
    margin-top: 22px;
  }

  body.page-id-1664 #gform_wrapper_1.gform-theme .gform_footer #gform_submit_button_1 {
    width: auto !important;
    inline-size: auto !important;
    min-width: 218px !important;
    min-height: 56px !important;
    min-block-size: 56px !important;
    max-height: 56px !important;
    max-block-size: 56px !important;
    height: 56px !important;
    block-size: 56px !important;
    padding: 15px 26px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  body.page-id-1664 #gform_wrapper_1 #field_1_57 textarea {
    min-height: 150px;
  }

  body.page-id-1664 #gform_wrapper_1 .kristy-form-disclosure {
    margin-top: 18px;
  }
}

/* Homepage loan cards: preserve card typography when the container is a link. */
body.page-id-830 .elementor-element-47484928 > a.e-con {
  color: #2f2f2f !important;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

body.page-id-830 .elementor-element-47484928 > a.e-con :is(
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p
) {
  color: inherit !important;
  text-decoration: none !important;
}

body.page-id-830 .elementor-element-47484928 > a.e-con:hover {
  color: #2f2f2f !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

body.page-id-830 .elementor-element-47484928 > a.e-con:focus-visible {
  outline: 3px solid #462d7e;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-830 .elementor-element-47484928 > a.e-con {
    transition: none;
  }
}

/* JavaScript-enhanced card links use a real overlay anchor while preserving
   Elementor's container structure. */
.kristy-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Trustindex placement: the compact widget sits beneath the hero CTA pair;
   the carousel occupies the existing early testimonial section. Trustindex
   owns the visual treatment inside each wrapper. */
#kristy-trustindex-staging {
  display: none !important;
}

/* Prevent a stale cached copy of the superseded homepage review widget from
   painting before the canonical server-rendered Trustindex badge. */
body.home .elementor-element-f9ea5f1 {
  display: none !important;
}

body.home :is(.kristy-trustindex-banner-widget, .kristy-trustindex-banner-runtime) {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-top: 6px;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

body.home .kristy-trustindex-widget {
  width: 100%;
}

body.home .kristy-trustindex-placeholder {
  position: relative;
  isolation: isolate;
  color: var(--ownity-white);
  font-family: "Plus Jakarta Sans", sans-serif;
}

body.home .kristy-trustindex-placeholder:not(.is-ready)::before {
  display: grid;
  min-height: inherit;
  place-items: center;
  padding: 18px;
  color: rgba(255, 255, 255, 0.86);
  content: attr(data-loading-label);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

body.home .kristy-trustindex-placeholder.is-ready::before {
  display: none;
}

body.home .kristy-trustindex-placeholder.is-failed::before {
  display: none;
}

body.home .kristy-trustindex-fallback {
  margin: 0;
  padding: 18px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

body.home .kristy-trustindex-widget--banner {
  min-height: 64px;
}

body.home .elementor-element-6239eab0,
body.home .kristy-trustindex-carousel-widget,
body.home .kristy-trustindex-widget--carousel {
  max-width: 100%;
  overflow-x: clip;
  width: 100%;
}

body.home .elementor-element-6239eab0 {
  min-height: 260px;
  padding: clamp(18px, 2.4vw, 28px);
  border-radius: 8px;
  background: var(--ownity-white);
  box-shadow: 0 18px 44px rgba(47, 35, 72, 0.1);
}

body.home .kristy-trustindex-widget--carousel {
  min-height: 220px;
}

@media (max-width: 767px) {
  body.home :is(.kristy-trustindex-banner-widget, .kristy-trustindex-banner-runtime) {
    width: 100% !important;
    max-width: none !important;
    margin-top: 4px;
  }

  body.home .kristy-trustindex-widget--banner {
    min-height: 72px;
  }

  body.home .elementor-element-6239eab0,
  body.home .kristy-trustindex-widget--carousel {
    min-height: 250px;
  }
}

body.home .kristy-loan-card {
  isolation: isolate;
  position: relative;
  border-radius: 8px;
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.home .kristy-loan-card__link {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  display: block;
  border-radius: inherit;
  cursor: pointer;
}

/* Elementor HTML widgets collapse to zero height when their only child is an
   absolutely positioned link. Expand that injected overlay to the full card. */
body.home .kristy-loan-card > .elementor-widget-html:has(.kristy-loan-card__link),
body.home .kristy-loan-card > .kristy-loan-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.home .kristy-loan-card > .elementor-widget-html:has(.kristy-loan-card__link) > .elementor-widget-container,
body.home .kristy-loan-card > .kristy-loan-card-overlay > .elementor-widget-container {
  width: 100%;
  height: 100%;
}

body.home .kristy-section-kicker {
  display: table;
  max-width: min(100%, 760px);
  margin: 0 auto;
  padding: 0.68rem 1.1rem;
  border: 1px solid rgba(47, 35, 72, 0.16);
  border-radius: 8px;
  background: #e7def4;
  color: #2f2348;
  font-size: clamp(0.78rem, 1.25vw, 0.95rem);
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-align: center;
}

.kristy-funnel-title {
  max-width: 760px;
  margin: 0 auto 1.25rem;
  color: #2f2348;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.06;
  text-align: center;
}

body.home .kristy-loan-card:has(.kristy-loan-card__link:focus-visible) {
  outline: 3px solid #5c3c9d;
  outline-offset: 4px;
  transform: translateY(-2px);
}

@media (hover: hover) and (pointer: fine) {
  body.home .kristy-loan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(47, 35, 72, 0.15);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .kristy-loan-card {
    transition: none;
  }

  body.home .kristy-loan-card:hover,
  body.home .kristy-loan-card:has(.kristy-loan-card__link:focus-visible) {
    transform: none;
  }
}

/* ---------- Verified persistent contact-layout contract ---------- */

body.page-id-1664 .elementor-1664 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1664 #kristy-contact-page {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1664 #kristy-contact-page > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  grid-template-areas: "advisor form";
  align-items: start;
  gap: clamp(32px, 4vw, 56px);
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: clamp(48px, 6vw, 80px) 24px clamp(64px, 8vw, 96px) !important;
}

body.page-id-1664 #kristy-contact-page .kristy-contact-advisor-column {
  grid-area: advisor;
}

body.page-id-1664 #kristy-contact-page .kristy-contact-form-column {
  grid-area: form;
}

@media (max-width: 820px) {
  body.page-id-1664 #kristy-contact-page > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "form"
      "advisor";
    gap: 28px;
    padding: 32px 16px 72px !important;
  }
}
