.elementor-1754 .elementor-element.elementor-element-f4208a5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-1754 .elementor-element.elementor-element-68835e3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1754 .elementor-element.elementor-element-9c48142{--spacer-size:8vh;}.elementor-1754 .elementor-element.elementor-element-4d6ed41{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1754 .elementor-element.elementor-element-be2459f{--display:flex;}.elementor-1754 .elementor-element.elementor-element-5e645b1{text-align:start;}.elementor-1754 .elementor-element.elementor-element-a415335{--display:flex;}.elementor-1754 .elementor-element.elementor-element-f42f9b0 .elementor-menu-toggle{margin:0 auto;}.elementor-1754 .elementor-element.elementor-element-0c131eb{--display:flex;}.elementor-1754 .elementor-element.elementor-element-6bf7a77{text-align:start;}.elementor-1754 .elementor-element.elementor-element-6bf7a77 .elementor-heading-title{font-size:15px;font-weight:500;}.elementor-1754 .elementor-element.elementor-element-fd154a5 .elementor-menu-toggle{margin:0 auto;}.elementor-1754 .elementor-element.elementor-element-7d2520b{--display:flex;}.elementor-1754 .elementor-element.elementor-element-fe5c299{text-align:start;}.elementor-1754 .elementor-element.elementor-element-fe5c299 .elementor-heading-title{font-size:15px;font-weight:500;}.elementor-1754 .elementor-element.elementor-element-02597b6{--swiper-slides-to-display:1;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;}.elementor-1754 .elementor-element.elementor-element-02597b6 .swiper-slide > .elementor-element{height:100%;}.elementor-1754 .elementor-element.elementor-element-1e3eb88{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-a8994b5{--display:flex;}.elementor-1754 .elementor-element.elementor-element-cee1853{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-1754 .elementor-element.elementor-element-054f454 .ms-s-w{text-align:left;}.elementor-1754 .elementor-element.elementor-element-054f454 .ms-s-i i{font-size:22px;color:#DC2B01 !important;}.elementor-1754 .elementor-element.elementor-element-5c0f1de{--display:flex;}@media(min-width:768px){.elementor-1754 .elementor-element.elementor-element-f4208a5{--width:100%;}.elementor-1754 .elementor-element.elementor-element-68835e3{--width:100%;}.elementor-1754 .elementor-element.elementor-element-a415335{--width:34%;}.elementor-1754 .elementor-element.elementor-element-0c131eb{--width:34%;}.elementor-1754 .elementor-element.elementor-element-7d2520b{--width:7%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1754 .elementor-element.elementor-element-be2459f{--width:100%;}.elementor-1754 .elementor-element.elementor-element-a415335{--width:100%;}.elementor-1754 .elementor-element.elementor-element-0c131eb{--width:100%;}.elementor-1754 .elementor-element.elementor-element-7d2520b{--width:100%;}.elementor-1754 .elementor-element.elementor-element-a8994b5{--width:100%;}.elementor-1754 .elementor-element.elementor-element-5c0f1de{--width:100%;}}@media(max-width:1024px){.elementor-1754 .elementor-element.elementor-element-be2459f{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-5e645b1{text-align:center;}.elementor-1754 .elementor-element.elementor-element-a415335{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-0c131eb{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-7d2520b{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-02597b6{--swiper-slides-to-display:2;}.elementor-1754 .elementor-element.elementor-element-a8994b5{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-b6e92dd{text-align:center;}.elementor-1754 .elementor-element.elementor-element-5c0f1de{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-01c83df{text-align:center;}}@media(max-width:767px){.elementor-1754 .elementor-element.elementor-element-be2459f{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-a415335{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-0c131eb{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-7d2520b{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-02597b6{--swiper-slides-to-display:1;}.elementor-1754 .elementor-element.elementor-element-a8994b5{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-b6e92dd{text-align:center;}.elementor-1754 .elementor-element.elementor-element-5c0f1de{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1754 .elementor-element.elementor-element-01c83df{text-align:center;}}/* Start custom CSS for container, class: .elementor-element-f4208a5 *//* =========================================================
   WEBIGNITE FOOTER — v7
   Design intent: page is #171717; footer reads as a separate
   “lifted” band (lighter greys + soft light from above). Blog
   card stays #171717 so it looks inset. Orange/red only on the
   top hairline — not mixed into the fill.
   ========================================================= */

:root {
  /* Brand */
  --wi-orange:        #fb7302;
  --wi-orange-deep:   #dc2b01;
  --wi-slate:         #464d55;

  /*
   * Hierarchy (RGB steps are obvious next to #171717 = 23,23,23):
   * --wi-site-bg      page / pre-footer / carousel card (inset)
   * --wi-footer-bg    footer solid fallback — clearly lighter slab
   * --wi-footer-deep  legal row — slightly sunken vs footer main
   */
  --wi-site-bg:        #171717;
  --wi-footer-bg:      #202020;
  --wi-footer-deep:    #161616;

  --wi-charcoal:       var(--wi-footer-bg);

  /* Carousel card = site colour — reads as a panel inside the lighter footer */
  --wi-card:           var(--wi-site-bg);

  --wi-white:         #ffffff;
  --wi-offwhite:      #f2f2f2;

  /* Derived tones */
  --wi-text:          rgba(255, 255, 255, 0.78);
  --wi-text-muted:    rgba(255, 255, 255, 0.5);
  --wi-text-faint:    rgba(255, 255, 255, 0.34);
  --wi-border:        rgba(255, 255, 255, 0.12);
  --wi-border-soft:   rgba(255, 255, 255, 0.06);
  --wi-card-border:   rgba(255, 255, 255, 0.09);

  --wi-transition:    all 0.22s ease;
}

/* =========================================================
   ROOT FOOTER CONTAINER  (f4208a5)
   Two layers only: soft highlight under the top edge + vertical
   depth. No orange in the fill — colour stays on ::before.
   ========================================================= */

.elementor-element.elementor-element-f4208a5 {
  position: relative;
  z-index: 0;
  background-color: var(--wi-footer-bg) !important;
  background-image:
    radial-gradient(ellipse 110% 65% at 50% -20%, rgba(255, 255, 255, 0.085) 0%, transparent 50%),
    linear-gradient(180deg,
      #2e2e2e 0%,
      #282828 18%,
      #222222 42%,
      #1e1e1e 65%,
      #1a1a1a 88%,
      #181818 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100%, 100% 100% !important;
  color: var(--wi-text);
  padding: 0 !important;
  /* Separates footer from #171717 content above — reads as its own band */
  box-shadow:
    0 -8px 36px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}

/* Kill stray tints on all footer flex children (common cause of “two footers”) */
.elementor-element.elementor-element-f4208a5 > .e-con,
.elementor-element.elementor-element-f4208a5 .e-con.e-child {
  background-color: transparent !important;
  background-image: none !important;
}

/* Brand hairline — orange + red (kept off the flat fill) */
.elementor-element.elementor-element-f4208a5::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(251, 115, 2, 0.4) 18%,
    var(--wi-orange) 50%,
    rgba(220, 43, 1, 0.7) 82%,
    transparent 100%);
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

/* =========================================================
   TOP AREA  (68835e3)
   ========================================================= */

.elementor-element.elementor-element-68835e3 {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 64px 48px 56px !important;
  display: flex !important;
  flex-direction: column;
  background: transparent !important;
}

/* Unused spacer widget */
.elementor-element.elementor-element-9c48142 {
  display: none !important;
}

/* Top row: Logo | Primary menu | Specialised offers | Blog carousel */
.elementor-element.elementor-element-4d6ed41 {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  /* space-between made gaps uneven; fixed gap keeps rhythm between all four columns */
  justify-content: flex-start;
  align-items: flex-start;
  gap: 36px;
  padding: 0 !important;
}

.elementor-element.elementor-element-be2459f {
  flex: 0 1 260px !important;
  width: auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
}

.elementor-element.elementor-element-a415335 {
  flex: 0 1 170px !important;
  width: auto !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
}

.elementor-element.elementor-element-0c131eb {
  flex: 0 1 200px !important;
  width: auto !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  /* Stretch so heading + underline match full column width / centering like column 4 */
  align-items: stretch !important;
  gap: 12px !important;
  padding: 0 !important;
}

.elementor-element.elementor-element-7d2520b {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/*
 * Column dividers — short hairlines at inner edge (before flex gap); soft fade so they
 * don’t read as heavy UI chrome. Only when four columns sit in one row (901px+).
 */
@media (min-width: 901px) {
  .elementor-element.elementor-element-f4208a5 .elementor-element-be2459f,
  .elementor-element.elementor-element-f4208a5 .elementor-element-a415335,
  .elementor-element.elementor-element-f4208a5 .elementor-element-0c131eb {
    position: relative !important;
    overflow: visible !important;
    box-sizing: border-box;
  }

  .elementor-element.elementor-element-f4208a5 .elementor-element-be2459f::after,
  .elementor-element.elementor-element-f4208a5 .elementor-element-a415335::after,
  .elementor-element.elementor-element-f4208a5 .elementor-element-0c131eb::after {
    content: "";
    position: absolute;
    right: 0;
    top: 2.75rem;
    width: 1px;
    height: 3.25rem;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.1) 20%,
      rgba(255, 255, 255, 0.1) 80%,
      rgba(255, 255, 255, 0) 100%
    );
    pointer-events: none;
    z-index: 1;
  }
}

/* =========================================================
   LOGO (5e645b1)
   ========================================================= */

.elementor-element.elementor-element-5e645b1 {
  width: 100%;
}

.elementor-element.elementor-element-5e645b1 a {
  display: inline-flex;
  align-items: center;
}

.elementor-element.elementor-element-5e645b1 img {
  width: clamp(200px, 20vw, 260px);
  max-width: 100%;
  height: auto;
  transition: opacity 0.22s ease;
}

.elementor-element.elementor-element-5e645b1 a:hover img {
  opacity: 0.85;
}

/* =========================================================
   TAGLINE under logo (5de0814) — text editor
   ========================================================= */

.elementor-element.elementor-element-5de0814 {
  width: 100%;
}

.elementor-element.elementor-element-5de0814 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}

.elementor-element.elementor-element-5de0814 p {
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.52);
}

.elementor-element.elementor-element-5de0814 a {
  color: var(--wi-orange);
  text-decoration: none;
  transition: color 0.2s ease;
}

.elementor-element.elementor-element-5de0814 a:hover {
  color: var(--wi-white);
}

/* =========================================================
   “Latest Insights” heading (fe5c299) above carousel
   ========================================================= */

.elementor-element.elementor-element-fe5c299 {
  width: 100%;
}

.elementor-element.elementor-element-fe5c299 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 0 14px !important;
  text-align: center;
}

.elementor-element.elementor-element-fe5c299 .elementor-heading-title {
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.35 !important;
}

/* Thin accent under the section label */
.elementor-element.elementor-element-fe5c299 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 12px auto 0;
  background: linear-gradient(90deg, transparent, var(--wi-orange), transparent);
  border-radius: 2px;
  opacity: 0.9;
}

/* =========================================================
   “Our Specialised Offers” heading (6bf7a77) — same voice as Latest Insights
   ========================================================= */

.elementor-element.elementor-element-6bf7a77 {
  width: 100%;
}

.elementor-element.elementor-element-6bf7a77 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 0 14px !important;
  text-align: center;
}

.elementor-element.elementor-element-6bf7a77 .elementor-heading-title {
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.35 !important;
}

.elementor-element.elementor-element-6bf7a77 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 12px auto 0;
  background: linear-gradient(90deg, transparent, var(--wi-orange), transparent);
  border-radius: 2px;
  opacity: 0.9;
}

/* Same vertical start for both section labels (Elementor default widget gaps differ) */
.elementor-element.elementor-element-f4208a5 .elementor-element-6bf7a77,
.elementor-element.elementor-element-f4208a5 .elementor-element-fe5c299 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   MENUS — primary (f42f9b0) + specialised offers (fd154a5)
   Same link colour as main nav; orange only on hover accent — not default link colour
   ========================================================= */

.elementor-element.elementor-element-f42f9b0,
.elementor-element.elementor-element-fd154a5 {
  width: 100%;
}

.elementor-element.elementor-element-f42f9b0 .elementor-nav-menu--main,
.elementor-element.elementor-element-fd154a5 .elementor-nav-menu--main {
  display: flex !important;
  justify-content: flex-start;
}

.elementor-element.elementor-element-f42f9b0 .elementor-nav-menu,
.elementor-element.elementor-element-fd154a5 .elementor-nav-menu {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.elementor-element.elementor-element-f42f9b0 .menu-item,
.elementor-element.elementor-element-fd154a5 .menu-item {
  list-style: none;
}

.elementor-element.elementor-element-f42f9b0 .elementor-item,
.elementor-element.elementor-element-fd154a5 .elementor-item {
  position: relative;
  display: inline-block;
  padding: 7px 0;
  color: var(--wi-text) !important;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  transition: color 0.22s ease;
}

.elementor-element.elementor-element-f42f9b0 .elementor-item::after,
.elementor-element.elementor-element-fd154a5 .elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 0;
  height: 2px;
  background: var(--wi-orange);
  transition: width 0.22s ease;
}

.elementor-element.elementor-element-f42f9b0 .elementor-item:hover,
.elementor-element.elementor-element-f42f9b0 .current-menu-item > .elementor-item,
.elementor-element.elementor-element-f42f9b0 .current_page_item > .elementor-item,
.elementor-element.elementor-element-f42f9b0 .current_page_parent > .elementor-item,
.elementor-element.elementor-element-fd154a5 .elementor-item:hover,
.elementor-element.elementor-element-fd154a5 .current-menu-item > .elementor-item,
.elementor-element.elementor-element-fd154a5 .current_page_item > .elementor-item,
.elementor-element.elementor-element-fd154a5 .current_page_parent > .elementor-item {
  color: var(--wi-white) !important;
}

