@font-face {
  font-family: "DM Sans";
  src: url("/dm-sans.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: Fraunces;
  src: url("/fraunces.woff2") format("woff2");
  font-weight: 400 600;
  font-display: swap;
}

body.ha-consultation-page {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  text-align: left;
  background: #f2f8ff;
  color: #142742;
  font: 16px/1.55 "DM Sans", system-ui, sans-serif;
}

body.ha-consultation-embedded { min-height: 0; background: #fff; }
.ha-consultation-page :focus-visible { outline: 2px solid #024db5; outline-offset: 3px; }
.ha-consultation-page .ha-topline :focus-visible { outline-color: #38b7f9; }

.ha-wrap { width: min(1168px, calc(100% - 96px)); margin-inline: auto; }
.ha-header { background: #fff; border-bottom: 1px solid #dbe7f3; }
.ha-topline { background: #0b2445; color: #eef7ff; font-size: 12px; font-weight: 600; letter-spacing: .025em; }

/* The WordPress theme's clearfix would otherwise add extra flex items. */
.ha-header .ha-wrap::before,
.ha-header .ha-wrap::after { content: none; display: none; }

.ha-topline-inner,
.ha-location,
.ha-header-inner,
.ha-brand,
.ha-return { display: flex; align-items: center; }

.ha-topline-inner { min-height: 35px; justify-content: space-between; gap: 10px; }
.ha-location { gap: 10px; }
.ha-topline a { color: inherit; text-decoration: none; }
.ha-topline a:hover { text-decoration: underline; }
.ha-top-divider { height: 12px; width: 1px; background: #91b0d0; }

.ha-header svg {
  width: 1.1em;
  height: 1.1em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ha-location svg { color: #38b7f9; }
.ha-header-inner { min-height: 76px; justify-content: space-between; gap: 12px; }
.ha-brand { flex: none; gap: 9px; }
.ha-brand-mark, .ha-brand-wordmark { display: block; position: relative; overflow: hidden; flex: none; }
.ha-brand-mark { width: 42px; height: 39px; }
.ha-brand-mark img { position: absolute; left: -3.7px; top: 0; width: 49.6px; max-width: none; height: auto; }
.ha-brand-wordmark { width: 150px; height: 13px; }
.ha-brand-wordmark img { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; }
.ha-return { gap: 7px; min-height: 44px; color: #024db5; font-size: 14px; font-weight: 700; text-decoration: none; }
.ha-return:hover { color: #063b8b; text-decoration: underline; text-underline-offset: 4px; }

.ha-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: start;
  gap: clamp(28px, 6vw, 90px);
  padding-block: clamp(34px, 5vw, 68px);
}

.ha-contact-copy { padding-block: 9px; }
.ha-contact-copy .ha-eyebrow { margin: 0; color: #024db5; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.ha-contact-copy h1 {
  margin: 12px 0 15px;
  color: #142742;
  font: 500 clamp(40px, 5vw, 67px)/1.02 Fraunces, Georgia, serif;
  letter-spacing: -.06em;
}

.ha-contact-copy p:not(.ha-eyebrow) { max-width: 40ch; margin: 0; color: #42566f; font-size: 17px; }
.ha-person { display: flex; align-items: center; gap: 12px; margin-top: 24px; }
.ha-person img { display: block; flex: none; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: center 31%; }
.ha-person strong, .ha-person span { display: block; line-height: 1.35; }
.ha-person span { color: #42566f; font-size: 13px; }
.ha-contact-links { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 13px; font-style: normal; }
.ha-contact-links a { display: inline-flex; align-items: center; min-height: 44px; color: #024db5; text-underline-offset: 4px; overflow-wrap: anywhere; }

#ha-consultation {
  box-sizing: border-box;
  container-type: inline-size;
  min-width: 0;
  margin: 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid #dbe7f3;
  border-radius: 17px;
  background: #fff;
  text-align: left;
}

.ha-consultation-embedded #ha-consultation {
  padding: 3px;
  border: 0;
  border-radius: 0;
}

#ha-consultation h2 { margin: 0 0 5px; color: #142742; font-size: 23px; line-height: 1.25; letter-spacing: -.03em; }
#ha-consultation p { margin: 0 0 16px; color: #42566f; }
#ha-consultation a { color: #024db5; }
#ha-consultation :is(.wpforms-container, .wpforms-form) { margin: 0; }
#ha-consultation .wpforms-form { text-align: left; }
#ha-consultation .wpforms-form .wpforms-field { box-sizing: border-box; padding-block: 0 10px; }

#ha-consultation :is(#wpforms-244-field_0-container, #wpforms-244-field_1-container, #wpforms-244-field_5-container, #wpforms-244-field_2-container) > .wpforms-field-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 4px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  color: #142742;
  font-size: 14px;
  font-weight: 700;
}

#ha-consultation :is(#wpforms-244-field_0, #wpforms-244-field_1, #wpforms-244-field_5, #wpforms-244-field_2)::placeholder { color: transparent; }

#ha-consultation .wpforms-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid #718aa7;
  border-radius: 7px;
  background: #fbfdff;
  color: #142742;
  font: inherit;
}

#ha-consultation .wpforms-form textarea { height: 104px; min-height: 88px; resize: vertical; }
#ha-consultation .wpforms-form .wpforms-submit-container { margin: 0; padding: 2px 0 0; text-align: left; }

#ha-consultation .wpforms-form .wpforms-submit {
  min-height: 44px;
  padding: 9px 17px;
  border: 1px solid #024db5;
  border-radius: 8px;
  background: #024db5;
  color: #fff;
  font: 700 15px/1.3 "DM Sans", system-ui, sans-serif;
}

#ha-consultation .wpforms-form .wpforms-submit:hover { background: #063b8b; }

@container (min-width: 400px) {
  #ha-consultation .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  /* WPForms' float clearfix would occupy grid cells. */
  #ha-consultation .wpforms-field-container::before,
  #ha-consultation .wpforms-field-container::after { content: none; display: none; }
  #ha-consultation .wpforms-field-container > .wpforms-field { min-width: 0; grid-column: 1 / -1; }
  #ha-consultation #wpforms-244-field_0-container { grid-area: 1 / 1; }
  #ha-consultation #wpforms-244-field_1-container { grid-area: 1 / 2; }
}

@media (max-width: 960px) {
  .ha-wrap { width: calc(100% - 64px); }
}

@media (max-width: 770px) {
  .ha-wrap { width: calc(100% - 42px); }
  .ha-header-inner { min-height: 62px; }
  .ha-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 27px 42px; }
  .ha-contact-copy { padding: 0; }
  .ha-heading-break { display: none; }
}

@media (max-width: 460px) {
  .ha-wrap { width: calc(100% - 34px); }
  .ha-topline { font-size: 11px; }
  .ha-location { gap: 6px; }
  .ha-topline-inner > a { display: none; }
  .ha-brand-wordmark { width: clamp(116px, 34vw, 150px); height: 10px; }
  .ha-return { white-space: nowrap; font-size: 13px; gap: 4px; }
}
