.elementor-37 .elementor-element.elementor-element-atdividersec1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:0px;--padding-left:64px;--padding-right:64px;}.elementor-37 .elementor-element.elementor-element-atdividersec1:not(.elementor-motion-effects-element-type-background), .elementor-37 .elementor-element.elementor-element-atdividersec1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#191919;}.elementor-37 .elementor-element.elementor-element-e45f976{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:96px;--padding-bottom:48px;--padding-left:64px;--padding-right:64px;}.elementor-37 .elementor-element.elementor-element-e45f976:not(.elementor-motion-effects-element-type-background), .elementor-37 .elementor-element.elementor-element-e45f976 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#191919;}.elementor-37 .elementor-element.elementor-element-170c1be{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-37 .elementor-element.elementor-element-ft0col1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-37 .elementor-element.elementor-element-ftrlogo1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-37 .elementor-element.elementor-element-ftrlogo1 img{width:160px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-37 .elementor-element.elementor-element-ed04cbf{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-ed04cbf .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:13px;font-weight:500;letter-spacing:0.04em;color:#8A8A8A;}.elementor-37 .elementor-element.elementor-element-ft0desc{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-ft0desc .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:14.5px;font-weight:500;line-height:1.5em;color:#B8B8B8;}.elementor-37 .elementor-element.elementor-element-ft0flwl{margin:35px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-ft0flwl .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#FF7F11;}.elementor-37 .elementor-element.elementor-element-ft0flwi{margin:-5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-ft0bktp{margin:-5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-57d6403{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-37 .elementor-element.elementor-element-d7cbe5b .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#FF7F11;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-37 .elementor-element.elementor-element-d7ab7fc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-37 .elementor-element.elementor-element-2128956 .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#FF7F11;}.elementor-37 .elementor-element.elementor-element-11bb519{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-37 .elementor-element.elementor-element-828a33e .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#FF7F11;}.elementor-37 .elementor-element.elementor-element-c292b46{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-37 .elementor-element.elementor-element-de40b10 .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#FF7F11;}.elementor-37 .elementor-element.elementor-element-4be9717{--display:flex;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#262626;--border-color:#262626;--margin-top:64px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:56px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-37 .elementor-element.elementor-element-atdividersec1{--padding-top:32px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-37 .elementor-element.elementor-element-e45f976{--padding-top:64px;--padding-bottom:32px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-37 .elementor-element.elementor-element-atdividersec1{--padding-top:28px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}.elementor-37 .elementor-element.elementor-element-e45f976{--padding-top:48px;--padding-bottom:32px;--padding-left:24px;--padding-right:24px;}}/* Start custom CSS for container, class: .elementor-element-atdividersec1 */.elementor-37 .elementor-element.elementor-element-atdividersec1 .at-node::after { display: none !important; }
@media (min-width: 1440px) and (max-width: 1919px) {
  .elementor-37 .elementor-element.elementor-element-atdividersec1.elementor-element-atdividersec1 .at-divider {
    max-width: clamp(1360px, calc(700px + 45.83vw), 1580px) !important;
  }
}
@media (min-width: 1920px) {
  .elementor-37 .elementor-element.elementor-element-atdividersec1.elementor-element-atdividersec1 .at-divider {
    max-width: clamp(1580px, calc(1370px + 10.94vw), 1650px) !important;
  }
}

