.elementor-500 .elementor-element.elementor-element-4d6a1a6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-3ea3fcf */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap');

:root{
  --blue:#394099;
  --gold:#F4B72A;
  --red:#D34623;
}

/* ======= CUSTOM FOOTER ======= */
.site-footer{
  font-family:'Montserrat',sans-serif;
  color:#eef2ff;
  background:
    radial-gradient(80% 120% at 0% 0%, rgba(244,183,42,.08) 0%, transparent 45%),
    radial-gradient(70% 110% at 100% 10%, rgba(211,70,35,.08) 0%, transparent 50%),
    #2b2f78;
  padding: 56px 20px 22px;
  position:relative;
  margin:0 !important;           /* avoid stray gaps */
  border:0;
}
.site-footer::before{
  content:"";
  position:absolute; left:0; right:0; top:0;
  height:4px; background: linear-gradient(90deg,var(--blue),var(--gold),var(--red));
  opacity:.9;
}
.footer-wrap{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr 1.1fr;
  gap: clamp(20px,3vw,40px);
}
.f-logo img{ height:56px; width:auto; display:block; filter: drop-shadow(0 6px 14px rgba(0,0,0,.3)); transition: transform .2s ease; }
.f-logo:hover img{ transform: translateY(-2px); }
.f-blurb{ margin:14px 0 18px; color:#dce2ff; line-height:1.7; max-width:520px; }
.f-social{ display:flex; gap:10px; }
.soc{ width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); transition: transform .15s ease, background .2s ease, border-color .2s ease; }
.soc svg{ width:18px; height:18px; fill:#fff; }
.soc:hover{ transform: translateY(-2px); background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.28); }
.f-title{ margin:0 0 12px; font-size:16px; color:#fff; font-weight:800; letter-spacing:.3px; }
.f-links{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.f-links a{ color:#dfe4ff; text-decoration:none; font-weight:600; font-size:14px; transition: color .2s ease, transform .15s ease; }
.f-links a:hover{ color:var(--gold); transform: translateX(2px); }
.f-contact{ list-style:none; margin:0 0 14px; padding:0; display:grid; gap:10px; }
.f-contact li{ display:flex; gap:10px; align-items:flex-start; color:#e9ecff; }
.f-contact svg{ width:18px; height:18px; fill:#ffffff; opacity:.9; margin-top:3px; }
.f-contact a{ color:#e9ecff; text-decoration:none; border-bottom:1px dashed transparent; transition:border-color .2s ease, color .2s ease; }
.f-contact a:hover{ color:var(--gold); border-color:var(--gold); }
.f-cta{ display:inline-block; background: var(--red); color:#fff; text-decoration:none; font-weight:800; padding:12px 22px; border-radius:999px; box-shadow:0 12px 28px rgba(211,70,35,.25); transition: transform .15s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.f-cta:hover{ background: var(--gold); color: var(--blue); transform: translateY(-2px); box-shadow:0 14px 32px rgba(244,183,42,.25); }
.f-bottom{ max-width:1240px; margin:28px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:flex; gap:12px; align-items:center; justify-content:space-between; color:#dfe4ff; }
.copy{ margin:0; font-size:14px; }
.legal{ list-style:none; margin:0; padding:0; display:flex; gap:16px; }
.legal a{ color:#dfe4ff; text-decoration:none; font-weight:600; font-size:14px; }
.legal a:hover{ color:var(--gold); }

/* Responsive */
@media (max-width: 1024px){
  .footer-wrap{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .footer-wrap{ grid-template-columns: 1fr; }
  .f-bottom{ flex-direction:column; gap:8px; text-align:center; }
}

/* ======= FORCE-HIDE NEVE / THEME FOOTER UNDERLAY ======= */
/* Neve uses combinations of these wrappers for footer rows/credits */
.site-info,
.footer-bottom,
.nv-footer,
.nv-footer-content,
.nv-footer-content-wrap,
.nv-bottom-bar,
.nv-footer-main,
.hfg_footer,
.hfg-footer,
.hfg-footer__row,
.hfg-footer__copyright,
.h-footer .footer-bottom,
footer .site-info {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Some installs add a default WP footer container—nuke it too */
#colophon,
#footer,
.footer,
.footer-main {
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Remove any white gap after our footer if a theme wrapper adds spacing */
.site-footer + * {
  margin-top: 0 !important;
}

/* If the page wrapper injects extra bottom padding */
#content, .site-content, .nv-content-wrap, .container, .nv-page-content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}/* End custom CSS */