/**
 * EngageIQ site-wide Figma brand foundation
 * Authority: FIGMA-DESIGN-SOURCE-OF-TRUTH.md
 * Source frames: UI kit 1726:25624, Menu 1726:26396, Mobile 2067:5254
 *
 * This file intentionally controls shared brand primitives only. Exact
 * frame-specific composition continues to live in each page's Elementor CSS.
 */

@font-face {
  font-family: "Saans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("/fonts/SaansSemiMono-TRIAL-Regular.woff2") format("woff2"),
    url("/fonts/SaansSemiMono-TRIAL-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Saans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url("/fonts/SaansSemiMono-Medium.woff2") format("woff2"),
    url("/fonts/SaansSemiMono-TRIAL-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Saans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/SaansSemiMono-SemiBold.woff2") format("woff2");
}

:root {
  --ei-color-red: #ff3c41;
  --ei-color-red-depth: #e3383d;
  --ei-color-black: #000000;
  --ei-color-white: #ffffff;
  --ei-color-logo-depth-light: #ededed;
  --ei-color-ink: #252525;
  --ei-color-text: #414141;
  --ei-color-muted: #767676;
  --ei-color-subtle: #a8a8a8;
  --ei-color-border: #e4e4e4;
  --ei-color-surface: #f1f1f1;
  --ei-font-display: "Saans", "Inter Tight", Arial, sans-serif;
  --ei-font-body: "Inter Tight", Arial, sans-serif;
  --ei-font-label: "IBM Plex Mono", ui-monospace, monospace;
  --ei-weight-regular: 400;
  --ei-weight-medium: 500;
  --ei-weight-semibold: 600;
  --ei-display-desktop: 86px;
  --ei-display-tablet: 64px;
  --ei-display-mobile: 48px;
  --ei-display-mobile-compact: 40px;
  --ei-content-max: 1376px;
  --ei-reading-max: 1120px;
  --ei-page-gutter-desktop: 48px;
  --ei-page-gutter-mobile: 16px;
  --ei-header-inset: 24px;
  --ei-header-height: 80px;
  --ei-header-bar-width: 840px;
  --ei-header-action-width: 184px;
  --ei-radius: 0;
  --ei-space-1: 4px;
  --ei-space-2: 8px;
  --ei-space-3: 12px;
  --ei-space-4: 16px;
  --ei-space-6: 24px;
  --ei-space-8: 32px;
  --ei-space-12: 48px;
  --ei-space-16: 64px;
  --ei-space-20: 80px;
  --ei-space-30: 120px;
  --ei-button-font-size: 16px;
  --ei-button-font-weight: 500;
  --ei-button-padding-block: 16px;
  --ei-button-padding-inline: 24px;
  --ei-target-min: 44px;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body.ei-brand-sot {
  margin: 0;
  background: var(--ei-color-white);
  color: var(--ei-color-ink);
  font-family: var(--ei-font-body) !important;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.ei-brand-sot :where(p, li, input, textarea, select, button) {
  font-family: var(--ei-font-body);
}

body.ei-brand-sot :where(h1, h2, h3),
body.ei-brand-sot :where(h1, h2, h3) .elementor-heading-title {
  font-family: var(--ei-font-display) !important;
  font-weight: var(--ei-weight-semibold) !important;
  font-synthesis: none;
}

body.ei-brand-sot h1 {
  line-height: 1 !important;
  letter-spacing: -0.035em;
}

body.ei-brand-sot :where(h2, h3) {
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.ei-brand-sot :where(
    .eyebrow,
    .kicker,
    .overline,
    .section-label,
    .technical-label,
    .elementor-widget-counter .elementor-counter-title,
    .productsmega .contncn .elementor-heading-title
  ) {
  font-family: var(--ei-font-label) !important;
  font-weight: var(--ei-weight-medium);
}

body.ei-brand-sot :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--ei-color-red) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--ei-color-white) !important;
}

body.ei-brand-sot :where(
    .elementor-button,
    .wp-element-button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  ) {
  min-height: var(--ei-target-min);
  border-radius: var(--ei-radius) !important;
  background-image: none !important;
  box-shadow: none !important;
  font-family: var(--ei-font-body) !important;
  font-size: var(--ei-button-font-size);
  font-weight: var(--ei-button-font-weight);
  line-height: 1;
  padding:
    var(--ei-button-padding-block)
    var(--ei-button-padding-inline);
}

body.ei-brand-sot :where(
    .elementor-button,
    .wp-element-button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  ):hover {
  filter: brightness(0.92);
}

body.ei-brand-sot :where(
    .elementor-element[class*="card"],
    [class~="card"],
    [class*="feature-card"],
    [class*="product-card"]
  ) {
  border-radius: var(--ei-radius) !important;
  box-shadow: none !important;
}

body.ei-brand-sot .e-con-boxed > .e-con-inner {
  max-width: var(--ei-content-max);
}

body.ei-brand-sot
  .elementor-location-header
  > .elementor-element
  > .e-con-inner {
  width: min(calc(100% - 48px), var(--ei-content-max));
  max-width: var(--ei-content-max);
  margin-inline: auto;
}

body.ei-brand-sot
  .elementor-location-header
  :where(.elementor-widget-theme-site-logo, .elementor-widget-image)
  img[src*="EngageIQ-Icon-"],
body.ei-brand-sot .elementor-location-header img.custom-logo {
  display: block;
  width: auto !important;
  max-width: none !important;
  height: 56px !important;
  object-fit: contain;
}

body.ei-brand-sot
  .elementor-location-footer
  img[src*="EngageIQ-Icon-"] {
  display: block;
  width: auto !important;
  max-width: none !important;
  height: 72px !important;
  object-fit: contain;
}

body.ei-brand-sot #site-preloader img.preloader-img {
  width: auto !important;
  height: 80px !important;
  object-fit: contain;
}