@media (min-width: 1440px) {
  .elementor-37 .elementor-element.elementor-element-atdividersec1.elementor-element-atdividersec1 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ftrlogo1 */.elementor-37 .elementor-element.elementor-element-ftrlogo1 { margin-bottom: 0 !important; } .elementor-37 .elementor-element.elementor-element-ftrlogo1 p, .elementor-37 .elementor-element.elementor-element-ftrlogo1 h1, .elementor-37 .elementor-element.elementor-element-ftrlogo1 h2, .elementor-37 .elementor-element.elementor-element-ftrlogo1 h3, .elementor-37 .elementor-element.elementor-element-ftrlogo1 h4, .elementor-37 .elementor-element.elementor-element-ftrlogo1 img { margin: 0 !important; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ed04cbf */.elementor-37 .elementor-element.elementor-element-ed04cbf { margin-top: 24px !important; margin-bottom: 0 !important; } .elementor-37 .elementor-element.elementor-element-ed04cbf p, .elementor-37 .elementor-element.elementor-element-ed04cbf h1, .elementor-37 .elementor-element.elementor-element-ed04cbf h2, .elementor-37 .elementor-element.elementor-element-ed04cbf h3, .elementor-37 .elementor-element.elementor-element-ed04cbf h4 { margin: 0 !important; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ft0desc */.elementor-37 .elementor-element.elementor-element-ft0desc { margin-top: 12px !important; margin-bottom: 0 !important; max-width: 210px !important; } .elementor-37 .elementor-element.elementor-element-ft0desc p, .elementor-37 .elementor-element.elementor-element-ft0desc h1, .elementor-37 .elementor-element.elementor-element-ft0desc h2, .elementor-37 .elementor-element.elementor-element-ft0desc h3, .elementor-37 .elementor-element.elementor-element-ft0desc h4 { margin: 0 !important; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ft0flwl */.elementor-37 .elementor-element.elementor-element-ft0flwl { margin-top: 35px !important; margin-bottom: 0 !important; } .elementor-37 .elementor-element.elementor-element-ft0flwl p, .elementor-37 .elementor-element.elementor-element-ft0flwl h1, .elementor-37 .elementor-element.elementor-element-ft0flwl h2, .elementor-37 .elementor-element.elementor-element-ft0flwl h3, .elementor-37 .elementor-element.elementor-element-ft0flwl h4 { margin: 0 !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ft0flwi */.elementor-37 .elementor-element.elementor-element-ft0flwi { margin-top: -5px !important; margin-bottom: 0 !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ft0bktp */.elementor-37 .elementor-element.elementor-element-ft0bktp { margin-top: -5px !important; margin-bottom: 0 !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e45f976 *//* ============================================================
   FOOTER REDESIGN — premium/minimal, dark #111111 ground.
   Inspired by Dayos's footer proportions/hierarchy (not copied):
   generous top/bottom padding, quiet gray links, mono utility
   text in the bottom bar, one clear accent color used sparingly.
   ============================================================ */

/* 5-column desktop grid: brand column + 4 nav columns, all
   perfectly aligned to a shared baseline via CSS grid instead of
   manual per-column pixel widths (drop-in replacement for the
   row's native flex behavior). */
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr !important;
  column-gap: 40px !important;
  row-gap: 40px !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: start !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be > .e-con-inner {
  display: contents !important;
}

/* column headings already use IBM Plex Mono / orange / uppercase
   via widget settings -- just tighten the space below them */
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b,
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956,
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e,
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-de40b10 {
  margin-bottom: 18px !important;
}

/* ---- footer link hover: motion-led, matches header's dropdown
   arrow language (translateX + fade-in arrow), not a color swap ---- */
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: #ABABAB;
  font-family: "DM Sans", sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  text-decoration: none;
  transition: transform 250ms ease, color 250ms ease;
  max-width: 100%;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link-label {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link .footer-link-arrow {
  display: inline-flex;
  align-items: center;
  width: 0px;
  margin-left: 0px;
  opacity: 0;
  color: #FF7F11;
  transform: translateX(-8px);
  overflow: hidden;
  transition: opacity 250ms ease, transform 250ms ease, margin-left 250ms ease, width 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link-arrow .arrow-svg,
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta-arrow .arrow-svg {
  display: block;
  flex: 0 0 auto;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link:hover {
  color: #FFFFFF;
  transform: translateX(6px);
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-link:hover .footer-link-arrow {
  opacity: 1;
  transform: translateX(0);
  margin-left: 8px;
  width: 14px;
}

/* Contact column extras */
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-hours {
  color: #757575;
  font-family: "DM Sans", sans-serif;
  font-size: 13.5px;
  line-height: 1.6;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #FFFFFF;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: gap 250ms ease, color 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta-arrow {
  display: inline-flex;
  align-items: center;
  color: #FF7F11;
  transition: transform 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta:hover {
  color: #FF7F11;
  gap: 14px;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta:hover .footer-cta-arrow {
  transform: translateX(4px);
}

/* Social icons -- outline style, orange + lift on hover */
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-social-row {
  display: flex;
  gap: 12px;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #FFFFFF;
  transition: color 250ms ease, transform 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-social-link svg {
  width: 21px;
  height: 21px;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-social-link:hover {
  color: #FF7F11;
  transform: scale(1.05);
}

/* Bottom bar: same max-width + centering as the main grid above, so
   the divider (this element's own border-top) and the 3 groups line
   up with the columns exactly -- a 3-col grid (not flex) so left/
   center/right map directly to justify-self instead of guesswork. */
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  align-items: start !important;
  gap: 24px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 56px 0 0 0 !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4c15621 { justify-self: start !important; }
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btct { justify-self: center !important; }
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg { justify-self: end !important; }
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4c15621,
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btct,
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg {
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 12px !important;
  color: #7A7A7A !important;
  line-height: 1.7 !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btct {
  text-align: center !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg {
  text-align: right !important;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-legal-link {
  color: #7A7A7A;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 12px !important;
  text-decoration: none;
  transition: color 200ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-legal-link:hover {
  color: #FF7F11;
}

/* Subtle fade-up as the footer enters view (JS toggles .footer-visible) */
.elementor-37 .elementor-element.elementor-element-e45f976 {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 700ms ease, transform 700ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976.footer-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ---- Tablet: collapse to two columns, logo + back-to-top share
   the first row (same treatment as mobile) ---- */
@media (max-width: 1024px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be {
    grid-template-columns: 1fr 1fr !important;
    row-gap: 48px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ed04cbf {
    margin-top: 16px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0flwl {
    margin-top: 18px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0col1,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0col1 > .e-con-inner {
    display: contents !important;
  }

  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ftrlogo1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    margin-bottom: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0bktp {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    margin-top: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ed04cbf {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0desc {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-57d6403 { grid-column: 1 !important; grid-row: 4 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7ab7fc { grid-column: 2 !important; grid-row: 4 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-11bb519 { grid-column: 1 !important; grid-row: 5 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-c292b46 { grid-column: 2 !important; grid-row: 5 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0flwl {
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0flwi {
    grid-column: 1 / -1 !important;
    grid-row: 7 !important;
  }
}

.footer-location-mobile { display: none; }

@media (max-width: 767px) {
  /* ---- MOBILE FOOTER REDESIGN (2026-08-22) ----
     Single vertical column, not a squeezed 2-col grid: logo/tagline/
     description -> three accordion nav groups (Solutions/Markets/
     Company) -> Contact (always expanded) -> Follow Us + social icons
     -> Back to top. Achieved entirely via `order` on ft0col1's
     flattened children + its siblings (ft0col1 stays display:contents,
     same technique already used for tablet), so no DOM/content changes
     -- desktop and tablet markup and CSS above are untouched. */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 8px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0col1,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0col1 > .e-con-inner {
    display: contents !important;
  }

  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ftrlogo1 {
    order: 1 !important;
    text-align: left !important;
    margin-bottom: 18px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ftrlogo1 img {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ed04cbf  { order: 2 !important; margin-bottom: 10px !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0desc  { order: 3 !important; margin-top: 0 !important; margin-bottom: 28px !important; }

  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-57d6403  { order: 4 !important; margin: 0 !important; padding: 0 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7ab7fc  { order: 5 !important; margin: 0 !important; padding: 0 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-11bb519  { order: 6 !important; margin: 0 !important; padding: 0 !important; }

  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-c292b46  { order: 7 !important; margin: 0 !important; padding-top: 6px !important; }

  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0flwl  { order: 8 !important; margin-top: 22px !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0flwi  { order: 9 !important; margin-top: 10px !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0bktp  { order: 10 !important; margin-top: 20px !important; }

  /* ---- Accordion toggles (Solutions / Markets / Company headings only --
     Contact's heading is excluded, it stays a plain static label since
     Contact is never collapsed) ---- */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 14px 2px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    cursor: pointer;
    box-sizing: border-box !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e::after {
    content: "+";
    flex: 0 0 auto;
    margin-left: 12px;
    color: #FF7F11;
    font-family: "IBM Plex Mono", monospace;
    font-size: 16px;
    line-height: 1;
    transition: transform 250ms ease;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b.is-open::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956.is-open::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e.is-open::after {
    content: "+";
    transform: rotate(45deg);
  }

  /* ---- Accordion panels: true zero-height collapse. Padding now lives
     ONLY in the .is-open state -- previously the <ul>'s own permanent
     padding-top/bottom (18px/6px) kept contributing real box height
     even while grid-template-rows was 0fr, which was the root cause of
     the "too much space when closed" complaint. ---- */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-121b33d,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a7177a1,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-8d9d4c9 {
    display: grid !important;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    transition: grid-template-rows 320ms ease, opacity 240ms ease !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-121b33d > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a7177a1 > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-8d9d4c9 > ul {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    transition: padding 280ms ease !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b.is-open + .elementor-element-121b33d,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956.is-open + .elementor-element-a7177a1,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e.is-open + .elementor-element-8d9d4c9 {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b.is-open + .elementor-element-121b33d > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956.is-open + .elementor-element-a7177a1 > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e.is-open + .elementor-element-8d9d4c9 > ul {
    min-height: auto !important;
    padding-top: 16px !important;
    padding-bottom: 8px !important;
  }

  /* Touch targets: each link gets real vertical padding so its tap
     area clears 44px even though the visible text is compact */
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-link {
    padding: 10px 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-121b33d ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a7177a1 ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-8d9d4c9 ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 ul {
    gap: 0 !important;
  }

  /* Contact: compact single block. Plain heading (never collapses) but
     matches the accordion rows' divider language for consistency */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-de40b10 {
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    padding: 14px 2px 0 2px !important;
    margin: 0 0 2px 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 { margin-top: 0 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 ul { gap: 4px !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 .footer-hours { padding: 2px 0 !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 li[style="margin-top"], .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 li[style*="margin-top"] { margin-top: 6px !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta {
    min-height: 44px !important;
    color: #FF7F11 !important;
  }

  /* Mobile-only duplicate of the location line inside Contact (task
     wants service area alongside phone/email); the original bottom-bar
     copy of it is hidden on mobile only, right below, so nothing is
     shown twice -- desktop/tablet keep the original single instance
     in the legal bar untouched. */
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-location-mobile {
    display: block !important;
    color: #757575;
    font-family: "DM Sans", sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
    margin-top: 6px;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btct { display: none !important; }

  /* Back to top: quiet, right-aligned utility control instead of a
     large centered section -- stays compact, may occupy its own row
     on very narrow screens but no longer reserves big vertical space */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0bktp {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop {
    margin-top: 0 !important;
  }

  /* Legal row: quiet, left-aligned, compact */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
    padding: 0 8px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 6px !important;
    padding-top: 24px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg { order: 1 !important; text-align: left !important; justify-self: start !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4c15621 { order: 2 !important; text-align: left !important; justify-self: start !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-legal-link { padding: 4px 0 !important; display: inline-block !important; }

  /* Privacy Policy \00b7 Terms & Conditions on one line -- pure
     presentation, same two links/labels: the <br> between them is
     hidden and a middot inserted via ::after on the first link */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg br { display: none !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0btrg .footer-legal-link:first-child::after {
    content: "\00b7";
    margin: 0 8px;
    color: #7A7A7A;
  }

  /* Copyright line collapses to one sentence on mobile via the
     ft-legal-br/ft-legal-line1 wrapper added to this widget's content */
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4c15621 .ft-legal-br { display: none !important; }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4c15621 .ft-legal-line1::after {
    content: ".";
    margin-right: 6px;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-121b33d,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a7177a1,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-8d9d4c9,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-121b33d > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a7177a1 > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-8d9d4c9 > ul,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7cbe5b::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-2128956::after,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-828a33e::after {
    transition: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-37 .elementor-element.elementor-element-e45f976, .elementor-37 .elementor-element.elementor-element-e45f976 .footer-link, .elementor-37 .elementor-element.elementor-element-e45f976 .footer-link .footer-link-arrow,
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta, .elementor-37 .elementor-element.elementor-element-e45f976 .footer-cta-arrow, .elementor-37 .elementor-element.elementor-element-e45f976 .footer-social-link {
    transition: none !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 { opacity: 1 !important; transform: none !important; }
}

/* Back-to-top: small quiet control that also fills out the brand
   column's remaining whitespace under the social icons */
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin-top: 7px !important;
  color: #9A9A9A;
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  transition: color 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.18);
  background: transparent;
  color: #9A9A9A;
  transition: border-color 250ms ease, color 250ms ease, transform 250ms ease;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop:hover {
  color: #FFFFFF;
}
.elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop:hover .footer-backtotop-icon {
  border-color: #FF7F11;
  color: #FF7F11;
  transform: scale(1.08);
}
@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ftrlogo1 {
    align-self: flex-start !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-c292b46 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be {
    gap: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-57d6403 > .e-con-inner,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-d7ab7fc > .e-con-inner,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-11bb519 > .e-con-inner,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-c292b46 > .e-con-inner {
    gap: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976.elementor-element-e45f976 {
    gap: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
    margin-top: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 > .e-con-inner {
    padding-top: 28px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0bktp {
    margin-top: 14px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 li[style="margin-top"], .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 li[style*="margin-top"] {
    margin-top: 16px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-a4ed804 ul {
    gap: 6px !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .footer-backtotop {
    min-height: 44px !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976.elementor-element-e45f976 {
    padding-top: 32px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ftrlogo1 {
    margin-bottom: 14px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ed04cbf {
    margin-top: 0 !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-ft0bktp {
    margin-top: 8px !important;
  }
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 > .e-con-inner {
    padding-top: 20px !important;
  }
}

@media (max-width: 767px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
    margin-top: 16px !important;
  }
}

/* Wide-screen footer width refinement (2026-08-24): grow the main grid and
   legal bar's shared 1360px cap progressively -- unchanged up to 1440px
   viewport, ramping to ~1580px by 1920px, extending to 1650px by 2560px.
   Same piecewise formula as the header pill so both systems feel unified. */
@media (min-width: 1440px) and (max-width: 1919px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
    max-width: clamp(1360px, calc(700px + 45.83vw), 1580px) !important;
  }
}
@media (min-width: 1920px) {
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-170c1be,
  .elementor-37 .elementor-element.elementor-element-e45f976 .elementor-element-4be9717 {
    max-width: clamp(1580px, calc(1370px + 10.94vw), 1650px) !important;
  }
}

/* Header/footer outer-margin parity fix (2026-08-24 consistency audit):
   e45f976's own base horizontal padding (64px/side, unchanged desktop
   value) was the binding constraint on the footer grid's rendered width
   at the low end of the wide-screen range (~1440px), preventing it from
   reaching the SAME 1360px floor the header pill reaches cleanly there --
   a 24px-per-side margin mismatch, self-resolving above ~1670px where the
   width clamp itself takes over regardless of padding. Reducing the
   horizontal padding only (top/bottom untouched, preserving the existing
   vertical rhythm) closes that gap so header and footer margins match at
   every tested width, not just 3 of 4. Does not change any max-width /
   ceiling value approved in the prior pass. */
@media (min-width: 1440px) {
  .elementor-37 .elementor-element.elementor-element-e45f976.elementor-element-e45f976 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/ibm-plex-mono-500.woff2') format('woff2');
}
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/ibm-plex-mono-600.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/dm-sans-300.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/dm-sans-400.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/dm-sans-500.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/dm-sans-600.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://staging.antonytech.com/wp-content/uploads/2026/07/dm-sans-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */