.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */.footer-cta{
  display:grid !important;
  grid-template-columns:1.4fr 1fr !important;
  min-height:480px !important;
  gap:0 !important;
  margin:0 !important;
  width:100% !important;
}

.footer-cta-text{
  background:var(--e-global-color-pl_mist, #EEF1F4) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding-top:60px !important;
  padding-bottom:60px !important;
  padding-right:40px !important;
  padding-left:max(32px, calc((100vw - 1180px) / 2 + 32px)) !important;
  box-sizing:border-box !important;
}

.footer-cta h2{
  font-family:var(--e-global-typography-primary-font-family, 'Manrope'), Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:34px !important;
  line-height:1.2 !important;
  color:var(--e-global-color-9524497, #2D3042) !important;
  margin:0 0 16px !important;
  max-width:460px !important;
}

.footer-cta p{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:16px !important;
  line-height:1.6 !important;
  color:var(--e-global-color-pl_muted, #8A8D9B) !important;
  margin:0 0 32px !important;
  max-width:420px !important;
}

.footer-cta-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 28px !important;
  border-radius:8px !important;
  background:var(--e-global-color-accent, #0E7C86) !important;
  color:#FFFFFF !important;
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  text-decoration:none !important;
  width:fit-content !important;
  transition:transform .15s ease, background-color .15s ease !important;
}
.footer-cta-btn:hover{
  transform:translateY(-1px) !important;
  background:var(--e-global-color-pl_tealhover, #0B6A72) !important;
}

.footer-cta-media{
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
.footer-cta-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
}

@media(max-width:900px){
  .footer-cta{ grid-template-columns:1fr !important; min-height:auto !important; }
  .footer-cta-text{ padding:48px 24px !important; text-align:center !important; align-items:center !important; }
  .footer-cta h2{ font-size:26px !important; max-width:100% !important; }
  .footer-cta p{ max-width:100% !important; }
  .footer-cta-media{ height:280px !important; }
}


/* ============================================================
   SECTION: Footer (brand + link columns + bottom bar)
   ============================================================ */

.site-footer{
  background:var(--e-global-color-9524497, #2D3042) !important;
  width:100% !important;
}

.footer-wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:56px 32px 32px !important;
  box-sizing:border-box !important;
}

.footer-top{
  display:grid !important;
  grid-template-columns:1.6fr 1fr 1fr 1fr !important;
  gap:32px !important;
  padding-bottom:40px !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}

.footer-brand{ padding-right:24px; }
.footer-logo{
  height:32px !important;
  width:auto !important;
  display:block !important;
  margin-bottom:16px !important;
}
.footer-brand p{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
  color:#9A9DAA !important;
  margin:0 !important;
  max-width:260px !important;
}

.footer-col{ display:flex !important; flex-direction:column !important; }
.footer-col-title{
  display:block !important;
  font-family:var(--e-global-typography-secondary-font-family, 'Manrope'), Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:11px !important;
  letter-spacing:0.06em !important;
  text-transform:uppercase !important;
  color:#6C7080 !important;
  margin-bottom:14px !important;
}
.footer-col a{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  color:#C7CAD3 !important;
  text-decoration:none !important;
  margin-bottom:11px !important;
  transition:color .15s ease !important;
}
.footer-col a:hover{ color:#FFFFFF !important; }

.footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding-top:24px !important;
  flex-wrap:wrap !important;
  gap:16px !important;
}
.footer-copyright{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:12.5px !important;
  color:#6C7080 !important;
}
.footer-legal{ display:flex !important; gap:24px !important; }
.footer-legal span{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:12.5px !important;
  color:#6C7080 !important;
}
.footer-legal a{
  font-family:var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif !important;
  font-size:12.5px !important;
  color:#6C7080 !important;
  text-decoration:none !important;
  transition:color .15s ease !important;
}
.footer-legal a:hover{ color:#FFFFFF !important; }

/* ---- Tablet (900px) ---- */
@media(max-width:900px){
  .footer-top{ grid-template-columns:1fr 1fr !important; gap:32px 24px !important; }
  .footer-brand{ grid-column:1 / -1 !important; padding-right:0 !important; }
  .footer-brand p{ max-width:420px !important; }
}

/* ---- Mobile (640px) ---- */
@media(max-width:640px){
  .footer-wrap{ padding:48px 24px 24px !important; }
  .footer-top{ grid-template-columns:1fr !important; gap:32px !important; }
  .footer-brand{ grid-column:auto !important; }
  .footer-bottom{ flex-direction:column !important; align-items:flex-start !important; gap:12px !important; }
}/* End custom CSS */