/* Happy Friday SaaS design system
   Presentation only. Beats Elementor header chrome so the bar can sit in the hero. */

:root {
  --hf-ink: #161616;
  --hf-ink-soft: #2a2a2a;
  --hf-muted: #5a5550;
  --hf-line: #ece7e0;
  --hf-paper: #fffaf4;
  --hf-white: #ffffff;
  --hf-pink: #ef476f;
  --hf-coral: #ff7757;
  --hf-gold: #f4a261;
  --hf-yellow: #ffd447;
  --hf-pink-tint: #fde8ee;
  --hf-coral-tint: #ffe8e1;
  --hf-gold-tint: #fff1e2;
  --hf-yellow-tint: #fff7d6;
  --hf-radius-btn: 12px;
  --hf-radius-card: 22px;
  --hf-shadow: 0 8px 24px rgba(22, 22, 22, 0.06);
  --hf-shadow-hover: 0 16px 36px rgba(22, 22, 22, 0.1);
  --hf-header-h: 100px;
  --hf-gutter: 20px;
  --hf-max: 1440px;
  --hf-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --hf-font-display: "Harman Sans", "RNS Sanz", Inter, "Helvetica Neue", Arial, sans-serif;
  --hf-font-body: Inter, "RNS Sanz", "Helvetica Neue", Arial, sans-serif;
}

@media (min-width: 768px) {
  :root { --hf-gutter: 32px; --hf-header-h: 104px; }
}

@media (min-width: 1200px) {
  :root { --hf-gutter: 48px; --hf-header-h: 100px; }
}

/* -------------------------------------------------------------------------
   8. Shared container
   ------------------------------------------------------------------------- */
.hf-site-container {
  width: min(var(--hf-max), calc(100% - (var(--hf-gutter) * 2)));
  margin-inline: auto;
}

html body.hf-saas {
  background: var(--hf-white);
  color: var(--hf-ink);
}

html body.hf-saas .elementor-button,
html body.hf-saas .hf-gradient-btn .elementor-button,
html body.hf-saas a.hf-btn {
  border-radius: var(--hf-radius-btn) !important;
}

/* -------------------------------------------------------------------------
   1 + 12. Site header
   ------------------------------------------------------------------------- */
html body.hf-saas .elementor-location-header,
html body.hf-saas .elementor-location-header.elementor-sticky,
html body.hf-saas .elementor-location-header.elementor-sticky--active,
html body.hf-saas .elementor-location-header.elementor-sticky--effects,
html body.hf-saas .elementor-393,
html body.hf-saas .elementor-393 .elementor-element-3de57a7f,
html body.hf-saas .elementor-393 .elementor-element-3de57a7f > .elementor-container,
html body.hf-saas .elementor-location-header .elementor-section,
html body.hf-saas .elementor-location-header .elementor-element,
html body.hf-saas.home .elementor-location-header,
html body.hf-saas.page-id-7808 .elementor-location-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.hf-saas .elementor-location-header,
html body.hf-saas.home .elementor-location-header,
html body.hf-saas.page-id-7808 .elementor-location-header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 40 !important;
}

html body.hf-saas .elementor-sticky__spacer {
  display: none !important;
  height: 0 !important;
}

html body.hf-saas .elementor-393 .elementor-element-3de57a7f {
  padding: 18px var(--hf-gutter) !important;
  min-height: var(--hf-header-h) !important;
}

html body.hf-saas .elementor-393 .elementor-element-3de57a7f > .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: min(var(--hf-max), 100%) !important;
  max-width: var(--hf-max) !important;
  margin-inline: auto !important;
  min-height: calc(var(--hf-header-h) - 36px) !important;
}

html body.hf-saas .elementor-393 .elementor-element-3de57a7f > .elementor-container > .elementor-column,
html body.hf-saas .elementor-393 .elementor-element-49c58a03,
html body.hf-saas .elementor-393 .elementor-element-19934667,
html body.hf-saas .elementor-393 .elementor-element-4eabdb6 {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  min-height: 44px !important;
}

html body.hf-saas .elementor-393 .elementor-element-49c58a03 {
  flex: 1 1 0 !important;
  justify-content: flex-start !important;
}

html body.hf-saas .elementor-393 .elementor-element-19934667 {
  flex: 0 1 auto !important;
  justify-content: center !important;
  margin-left: 0 !important;
}