body.ei-brand-sot
  :where(.elementor-location-header, .elementor-location-footer)
  img[src*="EngageIQ-Icon-"] {
  border-radius: 0 !important;
  filter: none !important;
}

body.ei-brand-sot
  .elementor-location-header
  #mega-menu-menu-1
  > li
  > a.mega-menu-link {
  font-family: var(--ei-font-body) !important;
  font-size: 16px !important;
  font-weight: var(--ei-weight-medium) !important;
}

body.ei-brand-sot
  .elementor-location-header
  #mega-menu-menu-1
  > li
  > a.mega-menu-link:hover,
body.ei-brand-sot
  .elementor-location-header
  #mega-menu-menu-1
  > li.mega-current-menu-item
  > a.mega-menu-link {
  color: var(--ei-color-red) !important;
}

body.ei-brand-sot :where(hr, .elementor-divider-separator) {
  border-color: var(--ei-color-border);
}

body.ei-brand-sot ::selection {
  background: var(--ei-color-red);
  color: var(--ei-color-white);
}

@media (max-width: 1120px) {
  body.ei-brand-sot
    .elementor-location-header
    > .elementor-element
    > .e-con-inner {
    width: min(calc(100% - 32px), var(--ei-content-max));
  }

  body.ei-brand-sot
    .elementor-location-header
    :where(.elementor-widget-theme-site-logo, .elementor-widget-image)
    img[src*="EngageIQ-Icon-"],
  body.ei-brand-sot .elementor-location-header img.custom-logo {
    height: 48px !important;
  }

  body.ei-brand-sot .elementor-location-header ul#mega-menu-menu-1 {
    padding-top: 96px !important;
    background-image: url("/images/EngageIQ-Icon-Main.svg") !important;
    background-position: 24px 24px !important;
    background-size: auto 48px !important;
  }
}

@media (max-width: 767px) {
  body.ei-brand-sot
    .elementor-location-header
    > .elementor-element
    > .e-con-inner {
    width: min(calc(100% - 24px), var(--ei-content-max));
  }

  body.ei-brand-sot h1 {
    overflow-wrap: anywhere;
  }

  body.ei-brand-sot :where(.elementor-button, .wp-element-button) {
    min-height: 44px;
    padding: 14px 20px;
  }
}

@media (max-width: 390px) {
  body.ei-brand-sot .ei-display {
    font-size: var(--ei-display-mobile-compact) !important;
  }
}

@media (min-width: 391px) and (max-width: 767px) {
  body.ei-brand-sot .ei-display {
    font-size: var(--ei-display-mobile) !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.ei-brand-sot .ei-display {
    font-size: var(--ei-display-tablet) !important;
  }
}

@media (min-width: 1025px) {
  body.ei-brand-sot .ei-display {
    font-size: var(--ei-display-desktop) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body.ei-brand-sot *,
  body.ei-brand-sot *::before,
  body.ei-brand-sot *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