.elementor-element.elementor-element-f42f9b0 .elementor-item:hover::after,
.elementor-element.elementor-element-f42f9b0 .current-menu-item > .elementor-item::after,
.elementor-element.elementor-element-f42f9b0 .current_page_item > .elementor-item::after,
.elementor-element.elementor-element-f42f9b0 .current_page_parent > .elementor-item::after,
.elementor-element.elementor-element-fd154a5 .elementor-item:hover::after,
.elementor-element.elementor-element-fd154a5 .current-menu-item > .elementor-item::after,
.elementor-element.elementor-element-fd154a5 .current_page_item > .elementor-item::after,
.elementor-element.elementor-element-fd154a5 .current_page_parent > .elementor-item::after {
  width: 24px;
}

/* Elementor adds .elementor-item-active on <a>; keep same treatment as “current” */
.elementor-element.elementor-element-f42f9b0 a.elementor-item.elementor-item-active,
.elementor-element.elementor-element-fd154a5 a.elementor-item.elementor-item-active {
  color: var(--wi-white) !important;
}

.elementor-element.elementor-element-f42f9b0 a.elementor-item.elementor-item-active::after,
.elementor-element.elementor-element-fd154a5 a.elementor-item.elementor-item-active::after {
  width: 24px;
}

/*
 * Nav menu: do NOT hide Elementor’s mobile UI globally — on phones Elementor hides
 * .elementor-nav-menu--main and expects a toggle/dropdown. We always want this footer
 * as a visible vertical list, so hamburger chrome is hidden only on large screens;
 * under 1024px we force --main open and match that with JS-free CSS below.
 */
@media (min-width: 1024px) {
  .elementor-element.elementor-element-f42f9b0 .elementor-menu-toggle,
  .elementor-element.elementor-element-f42f9b0 .elementor-nav-menu--dropdown,
  .elementor-element.elementor-element-fd154a5 .elementor-menu-toggle,
  .elementor-element.elementor-element-fd154a5 .elementor-nav-menu--dropdown {
    display: none !important;
  }
}

/* =========================================================
   BLOG CAROUSEL (02597b6)
   Horizontal card: image left, title right.
   Flat, clean card — matches the rest of the site.
   ========================================================= */

.elementor-element.elementor-element-02597b6 {
  width: 100%;
}

/* The widget-container holds the swiper AND the arrows/pagination
   as siblings. Flex column + stretch so pagination spans the full
   carousel width (Swiper otherwise pins bullets to the slide’s left). */