html body.hf-saas .elementor-393 .elementor-element-4eabdb6 {
  flex: 1 1 0 !important;
  justify-content: flex-end !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

html body.hf-saas .elementor-393 .elementor-element-3de57a7f .elementor-widget,
html body.hf-saas .elementor-393 .elementor-element-637da9a3,
html body.hf-saas .elementor-393 .elementor-element-hfword01,
html body.hf-saas .elementor-393 .elementor-element-7852724,
html body.hf-saas .elementor-393 .elementor-widget-wrap {
  margin: 0 !important;
}

html body.hf-saas .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas .elementor-393 .hf-wordmark .elementor-heading-title a {
  font-family: var(--hf-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  gap: 8px 28px !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .elementor-item {
  font-family: var(--hf-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 44px !important;
  padding: 0 !important;
  line-height: 1 !important;
  background: none !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .sub-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 6px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  padding: 0 !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .elementor-item:after {
  background-color: currentColor !important;
  height: 1px !important;
}

html body.hf-saas .elementor-393 .hf-header-cta .elementor-button,
html body.hf-saas .elementor-393 .elementor-element-7852724 .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--hf-white) !important;
  color: var(--hf-ink) !important;
  fill: var(--hf-ink) !important;
  border: 0 !important;
  border-radius: var(--hf-radius-btn) !important;
  box-shadow: 0 8px 22px rgba(22, 22, 22, 0.14) !important;
  font-family: var(--hf-font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 12px 22px !important;
  min-height: 44px;
  transition: transform 0.2s var(--hf-ease), box-shadow 0.2s var(--hf-ease), background 0.2s ease;
}

html body.hf-saas .elementor-393 .hf-header-cta .elementor-button:hover,
html body.hf-saas .elementor-393 .hf-header-cta .elementor-button:focus,
html body.hf-saas .elementor-393 .elementor-element-7852724 .elementor-button:hover,
html body.hf-saas .elementor-393 .elementor-element-7852724 .elementor-button:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(22, 22, 22, 0.18) !important;
  background: var(--hf-white) !important;
  color: var(--hf-ink) !important;
}

html body.hf-saas .elementor-393 .hf-header-cta .elementor-button:focus-visible,
html body.hf-saas .elementor-393 .elementor-nav-menu--main .elementor-item:focus-visible,
html body.hf-saas .hf-btn:focus-visible,
html body.hf-saas .elementor-button:focus-visible {
  outline: 2px solid var(--hf-ink) !important;
  outline-offset: 3px !important;
}

html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-header-cta .elementor-button:focus-visible,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-nav-menu--main .elementor-item:focus-visible,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-wordmark a:focus-visible {
  outline-color: var(--hf-ink) !important;
}

/* Header type: black on all pages, matching home */
html body.hf-saas .elementor-location-header,
html body.hf-saas .elementor-location-header a:not(.elementor-button),
html body.hf-saas .elementor-location-header .elementor-heading-title,
html body.hf-saas .elementor-location-header .elementor-heading-title a,
html body.hf-saas .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas .elementor-393 .hf-wordmark .elementor-heading-title a,
html body.hf-saas .elementor-393 .elementor-nav-menu--main .elementor-item,
html body.hf-saas .elementor-393 .elementor-menu-toggle,
html body.hf-saas .elementor-393 .elementor-menu-toggle i,
html body.hf-saas .elementor-393 .elementor-menu-toggle svg,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-location-header,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-location-header a:not(.elementor-button),
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-location-header .elementor-heading-title,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-location-header .elementor-heading-title a,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title a,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-nav-menu--main .elementor-item,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle i,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle svg,
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-location-header,
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-location-header a:not(.elementor-button),
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-location-header .elementor-heading-title,
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-location-header .elementor-item {
  color: var(--hf-ink) !important;
  fill: var(--hf-ink) !important;
}

html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-button,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-button .elementor-button-text,
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-393 .elementor-button,
html body.hf-saas.page-id-7808:not(.hf-scrolled) .elementor-393 .elementor-button .elementor-button-text {
  color: #161616 !important;
  fill: #161616 !important;
}

html body.hf-saas.hf-hero-light:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas.hf-hero-light:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title a,
html body.hf-saas.hf-hero-light:not(.hf-scrolled) .elementor-393 .elementor-nav-menu--main .elementor-item,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .hf-wordmark .elementor-heading-title a,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-nav-menu--main .elementor-item {
  color: var(--hf-ink) !important;
}

/* Scrolled header */
html body.hf-saas.hf-scrolled .elementor-location-header,
html body.hf-saas.hf-scrolled .elementor-393 .elementor-element-3de57a7f,
html body.hf-saas.hf-scrolled .elementor-location-header .elementor-section {
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 1px 0 rgba(22, 22, 22, 0.06), 0 8px 24px rgba(22, 22, 22, 0.05) !important;
  backdrop-filter: blur(14px);
}

html body.hf-saas.hf-scrolled .elementor-location-header {
  position: fixed !important;
}

html body.hf-saas.hf-scrolled .elementor-location-header,
html body.hf-saas.hf-scrolled .elementor-location-header a,
html body.hf-saas.hf-scrolled .elementor-location-header .elementor-heading-title,
html body.hf-saas.hf-scrolled .elementor-location-header .elementor-heading-title a,
html body.hf-saas.hf-scrolled .elementor-393 .hf-wordmark .elementor-heading-title,
html body.hf-saas.hf-scrolled .elementor-393 .elementor-nav-menu--main .elementor-item,
html body.hf-saas.hf-scrolled .elementor-393 .elementor-menu-toggle,
html body.hf-saas.hf-scrolled .elementor-393 .elementor-menu-toggle i {
  color: var(--hf-ink) !important;
  fill: var(--hf-ink) !important;
}

html body.hf-saas.hf-scrolled .elementor-393 .hf-header-cta .elementor-button,
html body.hf-saas.hf-scrolled .elementor-393 .elementor-element-7852724 .elementor-button {
  background: var(--hf-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Dropdowns always sit on white */
html body.hf-saas .elementor-393 .elementor-nav-menu--main .sub-menu {
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(22, 22, 22, 0.12) !important;
  padding: 8px 0 !important;
  min-width: 260px !important;
  top: 14px !important;
  overflow: hidden !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .sub-menu a {
  color: var(--hf-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 15px !important;
  padding: 12px 20px !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--main .sub-menu a:hover,
html body.hf-saas .elementor-393 .elementor-nav-menu--main .sub-menu a:focus {
  background: #fdf2f5 !important;
  color: var(--hf-ink) !important;
}

/* Contact and Talk to us both go to /contact-us/; keep Talk to us */
html body.hf-saas .elementor-393 .menu-item-555 {
  display: none !important;
}

/* Hide Home + duplicate Talk to us on desktop (logo + primary button cover them) */
@media (min-width: 1025px) {
  html body.hf-saas .elementor-393 .elementor-nav-menu--main .menu-item-900,
  html body.hf-saas .elementor-393 .elementor-nav-menu--main .menu-item-home,
  html body.hf-saas .elementor-393 .elementor-nav-menu--main .menu-item-7874,
  html body.hf-saas .elementor-393 .elementor-nav-menu--main .hf-mobile-only,
  html body.hf-saas .elementor-393 .elementor-nav-menu--main li.hf-mobile-only {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------
   2–4 + 13. Hero
   ------------------------------------------------------------------------- */
html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child,
html body.hf-saas [data-elementor-type="wp-page"] > .elementor-section:first-child {
  position: relative !important;
  overflow: hidden !important;
  min-height: 600px !important;
  padding-top: calc(var(--hf-header-h) + 28px) !important;
  padding-bottom: 88px !important;
  padding-left: var(--hf-gutter) !important;
  padding-right: var(--hf-gutter) !important;
  background-color: #f26a8d !important;
  background-image:
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    linear-gradient(135deg, #f26a8d 0%, #f79a6c 25%, #f7e46a 50%, #fffaf2 100%) !important;
  background-size: 28px 28px, 28px 28px, 400% 400% !important;
  background-position: 0 0, 14px 14px, 0% 40% !important;
  animation: hfSunsetShift 18s ease-in-out infinite !important;
}

@keyframes hfSunsetShift {
  0%   { background-position: 0 0, 14px 14px, 0% 20%; }
  25%  { background-position: 10px -6px, 24px 8px, 70% 0%; }
  50%  { background-position: 0 12px, 14px 28px, 100% 80%; }
  75%  { background-position: -8px 4px, 4px 18px, 30% 100%; }
  100% { background-position: 0 0, 14px 14px, 0% 20%; }
}

html body.hf-saas .hf-hero-wave {
  position: absolute !important;
  inset: -28% -22% !important;
  z-index: 0 !important;
  pointer-events: none;
  background-image: linear-gradient(135deg, #f26a8d 0%, #f79a6c 25%, #f7e46a 50%, #fffaf2 100%) !important;
  background-size: 280% 280% !important;
  animation: hfWaveDrift 18s ease-in-out infinite, hfWaveSway 18s ease-in-out infinite !important;
}
@keyframes hfWaveDrift {
  0% { background-position: 0% 25%; }
  50% { background-position: 100% 75%; }
  100% { background-position: 0% 25%; }
}
@keyframes hfWaveSway {
  0%, 100% { transform: translate3d(-6%, 3%, 0) skewX(-8deg) scale(1.16); }
  33% { transform: translate3d(7%, -4%, 0) skewX(7deg) scale(1.22); }
  66% { transform: translate3d(-4%, 5%, 0) skewX(-4deg) scale(1.18); }
}
@media (prefers-reduced-motion: reduce) {
  html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child,
  html body.hf-saas [data-elementor-type="wp-page"] > .elementor-section:first-child,
  html body.hf-saas.home .elementor-864 .elementor-element.elementor-element-3d016e2c,
  html body.hf-saas.page-id-544 .elementor-element-c544hero {
    animation: none !important;
    background-size: 28px 28px, 28px 28px, 100% 100% !important;
    background-position: 0 0, 14px 14px, 0 0 !important;
  }
  html body.hf-saas .hf-hero-wave {
    display: none !important;
    animation: none !important;
  }
  .hf-cta-band {
    animation: none !important;
    background-size: 28px 28px, 28px 28px, 100% 100% !important;
    background-position: 0 0, 14px 14px, 0 0 !important;
  }
  .hf-cta-band::before {
    display: none !important;
    animation: none !important;
  }
}

html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child::after,
html body.hf-saas [data-elementor-type="wp-page"] > .elementor-section:first-child::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: min(220px, 38%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 55%, #ffffff 100%);
  pointer-events: none;
  z-index: 1;
}

html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner,
html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child > .elementor-container,
html body.hf-saas [data-elementor-type="wp-page"] > .elementor-section:first-child > .elementor-container {
  position: relative;
  z-index: 2;
  width: min(var(--hf-max), 100%) !important;
  max-width: var(--hf-max) !important;
  margin-inline: auto !important;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child,
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .elementor-section:first-child {
  min-height: 640px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child .elementor-heading-title,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child .elementor-heading-title a,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor p,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child a:not(.elementor-button):not(.hf-btn),
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-heading-title,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-widget-text-editor,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .elementor-section:first-child p {
  color: var(--hf-ink) !important;
}

/* Breadcrumb */
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading:first-child .elementor-heading-title,
html body.hf-saas.page-id-7808 .elementor-element-a11c0001 .elementor-heading-title,
html body.hf-saas [id^="c0ffee"] .elementor-heading-title,
html body.hf-saas .elementor-element-c0ffee01 .elementor-heading-title,
html body.hf-saas .elementor-element-c0ffee02 .elementor-heading-title,
html body.hf-saas .elementor-element-c0ffee03 .elementor-heading-title,
html body.hf-saas .elementor-element-c0ffee04 .elementor-heading-title {
  font-family: var(--hf-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  opacity: 0.84 !important;
  text-transform: none !important;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title {
  font-family: var(--hf-font-display) !important;
}

html body.hf-saas .hf-hero-crumb,
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .hf-hero-crumb,
html body.hf-saas .hf-hero-crumb.elementor-heading-title {
  font-family: var(--hf-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  opacity: 0.84 !important;
  text-transform: none !important;
  max-width: none !important;
}

html body.hf-saas .hf-hero-crumb a,
html body.hf-saas .hf-hero-crumb-parent {
  color: inherit !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

html body.hf-saas .hf-hero-crumb a:hover,
html body.hf-saas .hf-hero-crumb-parent:hover {
  border-bottom-color: currentColor;
}

html body.hf-saas .hf-hero-title,
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .hf-hero-title,
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-heading-title.hf-hero-title {
  font-family: var(--hf-font-display) !important;
  font-size: clamp(46px, 7vw, 88px) !important;
  font-weight: 700 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  max-width: 16ch;
  text-transform: none !important;
  -webkit-text-stroke: 0 !important;
  paint-order: normal;
}

html body.hf-saas .hf-hero-lede,
html body.hf-saas .hf-hero-lede p,
html body.hf-saas .hf-hero-lede.elementor-heading-title {
  font-family: var(--hf-font-body) !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  max-width: 680px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: 0.94;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child h1.elementor-heading-title:not(.hf-hero-crumb):not(.hf-hero-lede),
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading:nth-of-type(2) .elementor-heading-title:not(.hf-hero-crumb):not(.hf-hero-lede),
html body.hf-saas.page-id-7808 .elementor-element-75e1e20 .elementor-heading-title,
html body.hf-saas.page-id-7683 .elementor-element-6ad0fd07 .elementor-heading-title,
html body.hf-saas.page-id-7685 .elementor-element-4e900b7e .elementor-heading-title,
html body.hf-saas.page-id-7687 .elementor-element-71df9c5b .elementor-heading-title,
html body.hf-saas.page-id-7689 .elementor-element-4e00ca17 .elementor-heading-title,
html body.hf-saas.page-id-7669 .elementor-element-129ce127 .elementor-heading-title,
html body.hf-saas.page-id-7676 .elementor-element-1fc469df .elementor-heading-title,
html body.hf-saas.page-id-7680 .elementor-element-46fcce0d .elementor-heading-title,
html body.hf-saas.page-id-223 .elementor-element-50a598dd .elementor-heading-title,
html body.hf-saas.page-id-881 .elementor-element-5f6d5e70 .elementor-heading-title,
html body.hf-saas.page-id-544 .elementor-element-c544titl .elementor-heading-title {
  font-family: var(--hf-font-display) !important;
  font-size: clamp(46px, 7vw, 88px) !important;
  font-weight: 700 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  max-width: 16ch;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor,
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading:nth-of-type(3) .elementor-heading-title:not(.hf-hero-title):not(.hf-hero-crumb),
html body.hf-saas.page-id-7808 .elementor-element-02323c0,
html body.hf-saas.page-id-7808 .elementor-element-02323c0 p {
  font-family: var(--hf-font-body) !important;
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  max-width: 680px !important;
  opacity: 0.94;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-image {
  position: absolute;
  right: 2%;
  top: 54%;
  transform: translateY(-50%);
  width: min(34vw, 380px);
  max-width: 380px;
  opacity: 0.94;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 1024px) {
  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-image {
    display: none !important;
  }
}

html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child .elementor-button,
html body.hf-saas [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-button {
  background: #fff !important;
  color: var(--hf-ink) !important;
  border-radius: var(--hf-radius-btn) !important;
  box-shadow: 0 8px 22px rgba(22, 22, 22, 0.14) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 14px 24px !important;
  min-height: 48px;
}

html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child .elementor-button:hover,
html body.hf-saas [data-elementor-type="wp-page"] > .e-con:first-child .elementor-button:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(22, 22, 22, 0.18) !important;
}

.hf-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.hf-btn,
a.hf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: var(--hf-radius-btn);
  font-family: var(--hf-font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
  transition: transform 0.2s var(--hf-ease), box-shadow 0.2s var(--hf-ease), background 0.2s ease, border-color 0.2s ease;
}

.hf-btn-primary {
  background: #fff;
  color: var(--hf-ink);
  box-shadow: 0 8px 22px rgba(22, 22, 22, 0.14);
}

.hf-btn:hover,
.hf-btn:focus {
  transform: translateY(-2px);
  color: inherit;
}

html body.hf-saas.home [data-elementor-type="wp-page"] > .e-con:first-child {
  min-height: 680px !important;
}

html body.hf-saas.home [data-elementor-type="wp-page"] > .e-con:first-child .elementor-heading-title {
  color: var(--hf-ink) !important;
}

html body.hf-saas.page-id-544 [data-elementor-type="wp-page"] > .elementor-section:first-child {
  min-height: 520px !important;
}

/* -------------------------------------------------------------------------
   5–7 + 14. Feature cards
   ------------------------------------------------------------------------- */
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:nth-child(2),
html body.hf-saas.page-id-7808 .elementor-element-907cfcd {
  padding-top: 24px !important;
  padding-bottom: 72px !important;
  padding-left: var(--hf-gutter) !important;
  padding-right: var(--hf-gutter) !important;
  background: #fff !important;
  background-image: none !important;
}

html body.hf-saas.page-id-7808 .elementor-element-907cfcd,
html body.hf-saas .hf-feature-grid {
  display: block !important;
}

html body.hf-saas.page-id-7808 .elementor-element-907cfcd > .e-con-inner,
html body.hf-saas [data-elementor-type="wp-page"] > .e-con.e-con-boxed > .e-con-inner {
  max-width: min(1440px, 100%) !important;
  width: 100% !important;
}

html body.hf-saas.page-id-7808 .elementor-element-907cfcd > .e-con-inner,
html body.hf-saas .hf-feature-grid > .e-con-inner,
html body.hf-saas .hf-feature-grid-inner {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 20px !important;
  align-items: stretch !important;
  width: 100% !important;
}

html body.hf-saas.page-id-7808 .elementor-element-907cfcd > .e-con,
html body.hf-saas .hf-feature-grid > .e-con,
html body.hf-saas .hf-feature-card {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  --width: 100% !important;
}

html body.hf-saas .hf-feature-card,
html body.hf-saas.page-id-7808 .elementor-element-bde9a00,
html body.hf-saas.page-id-7808 .elementor-element-c0056cc,
html body.hf-saas.page-id-7808 .elementor-element-db844f7,
html body.hf-saas.page-id-7808 .elementor-element-d97e5b3 {
  background: #fff !important;
  border: 1px solid var(--hf-line) !important;
  border-radius: var(--hf-radius-card) !important;
  box-shadow: var(--hf-shadow) !important;
  padding: 28px 26px 24px !important;
  min-height: 320px;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  transition: transform 0.25s var(--hf-ease), box-shadow 0.25s var(--hf-ease), border-color 0.25s ease;
}

html body.hf-saas .hf-feature-card:hover,
html body.hf-saas .hf-feature-card:focus-within,
html body.hf-saas.page-id-7808 .elementor-element-bde9a00:hover,
html body.hf-saas.page-id-7808 .elementor-element-c0056cc:hover,
html body.hf-saas.page-id-7808 .elementor-element-db844f7:hover,
html body.hf-saas.page-id-7808 .elementor-element-d97e5b3:hover {
  transform: translateY(-4px);
  box-shadow: var(--hf-shadow-hover) !important;
  border-color: #e2d9cf !important;
}

html body.hf-saas .hf-feature-card .elementor-heading-title,
html body.hf-saas.page-id-7808 .elementor-element-907cfcd .elementor-heading-title {
  font-family: var(--hf-font-display) !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  color: var(--hf-ink) !important;
}

html body.hf-saas .hf-feature-card .elementor-widget-text-editor,
html body.hf-saas.page-id-7808 .elementor-element-907cfcd .elementor-widget-text-editor,
html body.hf-saas.page-id-7808 .elementor-element-907cfcd .elementor-widget-text-editor p {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--hf-muted) !important;
  font-weight: 400 !important;
}

html body.hf-saas .hf-feature-card .elementor-button,
html body.hf-saas.page-id-7808 .elementor-element-907cfcd .elementor-button {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--hf-pink) !important;
  padding: 0 !important;
  min-height: 0;
  font-weight: 600 !important;
  font-size: 15px !important;
  margin-top: auto;
}

html body.hf-saas .hf-feature-card .elementor-button:hover,
html body.hf-saas .hf-feature-card .elementor-button:focus {
  transform: none;
  color: var(--hf-ink) !important;
}

html body.hf-saas.page-id-7808 .elementor-element-c0056cc .elementor-button { color: var(--hf-coral) !important; }
html body.hf-saas.page-id-7808 .elementor-element-db844f7 .elementor-button { color: #e08a2c !important; }
html body.hf-saas.page-id-7808 .elementor-element-d97e5b3 .elementor-button { color: #c9a227 !important; }

.hf-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  flex: 0 0 auto;
  transition: transform 0.25s var(--hf-ease);
}

.hf-feature-card:hover .hf-feature-icon,
.hf-feature-card:focus-within .hf-feature-icon {
  transform: translateY(-2px);
}

.hf-feature-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hf-accent-pink .hf-feature-icon,
.hf-feature-icon.is-pink { background: var(--hf-pink-tint); color: var(--hf-pink); }
.hf-accent-coral .hf-feature-icon,
.hf-feature-icon.is-coral { background: var(--hf-coral-tint); color: var(--hf-coral); }
.hf-accent-gold .hf-feature-icon,
.hf-feature-icon.is-gold { background: var(--hf-gold-tint); color: #e08a2c; }
.hf-accent-yellow .hf-feature-icon,
.hf-feature-icon.is-yellow { background: var(--hf-yellow-tint); color: #c9a227; }

/* Inner solution / agency feature tiles */
html body.hf-saas.hf-solution-page .e-con.e-flex.e-con-boxed .e-con.e-flex:has(> .elementor-widget-icon),
html body.hf-saas.hf-solution-page .e-con.e-flex.e-con-boxed .e-con.e-flex:has(> .elementor-widget-heading):has(> .elementor-widget-text-editor) {
  background: #fff;
}

html body.hf-saas.page-id-7669 .elementor-element-1da9dcc5,
html body.hf-saas.page-id-7669 .elementor-element-1b8653df,
html body.hf-saas.page-id-7669 .elementor-element-2199e8fe,
html body.hf-saas.page-id-7669 .elementor-element-3d6811b9,
html body.hf-saas.page-id-7669 .elementor-element-3c880d48,
html body.hf-saas.page-id-7676 .elementor-element-18a5414,
html body.hf-saas.page-id-7676 .elementor-element-2d31fde,
html body.hf-saas.page-id-7676 .elementor-element-58ea4ba8,
html body.hf-saas.page-id-7676 .elementor-element-1a0e49f9,
html body.hf-saas.page-id-7676 .elementor-element-64ac0ac8,
html body.hf-saas.page-id-7676 .elementor-element-75da40b,
html body.hf-saas.page-id-7680 .elementor-element-5c63fd15,
html body.hf-saas.page-id-7680 .elementor-element-3bc2e3e2,
html body.hf-saas.page-id-7680 .elementor-element-3cbfaf1d,
html body.hf-saas.page-id-7680 .elementor-element-203c602f,
html body.hf-saas.page-id-7680 .elementor-element-2f1b1e99,
html body.hf-saas.page-id-223 .elementor-element-78db20bc,
html body.hf-saas.page-id-223 .elementor-element-3d894a2b,
html body.hf-saas.page-id-223 .elementor-element-6152760e,
html body.hf-saas.page-id-881 .elementor-element-46201b84,
html body.hf-saas.page-id-881 .elementor-element-69208985,
html body.hf-saas.page-id-881 .elementor-element-18d03cee,
html body.hf-saas.page-id-7683 .elementor-element-63c2848,
html body.hf-saas.page-id-7683 .elementor-element-7884274e,
html body.hf-saas.page-id-7683 .elementor-element-5794705,
html body.hf-saas.page-id-7683 .elementor-element-6811547d,
html body.hf-saas.page-id-7683 .elementor-element-5778e85e,
html body.hf-saas.page-id-7683 .elementor-element-15fc0a24,
html body.hf-saas.page-id-7685 .elementor-element-623561bc,
html body.hf-saas.page-id-7685 .elementor-element-6e598684,
html body.hf-saas.page-id-7685 .elementor-element-34702925,
html body.hf-saas.page-id-7685 .elementor-element-e0102bb,
html body.hf-saas.page-id-7685 .elementor-element-62c14f62,
html body.hf-saas.page-id-7685 .elementor-element-67a826a3,
html body.hf-saas.page-id-7687 .elementor-element-265b9f50,
html body.hf-saas.page-id-7687 .elementor-element-6179aa4f,
html body.hf-saas.page-id-7687 .elementor-element-61f24a37,
html body.hf-saas.page-id-7687 .elementor-element-471d9f02,
html body.hf-saas.page-id-7687 .elementor-element-54998efa,
html body.hf-saas.page-id-7687 .elementor-element-5e2f5e97,
html body.hf-saas.page-id-7689 .elementor-element-6851f416,
html body.hf-saas.page-id-7689 .elementor-element-3260280a,
html body.hf-saas.page-id-7689 .elementor-element-70e88ae,
html body.hf-saas.page-id-7689 .elementor-element-a4c44c8,
html body.hf-saas.page-id-7689 .elementor-element-521f11d4,
html body.hf-saas.page-id-7689 .elementor-element-65d7f2b7 {
  background: #fff !important;
  border: 1px solid var(--hf-line) !important;
  border-radius: var(--hf-radius-card) !important;
  box-shadow: var(--hf-shadow) !important;
  padding: 28px 24px !important;
  min-height: 220px;
  transition: transform 0.25s var(--hf-ease), box-shadow 0.25s var(--hf-ease);
}

html body.hf-saas.hf-solution-page .e-con.e-flex[class*="elementor-element-"]:hover {
  /* only cards we marked above get the lift via more specific rules */
}

html body.hf-saas.page-id-7669 .elementor-element-1da9dcc5:hover,
html body.hf-saas.page-id-7669 .elementor-element-1b8653df:hover,
html body.hf-saas.page-id-7669 .elementor-element-2199e8fe:hover,
html body.hf-saas.page-id-7669 .elementor-element-3d6811b9:hover,
html body.hf-saas.page-id-7669 .elementor-element-3c880d48:hover,
html body.hf-saas.page-id-7676 .elementor-element-18a5414:hover,
html body.hf-saas.page-id-7676 .elementor-element-2d31fde:hover,
html body.hf-saas.page-id-7676 .elementor-element-58ea4ba8:hover,
html body.hf-saas.page-id-7676 .elementor-element-1a0e49f9:hover,
html body.hf-saas.page-id-7676 .elementor-element-64ac0ac8:hover,
html body.hf-saas.page-id-7676 .elementor-element-75da40b:hover,
html body.hf-saas.page-id-7680 .elementor-element-5c63fd15:hover,
html body.hf-saas.page-id-7680 .elementor-element-3bc2e3e2:hover,
html body.hf-saas.page-id-7680 .elementor-element-3cbfaf1d:hover,
html body.hf-saas.page-id-7680 .elementor-element-203c602f:hover,
html body.hf-saas.page-id-7680 .elementor-element-2f1b1e99:hover,
html body.hf-saas.page-id-223 .elementor-element-78db20bc:hover,
html body.hf-saas.page-id-223 .elementor-element-3d894a2b:hover,
html body.hf-saas.page-id-223 .elementor-element-6152760e:hover,
html body.hf-saas.page-id-881 .elementor-element-46201b84:hover,
html body.hf-saas.page-id-881 .elementor-element-69208985:hover,
html body.hf-saas.page-id-881 .elementor-element-18d03cee:hover,
html body.hf-saas.page-id-7683 .elementor-element-63c2848:hover,
html body.hf-saas.page-id-7683 .elementor-element-7884274e:hover,
html body.hf-saas.page-id-7683 .elementor-element-5794705:hover,
html body.hf-saas.page-id-7683 .elementor-element-6811547d:hover,
html body.hf-saas.page-id-7683 .elementor-element-5778e85e:hover,
html body.hf-saas.page-id-7683 .elementor-element-15fc0a24:hover,
html body.hf-saas.page-id-7685 .elementor-element-623561bc:hover,
html body.hf-saas.page-id-7685 .elementor-element-6e598684:hover,
html body.hf-saas.page-id-7685 .elementor-element-34702925:hover,
html body.hf-saas.page-id-7685 .elementor-element-e0102bb:hover,
html body.hf-saas.page-id-7685 .elementor-element-62c14f62:hover,
html body.hf-saas.page-id-7685 .elementor-element-67a826a3:hover,
html body.hf-saas.page-id-7687 .elementor-element-265b9f50:hover,
html body.hf-saas.page-id-7687 .elementor-element-6179aa4f:hover,
html body.hf-saas.page-id-7687 .elementor-element-61f24a37:hover,
html body.hf-saas.page-id-7687 .elementor-element-471d9f02:hover,
html body.hf-saas.page-id-7687 .elementor-element-54998efa:hover,
html body.hf-saas.page-id-7687 .elementor-element-5e2f5e97:hover,
html body.hf-saas.page-id-7689 .elementor-element-6851f416:hover,
html body.hf-saas.page-id-7689 .elementor-element-3260280a:hover,
html body.hf-saas.page-id-7689 .elementor-element-70e88ae:hover,
html body.hf-saas.page-id-7689 .elementor-element-a4c44c8:hover,
html body.hf-saas.page-id-7689 .elementor-element-521f11d4:hover,
html body.hf-saas.page-id-7689 .elementor-element-65d7f2b7:hover {
  transform: translateY(-4px);
  box-shadow: var(--hf-shadow-hover) !important;
}

html body.hf-saas.hf-solution-page .elementor-widget-icon .elementor-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--hf-pink-tint);
  color: var(--hf-pink) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

html body.hf-saas.hf-solution-page .elementor-widget-icon .elementor-icon i,
html body.hf-saas.hf-solution-page .elementor-widget-icon .elementor-icon svg {
  font-size: 18px;
  width: 20px;
  height: 20px;
}

/* -------------------------------------------------------------------------
   9–10. Page rhythm + typography
   ------------------------------------------------------------------------- */
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con.e-parent:not(:first-child),
html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .elementor-section:not(:first-child) {
  padding-left: var(--hf-gutter) !important;
  padding-right: var(--hf-gutter) !important;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con.e-parent:nth-child(n+3) {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con.e-parent:nth-child(n+3) .elementor-heading-title {
  font-family: var(--hf-font-display) !important;
  letter-spacing: -0.03em;
}

html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con.e-parent:nth-child(n+3) .elementor-widget-heading:first-child .elementor-heading-title {
  font-size: clamp(32px, 4.4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  color: var(--hf-ink) !important;
}

html body.hf-saas .elementor-widget-text-editor {
  font-size: 17px;
  line-height: 1.6;
  color: var(--hf-muted);
}

html body.hf-saas.home [data-elementor-type="wp-page"] > .e-con.e-parent:not(:first-child) {
  padding-left: var(--hf-gutter) !important;
  padding-right: var(--hf-gutter) !important;
}

/* Strip leftover rainbow washes on inner bands */
html body.hf-saas .elementor-7669 .elementor-element-495c4e99,
html body.hf-saas .elementor-7676 .elementor-element-79fb02ce,
html body.hf-saas .elementor-223 .elementor-element-67a3020d,
html body.hf-saas .elementor-7683 .elementor-element-394a93a9,
html body.hf-saas .elementor-7680 .e-con.e-parent:nth-child(n+3),
html body.hf-saas .elementor-881 .e-con.e-parent:nth-child(n+3) {
  background-image: none !important;
}

/* -------------------------------------------------------------------------
   20. Split section + CTA band
   ------------------------------------------------------------------------- */
.hf-split-section {
  padding: 80px 0 40px;
  background: var(--hf-paper);
}

.hf-split-section__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}

.hf-kicker {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hf-pink);
}

.hf-section-heading {
  margin: 0 0 16px;
  font-family: var(--hf-font-display);
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--hf-ink);
}

.hf-section-lede {
  margin: 0 0 24px;
  max-width: 38em;
  font-size: 18px;
  line-height: 1.55;
  color: var(--hf-muted);
}

.hf-check-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hf-check-list li {
  position: relative;
  padding: 8px 0 8px 32px;
  font-size: 17px;
  color: var(--hf-ink);
}

.hf-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--hf-pink-tint);
  box-shadow: inset 0 0 0 1.5px var(--hf-pink);
}

.hf-check-list li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 16px;
  width: 6px;
  height: 4px;
  border-left: 2px solid var(--hf-pink);
  border-bottom: 2px solid var(--hf-pink);
  transform: rotate(-45deg);
}

.hf-visual-card {
  background: #fff;
  border: 1px solid var(--hf-line);
  border-radius: 22px;
  box-shadow: var(--hf-shadow);
  padding: 22px 22px 8px;
}

.hf-visual-card__dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
  background: var(--hf-pink);
}

.hf-visual-card__dot:nth-child(2) { background: var(--hf-coral); }
.hf-visual-card__dot:nth-child(3) { background: var(--hf-yellow); }

.hf-visual-card__label {
  margin: 12px 0 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hf-muted);
}

.hf-visual-card__rows {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hf-visual-card__rows li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid var(--hf-line);
  font-size: 15px;
}

.hf-visual-card__rows strong {
  color: var(--hf-ink);
}

.hf-visual-card__rows span {
  color: var(--hf-muted);
}

.hf-cta-band {
  position: relative;
  overflow: hidden;
  margin: 40px var(--hf-gutter) 0;
  padding: 72px var(--hf-gutter);
  border-radius: 28px;
  background-color: #f26a8d;
  background-image:
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    linear-gradient(135deg, #f26a8d 0%, #f79a6c 25%, #f7e46a 50%, #fffaf2 100%);
  background-size: 28px 28px, 28px 28px, 400% 400%;
  background-position: 0 0, 14px 14px, 0% 40%;
  animation: hfSunsetShift 18s ease-in-out infinite;
  color: #161616;
}

.hf-cta-band::before {
  content: "";
  position: absolute;
  inset: -28% -22%;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(135deg, #f26a8d 0%, #f79a6c 25%, #f7e46a 50%, #fffaf2 100%);
  background-size: 280% 280%;
  animation: hfWaveDrift 18s ease-in-out infinite, hfWaveSway 18s ease-in-out infinite;
}

.hf-cta-band.hf-reveal {
  animation: hfFadeUp 0.65s var(--hf-ease) forwards, hfSunsetShift 18s ease-in-out infinite;
}

.hf-cta-band__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.hf-cta-band__heading {
  margin: 0 0 12px;
  font-family: var(--hf-font-display);
  font-size: clamp(32px, 4.4vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #161616;
}

.hf-cta-band__copy {
  margin: 0 0 28px;
  max-width: 36em;
  font-size: 18px;
  line-height: 1.5;
  color: #161616;
}

.hf-cta-band .hf-btn-primary:hover,
.hf-cta-band .hf-btn-primary:focus {
  color: var(--hf-ink);
}

/* -------------------------------------------------------------------------
   15. Footer
   ------------------------------------------------------------------------- */
html body.hf-saas .elementor-location-footer {
  background: #fff !important;
  border-top: 1px solid var(--hf-line);
  margin-top: 80px;
}

html body.hf-saas .elementor-580 .elementor-element-753792d {
  padding: 72px var(--hf-gutter) 48px !important;
}

html body.hf-saas .hf-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

html body.hf-saas .hf-footer-brand {
  font-family: var(--hf-font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--hf-ink);
  margin: 0 0 8px;
}

html body.hf-saas .hf-footer-col h3 {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hf-muted);
}

html body.hf-saas .hf-footer-col p,
html body.hf-saas .hf-footer-col a {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--hf-ink);
  text-decoration: none;
}

html body.hf-saas .hf-footer-col a:hover,
html body.hf-saas .hf-footer-col a:focus {
  color: var(--hf-pink);
}

html body.hf-saas .elementor-580 .elementor-element-1383c63b,
html body.hf-saas .elementor-580 .elementor-element-4f858848 {
  display: none;
}

html body.hf-saas .hf-footer-native {
  display: none;
}

/* -------------------------------------------------------------------------
   16. Motion
   ------------------------------------------------------------------------- */
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner,
html body.hf-saas.hf-hero-inverse [data-elementor-type="wp-page"] > .e-con:first-child > .elementor-element,
html body.hf-saas.page-id-544 [data-elementor-type="wp-page"] > .elementor-section:first-child .elementor-element {
  animation: hfFadeUp 0.7s var(--hf-ease) both;
}

@keyframes hfFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

.hf-reveal {
  opacity: 0;
  transform: translateY(16px);
  animation: hfFadeUp 0.65s var(--hf-ease) forwards;
}

@media (prefers-reduced-motion: reduce) {
  html body.hf-saas *,
  html body.hf-saas *::before,
  html body.hf-saas *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  html body.hf-saas .hf-feature-card:hover,
  html body.hf-saas .hf-btn:hover {
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   11 + 13 + 14. Breakpoints
   ------------------------------------------------------------------------- */
@media (min-width: 768px) {
  html body.hf-saas.page-id-7808 .elementor-element-907cfcd > .e-con-inner,
  html body.hf-saas .hf-feature-grid > .e-con-inner,
  html body.hf-saas .hf-feature-grid-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px !important;
  }

  html body.hf-saas .hf-footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 40px;
  }

  html body.hf-saas .hf-split-section__inner {
    grid-template-columns: 1.15fr 0.85fr;
    gap: 64px;
  }

  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con.e-parent:nth-child(n+3) {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }

  .hf-cta-band {
    margin: 48px var(--hf-gutter) 0;
    padding: 88px 56px;
  }
}

@media (min-width: 1025px) {
  html body.hf-saas.hf-solution-page:not(.page-id-7808):not(.page-id-544) .hf-feature-grid-inner,
  html body.hf-saas.hf-solution-page:not(.page-id-7808):not(.page-id-544) .hf-feature-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
  html body.hf-saas.page-id-7808 .hf-feature-grid-inner,
  html body.hf-saas.page-id-7808 .elementor-element-907cfcd > .e-con-inner,
  html body.hf-saas.page-id-7808 .hf-feature-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
  html body.hf-saas.hf-solution-page .hf-feature-card {
    width: auto !important;
    max-width: none !important;
    --width: auto !important;
    flex: none !important;
    min-width: 0 !important;
  }

  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child,
  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .elementor-section:first-child {
    min-height: 700px !important;
    max-height: 760px;
  }
}

@media (max-width: 1024px) {
  html body.hf-saas .elementor-393 .elementor-element-3de57a7f {
    padding: 14px var(--hf-gutter) !important;
    min-height: 76px !important;
  }

  html body.hf-saas .elementor-393 .elementor-element-3de57a7f > .elementor-container > .elementor-column.elementor-element-4eabdb6,
  html body.hf-saas .elementor-393 .elementor-element-4eabdb6,
  html body.hf-saas .elementor-393 .hf-header-cta {
    display: none !important;
  }

  html body.hf-saas .elementor-393 .elementor-element-3de57a7f > .elementor-container > .elementor-column.elementor-element-19934667,
  html body.hf-saas .elementor-393 .elementor-element-19934667 {
    margin-left: auto !important;
    width: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
  }

  html body.hf-saas .elementor-393 .elementor-element-19934667 > .elementor-widget-wrap,
  html body.hf-saas .elementor-393 .elementor-element-637da9a3,
  html body.hf-saas .elementor-393 .elementor-element-637da9a3 .elementor-widget-container {
    width: auto !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
  }

  html body.hf-saas .elementor-393 .elementor-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: inherit !important;
  }

  html body.hf-saas .elementor-393 .elementor-menu-toggle .elementor-menu-toggle__icon--open,
  html body.hf-saas .elementor-393 .elementor-menu-toggle .elementor-menu-toggle__icon--close,
  html body.hf-saas .elementor-393 .elementor-menu-toggle i {
    margin-left: auto !important;
    text-align: right !important;
  }

  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown.elementor-nav-menu__container,
  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown {
    border-radius: 16px !important;
    box-shadow: 0 18px 44px rgba(22, 22, 22, 0.16) !important;
    top: 80px !important;
  }

  html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle i,
  html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle svg {
    color: var(--hf-ink) !important;
    fill: var(--hf-ink) !important;
  }

  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child,
  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .elementor-section:first-child {
    min-height: 0 !important;
    max-height: none;
    padding-top: calc(76px + 20px) !important;
    padding-bottom: 72px !important;
  }

  html body.hf-saas .hf-hero-title,
  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child h1.elementor-heading-title,
  html body.hf-saas.page-id-7808 .elementor-element-75e1e20 .elementor-heading-title,
  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
    font-size: clamp(46px, 12vw, 68px) !important;
  }
}

@media (max-width: 767px) {
  html body.hf-saas .elementor-393 .elementor-element-3de57a7f {
    min-height: 72px !important;
    padding: 12px 20px !important;
  }

  html body.hf-saas.hf-solution-page [data-elementor-type="wp-page"] > .e-con:first-child {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  html body.hf-saas .hf-feature-card,
  html body.hf-saas.page-id-7808 .elementor-element-bde9a00,
  html body.hf-saas.page-id-7808 .elementor-element-c0056cc,
  html body.hf-saas.page-id-7808 .elementor-element-db844f7,
  html body.hf-saas.page-id-7808 .elementor-element-d97e5b3 {
    min-height: 0;
    padding: 26px 22px !important;
  }

  .hf-cta-band {
    margin: 24px 20px 0;
    padding: 48px 24px;
    border-radius: 22px;
  }

  html body.hf-saas .elementor-location-footer {
    margin-top: 48px;
  }
}

/* Contact form polish */
html body.hf-saas.page-id-544 .elementor-field-group .elementor-field {
  border-color: var(--hf-line) !important;
  border-radius: 10px !important;
}

html body.hf-saas.page-id-544 .elementor-button[type="submit"] {
  background: var(--hf-ink) !important;
  color: #fff !important;
  border-radius: var(--hf-radius-btn) !important;
}


/* Standing rule: mobile drawer is always dark text on the white card. */
html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown,
html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown.elementor-nav-menu__container,
html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown {
  background: #ffffff !important;
  color: var(--hf-ink) !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown a,
html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .elementor-item,
html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .elementor-sub-item,
html body.hf-saas.hf-hero-inverse .elementor-393 .elementor-nav-menu--dropdown a,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-nav-menu--dropdown a,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-location-header .elementor-nav-menu--dropdown a:not(.elementor-button) {
  color: var(--hf-ink) !important;
  fill: var(--hf-ink) !important;
  background: transparent !important;
}

html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown a:hover,
html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown a:focus {
  background: #fdf2f5 !important;
  color: var(--hf-ink) !important;
}

html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle[aria-expanded="true"],
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle[aria-expanded="true"] i,
html body.hf-saas.hf-hero-inverse:not(.hf-scrolled) .elementor-393 .elementor-menu-toggle[aria-expanded="true"] svg {
  color: var(--hf-ink) !important;
  fill: var(--hf-ink) !important;
}

/* Mobile: parent label goes to the page; caret opens the sub-nav */
@media (max-width: 1024px) {
  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .menu-item-has-children > a,
  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown a.has-submenu {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 -8px 0 8px !important;
    pointer-events: auto !important;
  }

  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .sub-arrow i,
  html body.hf-saas .elementor-393 .elementor-nav-menu--dropdown .sub-arrow svg {
    pointer-events: none !important;
    font-size: 12px !important;
  }

  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown li.hf-open > a .sub-arrow,
  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown .menu-item-has-children > a[aria-expanded="true"] .sub-arrow {
    transform: rotate(180deg);
  }

  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu {
    display: none !important;
  }

  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.hf-open > ul.sub-menu,
  html body.hf-saas .elementor-393 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children > a[aria-expanded="true"] + ul.sub-menu {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    padding: 0 0 6px 8px !important;
  }
}


/* Home hero: giant condensed H1, small sub, one-screen */
html body.hf-saas.home .elementor-element-3d016e2c,
html body.hf-saas.page-id-864 .elementor-element-3d016e2c,
html body.hf-saas.home [data-elementor-type="wp-page"] > .e-con:first-child {
  box-sizing: border-box !important;
  min-height: min(80vh, 900px) !important;
  max-height: none !important;
  height: auto !important;
  padding-top: calc(var(--hf-header-h) + 44px) !important;
  justify-content: flex-start !important;
}

html body.hf-saas.home .elementor-864 .elementor-element.elementor-element-3d016e2c .elementor-element-58eea609 .elementor-heading-title,
html body.hf-saas.page-id-864 .elementor-864 .elementor-element.elementor-element-3d016e2c .elementor-element-58eea609 .elementor-heading-title,
html body.hf-saas.home h1.elementor-heading-title,
html body.hf-saas.home .elementor-element-58eea609 .elementor-heading-title,
html body.hf-saas.home .hf-hero-title,
html body.hf-saas.page-id-864 .elementor-element-58eea609 .elementor-heading-title,
html body.hf-saas.page-id-864 .hf-hero-title {
  font-family: "Harman Sans", var(--hf-font-display), sans-serif !important;
  font-size: clamp(72px, 11vw, 168px) !important;
  font-weight: 900 !important;
  font-stretch: extra-condensed !important;
  line-height: 0.78 !important;
  letter-spacing: -0.05em !important;
  color: #111111 !important;
  white-space: pre-line !important;
  max-width: none !important;
  width: min(16ch, 96vw) !important;
  text-transform: none !important;
  -webkit-text-stroke: 0 !important;
  margin-bottom: 0.08em !important;
}

html body.hf-saas.home .elementor-element-1bca226 .elementor-heading-title,
html body.hf-saas.home .hf-hero-lede,
html body.hf-saas.home .hf-hero-lede.elementor-heading-title,
html body.hf-saas.page-id-864 .elementor-element-1bca226 .elementor-heading-title {
  font-family: var(--hf-font-body), "RNS Sanz", sans-serif !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  max-width: 28em !important;
  color: #161616 !important;
  opacity: 1 !important;
}

html body.hf-saas.home .elementor-element-234e84a .elementor-button,
html body.hf-saas.page-id-864 .elementor-element-234e84a .elementor-button {
  background: #ffffff !important;
  color: #161616 !important;
  border-radius: 999px !important;
}


/* Home H1: four stacked words on phone only. Desktop stays WE MAKE / DIGITAL WORK. */
@media (max-width: 767px) {
  html body.hf-saas.home h1.elementor-heading-title,
  html body.hf-saas.home .elementor-element-58eea609 .elementor-heading-title,
  html body.hf-saas.home .hf-hero-title,
  html body.hf-saas.page-id-864 .elementor-element-58eea609 .elementor-heading-title,
  html body.hf-saas.page-id-864 .hf-hero-title {
    white-space: pre-line !important;
    word-spacing: 100vw !important;
    max-width: none !important;
    width: auto !important;
    display: block !important;
  }
}


/* Home H1 words: desktop two lines, phone one word per row */
html body.hf-saas.home h1.elementor-heading-title .hf-h1-word,
html body.hf-saas.page-id-864 h1.elementor-heading-title .hf-h1-word {
  display: inline;
  white-space: nowrap;
}
html body.hf-saas.home h1.elementor-heading-title .hf-h1-word:nth-child(2)::after,
html body.hf-saas.page-id-864 h1.elementor-heading-title .hf-h1-word:nth-child(2)::after {
  content: "\A";
  white-space: pre;
}
@media (max-width: 767px) {
  html body.hf-saas.home h1.elementor-heading-title,
  html body.hf-saas.home .hf-hero-title,
  html body.hf-saas.page-id-864 h1.elementor-heading-title {
    font-size: clamp(64px, 18vw, 112px) !important;
    line-height: 0.78 !important;
    word-spacing: normal !important;
  }
  html body.hf-saas.home h1.elementor-heading-title .hf-h1-word,
  html body.hf-saas.page-id-864 h1.elementor-heading-title .hf-h1-word {
    display: block;
    white-space: nowrap;
  }
  html body.hf-saas.home h1.elementor-heading-title .hf-h1-word:nth-child(2)::after,
  html body.hf-saas.page-id-864 h1.elementor-heading-title .hf-h1-word:nth-child(2)::after {
    content: none;
  }
}


/* Desktop last pass: H1 below nav, two lines, readable tracking */
@media (min-width: 768px) {
  html body.hf-saas.home [data-elementor-type="wp-page"] > .e-con:first-child,
  html body.hf-saas.page-id-864 [data-elementor-type="wp-page"] > .e-con:first-child,
  html body.hf-saas.home .elementor-element-3d016e2c {
    padding-top: calc(var(--hf-header-h) + 44px) !important;
    align-items: flex-start !important;
  }
  html body.hf-saas.home h1.elementor-heading-title,
  html body.hf-saas.page-id-864 h1.elementor-heading-title,
  html body.hf-saas.home .hf-hero-title {
    letter-spacing: -0.045em !important;
    line-height: 0.82 !important;
    margin-top: 0 !important;
  }
}


/* Contact: same sunset hero, form in a white card, details once */
html body.hf-saas.page-id-544 [data-elementor-type="wp-page"] > .elementor-section:first-child,
html body.hf-saas.page-id-544 .elementor-element-c544hero {
  overflow: hidden !important;
  min-height: 56vh !important;
  padding-top: calc(var(--hf-header-h) + 28px) !important;
  padding-bottom: 72px !important;
}
html body.hf-saas.page-id-544 .elementor-element-c544titl .elementor-heading-title,
html body.hf-saas.page-id-544 .hf-hero-title {
  font-family: var(--hf-font-display) !important;
  font-size: clamp(46px, 7vw, 88px) !important;
  font-weight: 800 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  color: var(--hf-ink) !important;
  max-width: 16ch;
}
html body.hf-saas.page-id-544 .elementor-element-c544lede .elementor-heading-title,
html body.hf-saas.page-id-544 .hf-hero-lede {
  font-size: clamp(18px, 1.7vw, 24px) !important;
  font-weight: 400 !important;
  color: var(--hf-ink) !important;
  max-width: 36em !important;
}
html body.hf-saas.page-id-544 [data-elementor-type="wp-page"] > .elementor-section:nth-child(2),
html body.hf-saas.page-id-544 .elementor-element-2cffd84f {
  background: #fff !important;
  padding: 48px var(--hf-gutter) 88px !important;
}
.hf-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 40px;
  align-items: start;
  width: min(var(--hf-max), calc(100% - (var(--hf-gutter) * 2)));
  margin: 0 auto;
}
.hf-contact-card {
  background: #fff;
  border-radius: var(--hf-radius-card);
  box-shadow: var(--hf-shadow-hover);
  padding: 32px 28px;
}
.hf-contact-details {
  color: var(--hf-ink);
  font-size: 16px;
  line-height: 1.5;
}
.hf-contact-details__kicker {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 13px;
  margin: 8px 0 16px;
}
.hf-contact-details a { color: var(--hf-ink); }
@media (max-width: 767px) {
  .hf-contact-layout { grid-template-columns: 1fr; }
}

html body.hf-saas.page-id-544 .elementor-element-2cffd84f {
  margin-top: 0 !important;
  overflow: visible !important;
}
html body.hf-saas.page-id-544 .hf-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(200px, 260px) !important;
  width: 100% !important;
  max-width: var(--hf-max) !important;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  html body.hf-saas.page-id-544 .hf-contact-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  html body.hf-saas.page-id-544 .hf-contact-card {
    padding: 24px 18px;
  }
}
html body.hf-saas.page-id-544 .hf-contact-card {
  min-width: 0;
  width: 100%;
  overflow: visible;
}
html body.hf-saas.page-id-544 .hf-contact-card .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
html body.hf-saas.page-id-544 .hf-contact-card .elementor-field-group,
html body.hf-saas.page-id-544 .hf-contact-card .elementor-field-group.elementor-col-50,
html body.hf-saas.page-id-544 .hf-contact-card .elementor-field-group.elementor-col-33,
html body.hf-saas.page-id-544 .hf-contact-card .elementor-field-group.elementor-col-100 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  flex: 1 1 100% !important;
}
html body.hf-saas.page-id-544 .hf-contact-card .elementor-field,
html body.hf-saas.page-id-544 .hf-contact-card input,
html body.hf-saas.page-id-544 .hf-contact-card textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}
html body.hf-saas.page-id-544 .hf-contact-card textarea {
  min-height: 140px !important;
}

html body.hf-saas.page-id-544 .elementor-element-2cffd84f .elementor-container {
  display: block !important;
  width: 100% !important;
  max-width: var(--hf-max) !important;
}
html body.hf-saas.page-id-544 .elementor-element-2cf9138a,
html body.hf-saas.page-id-544 .elementor-element-2cffd84f .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
}
html body.hf-saas.page-id-544 .hf-contact-details__kicker {
  color: var(--hf-ink) !important;
}
html body.hf-saas.page-id-544 .elementor-element-c544hero {
  min-height: 52vh !important;
}

html body.hf-saas.home .elementor-864 .elementor-element.elementor-element-3d016e2c,
html body.hf-saas.page-id-864 .elementor-element-3d016e2c,
html body.hf-saas.page-id-544 .elementor-element-c544hero {
  background-color: #f26a8d !important;
  background-image:
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    radial-gradient(rgba(255,255,255,.55) 1px, transparent 0),
    linear-gradient(135deg, #f26a8d 0%, #f79a6c 25%, #f7e46a 50%, #fffaf2 100%) !important;
  background-size: 28px 28px, 28px 28px, 400% 400% !important;
  background-position: 0 0, 14px 14px, 0% 40% !important;
  animation: hfSunsetShift 18s ease-in-out infinite !important;
}

html body.hf-saas.page-id-544 .elementor-element-c544lede,
html body.hf-saas.page-id-544 .elementor-element-c544lede.elementor-hidden-desktop,
html body.hf-saas.page-id-544 .elementor-element-c544lede.elementor-hidden-tablet,
html body.hf-saas.page-id-544 .elementor-element-c544lede.elementor-hidden-mobile {
  display: block !important;
}



html body.hf-saas #solutions {
  scroll-margin-top: calc(var(--hf-header-h) + 12px);
}

/* Home Solutions: stacked <767, 2-up from 767, 3 then 2 at desktop */
html body.hf-saas.page-id-864 .elementor-element-786cbc20,
html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 20px !important;
  align-items: stretch !important;
  width: 100% !important;
  flex-wrap: unset !important;
}
html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con,
html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  --width: 100% !important;
}
@media (min-width: 767px) {
  html body.hf-saas.page-id-864 .elementor-element-786cbc20,
  html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con,
  html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con-inner > .e-con {
    width: auto !important;
    --width: auto !important;
    min-width: 0 !important;
    flex: none !important;
  }
}
@media (min-width: 1025px) {
  html body.hf-saas.page-id-864 .elementor-element-786cbc20,
  html body.hf-saas.page-id-864 .elementor-element-786cbc20 > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}
