/* Local homepage proposal: mascot hero, compact services, lower contact form. */
:root { --hee-header-height: 90px; --hee-content-width: 1200px; --hee-gutter: 24px; }
body { padding-top: var(--hee-header-height); }
/* Shared edges for every main section and the existing site chrome. */
.elementor-14 .elementor-element.elementor-element-b88f8f2,
.elementor-45 > .elementor-element.e-con-boxed,
.elementor-37 > .elementor-element.elementor-element-5eb30ca {
  --content-width: var(--hee-content-width);
  --padding-left: var(--hee-gutter);
  --padding-right: var(--hee-gutter);
}
.elementor-14 .elementor-element-b88f8f2 > .e-con-inner,
.elementor-45 > .e-con-boxed > .e-con-inner,
.elementor-37 > .elementor-element-5eb30ca > .e-con-inner {
  width: 100%;
  max-width: var(--hee-content-width);
}
.elementor-14 .elementor-element.elementor-element-b88f8f2 { --gap: 24px; --row-gap: 0px; --column-gap: 24px; }
.elementor-14 .elementor-element.elementor-element-6b4ed2d { --width: 240px; flex: 0 0 240px; --padding-left: 0px; --padding-right: 0px; }
.elementor-14 .elementor-element.elementor-element-1108783 { --width: auto; flex: 1; min-width: 0; --padding-left: 0px; --padding-right: 0px; --gap: 24px; }
.elementor-14 .elementor-element.elementor-element-3ed84d9 li:not(:last-child) { margin-right: 24px; }
@media (max-width: 1099px) and (min-width: 1025px) {
  .elementor-14 .elementor-element.elementor-element-6b4ed2d { --width: 220px; flex-basis: 220px; }
  .elementor-14 .elementor-element.elementor-element-ef1a5ea img { width: 220px; }
  .elementor-14 .elementor-element.elementor-element-3ed84d9 li:not(:last-child) { margin-right: 16px; }
  .elementor-14 .elementor-element.elementor-element-3ed84d9 li { font-size: 13px; }
  .elementor-14 .elementor-element.elementor-element-9afe100 .elementor-button { padding-inline: 18px; }
}
@media (max-width: 1024px) {
  .elementor-14 .elementor-element.elementor-element-6b4ed2d { --width: 200px; flex-basis: 200px; }
}
@media (max-width: 700px) { :root { --hee-gutter: 20px; } }
@media (max-width: 430px) {
  :root { --hee-header-height: 55px; }
  .elementor-14 .elementor-element.elementor-element-b88f8f2 { --column-gap: 12px; }
  .elementor-14 .elementor-element.elementor-element-6b4ed2d { --width: 124px; flex-basis: 124px; }
  .elementor-14 .elementor-element.elementor-element-ef1a5ea img { width: 124px; }
  .elementor-14 .elementor-element.elementor-element-1108783 { --gap: 10px; }
  .elementor-14 .elementor-element.elementor-element-9afe100 .elementor-button { padding-inline: 10px; letter-spacing: 0; }
  .elementor-14 .elementor-element.elementor-element-9afe100 .elementor-button .elementor-button-content-wrapper { gap: 6px; }
}
@media (max-width: 360px) {
  .elementor-14 .elementor-element.elementor-element-6b4ed2d { --width: 104px; flex-basis: 104px; }
  .elementor-14 .elementor-element.elementor-element-ef1a5ea img { width: 104px; }
}
.hee-welcome {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: calc(100vh - var(--hee-header-height));
  min-height: calc(100svh - var(--hee-header-height));
  padding: 64px var(--hee-gutter) 70px;
  background: linear-gradient(105deg, #eaf2fa 0%, #f4f8fc 48%, #fff 80%);
  font-family: "Quicksand", sans-serif;
  color: #54595f;
  scroll-margin-top: var(--hee-header-height);
}
.hee-welcome__atmosphere {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 40%, transparent 92%);
  mask-image: linear-gradient(to right, #000 0%, #000 40%, transparent 92%);
}
/* Small, crisp brand-blue accents sit in the empty space, away from content. */
.hee-welcome__accents { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hee-welcome__accent { position: absolute; display: block; pointer-events: none; color: #3a82b9; }
.hee-welcome__accent--ring { width: 26px; height: 26px; left: 15%; top: 14%; opacity: .6; }
.hee-welcome__accent--spark { width: 22px; height: 22px; left: 49%; top: 12%; opacity: .55; transform: rotate(12deg); }
.hee-welcome__accent--strokes { width: 28px; height: 24px; left: 69%; top: 17%; opacity: .5; }
.hee-welcome__accent--cross { width: 18px; height: 18px; left: 4%; top: 53%; opacity: .45; transform: rotate(12deg); }
.hee-welcome__accent--dots { width: 32px; height: 22px; left: 26%; bottom: 13%; opacity: .5; }
.hee-welcome__accent--diamond { width: 10px; height: 10px; left: calc(50% + 46px); top: 47%; opacity: .4; }
@media (max-width: 1199px) {
  .hee-welcome__accent--cross { display: none; }
}
@media (max-width: 1099px) {
  .hee-welcome__accent--ring { left: 8%; top: 24px; }
  .hee-welcome__accent--spark { left: 51%; top: 18px; }
  .hee-welcome__accent--strokes { left: auto; right: 12%; top: 28px; }
  .hee-welcome__accent--dots, .hee-welcome__accent--diamond { display: none; }
}
@media (max-width: 700px) {
  .hee-welcome__accent--ring { display: none; }
  .hee-welcome__accent--spark { width: 14px; height: 14px; left: 59%; top: 14px; opacity: .45; }
  .hee-welcome__accent--strokes { width: 20px; height: 18px; right: 10%; top: 18px; opacity: .4; }
}
.hee-welcome__inner {
  position: relative;
  z-index: 1;
  width: min(var(--hee-content-width), 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}
.hee-welcome__copy { min-width: 0; }
.hee-welcome h1 {
  margin: 0 0 26px;
  color: #253a55;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 64px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -2px;
  text-align: left;
}
.hee-welcome h1 span { color: #0072d2; }
.hee-welcome__nowrap { white-space: nowrap; }
.hee-welcome__text { max-width: 550px; font-size: 20px; line-height: 1.65; }
.hee-welcome__text p { margin: 0 0 17px; }
.hee-welcome__text p:last-child { margin-bottom: 0; }
.hee-welcome__text strong { font-weight: 700; }
.hee-welcome__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hee-welcome__cta, .hee-welcome__phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 15px 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  font: 700 15px/1.4 "Quicksand", sans-serif;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
.hee-welcome__cta { background: #0072d2; color: #fff; }
.hee-welcome__cta span { font-size: 21px; line-height: 1; }
.hee-welcome__cta:hover { background: #005eaf; color: #fff; }
.hee-welcome__phone { border-color: #d6e2ef; color: #17538c; background: #fff; }
.hee-welcome__phone svg { width: 18px; height: 18px; }
.hee-welcome__phone:hover { border-color: #99bfe6; background: #f3f7fc; color: #0044af; }
.hee-welcome__cta:focus-visible, .hee-welcome__phone:focus-visible,
.hee-contact__phone:focus-visible { outline: 3px solid #006bca; outline-offset: 4px; }
.hee-welcome__illustration { position: relative; min-width: 0; aspect-ratio: 1; isolation: isolate; }
.hee-welcome__scene {
  position: absolute;
  inset: -5%;
  width: 110%;
  height: 110%;
  max-width: none;
  pointer-events: none;
  transform: translate3d(0, var(--hee-scene-y, 0px), 0);
}
.hee-welcome__mascot {
  position: absolute;
  z-index: 1;
  bottom: -2%;
  left: 6.29%;
  display: block;
  width: 87.42%;
  height: auto;
  transform: translate3d(0, var(--hee-mascot-y, 0px), 0);
}
@media (max-width: 1099px) {
  .hee-welcome { min-height: 0; padding: 64px var(--hee-gutter) 60px; }
  .hee-welcome__inner { gap: 28px; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
  .hee-welcome h1 { font-size: 48px; letter-spacing: -1.5px; }
  .hee-welcome__text { font-size: 18px; }
}
@media (max-width: 700px) {
  .hee-welcome { padding: 40px var(--hee-gutter) 28px; background: linear-gradient(145deg, #eaf2fa 0%, #f4f8fc 40%, #fff 77%); }
  .hee-welcome__atmosphere { -webkit-mask-image: linear-gradient(#000, transparent 80%); mask-image: linear-gradient(#000, transparent 80%); }
  .hee-welcome__inner { grid-template-columns: 1fr; gap: 18px; }
  .hee-welcome h1 { font-size: clamp(38px, 10.5vw, 48px); letter-spacing: -1.2px; margin-bottom: 22px; }
  .hee-welcome__text { font-size: 18px; line-height: 1.7; }
  .hee-welcome__actions { margin-top: 24px; gap: 10px; }
  .hee-welcome__cta, .hee-welcome__phone { min-height: 50px; width: 100%; }
  .hee-welcome__illustration { width: min(320px, 95%); margin-inline: auto; }
}
@media (max-width: 430px) {
  .hee-welcome__text { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .hee-welcome__cta, .hee-welcome__phone { transition: none; }
  .hee-welcome__scene, .hee-welcome__mascot { transform: none; }
}

/* Existing figures form a compact trust band; no replacement photo yet. */
.hee-stats {
  padding: 40px var(--hee-gutter);
  background: #0069c7;
  color: #fff;
  font-family: "Quicksand", sans-serif;
  scroll-margin-top: var(--hee-header-height);
}
.hee-stats__grid {
  width: min(var(--hee-content-width), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hee-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
  padding: 4px 24px;
  text-align: center;
}
.hee-stat + .hee-stat { border-left: 1px solid #ffffff40; }
.hee-stat dt { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.5; }
.hee-stat dd { order: -1; margin: 0; font-size: 48px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
@media (max-width: 700px) {
  .hee-stats { padding: 30px var(--hee-gutter); }
  .hee-stat { justify-content: flex-start; gap: 10px; padding: 0 12px; }
  .hee-stat dt { font-size: 14px; }
  .hee-stat dd { font-size: 32px; }
}
@media (max-width: 430px) {
  .hee-stats { padding: 28px var(--hee-gutter); }
  .hee-stat { padding-inline: 6px; }
  .hee-stat dt { font-size: 12.5px; line-height: 1.45; }
  .hee-stat dd { font-size: clamp(22px, 6.2vw, 28px); }
}

/* The service illustrations carry this section without another mascot. */
.hee-services {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: 64px var(--hee-gutter);
  background:
    radial-gradient(ellipse at 100% 0%, #c5e4fa80, transparent 65%),
    linear-gradient(115deg, #edf5fc, #f5f9fd 65%, #ebf5fc) #edf5fc;
  color: #34455b;
  font-family: "Quicksand", sans-serif;
  scroll-margin-top: calc(var(--hee-header-height) + 18px);
}
.hee-services::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 860px;
  height: 660px;
  top: -310px;
  right: -200px;
  border: 44px solid #83bee51a;
  border-radius: 50%;
  box-shadow: 0 0 0 70px #b1d5ef22, 0 0 0 130px #b1d5ef15;
  transform: rotate(-28deg);
  pointer-events: none;
}
.hee-services__inner { width: min(var(--hee-content-width), 100%); margin-inline: auto; }
.hee-services__heading {
  display: block;
  max-width: 740px;
  align-items: center;
  gap: 32px;
  margin-bottom: 30px;
}
.hee-services__intro { min-width: 0; }
.hee-services h2 {
  min-width: 0;
  margin: 0 0 12px;
  color: #007ee7;
  font: 900 49.3px/1.1 "Quicksand", sans-serif;
  letter-spacing: .04em;
  text-align: left;
  text-wrap: balance;
}
.hee-services__intro p { margin: 0; color: #253a55; font-size: 24px; font-weight: 700; line-height: 1.35; text-wrap: balance; }
.hee-services__intro .hee-services__description { margin-top: 14px; max-width: 680px; color: #4c6077; font-size: 17px; font-weight: 500; line-height: 1.6; text-wrap: pretty; }
.hee-services__mascot { display: block; width: 184px; height: auto; justify-self: end; pointer-events: none; }
.hee-services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hee-services__grid > li { min-width: 0; margin: 0; padding: 0; }
.hee-service {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 104px;
  height: 100%;
  padding: 20px;
  border: 1px solid #e0e9f2;
  border-radius: 14px;
  background: #fff;
  color: #34455b;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hee-services .hee-service__icon {
  display: block;
  width: 44px;
  height: 44px;
  color: #0072d2;
  fill: none;
  overflow: visible;
}
.hee-services .hee-service__icon .cls-1 {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hee-service__name { min-width: 0; }
.hee-service:hover {
  color: #0044af;
  border-color: #96bce4;
  box-shadow: 0 6px 18px #133b6810;
  transform: translateY(-2px);
}
.hee-service:focus-visible {
  outline: 3px solid #006bca;
  outline-offset: 4px;
}
@media (max-width: 1099px) {
  .hee-services__heading { grid-template-columns: minmax(0, 1fr) 168px; gap: 28px; }
  .hee-services__mascot { width: 168px; }
  .hee-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .hee-services { padding: 40px var(--hee-gutter) 48px; }
  .hee-services::before { right: -550px; top: -240px; }
  .hee-services__heading { grid-template-columns: minmax(0, 1fr) 136px; gap: 24px; margin-bottom: 24px; }
  .hee-services h2 { font-size: 33px; }
  .hee-services__intro p { font-size: 22px; }
  .hee-services__intro .hee-services__description { font-size: 16px; }
  .hee-services__mascot { width: 136px; }
  .hee-services__grid { gap: 12px; }
  .hee-service {
    grid-template-columns: 1fr;
    grid-template-rows: 32px minmax(41px, auto);
    align-items: start;
    align-content: center;
    gap: 12px;
    min-height: 122px;
    padding: 16px 14px;
    font-size: 15px;
  }
  .hee-services .hee-service__icon { width: 32px; height: 32px; }
  .hee-service__name { hyphens: auto; overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  .hee-services__heading { grid-template-columns: minmax(0, 1fr) 120px; gap: 12px 16px; }
  .hee-services__intro { display: block; }
  .hee-services h2 { margin-bottom: 12px; }
  .hee-services__intro p { grid-column: 1; grid-row: 2; font-size: 20px; }
  .hee-services__mascot { grid-column: 2; grid-row: 2; width: 120px; }
}
@media (max-width: 430px) {
  .hee-services__heading { grid-template-columns: minmax(0, 1fr) 112px; }
  .hee-services__mascot { width: 112px; }
}
@media (max-width: 360px) {
  .hee-services h2 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .hee-service { transition: none; }
  .hee-service:hover { transform: none; }
}

/* Sector-specific routes, with the original photographic/blue identity. */
.hee-business { padding: 64px var(--hee-gutter) 56px; background: #fff; color: #54595f; font-family: "Quicksand", sans-serif; }
.hee-business__inner { width: min(var(--hee-content-width), 100%); margin-inline: auto; }
.hee-business__heading { display: grid; grid-template-columns: minmax(0, 644px) 270px; align-items: center; gap: 8px; margin-bottom: 28px; max-width: 100%; width: fit-content; }
.hee-business__intro { min-width: 0; }
.hee-business__mascot { display: block; width: 270px; height: auto; pointer-events: none; transform: scaleX(-1); }
.hee-business h2 { margin: 0 0 18px; max-width: 620px; color: #007ee7; font: 700 42px/1.15 "Quicksand", sans-serif; text-wrap: balance; }
.hee-business__heading p { margin: 0; max-width: 644px; color: #253a55; font-size: 22px; font-weight: 700; line-height: 1.45; text-wrap: pretty; }
.hee-business__lead-unit { white-space: nowrap; }
.hee-business__lead-conclusion { display: inline; }
.hee-business__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hee-business__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 16px; background: #f3f7fc; border: 1px solid #e2eaf2; }
.hee-business__card > img { display: block; width: 100%; height: 190px; object-fit: cover; }
.hee-business__body { display: flex; flex-direction: column; flex: 1; padding: 26px; border-top: 4px solid #007ee7; }
.hee-business h3 { margin: 0 0 14px; color: #253a55; font: 700 24px/1.2 "Quicksand", sans-serif; }
.hee-business__body p { margin: 0 0 20px; font-size: 17px; line-height: 1.6; }
.hee-business__body a { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; min-height: 44px; color: #0066bf; font-size: 16px; font-weight: 700; }
.hee-business__body a > span[aria-hidden] { font-size: 23px; }
.hee-business__footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; margin-top: 24px; }
.hee-business__footer .hee-proof__group--certifications { grid-column: 1 / span 2; }
.hee-business__footer .hee-hub-cta { grid-column: 3; }
.hee-business a:focus-visible, .hee-credentials a:focus-visible { outline: 3px solid #0068c3; outline-offset: 4px; }
.hee-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* Compact supporting panels share the grid of the cards directly above. */
.hee-credentials { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; align-content: center; gap: 12px; box-sizing: border-box; margin: 0; padding: 24px; border: 1px solid #e2eaf2; border-radius: 16px; background: #f3f7fc; min-width: 0; width: 100%; }
.hee-credentials .hee-credentials__label { margin: 0; color: #253a55; font: 700 22px/1.4 "Quicksand", sans-serif; text-align: center; }
.hee-proof__logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; justify-items: center; gap: 18px 28px; min-height: 64px; width: 100%; }
.hee-proof__logos a { display: flex; align-items: center; justify-content: center; min-width: 0; width: 100%; min-height: 64px; border-radius: 4px; }
.hee-proof__logos img { display: block; width: auto; max-width: min(100%, 112px); max-height: 64px; object-fit: contain; }
.hee-proof__group--media .hee-proof__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hee-proof__group--media img { max-width: 88px; width: 100%; max-height: 48px; }
/* Whole-card links provide a distinct next step beside the supporting logos. */
.hee-hub-cta {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center; gap: 20px; min-width: 0; min-height: 156px;
  box-sizing: border-box; padding: 24px; border-radius: 16px;
  background: linear-gradient(125deg, #0066bf, #0044af);
  color: #fff; text-decoration: none;
  font-family: "Quicksand", sans-serif;
  transition: box-shadow .18s ease, transform .18s ease;
}
.hee-hub-cta::before {
  content: ""; position: absolute; z-index: -1; width: 210px; height: 210px;
  right: -76px; bottom: -135px; border: 28px solid #ffffff0d; border-radius: 50%;
  pointer-events: none;
}
.hee-hub-cta__copy { display: grid; gap: 9px; min-width: 0; }
.hee-hub-cta__eyebrow { font-size: 14px; font-weight: 600; line-height: 1.4; }
.hee-hub-cta strong { font-size: 24px; font-weight: 700; line-height: 1.25; text-wrap: balance; }
.hee-hub-cta__arrow { display: grid; place-items: center; width: 44px; height: 44px; box-sizing: border-box; border: 1px solid #ffffff66; border-radius: 50%; background: #ffffff14; }
.hee-hub-cta__arrow svg { display: block; }
.hee-hub-cta:hover { color: #fff; text-decoration: none; box-shadow: 0 6px 16px #0044af22; transform: translateY(-2px); }
.hee-hub-cta:focus-visible { outline: 3px solid #0068c3; outline-offset: 4px; color: #fff; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .hee-hub-cta { transition: none; } .hee-hub-cta:hover { transform: none; } }
@media (max-width: 1099px) {
  .hee-business__grid { gap: 18px; }
  .hee-hub-cta strong { font-size: 22px; }
  .hee-business__footer { gap: 18px; }
  .hee-business__body { padding: 22px; }
  .hee-business h3 { font-size: 22px; }
  .hee-business__heading { grid-template-columns: minmax(0, 1fr) 200px; gap: 24px; }
  .hee-business__mascot { width: 200px; }
  .hee-proof__logos { gap: 18px; }
}
@media (max-width: 800px) {
  .hee-business__grid { grid-template-columns: 1fr; }
  .hee-business__footer { grid-template-columns: 1fr; gap: 24px; }
  .hee-business__footer .hee-proof__group--certifications,
  .hee-business__footer .hee-hub-cta { grid-column: 1; }
  .hee-business__card { display: grid; grid-template-columns: 1fr 1.6fr; }
  .hee-business__card > img { height: 100%; min-height: 230px; }
  .hee-business__body { border-top: 0; border-left: 4px solid #007ee7; }
}
@media (max-width: 700px) {
  .hee-business { padding-block: 40px; }
  .hee-business h2 { font-size: 32px; }
  .hee-business__heading p { font-size: 20px; }
  .hee-business__heading { grid-template-columns: minmax(0, 1fr) 110px; gap: 20px 16px; }
  .hee-business__intro { display: contents; }
  .hee-business__heading h2 { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .hee-business__heading p { grid-column: 1 / -1; grid-row: 2; max-width: none; }
  .hee-business__lead-conclusion { display: inline; }
  .hee-business__mascot { grid-column: 2; grid-row: 1; width: 110px; }
  .hee-credentials { padding: 20px; }
  .hee-hub-cta { padding: 20px; gap: 14px; }
  .hee-hub-cta strong { font-size: 22px; }
}
@media (max-width: 360px) {
  .hee-business h2 { font-size: 29px; }
  .hee-business__heading { grid-template-columns: minmax(0, 1fr) 96px; gap: 20px 12px; }
  .hee-business__mascot { width: 96px; }
}
@media (max-width: 600px) {
  .hee-business__card { display: flex; }
  .hee-business__card > img { min-height: 0; height: 180px; }
  .hee-business__body { border-left: 0; border-top: 4px solid #007ee7; }
}

/* Contact follows the questions and precedes optional further reading. */
.hee-contact {
  padding: 72px var(--hee-gutter);
  background: #f3f7fc;
  color: #4c6077;
  font-family: "Quicksand", sans-serif;
  scroll-margin-top: calc(var(--hee-header-height) + 16px);
}
.hee-contact__inner {
  width: min(var(--hee-content-width), 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
.hee-contact__copy { min-width: 0; }
.hee-contact__eyebrow { color: #0072d2; font-size: 14px; font-weight: 700; margin: 0 0 18px; }
.hee-contact h2 {
  color: #253a55;
  font: 700 clamp(30px, 3vw, 40px)/1.2 "Quicksand", sans-serif;
  letter-spacing: -.8px;
  margin: 0 0 24px;
}
.hee-contact__lead { font-size: 17px; line-height: 1.75; margin: 0; }
.hee-contact__detail { border-left: 3px solid #c2daf2; padding-left: 20px; margin: 28px 0; }
.hee-contact__detail h3 { font: 700 17px/1.4 "Quicksand", sans-serif; color: #34455b; margin: 0 0 8px; }
.hee-contact__detail p { font-size: 15px; line-height: 1.7; margin: 0; }
.hee-contact__reassurance {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0 0 28px;
  list-style: none;
}
.hee-contact__reassurance li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 12px;
  border-radius: 8px;
  background: #fff;
  color: #4c6077;
  font-size: 13px;
  font-weight: 600;
}
.hee-contact__reassurance li span { color: #0072d2; font-weight: 700; }
.hee-contact__conversation {
  display: grid;
  grid-template-columns: max-content 208px;
  gap: 24px;
  align-items: center;
  justify-content: start;
}
.hee-contact__mascot { display: block; width: 208px; height: auto; pointer-events: none; }
.hee-contact__phone {
  display: inline-flex; flex-direction: column; gap: 10px; box-sizing: border-box;
  padding: 16px 18px; border: 2px solid #0a67b9; border-radius: 16px;
  background: linear-gradient(135deg, #0065bd, #0044af);
  color: #fff; font-size: 14px; text-decoration: none;
  transition: box-shadow .2s ease, border-color .2s ease;
}
/* Override the captured theme's .elementor a { box-shadow: none; }. */
.hee-contact .hee-contact__phone { box-shadow: 0 10px 24px #0044af26; }
.hee-contact__phone:hover { color: #fff; border-color: #0054ab; box-shadow: 0 12px 28px #0044af38; }
.hee-contact__phone > span {
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  -webkit-text-stroke: .15px currentColor;
  line-height: 1.25;
  white-space: nowrap;
}
.hee-contact__phone strong {
  color: #fff;
  font: 900 34px/1.25 Arial, sans-serif;
  letter-spacing: -.7px;
  white-space: nowrap;
}
.hee-contact__phone:hover strong { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.hee-contact__panel { min-width: 0; padding: 32px; background: #fff; border: 1px solid #e0e9f2; border-radius: 20px; }
.hee-contact__panel > h3 { margin: 0 0 24px; color: #253a55; font: 700 23px/1.3 "Quicksand", sans-serif; }
.hee-contact #homepage_form .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; margin: 0; }
.hee-contact #homepage_form .elementor-field-group { width: auto; padding: 0; margin: 0; min-width: 0; display: block; }
.hee-contact #homepage_form .elementor-col-100 { grid-column: 1 / -1; }
.hee-contact #homepage_form .elementor-field-label { display: block; padding: 0; margin: 0 0 8px; color: #34455b; font: 600 13px/1.4 "Quicksand", sans-serif; }
.hee-contact #homepage_form .elementor-field-textual {
  display: block;
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  background: #f9fbfd;
  color: #34455b;
  opacity: 1;
  -webkit-text-fill-color: #34455b;
  font: 400 15px/1.5 "Quicksand", sans-serif;
}
.hee-contact #homepage_form .elementor-field-textual::placeholder { color: #65788d; opacity: 1; -webkit-text-fill-color: #65788d; }
.hee-contact #homepage_form textarea { min-height: 116px; resize: vertical; }
.hee-contact #homepage_form select { padding-right: 30px; }
.hee-contact #homepage_form .select-caret-down-wrapper { color: #4c6077; }
.hee-contact #homepage_form .hee-form-privacy-copy { color: #65758a; font: 400 12px/1.6 "Quicksand", sans-serif; margin: 0; }
.hee-contact #homepage_form .hee-form-privacy-copy a { color: #0065bb; text-decoration: underline; text-underline-offset: 2px; }
.hee-contact #homepage_form .hee-form-privacy-copy i { font-style: normal; }
.hee-contact #homepage_form .elementor-button,
.hee-contact #homepage_form .elementor-button:disabled {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 13px 20px;
  border: 0;
  border-radius: 8px;
  background: #0072d2;
  color: #fff;
  opacity: 1;
  font: 700 15px/1.4 "Quicksand", sans-serif;
}
.hee-contact .hee-demo-form-note { color: #65758a; font-size: 11px; line-height: 1.5; margin: 16px 0 0; }
@media (min-width: 1100px) and (max-width: 1199px) {
  .hee-contact__conversation { gap: 8px; }
  .hee-contact__phone { padding-inline: 7px; }
}
@media (max-width: 1099px) {
  .hee-contact { padding: 48px var(--hee-gutter); }
  .hee-contact__inner { grid-template-columns: 1fr; gap: 30px; }
  .hee-contact h2 { font-size: 32px; }
  .hee-contact__panel { padding: 24px 20px; }
  .hee-contact__conversation { grid-template-columns: max-content 184px; gap: 12px; }
  .hee-contact__mascot { width: 184px; }
  .hee-contact__phone > span { font-size: 24px; }
  .hee-contact__phone strong { font-size: 34px; }
}
@media (max-width: 600px) {
  .hee-contact__conversation {
    grid-template-columns: minmax(0, 1fr) clamp(88px, 27vw, 128px);
    gap: 10px;
    width: 100%;
    max-width: 440px;
  }
  .hee-contact__mascot { display: block; width: 100%; }
  .hee-contact__phone { min-width: 0; padding: 12px 10px; gap: 6px; border-radius: 14px; }
  .hee-contact__phone > span {
    font-size: clamp(16px, 4.36vw, 19px);
    white-space: normal;
    text-wrap: balance;
  }
  .hee-contact__phone strong { font-size: clamp(24px, 7.18vw, 30px); }
}
@media (max-width: 430px) {
  .hee-contact #homepage_form .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
  .hee-contact #homepage_form .elementor-col-100 { grid-column: auto; }
}

/* Reviews retain their actual text and native horizontal access. */
.elementor-45 .hee-reviews.elementor-element {
  --padding-top: 64px; --padding-bottom: 56px; --padding-left: var(--hee-gutter); --padding-right: var(--hee-gutter);
  --margin-top: 0px; --margin-bottom: 0px; --gap: 0px;
  min-width: 0;
  background: #fff;
}
.elementor-45 .hee-reviews > .e-con-inner { width: 100%; max-width: var(--hee-content-width); gap: 0; }
.elementor-45 .hee-reviews .elementor-element-dad11e5 > .hee-reviews__heading {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 30px;
  text-align: left;
}
.elementor-45 .hee-reviews .elementor-element-dad11e5 .elementor-heading-title {
  margin: 0;
  min-width: 0;
  line-height: 1.15;
  text-align: left;
  text-wrap: balance;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 0;
}
.hee-reviews .owl-carousel { padding: 4px 0 14px; scrollbar-width: thin; scrollbar-color: #9abedc transparent; }
.hee-reviews .owl-carousel > .uc_item { flex: 0 0 calc((100% - 40px) / 3); min-width: 0; }
#uc_bold_customer_reviews_elementor_1ae12d1 .uc_content { height: auto; min-height: 100px; }
#uc_bold_customer_reviews_elementor_1ae12d1 .uc_review { border: 1px solid #e2eaf2; border-radius: 16px; box-shadow: none; background: #f7fafc; }
@media (max-width: 900px) {
  .elementor-45 .hee-reviews .elementor-element-dad11e5 .elementor-heading-title { font-size: 32px; }
  .hee-reviews .owl-carousel > .uc_item { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .elementor-45 .hee-reviews.elementor-element { --padding-top: 40px; --padding-bottom: 36px; }
  .hee-reviews .owl-carousel > .uc_item { flex-basis: 100%; }
}
@media (max-width: 360px) {
  .elementor-45 .hee-reviews .elementor-element-dad11e5 .elementor-heading-title { font-size: 29px; }
}

/* Compact introduction and native accordions, independent of Elementor JS. */
.elementor-45 .hee-faq.elementor-element {
  position: relative;
  isolation: isolate;
  overflow: clip;
  --padding-top: 48px;
  --padding-bottom: 60px;
  --padding-left: var(--hee-gutter);
  --padding-right: var(--hee-gutter);
  --gap: 0px;
  --row-gap: 0px;
  --content-width: var(--hee-content-width);
  background: radial-gradient(ellipse at 95% 3%, #e4effc 0, transparent 48%), linear-gradient(165deg, #f4f8fc, #eef4fa);
}
.hee-faq::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 920px;
  height: 680px;
  top: -280px;
  left: -500px;
  border: 44px solid #83bee51a;
  border-radius: 50%;
  box-shadow: 0 0 0 64px #b1d5ef22, 0 0 0 120px #b1d5ef15;
  transform: rotate(28deg);
  pointer-events: none;
}
.elementor-45 .hee-faq > .e-con-inner { gap: 0; }
.elementor-45 .hee-faq .elementor-element-51feb58 { margin: 0; }
.elementor-45 .hee-faq .elementor-element-7ab2428 {
  --n-accordion-title-normal-color: #253a55;
  --n-accordion-title-hover-color: #0068c3;
  --n-accordion-title-active-color: #0068c3;
  --n-accordion-item-title-space-between: 0px;
}
.elementor-45 .hee-faq .elementor-element-51feb58 > .hee-faq__heading {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  margin: 0 0 32px;
  text-align: left;
}
.hee-faq__copy { min-width: 0; }
.elementor-45 .hee-faq .elementor-element-51feb58 .elementor-heading-title {
  margin: 0 0 18px;
  font-size: 46px;
  line-height: 1.1;
  text-align: left;
  text-wrap: balance;
}
.hee-faq__intro { margin: 0; max-width: 620px; color: #253a55; font: 700 24px/1.35 "Quicksand", sans-serif; }
.hee-faq__mascot { display: block; width: 180px; height: auto; justify-self: start; pointer-events: none; transform: scaleX(-1); }
.elementor-45 .hee-faq .e-n-accordion { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: start; }
.hee-faq__column { min-width: 0; border-top: 1px solid #bfd2e3; }
.elementor-45 .hee-faq .e-n-accordion-item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #bfd2e3;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.elementor-45 .hee-faq .e-n-accordion-item[open] {
  border-color: #83afcf;
  box-shadow: none;
}
.elementor-45 .hee-faq .e-n-accordion-item-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 20px 0;
  margin: 0;
  list-style: none;
  border: 0;
  border-radius: 0;
  color: #253a55;
  background: transparent;
  cursor: pointer;
}
.hee-faq summary::-webkit-details-marker { display: none; }
.elementor-45 .hee-faq .e-n-accordion-item-title-header { flex: 1; min-width: 0; }
.elementor-45 .hee-faq .e-n-accordion-item-title-text {
  margin: 0;
  color: inherit;
  font: 700 19px/1.4 "Quicksand", sans-serif;
}
.elementor-45 .hee-faq .e-n-accordion-item-title:hover,
.elementor-45 .hee-faq .e-n-accordion-item[open] > summary { color: #0068c3; }
.elementor-45 .hee-faq .e-n-accordion-item-title:focus-visible {
  outline: 3px solid #0068c3;
  outline-offset: -4px;
  background: #f0f7ff;
}
.elementor-45 .hee-faq .e-n-accordion-item-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  order: 2;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #0068c3;
  background: #edf5fd;
}
.elementor-45 .hee-faq .e-n-accordion-item-title-icon svg { width: 12px; height: 12px; fill: currentColor; }
.elementor-45 .hee-faq .e-n-accordion-item-title-icon > span { color: inherit; }
.elementor-45 .hee-faq .e-n-accordion-item-title-icon svg path { fill: currentColor; }
.elementor-45 .hee-faq details[open] > summary .e-opened,
.elementor-45 .hee-faq details:not([open]) > summary .e-closed { display: flex; }
.elementor-45 .hee-faq details[open] > summary .e-closed,
.elementor-45 .hee-faq details:not([open]) > summary .e-opened { display: none; }
.elementor-45 .hee-faq details[open] > summary .e-n-accordion-item-title-icon { background: #0072d2; color: #fff; }
.elementor-45 .hee-faq .e-n-accordion-item > .e-con {
  --padding-top: 0px;
  --padding-bottom: 24px;
  --padding-left: 0px;
  --padding-right: 48px;
  border: 0;
  background: transparent;
}
.elementor-45 .hee-faq .e-n-accordion-item .elementor-widget-text-editor { color: #54595f; font: 500 17px/1.65 "Quicksand", sans-serif; }
.hee-faq .e-n-accordion-item p:last-child { margin-bottom: 0; }
.hee-faq .e-n-accordion-item a { color: #0068c3; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .elementor-45 .hee-faq .e-n-accordion { grid-template-columns: 1fr; gap: 0; }
  .hee-faq__column + .hee-faq__column { border-top: 0; }
}
@media (max-width: 1099px) {
  .elementor-45 .hee-faq .elementor-element-51feb58 > .hee-faq__heading { grid-template-columns: 150px minmax(0, 1fr); }
  .elementor-45 .hee-faq .elementor-element-51feb58 .elementor-heading-title { font-size: 40px; }
  .hee-faq__intro { font-size: 22px; }
  .hee-faq__mascot { width: 150px; }
}
@media (max-width: 700px) {
  .elementor-45 .hee-faq.elementor-element { --padding-top: 36px; --padding-bottom: 40px; --padding-left: var(--hee-gutter); --padding-right: var(--hee-gutter); }
  .elementor-45 .hee-faq .elementor-element-51feb58 > .hee-faq__heading { grid-template-columns: 110px minmax(0, 1fr); gap: 18px 16px; margin-bottom: 24px; }
  .hee-faq__copy { display: contents; }
  .elementor-45 .hee-faq .elementor-element-51feb58 .elementor-heading-title { grid-row: 1; grid-column: 1 / -1; margin: 0; font-size: 32px; }
  .hee-faq__intro { grid-row: 2; grid-column: 2; font-size: 21px; }
  .hee-faq__mascot { grid-row: 2; grid-column: 1; width: 110px; }
  .elementor-45 .hee-faq .e-n-accordion-item-title { gap: 16px; padding: 18px 0; }
  .elementor-45 .hee-faq .e-n-accordion-item-title-text { font-size: 18px; }
  .elementor-45 .hee-faq .e-n-accordion-item > .e-con { --padding-bottom: 20px; --padding-left: 0px; --padding-right: 0px; }
}
@media (max-width: 360px) {
  .elementor-45 .hee-faq .elementor-element-51feb58 .elementor-heading-title { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-45 .hee-faq .e-n-accordion-item { transition: none; }
}

/* Static snapshot compatibility: no WordPress runtime, trackers or submissions. */
.elementor-invisible { visibility: visible !important; }
[class*="fade-in"] { opacity: 1 !important; animation: none !important; }
.elementor-counter-number { opacity: 1 !important; }
#uc_post_grid_elementor_93b4f51 .ue-item { opacity: 1 !important; animation: none !important; filter: none !important; }
.hee-prototype-notice {
  position: relative;
  width: fit-content; max-width: calc(100% - 24px); margin: 16px auto;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 13px;
  padding: 9px 14px; border: 1px solid #dce3eb; border-radius: 8px;
  background: #fff; box-shadow: 0 3px 16px #20354816;
  color: #596775; font: 12px/1.4 Arial,sans-serif;
}
.hee-prototype-notice a { color: #005eaf; text-decoration: underline; text-underline-offset: 3px; }
.hee-demo-form-note { font: 13px/1.45 "Quicksand",sans-serif; margin-top: 12px; color: white; }
#homepage_form .elementor-form-fields-wrapper { margin-inline: 0; }
.owl-carousel { display: flex !important; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; }
.owl-carousel > .uc_item { flex: 0 0 calc((100% - 40px) / 3); min-width: 260px; scroll-snap-align: start; }
.hee-avatar { width: 45px; height: 45px; border-radius: 50%; display: inline-grid; place-items: center; background: #eaf2fd; color: #0044af; font-weight: 700; }
#hamburger_menu { background: none; border: 0; padding: 0; cursor: pointer; border-radius: 0; }
@media (max-width:1024px) {
  #uc_webcom_nav_menu_elementor_3ed84d9 .webcom_main_menu { visibility: hidden; pointer-events: none; }
  #uc_webcom_nav_menu_elementor_3ed84d9 .webcom_main_menu.mobile-visible { visibility: visible; pointer-events: auto; opacity: .98; }
  #hamburger_menu { z-index: 2; }
}
@media (max-width:700px) {
  .hee-prototype-notice { padding: 7px 9px; gap: 9px; font-size: 11px; }
}
