.elementor-23 .elementor-element.elementor-element-a4f95d2{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-ed2766b{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-39adc39{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(4, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-ecc6cb4{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-23 .elementor-element.elementor-element-ecc6cb4 .elementor-divider-separator{width:150px;}.elementor-23 .elementor-element.elementor-element-ecc6cb4 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-23 .elementor-element.elementor-element-838fed3{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-73adbde .elementor-cta .elementor-cta__bg, .elementor-23 .elementor-element.elementor-element-73adbde .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-23 .elementor-element.elementor-element-73adbde .elementor-cta__content{text-align:start;}.elementor-23 .elementor-element.elementor-element-188f4fc .elementor-cta .elementor-cta__bg, .elementor-23 .elementor-element.elementor-element-188f4fc .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-23 .elementor-element.elementor-element-188f4fc .elementor-cta__content{text-align:start;}.elementor-23 .elementor-element.elementor-element-9c9712e .elementor-cta .elementor-cta__bg, .elementor-23 .elementor-element.elementor-element-9c9712e .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-23 .elementor-element.elementor-element-9c9712e .elementor-cta__content{text-align:start;}.elementor-23 .elementor-element.elementor-element-685c796 .elementor-cta .elementor-cta__bg, .elementor-23 .elementor-element.elementor-element-685c796 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-23 .elementor-element.elementor-element-685c796 .elementor-cta__content{text-align:start;}.elementor-23 .elementor-element.elementor-element-607fdaf{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-85644a1{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-23 .elementor-element.elementor-element-85644a1 .elementor-divider-separator{width:150px;}.elementor-23 .elementor-element.elementor-element-85644a1 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-23 .elementor-element.elementor-element-48bff10 .gallery-item .gallery-caption{display:none;}.elementor-23 .elementor-element.elementor-element-2b58e07 .gallery-item .gallery-caption{display:none;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-02270a1{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-23 .elementor-element.elementor-element-02270a1 .elementor-divider-separator{width:150px;}.elementor-23 .elementor-element.elementor-element-02270a1 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-23 .elementor-element.elementor-element-655a261{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-e3b8860 .elementor-button-content-wrapper{flex-direction:row;}.elementor-23 .elementor-element.elementor-element-e3b8860 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-23 .elementor-element.elementor-element-305d335 .elementor-button-content-wrapper{flex-direction:row;}.elementor-23 .elementor-element.elementor-element-305d335 .elementor-button .elementor-button-content-wrapper{gap:10px;}:root{--page-title-display:none;}@media(min-width:641px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--content-width:1440px;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--content-width:1440px;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--content-width:1440px;}}@media(max-width:1480px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-838fed3{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--grid-auto-flow:row;}}@media(max-width:1120px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-838fed3{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--grid-auto-flow:row;}}@media(max-width:960px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-838fed3{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--grid-auto-flow:row;}}@media(max-width:720px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-838fed3{--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--grid-auto-flow:row;}}@media(max-width:640px){.elementor-23 .elementor-element.elementor-element-a4f95d2{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-6ce48a0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-838fed3{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-23 .elementor-element.elementor-element-bf3b5c8{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-a4f95d2 *//* Home — 1. Hero: section grid, copy | visual
   CSS for this section only (class .m-hero).
   Shared section heads, motif bars and the contact band are in Site Settings > Custom CSS. */
.m-hero {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background:
    linear-gradient(to right, rgba(27, 117, 187, .07) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(to bottom, rgba(27, 117, 187, .07) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg, #fff 0%, var(--wash) 100%) !important;
}

@media (min-width: 901px) {
  .m-hero {
    --hero-h: clamp(440px, calc(100svh - var(--header-h) - 120px), 700px);
    min-height: var(--hero-h);
    height: auto;
    padding-block: clamp(14px, 2.6vh, 36px) !important;
  }
}

.m-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr) !important;
  grid-template-rows: auto !important;
  gap: clamp(36px, 5vw, 80px) !important;
  align-items: center !important;
  width: 100%;
}

/* copy: one wrapping row — text full width, buttons side by side, then a forced line break, then the facts */
.m-hero-copy {
  --ag: 14px;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: 0 !important;
}

.m-hero-copy > .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
}

.m-hero-copy::after {
  content: "" !important;
  position: static !important;
  inset: auto !important;
  order: 1;
  flex: 0 0 100%;
  height: 0;
  background: none !important;
}

.m-kicker {
  margin-bottom: clamp(8px, 1.6vh, 18px) !important;
}

.m-kicker .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .9375rem !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  color: var(--blue-700) !important;
}

.m-kicker .elementor-heading-title::before {
  content: "";
  width: 12px;
  height: 12px;
  flex: none;
  background: var(--blue-700);
  border-radius: 0 7px 0 0;
}

.m-hero-h1 .elementor-heading-title {
  max-width: 15ch;
  font-size: clamp(1.9rem, 4.2vh + .9rem, 3.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: -.03em !important;
  color: var(--ink) !important;
}

.m-hero-text {
  margin-top: clamp(10px, 1.8vh, 20px) !important;
  margin-bottom: calc(clamp(14px, 2.6vh, 28px) - var(--ag)) !important;
}

.m-hero-text p {
  margin: 0;
  max-width: 35rem;
  font-size: clamp(.95rem, .55vh + .72rem, 1.125rem);
  line-height: 1.55;
  color: var(--steel);
}

.m-hero-copy > .elementor-widget-button {
  width: auto !important;
  margin: var(--ag) var(--ag) 0 0 !important;
}

.m-hero-copy > .m-fact {
  order: 2;
  flex: 0 0 auto;
  width: auto !important;
  margin-top: clamp(14px, 3vh, 36px) !important;
  padding: clamp(10px, 1.8vh, 20px) 44px 0 0;
  border-top: 1px solid var(--line);
}

.m-hero-copy > .m-fact:last-child {
  flex-grow: 1;
  padding-right: 0;
}

.m-fact .elementor-heading-title {
  font-size: clamp(1.2rem, 2.6vh, 1.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  color: var(--ink) !important;
}

.m-fact .elementor-heading-title span {
  display: block;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
  color: var(--steel);
}

/* visual: the 4 slide images are the source; the site script builds 3 pillars + dots from them */
.m-hero-visual {
  position: relative;
}

body:not(.elementor-editor-active) .m-hero-visual > .m-hero-slide {
  display: none !important;
}

.elementor-editor-active .m-hero-visual {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.m-pillars {
  --g: clamp(10px, 1.4vw, 18px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--g);
  align-items: end;
}

.m-pillar {
  display: block;
  text-decoration: none;
}

.m-pillar-d1 {
  --i: 0;
}

.m-pillar-d2 {
  --i: 1;
}

.m-pillar-d3 {
  --i: 2;
}

.m-pillar-bar {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 5/13;
  max-height: 480px;
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
  transform-origin: bottom;
  box-shadow: var(--shadow-lg);
}

@media (min-width: 901px) {
  .m-pillar-bar {
    max-height: min(480px, calc(var(--hero-h) - 2 * clamp(14px, 2.6vh, 36px) - 64px));
  }
}

.m-pillar-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  mix-blend-mode: multiply;
  opacity: .55;
  transition: opacity .3s ease;
}

.m-pillar-d1 .m-pillar-bar {
  border-top: 8px solid var(--blue-700);
}

.m-pillar-d2 .m-pillar-bar {
  border-top: 8px solid var(--blue-500);
}

.m-pillar-d3 .m-pillar-bar {
  border-top: 8px solid var(--blue-300);
  border-radius: 0 clamp(36px, 5vw, 64px) 0 0;
}

.m-pillar-d1 .m-pillar-bar::after {
  background: linear-gradient(180deg, transparent 35%, var(--blue-700));
}

.m-pillar-d2 .m-pillar-bar::after {
  background: linear-gradient(180deg, transparent 35%, var(--blue-500));
}

.m-pillar-d3 .m-pillar-bar::after {
  background: linear-gradient(180deg, transparent 35%, var(--blue-300));
}

.m-pillar:hover .m-pillar-bar::after {
  opacity: .25;
}

.m-ps {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--i) * (-100% - var(--g)));
  width: calc(300% + 2 * var(--g));
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity .9s ease, transform 6s ease-out;
}

.m-ps.is-on {
  opacity: 1;
  transform: scale(1);
}

.m-pillar:hover .m-ps.is-on {
  transform: scale(1.03);
  transition: opacity .9s ease, transform .6s ease;
}

@media (prefers-reduced-motion: no-preference) {
  .m-pillar-bar {
    animation: m-pillar-rise 1s cubic-bezier(.2, .8, .2, 1) both;
    animation-delay: calc(var(--i) * 130ms + 120ms);
  }
}

@keyframes m-pillar-rise {
  from {
    transform: scaleY(0);
  }

  to {
    transform: scaleY(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m-ps {
    transition: none;
    transform: none;
  }
}

.m-hero-dots {
  display: flex;
  gap: 8px;
  margin-top: clamp(8px, 1.4vh, 16px);
}

.m-hero-dot {
  width: 28px;
  height: 6px;
  flex: none;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
  opacity: .35;
  transition: width .35s ease, opacity .35s ease;
}

.m-hero-dot:hover {
  opacity: .7;
}

.m-hero-dot[aria-current="true"] {
  width: 56px;
  opacity: 1;
}

.m-hero-dot-d1 {
  background: var(--blue-700);
}

.m-hero-dot-d2 {
  background: var(--blue-500);
}

.m-hero-dot-d3 {
  background: var(--blue-300);
}

.m-hero-dot-d4 {
  background: #02A89E;
}

@media (max-width: 900px) {
  .m-hero {
    height: auto;
    padding-block: 18px 22px !important;
  }

  .m-hero > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  /* phones + iPad portrait: slider first, then the heading text */
  .m-hero-visual {
    order: -1;
  }

  .m-hero-copy {
    --ag: 10px;
  }

  .m-kicker {
    margin-bottom: 10px !important;
  }

  .m-kicker .elementor-heading-title {
    font-size: .8125rem !important;
  }

  .m-hero-h1 .elementor-heading-title {
    font-size: clamp(1.9rem, 7.4vw, 2.6rem) !important;
    max-width: none;
  }

  .m-hero-text {
    margin-top: 10px !important;
    margin-bottom: 6px !important;
  }

  .m-hero-text p {
    font-size: .9375rem;
  }

  .m-hero-copy .elementor-button {
    min-height: 44px;
    padding: 10px 16px;
    font-size: .875rem;
  }

  .m-hero-copy > .m-fact {
    margin-top: 16px !important;
    padding: 12px 28px 0 0;
  }

  .m-fact .elementor-heading-title {
    font-size: 1.25rem !important;
  }

  /* explicit height: aspect-ratio alone collapsed the pillar row on phones */
  .m-pillar-bar {
    aspect-ratio: auto;
    max-height: 260px;
    height: min(260px, calc((100vw - 2 * var(--gutter) - 2 * var(--g)) / 3 * 7 / 4));
  }

  .m-hero-dots {
    margin-top: 10px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ce48a0 *//* Home — 2. Divisions: inner box = grid (head | intro / cards)
   CSS for this section only (class .m-hdiv). */
.m-hdiv {
  background: var(--wash) !important;
  padding-top: clamp(28px, 4vh, 52px) !important;
  padding-bottom: var(--section-y) !important;
}

.m-hdiv > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 30em) !important;
  grid-template-rows: auto !important;
  grid-template-areas: "eye sub" "h2 sub" "bar sub" "grid grid";
  gap: 0 32px !important;
  align-items: start !important;
}

.m-hdiv > .e-con-inner > .m-eyebrow {
  grid-area: eye;
}

.m-hdiv > .e-con-inner > .m-h2 {
  grid-area: h2;
  margin-top: 10px;
}

.m-hdiv .m-h2 .elementor-heading-title {
  font-size: clamp(1.7rem, 1.2vw + 1.15rem, 2.2rem) !important;
}

.m-hdiv > .e-con-inner > .m-tbar {
  grid-area: bar;
  margin-top: 14px;
}

.m-hdiv-sub {
  grid-area: sub;
  align-self: end !important;
}

.m-hdiv-sub p {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--steel);
}

.m-hdiv-grid {
  grid-area: grid;
  margin-top: clamp(24px, 3vw, 36px);
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  grid-auto-rows: auto !important;
  gap: 20px !important;
  counter-reset: hdiv;
}

@media (max-width: 1345px) {
  .m-hdiv > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "eye" "h2" "bar" "sub" "grid";
  }

  .m-hdiv-sub {
    max-width: 30em;
    margin-top: 18px;
  }
}

/* card = Call to Action widget (classic, image left, whole box is the link) */
/* the CTA widget wrapper clips by default, which cut the lifted card's top border and shadow on hover */
.m-hdiv-card {
  counter-increment: hdiv;
  overflow: visible !important;
}

.m-hdiv-card .elementor-cta {
  position: relative;
  display: grid !important;
  grid-template-columns: 40% 60%;
  grid-template-rows: minmax(0, 1fr);
  height: clamp(240px, calc((100vh - var(--header-h) - 240px)/2), 280px);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--motif);
  box-shadow: var(--shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.m-hdiv-card .elementor-cta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--blue-700), var(--blue-500) 55%, var(--blue-300));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
  z-index: 2;
}

.m-hdiv-card.is-sec .elementor-cta::after {
  background: linear-gradient(90deg, #047F77, #02A89E);
}

.m-hdiv-card .elementor-cta:hover {
  transform: translateY(-3px);
  border-color: var(--blue-300);
  box-shadow: var(--shadow-md);
}

.m-hdiv-card.is-sec .elementor-cta:hover {
  border-color: #02A89E;
}

.m-hdiv-card .elementor-cta:hover::after {
  transform: scaleX(1);
}

.m-hdiv-card .elementor-cta__bg-wrapper {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto;
  min-height: 0 !important;
  overflow: hidden;
  background: var(--lightbox-flat);
}

.m-hdiv-card .elementor-cta__bg {
  position: absolute !important;
  inset: 0;
  background-size: cover !important;
  background-position: center !important;
  transition: transform .6s ease !important;
}

.m-hdiv-card .elementor-cta:hover .elementor-cta__bg {
  transform: scale(1.07);
}

.m-hdiv-card .elementor-cta__bg-overlay {
  display: none !important;
}

.m-hdiv-card .elementor-cta__content {
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  align-items: flex-start !important;
  min-height: 0 !important;
  width: auto !important;
  padding: 22px 28px !important;
  text-align: left !important;
  background: none !important;
  color: inherit;
}

.m-hdiv-card .elementor-cta__content-item {
  margin: 0 !important;
  transition: color .3s ease !important;
}

.m-hdiv-card .elementor-cta__title {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -.008em !important;
  color: var(--ink) !important;
}

.m-hdiv-card .elementor-cta__title::before {
  content: counter(hdiv, decimal-leading-zero);
  display: block;
  margin-bottom: 6px;
  font-size: .6875rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: .16em;
  color: var(--blue-700);
}

.m-hdiv-card.is-sec .elementor-cta__title::before {
  color: #047F77;
}

.m-hdiv-card .elementor-cta:hover .elementor-cta__title {
  color: var(--blue-700) !important;
}

.m-hdiv-card.is-sec .elementor-cta:hover .elementor-cta__title {
  color: #047F77 !important;
}

.m-hdiv-card .elementor-cta__description {
  margin-top: 8px !important;
  font-size: .875rem !important;
  line-height: 1.6 !important;
  color: var(--steel) !important;
}

@media (max-width: 1100px) {
  .m-hdiv-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .m-hdiv-card .elementor-cta {
    height: 240px;
  }
}

@media (max-width: 900px) {
  .m-hdiv {
    padding-top: 32px !important;
  }
}

/* phone slider: every card fills the tallest card's height */
@media (max-width: 640px) {
  .m-hdiv-card {
    display: flex !important;
    flex-direction: column;
  }

  .m-hdiv-card .elementor-cta {
    flex: 1 1 auto;
    grid-template-columns: 1fr;
    grid-template-rows: 180px 1fr;
    height: auto;
  }

  .m-hdiv-card .elementor-cta__content {
    justify-content: flex-start !important;
    padding: 18px 20px 20px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-607fdaf *//* Home — 3. Customers: one section; each logo row is a Basic Gallery turned into a marquee
   CSS for this section only (class .m-cust). */
.m-cust {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid var(--line);
  padding-block: var(--section-y) !important;
  align-items: center !important;
}

.m-cust::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(560px 360px at 100% 100%, rgba(123, 191, 233, .2), rgba(123, 191, 233, 0) 70%) !important;
  opacity: 1 !important;
}

.m-cust > .elementor-widget:not(.m-marq) {
  width: calc(100% - 2 * var(--gutter)) !important;
  max-width: 48rem;
  text-align: center;
}

.m-cust > .m-motif {
  margin-bottom: 22px !important;
}

.m-cust .m-h2 .elementor-heading-title {
  font-size: var(--fs-h2) !important;
  text-align: center;
}

.m-lead p {
  margin: 18px auto 0;
  max-width: 42rem;
  font-size: var(--fs-lead);
  line-height: 1.65;
  color: var(--steel);
  text-align: center;
}

.m-marq {
  width: 100% !important;
  margin-top: 32px;
  overflow: hidden !important;
  -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.m-marq + .m-marq {
  margin-top: 14px;
}

.m-marq .gallery {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  animation: m-marq 44s linear infinite;
}

.m-marq.is-rev .gallery {
  animation-direction: reverse;
  animation-duration: 50s;
}

.m-marq:hover .gallery {
  animation-play-state: paused;
}

.m-marq .gallery br {
  display: none;
}

@keyframes m-marq {
  to {
    transform: translateX(calc(-50% - 7px));
  }
}

.m-marq .gallery-item {
  flex: 0 0 190px !important;
  width: 190px !important;
  max-width: none !important;
  height: 96px;
  margin: 0 !important;
  padding: 6px 12px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0 14px 0 0;
  transition: border-color .25s ease, box-shadow .25s ease;
}

.m-marq .gallery-icon {
  width: 100%;
}

.m-marq .gallery-item img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 82px;
  object-fit: contain;
  border: 0 !important;
  filter: grayscale(1);
  opacity: .7;
  transition: filter .3s ease, opacity .3s ease;
}

.m-marq .gallery-item:hover {
  border-color: #BBD7F0;
  box-shadow: 0 10px 24px rgba(14, 36, 70, .07);
}

.m-marq .gallery-item:hover img {
  filter: none;
  opacity: 1;
}

@media (max-width: 640px) {
  .m-marq .gallery-item {
    flex-basis: 150px !important;
    width: 150px !important;
    height: 78px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .m-marq .gallery {
    animation: none;
    width: auto !important;
    flex-wrap: wrap !important;
    justify-content: center;
  }

  .m-marq {
    -webkit-mask: none;
    mask: none;
  }
}/* End custom CSS */