.elementor-element.elementor-element-02597b6 .elementor-widget-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.elementor-element.elementor-element-02597b6 .swiper,
.elementor-element.elementor-element-02597b6 .elementor-swiper,
.elementor-element.elementor-element-02597b6 .swiper-container {
  width: 100% !important;
  max-width: 100%;
  overflow: hidden;
  padding: 0 !important;
  flex: 0 0 auto;
  align-self: stretch;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Kill the default dark “tray” Swiper/Elementor paint behind slides */
.elementor-element.elementor-element-02597b6 .elementor-loop-container {
  background: transparent !important;
  background-color: transparent !important;
}

.elementor-element.elementor-element-02597b6 .swiper-wrapper {
  background: transparent !important;
}

.elementor-element.elementor-element-02597b6 .swiper-slide {
  height: auto;
  box-sizing: border-box;
  background: transparent !important;
  /* image_spacing in widget settings adds gap — reads as a dark bar */
  margin-bottom: 0 !important;
  /* Do not force margin-right: Swiper sets slide width + spacing; zeroing it
     lets the next slide peek at the right edge. */
  padding-bottom: 0 !important;
}

.elementor-element.elementor-element-02597b6 .swiper-slide > .elementor {
  background: transparent !important;
}

/* Card — flat, slate border, simple hover */
.elementor-element.elementor-element-02597b6 .elementor-element-fea5902 {
  width: 100%;
  height: 100%;
  padding: 0 !important;
  background: transparent !important;
}

.elementor-element.elementor-element-02597b6 .elementor-element-fea5902 > .e-con-inner {
  width: 100%;
  max-width: 100%;
  height: 100%;
  padding: 0 !important;
  background: var(--wi-card) !important;
  border: 1px solid var(--wi-card-border);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.38);
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  transition: border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.elementor-element.elementor-element-02597b6 .e-loop-item:hover .elementor-element-fea5902 > .e-con-inner {
  border-color: var(--wi-orange);
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
}

/* Image left */
.elementor-element.elementor-element-02597b6 .elementor-element-8a72385 {
  flex: 0 0 38%;
  max-width: 220px;
  width: 38%;
  align-self: stretch;
  padding: 0 !important;
  overflow: hidden;
}

.elementor-element.elementor-element-02597b6 .elementor-element-8a72385 .elementor-widget-container {
  position: static;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.elementor-element.elementor-element-02597b6 .elementor-element-8a72385 img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 120px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.elementor-element.elementor-element-02597b6 .e-loop-item:hover .elementor-element-8a72385 img {
  transform: scale(1.04);
}

/* Title right */
.elementor-element.elementor-element-02597b6 .elementor-element-8bc8f74 {
  flex: 1 1 auto;
  min-width: 0;
  padding: 18px 22px !important;
  display: flex;
  align-items: center;
  text-align: left !important;
}

.elementor-element.elementor-element-02597b6 .elementor-element-8bc8f74 .elementor-widget-container {
  position: static;
  width: 100%;
  padding: 0;
}

.elementor-element.elementor-element-02597b6 .elementor-heading-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  text-align: left !important;
  color: var(--wi-offwhite);
  word-break: normal;
  overflow-wrap: break-word;
}

.elementor-element.elementor-element-02597b6 .elementor-heading-title a {
  color: var(--wi-offwhite);
  text-decoration: none;
  transition: color 0.22s ease;
}

.elementor-element.elementor-element-02597b6 .elementor-heading-title a:hover {
  color: var(--wi-orange);
}

/* =========================================================
   Swiper arrows — ALIGNED TO THE CARD, NOT THE WIDGET.
   Swiper's default `top: 50%` centers within the widget
   container, which includes the pagination below the card.
   We override with top:0 / bottom:(pagination height) and
   margin:auto so the button centers on the card area only.
   ========================================================= */

.elementor-element.elementor-element-02597b6 .elementor-swiper-button {
  position: absolute;
  top: 0 !important;
  bottom: 42px;                /* card area only: pagination row + margin */
  margin-top: auto !important;
  margin-bottom: auto !important;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(23, 23, 23, 0.94);
  border: 1px solid var(--wi-border);
  color: var(--wi-white);
  transition: var(--wi-transition);
  opacity: 0.95;
  z-index: 3;
  /* Elementor/Swiper use translateY(-50%) on the button — kills optical centering */
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.elementor-element.elementor-element-02597b6 .elementor-swiper-button-prev {
  left: 10px;
  right: auto;
}
.elementor-element.elementor-element-02597b6 .elementor-swiper-button-next {
  right: 10px;
  left: auto;
}

.elementor-element.elementor-element-02597b6 .elementor-swiper-button:hover {
  background: var(--wi-orange);
  border-color: var(--wi-orange);
  color: var(--wi-white);
  opacity: 1;
}

.elementor-element.elementor-element-02597b6 .elementor-swiper-button:active {
  background: var(--wi-orange-deep);
  border-color: var(--wi-orange-deep);
}

.elementor-element.elementor-element-02597b6 .elementor-swiper-button svg {
  width: 12px;
  height: 12px;
  display: block;
  flex-shrink: 0;
  margin: 0;
  vertical-align: middle;
}

/* Optical tweak: chevrons sit heavy bottom-left / top-right in a square viewBox */
.elementor-element.elementor-element-02597b6 .elementor-swiper-button-prev svg {
  transform: translateX(-1px);
}
.elementor-element.elementor-element-02597b6 .elementor-swiper-button-next svg {
  transform: translateX(1px);
}

/* Pagination — full width of widget, centered under the whole card
   (overrides Swiper inline left/transform that pins bullets to slide edge) */
.elementor-element.elementor-element-02597b6 .swiper-pagination.swiper-pagination-horizontal,
.elementor-element.elementor-element-02597b6 .swiper-pagination {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px;
  height: auto !important;
  min-height: 0 !important;
  text-align: center !important;
  align-self: stretch !important;
  background: transparent !important;
  background-color: transparent !important;
}

.elementor-element.elementor-element-02597b6 .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  margin: 0 !important;
  left: auto !important;
  opacity: 1;
  background: var(--wi-slate);
  transition: all 0.22s ease;
  cursor: pointer;
  position: relative !important;
  flex-shrink: 0;
}

.elementor-element.elementor-element-02597b6 .swiper-pagination-bullet:hover {
  background: rgba(70, 77, 85, 1);
}

.elementor-element.elementor-element-02597b6 .swiper-pagination-bullet-active {
  width: 22px;
  border-radius: 999px;
  background: var(--wi-orange);
}

/* =========================================================
   BOTTOM STRIP  (1e3eb88)
   Deepest neutral tier — anchors social / legal below main footer.
   ========================================================= */

.elementor-element.elementor-element-1e3eb88 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 30px 48px 26px !important;
  background-color: var(--wi-footer-deep) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 36%),
    linear-gradient(180deg, #1c1c1c 0%, var(--wi-footer-deep) 55%, #121212 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100%, 100% 100% !important;
  border-top: 1px solid rgba(0, 0, 0, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

/* Left block (social container + copyright) */
.elementor-element.elementor-element-a8994b5 {
  flex: 1 1 auto !important;
  width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 0 !important;
}

/* Social icon container (cee1853) */
.elementor-element.elementor-element-cee1853 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center;
  gap: 10px;
  padding: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.elementor-element.elementor-element-cee1853 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.elementor-element.elementor-element-cee1853:empty {
  display: none !important;
}

/*
 * MS Social / Socicon — plugin + theme often load AFTER this file.
 * Scope under footer root + repeat key rules with !important so colour wins.
 * Socicon glyphs sit on ::before with different font metrics — grid + nudge.
 */
.elementor-element.elementor-element-f4208a5 .ms-s-w,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 .ms-s-w,
.elementor-element.elementor-element-cee1853 .ms-s-w {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.elementor-element.elementor-element-f4208a5 a.ms-s-i.s-icon,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 a.ms-s-i.s-icon,
.elementor-element.elementor-element-cee1853 a.ms-s-i.s-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  color: #fb7302 !important;
  transition: color 0.2s ease !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.elementor-element.elementor-element-f4208a5 a.ms-s-i.s-icon:hover,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 a.ms-s-i.s-icon:hover,
.elementor-element.elementor-element-cee1853 a.ms-s-i.s-icon:hover {
  color: #ffffff !important;
}

/* Icon box: same em square for both networks */
.elementor-element.elementor-element-f4208a5 a.ms-s-i.s-icon > i[class*="socicon-"],
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 a.ms-s-i.s-icon > i[class*="socicon-"],
.elementor-element.elementor-element-cee1853 a.ms-s-i.s-icon > i[class*="socicon-"] {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-style: normal !important;
  color: inherit !important;
  text-align: center !important;
  position: relative !important;
}

.elementor-element.elementor-element-f4208a5 a.ms-s-i.s-icon > i[class*="socicon-"]::before,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 a.ms-s-i.s-icon > i[class*="socicon-"]::before,
.elementor-element.elementor-element-cee1853 a.ms-s-i.s-icon > i[class*="socicon-"]::before {
  color: inherit !important;
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Per-glyph nudge — Socicon FB/IG often misalign vs each other */
.elementor-element.elementor-element-f4208a5 .socicon-facebook::before,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 .socicon-facebook::before,
.elementor-element.elementor-element-cee1853 .socicon-facebook::before {
  transform: translateY(-2px) !important;
}

.elementor-element.elementor-element-f4208a5 .socicon-instagram::before,
.elementor-element.elementor-element-f4208a5 .elementor-element-cee1853 .socicon-instagram::before,
.elementor-element.elementor-element-cee1853 .socicon-instagram::before {
  transform: translateY(0) !important;
}

/* Widget ID fallback (if CSS is pasted on the social widget only) */
.elementor-element.elementor-element-054f454 a.ms-s-i.s-icon {
  color: #fb7302 !important;
}
.elementor-element.elementor-element-054f454 a.ms-s-i.s-icon:hover {
  color: #ffffff !important;
}

/* Elementor native social icons (if used instead) */
.elementor-element.elementor-element-cee1853 .elementor-icon,
.elementor-element.elementor-element-cee1853 .elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #fb7302 !important;
  transition: color 0.2s ease;
  line-height: 0;
}

.elementor-element.elementor-element-cee1853 .elementor-icon:hover,
.elementor-element.elementor-element-cee1853 .elementor-social-icon:hover {
  background: none !important;
  color: #ffffff !important;
}

.elementor-element.elementor-element-cee1853 .elementor-icon svg,
.elementor-element.elementor-element-cee1853 .elementor-social-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Copyright */
.elementor-element.elementor-element-b6e92dd {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
}

.elementor-element.elementor-element-b6e92dd .elementor-widget-container {
  margin: 0;
  padding: 0;
  color: var(--wi-text);
  font-size: 13.5px;
  line-height: 1.4;
  text-align: left;
}

.elementor-element.elementor-element-b6e92dd small {
  display: block;
  margin-top: 2px;
  color: var(--wi-text-faint);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* Divider between social and copyright if icons are present */
.elementor-element.elementor-element-cee1853:not(:empty) + .elementor-element.elementor-element-b6e92dd {
  padding-left: 18px !important;
  margin-left: 4px;
  border-left: 1px solid var(--wi-border-soft);
}

/* Right block: verse */
.elementor-element.elementor-element-5c0f1de {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: 460px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.elementor-element.elementor-element-01c83df {
  width: 100% !important;
}

.elementor-element.elementor-element-01c83df .elementor-widget-container {
  width: 100%;
  padding: 0;
  margin: 0;
}

.elementor-element.elementor-element-01c83df blockquote {
  margin: 0;
  padding: 2px 12px;
  background: transparent;
  border: 0;
  border-left: 2px solid var(--wi-orange);
  border-radius: 0;
}

.elementor-element.elementor-element-01c83df blockquote p {
  margin: 0 !important;
  color: var(--wi-text-muted);
  font-size: 12px;
  line-height: 1.55;
  font-style: italic;
  text-align: right !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
  .elementor-element.elementor-element-68835e3 {
    padding: 48px 32px 44px !important;
  }
  .elementor-element.elementor-element-4d6ed41 { gap: 32px; }
  .elementor-element.elementor-element-be2459f { flex: 0 1 220px !important; }
  .elementor-element.elementor-element-a415335 { flex: 0 1 150px !important; }
  .elementor-element.elementor-element-0c131eb { flex: 0 1 170px !important; }
  .elementor-element.elementor-element-1e3eb88 { padding: 24px 32px !important; }
}

@media (max-width: 900px) {
  .elementor-element.elementor-element-f4208a5 .elementor-element-be2459f::after,
  .elementor-element.elementor-element-f4208a5 .elementor-element-a415335::after,
  .elementor-element.elementor-element-f4208a5 .elementor-element-0c131eb::after {
    content: none !important;
  }

  .elementor-element.elementor-element-68835e3 {
    padding: 40px 28px 38px !important;
  }

  .elementor-element.elementor-element-4d6ed41 {
    flex-wrap: wrap !important;
    /* Was space-between → logo far left + nav slammed to the right on tablet */
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 28px 24px;
  }

  .elementor-element.elementor-element-be2459f,
  .elementor-element.elementor-element-a415335,
  .elementor-element.elementor-element-0c131eb {
    flex: 1 1 28% !important;
    max-width: 380px;
    min-width: 160px;
  }

  .elementor-element.elementor-element-a415335,
  .elementor-element.elementor-element-0c131eb {
    justify-content: flex-start !important;
  }

  .elementor-element.elementor-element-7d2520b {
    flex: 1 1 100% !important;
    order: 4;
    justify-content: flex-start !important;
  }

  .elementor-element.elementor-element-1e3eb88 {
    flex-wrap: wrap !important;
    gap: 12px;
    padding: 22px 28px 18px !important;
    text-align: center;
    justify-content: center;
  }

  .elementor-element.elementor-element-a8994b5 {
    flex: 1 1 100% !important;
    justify-content: center;
  }

  .elementor-element.elementor-element-b6e92dd .elementor-widget-container {
    text-align: center;
  }

  .elementor-element.elementor-element-5c0f1de {
    flex: 1 1 100% !important;
    max-width: 560px !important;
    margin: 0 auto;
    justify-content: center !important;
  }

  .elementor-element.elementor-element-01c83df blockquote {
    border-left: 0;
    border-top: 2px solid var(--wi-orange);
    padding: 8px 0 0;
    max-width: 560px;
    margin: 0 auto;
  }

  .elementor-element.elementor-element-01c83df blockquote p {
    text-align: center !important;
  }
}

@media (max-width: 640px) {
  .elementor-element.elementor-element-68835e3 {
    padding: 32px 20px 30px !important;
    min-height: 0 !important;
  }

  .elementor-element.elementor-element-4d6ed41 {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    gap: 24px;
  }

  /*
   * flex: 1 1 100% was flex-GROW:1 — columns ate all vertical space → giant empty band
   * under the logo while the carousel sat thousands of px below the fold.
   */
  .elementor-element.elementor-element-be2459f,
  .elementor-element.elementor-element-a415335,
  .elementor-element.elementor-element-0c131eb,
  .elementor-element.elementor-element-7d2520b {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    max-width: 100% !important;
  }

  .elementor-element.elementor-element-5e645b1 img {
    width: clamp(180px, 55vw, 240px);
  }

  /* Card stacks on mobile */
  .elementor-element.elementor-element-02597b6 .elementor-element-fea5902 > .e-con-inner {
    flex-direction: column !important;
  }

  .elementor-element.elementor-element-02597b6 .elementor-element-8a72385 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }

  .elementor-element.elementor-element-02597b6 .elementor-element-8a72385 img {
    aspect-ratio: 16 / 9;
    min-height: 0;
    height: auto;
  }

  .elementor-element.elementor-element-02597b6 .elementor-element-8bc8f74 {
    padding: 14px 18px 16px !important;
  }

  .elementor-element.elementor-element-1e3eb88 {
    padding: 20px 20px 18px !important;
  }

  .elementor-element.elementor-element-b6e92dd .elementor-widget-container {
    font-size: 13px;
  }

  .elementor-element.elementor-element-01c83df blockquote p {
    font-size: 11.5px;
  }
}

/* =========================================================
   TABLET / MOBILE — nav + carousel (fixes “empty footer” + huge vertical stretch)
   ========================================================= */

@media (max-width: 1023px) {
  /*
   * Keep the vertical link list visible. Elementor’s responsive rules often set
   * .elementor-nav-menu--main to display:none — that plus our old global
   * display:none on the toggle removed all navigation on small screens.
   */
  .elementor-element.elementor-element-f4208a5 .elementor-element-f42f9b0 .elementor-nav-menu--main,
  .elementor-element.elementor-element-f4208a5 .elementor-element-fd154a5 .elementor-nav-menu--main {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .elementor-element.elementor-element-f4208a5 .elementor-element-f42f9b0 .elementor-menu-toggle,
  .elementor-element.elementor-element-f4208a5 .elementor-element-fd154a5 .elementor-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .elementor-element.elementor-element-f4208a5 .elementor-element-f42f9b0 .elementor-nav-menu--dropdown,
  .elementor-element.elementor-element-f4208a5 .elementor-element-fd154a5 .elementor-nav-menu--dropdown {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .elementor-element.elementor-element-f4208a5 .elementor-element-f42f9b0 .elementor-nav-menu,
  .elementor-element.elementor-element-f4208a5 .elementor-element-fd154a5 .elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
  }
}

@media (max-width: 767px) {
  /* Prevent the root band from clipping rebuilt children */
  .elementor-element.elementor-element-f4208a5 {
    overflow: visible !important;
    min-height: 0 !important;
  }

  /* Same column fix for “tweener” widths (641–767px) that skip the 640px block */
  .elementor-element.elementor-element-4d6ed41 {
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .elementor-element.elementor-element-be2459f,
  .elementor-element.elementor-element-a415335,
  .elementor-element.elementor-element-0c131eb,
  .elementor-element.elementor-element-7d2520b {
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }

  /*
   * Carousel: absolute arrow positioning (top/bottom) was sized for the horizontal
   * card; in the stacked mobile layout it can balloon the widget height. Hide arrows
   * — users can swipe / use dots.
   */
  .elementor-element.elementor-element-02597b6 .elementor-swiper-button.elementor-swiper-button-prev,
  .elementor-element.elementor-element-02597b6 .elementor-swiper-button.elementor-swiper-button-next,
  .elementor-element.elementor-element-02597b6 .elementor-swiper-button {
    display: none !important;
  }

  .elementor-element.elementor-element-02597b6 .swiper,
  .elementor-element.elementor-element-02597b6 .elementor-swiper,
  .elementor-element.elementor-element-02597b6 .swiper-container {
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .elementor-element.elementor-element-02597b6 .swiper-wrapper {
    align-items: stretch !important;
  }

  .elementor-element.elementor-element-02597b6 .swiper-slide {
    min-height: 0 !important;
    height: auto !important;
  }

  /* Break height:100% chain — was inheriting a tall flex column → empty void */
  .elementor-element.elementor-element-02597b6 .elementor-element-fea5902 {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-element.elementor-element-02597b6 .elementor-element-fea5902 > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-element.elementor-element-02597b6 .elementor-widget-container {
    min-height: 0 !important;
  }
}

/* =========================================================
   CONTENT IDEAS (Elementor — when you flesh out the new site)
   The footer felt “underwhelming” because it’s only utility:
   logo, links, one widget, legal. Low-risk adds:
   • One line under the logo (Heading, small): short value line.
   • “info@…” + WhatsApp / phone as a single text row under nav
     or under the logo (matches your pricing page contact pattern).
   • Optional 4th column: “Get in touch” with one CTA button.
   • Loop carousel title above slides: “Latest from the blog”
     (Heading widget) — gives the block a clear purpose.
   ========================================================= *//* End custom CSS */