/* Sunrise / Arbitrage cards — all-side padding */
.elementor-20142 .elementor-element.elementor-element-d6ba665,
.elementor-20142 .elementor-element.elementor-element-ec6880d {
  --padding-top: 32px !important;
  --padding-bottom: 32px !important;
  --padding-left: 36px !important;
  --padding-right: 36px !important;
  padding: 32px 36px !important;
  box-sizing: border-box;
}

/* Local same-origin icon fonts — fixes CORS when page is on global.local */
@font-face {
  font-family: 'fontello';
  src: url('/wp-content/themes/globalalpha/assets/fonts/fontello/fontello.woff2') format('woff2'),
       url('/wp-content/themes/globalalpha/assets/fonts/fontello/fontello.woff') format('woff'),
       url('/wp-content/themes/globalalpha/assets/fonts/fontello/fontello.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'trx_addons_icons';
  src: url('/wp-content/themes/globalalpha/assets/fonts/trx_addons_icons/trx_addons_icons.woff2') format('woff2'),
       url('/wp-content/themes/globalalpha/assets/fonts/trx_addons_icons/trx_addons_icons.woff') format('woff'),
       url('/wp-content/themes/globalalpha/assets/fonts/trx_addons_icons/trx_addons_icons.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'qw_extension_icons';
  src: url('/wp-content/themes/globalalpha/assets/fonts/qw_extension_icons/qw_extension_icons.woff2') format('woff2'),
       url('/wp-content/themes/globalalpha/assets/fonts/qw_extension_icons/qw_extension_icons.woff') format('woff'),
       url('/wp-content/themes/globalalpha/assets/fonts/qw_extension_icons/qw_extension_icons.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* Blog Read More glyph */
.sc_services_alter .sc_services_item .sc_services_item_more_link .link_icon:before {
  font-family: "fontello" !important;
  content: '\e9a4' !important;
  font-size: 9px !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  font-style: normal !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Founder CTA target — clear fixed header */
#Contact {
  scroll-margin-top: 100px;
}

/* Smooth generic scrolling (desktop + mobile); respect reduced motion */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Dual copy: desktop full / mobile short */
.ga-copy-mobile {
  display: none;
}
.ga-copy-desktop {
  display: block;
}

/* ===== Blog cards — consistent heading / description / button ===== */
.sc_services_alter .swiper-wrapper,
.sc_services_alter .slides.slider-wrapper {
  align-items: stretch !important;
}

.sc_services_alter .slider-slide.swiper-slide {
  height: auto !important;
  box-sizing: border-box;
  /* Do NOT set display:flex here — it breaks Swiper width calc on desktop (3-up) */
}

.sc_services_alter .sc_services_item {
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  min-height: 340px;
  height: 100%;
  padding: 2em 1.6em !important;
  background-color: #fff;
}

.sc_services_alter .sc_services_item .sc_services_item_info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
  height: 100%;
}

.sc_services_alter .sc_services_item .sc_services_item_header {
  flex: 0 0 auto;
  margin: 0 0 0.65em;
  /* Reserve full 2-line title space (use rem to match title font-size) */
  min-height: calc(1.2rem * 1.4 * 2);
  max-height: none;
  overflow: visible;
  position: relative;
  z-index: 1;
}

.sc_services_alter .sc_services_item .sc_services_item_title,
.sc_services_alter .sc_services_item .sc_services_item_title.entry-title {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #1c1f47 !important;
  position: relative !important;
  z-index: 1;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: calc(1.2rem * 1.4 * 2) !important;
  height: auto !important;
}

.sc_services_alter .sc_services_item .sc_services_item_title a {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: calc(1.2rem * 1.4 * 2) !important;
  color: inherit !important;
  text-decoration: none !important;
  font: inherit !important;
  line-height: inherit !important;
  word-break: break-word;
  position: relative !important;
}

.sc_services_alter .sc_services_item .sc_services_item_content {
  position: relative !important;
  z-index: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  flex: 0 1 auto;
  min-height: 0;
  max-height: calc(0.95rem * 1.55 * 5); /* 5 excerpt lines */
  overflow: hidden !important;
}

.sc_services_alter .sc_services_item .sc_services_item_content,
.sc_services_alter .sc_services_item .sc_services_item_content p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #6b6e85 !important;
}

.sc_services_alter .sc_services_item .sc_services_item_content p {
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  overflow: hidden !important;
  max-height: calc(0.95rem * 1.55 * 5) !important;
}

.sc_services_alter .sc_services_item .sc_services_item_button {
  margin: 1.25em 0 0 !important;
  margin-top: auto !important;
  padding-top: 0.25em;
}

.sc_services_alter .sc_services_item .sc_services_item_more_link {
  display: inline-flex !important;
  align-items: center;
  gap: 0;
  min-height: 2.3em;
}

.sc_services_alter .sc_services_item .sc_services_item_more_link .link_icon {
  flex: 0 0 auto;
}

/* Keep Read More / titles clickable */
.sc_services_alter .sc_services_item .sc_services_item_more_link,
.sc_services_alter .sc_services_item .sc_services_item_title a,
.sc_services_alter .sc_services_item .sc_services_item_button {
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
  cursor: pointer;
}

/* Keep sector overlay links full-card (do NOT force position:relative) */
.sc_services_strong .sc_services_item {
  position: relative;
  cursor: pointer;
}
.sc_services_strong .sc_services_item .sc_services_item_link {
  position: absolute !important;
  inset: 0;
  z-index: 10;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer;
}

/* Custom cursor ONLY on Key Sectors + Blogs sliders (desktop) */
.trx_addons_mouse_helper {
  pointer-events: none !important;
  opacity: 0 !important;
}
body.ga-slider-cursor .trx_addons_mouse_helper.trx_addons_mouse_helper_permanent {
  opacity: 1 !important;
}
body.ga-slider-cursor.trx_addons_hide_cursor,
body.ga-slider-cursor.trx_addons_hide_cursor * {
  cursor: none !important;
}
.ga-popup-open-live {
  display: none !important;
}

/* ===== Key Sectors slider popup ===== */
.ga-sector-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  background: rgba(28, 31, 71, 0.78);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.ga-sector-popup-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.ga-sector-popup {
  position: fixed;
  z-index: 1000001;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(0.98);
  width: min(980px, calc(100vw - 24px));
  max-height: min(90vh, 720px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}
.ga-sector-popup.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.ga-sector-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #1c1f47;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
.ga-sector-popup-close:hover {
  background: #1c1f47;
  color: #fff;
}
.ga-sector-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #1c1f47;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}
.ga-sector-nav:hover {
  background: #ffbc7d;
  color: #1c1f47;
}
.ga-sector-prev {
  left: 12px;
}
.ga-sector-next {
  right: 12px;
}
.ga-sector-track {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 520px;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  touch-action: pan-y;
  cursor: grab;
}
.ga-sector-slide {
  flex: 0 0 100%;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  min-height: 520px;
  max-height: min(90vh, 720px);
}
.ga-sector-slide-media {
  background-size: cover;
  background-position: center;
  background-color: #1c1f47;
  min-height: 280px;
}
.ga-sector-slide-body {
  padding: 40px 48px 48px 40px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  color: #1c1f47;
}
.ga-sector-number {
  display: block;
  font-family: "DM Sans", sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: #8a8da8;
  margin-bottom: 0.5rem;
}
.ga-sector-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.6rem, 2.5vw, 2.25rem);
  line-height: 1.2;
  margin: 0 0 1rem;
  font-weight: 400;
  color: #1c1f47;
}
.ga-sector-about {
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #444;
}
.ga-sector-about p {
  margin: 0 0 1em;
}
.ga-sector-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 5;
  pointer-events: none;
}
.ga-sector-dots .ga-sector-dot {
  pointer-events: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(28, 31, 71, 0.25);
  cursor: pointer;
}
.ga-sector-dots .ga-sector-dot.is-active {
  background: #1c1f47;
  width: 22px;
  border-radius: 999px;
}

@media (max-width: 767px) {
  .ga-sector-popup {
    width: calc(100vw - 12px);
    max-height: 94vh;
    border-radius: 14px;
  }
  .ga-sector-slide {
    grid-template-columns: 1fr;
    min-height: 0;
    max-height: 94vh;
  }
  .ga-sector-track {
    min-height: 70vh;
  }
  .ga-sector-slide-media {
    min-height: 200px;
    max-height: 220px;
  }
  .ga-sector-slide-body {
    padding: 22px 20px 56px;
    max-height: calc(94vh - 220px);
  }
  .ga-sector-nav {
    width: 38px;
    height: 38px;
    font-size: 24px;
  }
  .ga-sector-prev {
    left: 6px;
  }
  .ga-sector-next {
    right: 6px;
  }
}

/* ===== Post / sector popup ===== */
.ga-post-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  background: rgba(28, 31, 71, 0.72);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.ga-post-popup-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.ga-post-popup {
  position: fixed;
  z-index: 1000001;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(0.98);
  width: min(920px, calc(100vw - 32px));
  max-height: min(88vh, 900px);
  background: #fff;
  color: #1c1f47;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ga-post-popup.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.ga-post-popup-close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #f2f2f6;
  color: #1c1f47;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.ga-post-popup-close:hover {
  background: #1c1f47;
  color: #fff;
}
.ga-post-popup-content {
  overflow: auto;
  padding: 40px 44px 36px;
  -webkit-overflow-scrolling: touch;
}
.ga-post-popup-loading,
.ga-post-popup-error {
  margin: 2rem 0;
  text-align: center;
  font-family: "DM Sans", sans-serif;
}
.ga-popup-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  line-height: 1.25;
  margin: 0 0 1rem;
  padding-right: 2rem;
  color: #1c1f47;
}
.ga-popup-body {
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #333;
}
.ga-popup-body img {
  max-width: 100%;
  height: auto;
}
.ga-popup-body p {
  margin: 0 0 1em;
}
.ga-popup-open-live {
  display: none !important;
}
body.ga-popup-open {
  overflow: hidden;
}

/* ===== Mobile / tablet optimization ===== */
@media (max-width: 1024px) {
  body.trx_addons_hide_cursor,
  body.trx_addons_hide_cursor * {
    cursor: auto !important;
  }
  .trx_addons_mouse_helper {
    display: none !important;
  }

  .ga-post-popup {
    width: calc(100vw - 16px);
    max-height: 92vh;
    border-radius: 12px;
  }
  .ga-post-popup-content {
    padding: 28px 18px 24px;
  }
}


/* ===== MOBILE ONLY: content gutters (NOT full-canvas margin) ===== */
@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  :root {
    --ga-mobile-gutter: 20px;
  }

  /* Kill accidental horizontal overflow / overlap stacking */
  body,
  #page_wrap,
  .page_wrap,
  .content_wrap,
  .elementor-20142 {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  .elementor-20142 > .elementor-element,
  .elementor-20142 .elementor-section,
  .elementor-20142 .e-con.e-parent {
    position: relative;
    z-index: 1;
    clear: both;
    max-width: 100%;
    overflow: visible;
  }

  /* Keep section backgrounds full-bleed — do NOT pad .e-con / full canvas */
  .elementor-20142 .e-con,
  .elementor-20142 .e-con-full,
  .elementor-20142 .elementor-element.e-con {
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Pad CONTENT only — never shrink full-bleed section backgrounds */
  .elementor-20142 .e-con > .e-con-inner,
  .elementor-20142 .e-con-boxed > .e-con-inner,
  .elementor-section > .elementor-container {
    padding-left: var(--ga-mobile-gutter) !important;
    padding-right: var(--ga-mobile-gutter) !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Nested inners: don't double the gutter */
  .elementor-20142 .e-con .e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .footer_wrap .footer_widgets_wrap,
  .footer_wrap .footer_copyright_wrap {
    padding-left: var(--ga-mobile-gutter) !important;
    padding-right: var(--ga-mobile-gutter) !important;
    box-sizing: border-box;
  }

  /* Extra section spacing so mobile blocks don't stack into each other */
  .elementor-20142 > .elementor-element.e-con,
  .elementor-20142 > .elementor-section {
    margin-bottom: 0;
    padding-top: max(var(--padding-top, 0px), 12px);
    padding-bottom: max(var(--padding-bottom, 0px), 12px);
  }

  /* Key Sectors cards: no forced top padding from the rule above */
  .elementor-20142 > .elementor-element.elementor-element-47480d4,
  .elementor-20142 > .elementor-element.elementor-element-dc477b1 {
    padding-top: 0 !important;
  }

  /* Header logo — 20px from left */
  .top_panel .elementor-element-494dd43 > .e-con-inner,
  .top_panel .elementor-element-ebaa198,
  .top_panel .elementor-element-447fb25 {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .top_panel .elementor-element-ebaa198 img,
  .top_panel .elementor-element-e23b4cf img {
    margin-left: 0 !important;
  }

  /* Hero: left-align title / subtitle / description — 20px from left */
  .elementor-20142 .elementor-element.elementor-element-0baeb96 {
    --padding-top: 28px !important;
    --padding-bottom: 28px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --min-height: 70vh !important;
    --align-items: stretch !important;
    --justify-content: flex-start !important;
  }

  .elementor-20142 .elementor-element.elementor-element-0baeb96 > .elementor-widget,
  .elementor-20142 .elementor-element.elementor-element-22ab8a1,
  .elementor-20142 .elementor-element.elementor-element-5b51e6d,
  .elementor-20142 .elementor-element.elementor-element-1049858 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    text-align: left !important;
    padding-top: 0 !important;
    padding-bottom: 0.35rem !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .elementor-20142 .elementor-element.elementor-element-22ab8a1 .elementor-heading-title,
  .elementor-20142 .elementor-element.elementor-element-5b51e6d .elementor-heading-title,
  .elementor-20142 .elementor-element.elementor-element-1049858,
  .elementor-20142 .elementor-element.elementor-element-1049858 p {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-20142 .elementor-element.elementor-element-22ab8a1 .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 3.25rem) !important;
    line-height: 1.15 !important;
  }

  .elementor-20142 .elementor-element.elementor-element-5b51e6d .elementor-heading-title {
    font-size: clamp(1.35rem, 6vw, 2rem) !important;
    line-height: 1.25 !important;
  }

  .elementor-20142 .elementor-element.elementor-element-1049858 {
    padding-top: 0.75rem !important;
  }

  .elementor-20142 .elementor-element.elementor-element-1049858 p {
    padding: 0 !important;
  }

  .elementor-20142 .elementor-heading-title {
    word-wrap: break-word;
    overflow-wrap: anywhere;
  }

  /* Sunrise / Arbitrage */
  .elementor-20142 .elementor-element.elementor-element-d6ba665,
  .elementor-20142 .elementor-element.elementor-element-ec6880d {
    padding: 22px 18px !important;
    margin-left: var(--ga-mobile-gutter) !important;
    margin-right: var(--ga-mobile-gutter) !important;
    width: auto !important;
    max-width: calc(100% - (var(--ga-mobile-gutter) * 2)) !important;
    box-sizing: border-box;
  }

  .elementor-20142 .elementor-element.elementor-element-f02441f,
  .elementor-20142 .elementor-element.elementor-element-57947d1,
  .elementor-20142 .elementor-element.elementor-element-e77d1b1 {
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }

  /* "We predominantly invest in US securities" — proper title padding */
  .elementor-20142 .elementor-element.elementor-element-f02441f {
    background-color: #ffffff !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-f02441f > .e-con-inner,
  .elementor-20142 .elementor-element.elementor-element-d00e49c > .e-con-inner,
  .elementor-20142 .elementor-element.elementor-element-543b041,
  .elementor-20142 .elementor-element.elementor-element-18762ce {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fb56c9f {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px 20px 16px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fb56c9f .elementor-heading-title {
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    line-height: 1.35 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-9330a5b,
  .elementor-20142 .elementor-element.elementor-element-84a64e2 {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .elementor-20142 .elementor-column,
  .elementor-20142 .elementor-col-50,
  .elementor-20142 .elementor-col-100 {
    width: 100% !important;
    position: relative !important;
    left: auto !important;
    float: none !important;
  }

  /* Absolute widgets that overlap on mobile */
  .elementor-20142 .elementor-absolute,
  .elementor-20142 .elementor-widget.elementor-absolute {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0.75rem 0 !important;
  }

  /* ---- Key Sectors + Blogs: 1 card + dots ---- */
  .sc_services_alter .slider_outer,
  .sc_services_alter .slider_container {
    max-width: 100%;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Key Sectors intro text (Emerging Themes) — break flex stretch that creates navy void */
  .elementor-20142 .elementor-element.elementor-element-dc477b1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    --display: block !important;
    --flex-direction: column !important;
    --container-widget-height: auto !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-align-self: initial !important;
    --align-items: flex-start !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
    --min-height: 0px !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-dc477b1 > .e-con-inner {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 20px !important;
    padding-bottom: 12px !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }
  /* Kill huge spacer above Emerging Themes */
  .elementor-20142 .elementor-element.elementor-element-c7ca5a9,
  .elementor-20142 .elementor-element.elementor-element-c7ca5a9 .elementor-spacer,
  .elementor-20142 .elementor-element.elementor-element-c7ca5a9 .elementor-spacer-inner {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
  }
  .elementor-20142 .elementor-element.elementor-element-51418a6,
  .elementor-20142 .elementor-element.elementor-element-b80fd45,
  .elementor-20142 .elementor-element.elementor-element-61a5a83,
  .elementor-20142 .elementor-element.elementor-element-2fa8c2a {
    display: block !important;
    --display: block !important;
    --width: 100% !important;
    --flex-direction: column !important;
    --container-widget-width: 100% !important;
    --container-widget-height: auto !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-align-self: flex-start !important;
    --align-items: flex-start !important;
    --flex-grow: 0 !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
    --min-height: 0px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-self: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 0 !important;
    margin: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-e9edd86 {
    display: block !important;
    margin: 0 0 0.5rem !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-e9edd86 .sc_item_subtitle {
    display: block !important;
    margin: 0 0 0.35rem !important;
  }
  .elementor-20142 .elementor-element.elementor-element-e9edd86 .sc_item_title {
    margin: 0 !important;
    line-height: 1.15 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-9de3924 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-9de3924 p {
    margin: 0 !important;
  }

  /* Cards sit immediately under description */
  .elementor-20142 .elementor-element.elementor-element-47480d4 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --padding-top: 0px !important;
    --padding-bottom: 8px !important;
    --container-widget-height: auto !important;
    --container-widget-flex-grow: 0 !important;
    --min-height: 0px !important;
    padding: 0 0 8px !important;
    padding-top: 0 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    position: relative;
    z-index: 1;
    background-color: #1c1f47 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-47480d4 > .e-con-inner {
    padding: 0 20px 8px !important;
    padding-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-d136cf7,
  .elementor-20142 .elementor-element.elementor-element-d136cf7 .elementor-widget-container,
  .sc_services_strong,
  .sc_services_strong .sc_services_slider,
  .sc_services_strong .slider_outer {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
  }

  /* Viewport clips to one card — do NOT force wrapper to 100% width (that stacks slides) */
  .sc_services_strong .slider_container.swiper-slider-container {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100vw - 40px) !important;
    max-height: calc(100vw - 40px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  .sc_services_strong .slides.slider-wrapper,
  .sc_services_strong .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 0 !important;
    overflow: visible !important;
    box-sizing: content-box !important;
  }

  .sc_services_strong .slider-slide.swiper-slide {
    /* Width/flex set in px by JS — do NOT use 100% (collapses Swiper translate) */
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    height: auto !important;
  }

  .sc_services_strong .sc_services_item {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    position: relative !important;
  }

  /* ThemeREX uses :before { padding-top:115% } as aspect spacer + absolute content.
     We previously set content to position:relative — that pushed the image BELOW the
     spacer and created the huge navy void. Keep absolute fill; kill the spacer. */
  .sc_services_strong .sc_services_item:before {
    content: none !important;
    display: none !important;
    padding: 0 !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* True 1:1 card — absolute fill inside the square slide */
  .sc_services_strong .sc_services_item .sc_services_item_content {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    aspect-ratio: unset !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: block !important;
    border-radius: 8px;
    overflow: hidden !important;
  }
  .sc_services_strong .sc_services_item .sc_services_item_content_inner {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 1rem 1.1rem !important;
    padding-top: 0.85rem !important;
    box-sizing: border-box !important;
  }
  .sc_services_strong .sc_services_item .sc_services_item_link {
    position: absolute !important;
    inset: 0 !important;
  }

  /* Dots sit under the card, not inside a tall empty area */
  .sc_services_strong .slider_outer {
    padding-bottom: 2rem !important;
  }

  .sc_services_alter .slider-slide.swiper-slide {
    /* Width/flex set in px by JS — avoid 100% so Swiper can translate */
    flex-shrink: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .sc_services_alter .sc_services_item {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 300px;
    padding: 1.5em 1.35em !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
  }

  /* Show pagination dots on mobile */
  .sc_services_strong .slider_outer,
  .sc_services_alter .slider_outer {
    padding-bottom: 2.25rem !important;
  }

  .sc_services_strong .swiper-pagination,
  .sc_services_alter .swiper-pagination,
  .sc_services_strong .slider_pagination,
  .sc_services_alter .slider_pagination,
  .ga-slider-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.35rem;
    z-index: 5;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .sc_services_strong .swiper-pagination-bullet,
  .sc_services_alter .swiper-pagination-bullet,
  .sc_services_strong .slider_pagination > span,
  .sc_services_alter .slider_pagination > span,
  .ga-slider-dots .ga-dot {
    width: 8px !important;
    height: 8px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.45) !important;
    opacity: 1 !important;
    display: inline-block;
    border: 0;
    padding: 0;
    cursor: pointer;
  }

  .sc_services_alter .swiper-pagination-bullet,
  .sc_services_alter .slider_pagination > span,
  .sc_services_alter + .ga-slider-dots .ga-dot,
  .elementor-element-182421e .ga-slider-dots .ga-dot {
    background: rgba(255, 255, 255, 0.45) !important;
  }

  .sc_services_strong .swiper-pagination-bullet-active,
  .sc_services_alter .swiper-pagination-bullet-active,
  .sc_services_strong .slider_pagination > span.swiper-pagination-bullet-active,
  .sc_services_alter .slider_pagination > span.swiper-pagination-bullet-active,
  .ga-slider-dots .ga-dot.is-active {
    width: 22px !important;
    border-radius: 999px !important;
    background: #ffbc7d !important;
  }

  /* Force-show theme pagination that was hidden */
  .sc_services_strong.slider_outer_nopagination .swiper-pagination,
  .sc_services_alter .slider_outer_nopagination .swiper-pagination,
  .slider_outer_nopagination .swiper-pagination,
  .slider_nopagination .swiper-pagination {
    display: flex !important;
  }

  input,
  textarea,
  select,
  .wpcf7-form-control {
    max-width: 100%;
    font-size: 16px !important;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }
}

/* Skills odometer — keep digit ribbons animatable on phone/tablet */
@media (max-width: 1024px) {
  .sc_skills_counter .sc_skills_digits {
    display: inline-block !important;
    vertical-align: top;
    line-height: 1em !important;
  }
  .sc_skills_counter .sc_skills_digits .sc_skills_digit {
    position: relative !important;
    display: inline-block !important;
    line-height: 1em !important;
    vertical-align: top;
  }
  .sc_skills_counter .sc_skills_digits .sc_skills_digit_placeholder {
    visibility: hidden !important;
    line-height: 1em !important;
  }
  .sc_skills_counter .sc_skills_digits .sc_skills_digit_wrap {
    overflow: hidden !important;
    height: 1em !important;
    position: absolute !important;
    inset: 0 !important;
  }
  .sc_skills_counter .sc_skills_digits .sc_skills_digit_ribbon {
    position: absolute !important;
    left: 0;
    right: 0;
    top: 0 !important;
    width: 100%;
  }
  .sc_skills_counter .sc_skills_digits .sc_skills_digit_value {
    display: block !important;
    line-height: 1em !important;
    height: 1em !important;
  }
}

@media (max-width: 480px) {
  :root {
    --ga-mobile-gutter: 16px;
  }

  .elementor-20142 .elementor-element.elementor-element-d6ba665,
  .elementor-20142 .elementor-element.elementor-element-ec6880d {
    padding: 18px 14px !important;
    border-radius: 16px !important;
  }

  .ga-popup-title {
    font-size: 1.35rem;
  }

  .sc_services_alter .sc_services_item {
    min-height: 280px;
    padding: 1.25em 1.1em !important;
  }
}

/* ===== MOBILE polish: sections from brief ===== */
@media (max-width: 767px) {
  .ga-copy-desktop {
    display: none !important;
  }
  .ga-copy-mobile {
    display: block !important;
  }

  /* 3 Principles — full-bleed white; kill red ThemeREX bg bleed on sides */
  .elementor-20142 .elementor-element.elementor-element-fd5e538 {
    background-color: #ffffff !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fd5e538 > .elementor-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-20142 .elementor-element.elementor-element-8ba896e,
  .elementor-20142 .elementor-element.elementor-element-8ba896e > .elementor-widget-wrap,
  .elementor-20142 .elementor-element.elementor-element-8ba896e > .elementor-element-populated {
    background-color: #ffffff !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-2e0151d,
  .elementor-20142 .elementor-element.elementor-element-fae7670 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fae7670 .sc_icons_columns_wrap,
  .elementor-20142 .elementor-element.elementor-element-fae7670 .trx_addons_columns_wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fae7670 [class*="trx_addons_column-"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
  }
  .elementor-20142 .elementor-element.elementor-element-fae7670 .sc_icons_item {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* ThemeREX scroll bg-color (#E51111) — disable on mobile (causes red side bars) */
  .trx_addons_bg_colors_overlay {
    background-color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.scheme_default,
  body.globalalpha-theme {
    background-color: #f6f5ed !important;
  }

  /* Main paragraph (Key Sectors intro) */
  .elementor-20142 .elementor-element.elementor-element-9de3924 {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Hide desktop-only founder blocks on mobile (prevent leftover height) */
  .elementor-20142 .elementor-element.elementor-element-d2c8f15,
  .elementor-20142 .elementor-element.elementor-element-8f73ffa {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Meet Our Founder (mobile-only block) */
  .elementor-20142 .elementor-element.elementor-element-0705370 {
    display: flex !important;
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 2;
    background: #ffffff !important;
  }
  .elementor-20142 .elementor-element.elementor-element-0705370 > .elementor-widget {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-0705370 .elementor-heading-title {
    text-align: center !important;
    line-height: 1.3 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-bdca0f2 img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
    display: block;
  }
  .elementor-20142 .elementor-element.elementor-element-fed0ba9,
  .elementor-20142 .elementor-element.elementor-element-a3375cb {
    text-align: center !important;
  }

  /* ===== EVERYTHING BELOW FOUNDER — force visible + stacked ===== */
  .elementor-20142 .elementor-element.elementor-element-18f09a8,
  .elementor-20142 .elementor-element.elementor-element-cdd9c36,
  .elementor-20142 .elementor-element.elementor-element-182421e,
  .footer_wrap,
  .footer_wrap_inner {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    flex-direction: column !important;
    clear: both !important;
  }

  /* Contact — dark band, readable on mobile */
  .elementor-20142 .elementor-element.elementor-element-18f09a8 {
    background-color: #1c1f47 !important;
    color: #ffffff !important;
    --flex-direction: column !important;
    --container-widget-height: auto !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_item_title,
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_item_title_text,
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_item_subtitle,
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_icons_item_description,
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_icons_item_description span {
    color: #ffffff !important;
  }
  .elementor-20142 .elementor-element.elementor-element-6d563d9,
  .elementor-20142 .elementor-element.elementor-element-758269f,
  .elementor-20142 .elementor-element.elementor-element-767ecdc {
    --flex-direction: column !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .elementor-20142 .elementor-element.elementor-element-767ecdc,
  .elementor-20142 .elementor-element.elementor-element-8c24751,
  .elementor-20142 .elementor-element.elementor-element-08f2ee0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
  .elementor-20142 .elementor-element.elementor-element-8c24751 .sc_item_title_text {
    font-size: clamp(1.6rem, 7vw, 2.1rem) !important;
    line-height: 1.25 !important;
  }

  /* Shrink huge empty spacers that push content off-screen */
  .elementor-20142 .elementor-element.elementor-element-18f09a8 .sc_height_huge .elementor-spacer-inner,
  .elementor-20142 .elementor-element.elementor-element-e533cb2 .elementor-spacer-inner,
  .elementor-20142 .elementor-element.elementor-element-b04cf23 .elementor-spacer-inner,
  .elementor-20142 .elementor-element.elementor-element-0fe3c50 .elementor-spacer-inner,
  .elementor-20142 .elementor-element.elementor-element-a29d3c4 .elementor-spacer-inner,
  .elementor-20142 .elementor-element.elementor-element-40d2186 .elementor-spacer-inner {
    height: 16px !important;
    min-height: 16px !important;
  }

  /* Contact form card */
  .elementor-20142 .elementor-element.elementor-element-442f170 {
    --width: 100% !important;
    --margin-left: 0px !important;
    --margin-right: 0px !important;
    --margin-top: 20px !important;
    --margin-bottom: 0px !important;
    --padding-left: 18px !important;
    --padding-right: 18px !important;
    --padding-top: 22px !important;
    --padding-bottom: 22px !important;
    margin: 20px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 16px !important;
  }
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd,
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd .wpcf7,
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd .form-style-1 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd .columns_wrap,
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd .column-1_2 {
    width: 100% !important;
    float: none !important;
    display: block !important;
  }
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd input,
  .elementor-20142 .elementor-element.elementor-element-ed1a5bd textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Contrasting Investment Styles */
  .elementor-20142 .elementor-element.elementor-element-cdd9c36 {
    --flex-direction: column !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    background: #ffffff !important;
    padding: 36px 20px !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-cdd9c36 > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 1.75rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1da9f87,
  .elementor-20142 .elementor-element.elementor-element-64b6656,
  .elementor-20142 .elementor-element.elementor-element-a55f777,
  .elementor-20142 .elementor-element.elementor-element-6d692f3 {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-48e5c82 {
    padding: 0 0 12px !important;
    text-align: center !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183,
  .elementor-20142 .elementor-element.elementor-element-d1050e1,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 0.5rem !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183 .elementor-image-box-wrapper,
  .elementor-20142 .elementor-element.elementor-element-d1050e1 .elementor-image-box-wrapper,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 .elementor-image-box-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183 .elementor-image-box-img,
  .elementor-20142 .elementor-element.elementor-element-d1050e1 .elementor-image-box-img,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 .elementor-image-box-img {
    margin: 0 0 0.5rem !important;
    width: 100% !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183 .elementor-image-box-img img,
  .elementor-20142 .elementor-element.elementor-element-d1050e1 .elementor-image-box-img img,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183 .elementor-image-box-content,
  .elementor-20142 .elementor-element.elementor-element-d1050e1 .elementor-image-box-content,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 .elementor-image-box-content {
    margin: 0 !important;
    padding: 0 2px 8px !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1b23183 .elementor-image-box-description,
  .elementor-20142 .elementor-element.elementor-element-d1050e1 .elementor-image-box-description,
  .elementor-20142 .elementor-element.elementor-element-ff22d45 .elementor-image-box-description {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
  }

  /* Blogs section */
  .elementor-20142 .elementor-element.elementor-element-182421e {
    background: #1c1f47 !important;
    padding: 36px 16px 48px !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-182421e > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-20142 .elementor-element.elementor-element-4da621c {
    margin: 0 0 1rem !important;
    padding: 0 !important;
    text-align: center !important;
    color: #ffffff !important;
  }
  .elementor-20142 .elementor-element.elementor-element-4da621c .elementor-heading-title {
    color: #ffffff !important;
  }

  /* Blogs — one full card per slide */
  .sc_services_alter .slider-slide.swiper-slide {
    flex-shrink: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .sc_services_alter .sc_services_item {
    border-radius: 14px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    outline: 1px solid rgba(255, 255, 255, 0.08);
    width: 100% !important;
    max-width: 100% !important;
  }
  .sc_services_alter .slider_container,
  .sc_services_alter .slider_outer {
    overflow: hidden !important;
    width: 100% !important;
  }
  .sc_services_alter .slides.slider-wrapper,
  .sc_services_alter .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    gap: 0 !important;
  }

  /* Footer breathing room */
  .footer_wrap {
    padding-top: 12px !important;
  }
}

/* Desktop: light edge breathing room only where content can kiss the viewport */
@media (min-width: 768px) {
  /* Desktop blogs: 3 cards — let Swiper own slide widths */
  .sc_services_alter .slider-slide.swiper-slide {
    height: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
  .sc_services_alter .slides.slider-wrapper,
  .sc_services_alter .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }
  .sc_services_alter .slider_container,
  .sc_services_alter .slider_outer {
    overflow: hidden !important;
  }
  .sc_services_alter .sc_services_item {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 340px;
  }

  .elementor-20142 > .elementor-element.e-con.e-parent.e-con-boxed > .e-con-inner {
    padding-left: max(24px, var(--padding-left, 0px));
    padding-right: max(24px, var(--padding-right, 0px));
    box-sizing: border-box;
  }

  /* Header logo — inset from left edge */
  .top_panel .elementor-element-447fb25,
  .top_panel .elementor-element-e23b4cf {
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box !important;
  }
  .top_panel .elementor-element-e23b4cf img {
    margin-left: 0 !important;
  }

  /* Hero — keep full-bleed video, inset text only */
  .elementor-20142 .elementor-element.elementor-element-0baeb96 {
    --padding-left: 50px !important;
    --padding-right: 50px !important;
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box !important;
  }
  .elementor-20142 .elementor-element.elementor-element-22ab8a1,
  .elementor-20142 .elementor-element.elementor-element-5b51e6d {
    padding-left: 40px !important;
  }
  .elementor-20142 .elementor-element.elementor-element-1049858 {
    padding-left: 40px !important;
  }
}