.bgx-ft{
  --ft-ink:#0A1A33; --ft-body:#3A4763; --ft-muted:#6B7690; --ft-line:#E3E7EE;
  --ft-accent:#1F5FB4; --ft-accent-lt:#7FB0F0;
  --ft-font:"Plus Jakarta Sans","Inter","Helvetica Neue",Arial,sans-serif;
  position:relative; font-family:var(--ft-font); color:var(--ft-ink); background:#fff;
  padding:64px clamp(16px,4vw,48px) 0; border-top:3px solid var(--ft-ink);
}
.bgx-ft *,.bgx-ft *::before,.bgx-ft *::after{box-sizing:border-box}
.bgx-ft__wrap{max-width:1268px; margin:0 auto} /* matches the site content width (1268px) */
.bgx-ft a{color:inherit; text-decoration:none}

/* ---------- top: brand + link columns ---------- */
.bgx-ft__top{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.25fr); gap:40px 48px; padding-bottom:30px}
.bgx-ft__logo{display:inline-block; line-height:0}
.bgx-ft__logo img{display:block; width:162px; height:auto}
.bgx-ft__tagline{margin:20px 0 0; max-width:380px; font-size:15px; line-height:1.65; color:var(--ft-body)}
.bgx-ft__social{display:flex; gap:10px; margin:24px 0 0; padding:0; list-style:none}
.bgx-ft__social a{
  display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--ft-line); color:var(--ft-ink);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.bgx-ft__social a:hover{background:var(--ft-ink); border-color:var(--ft-ink); color:#fff}
.bgx-ft__social svg{width:17px; height:17px}

.bgx-ft__col h2{margin:4px 0 18px; font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ft-muted)}
.bgx-ft__col ul{margin:0; padding:0; list-style:none; display:grid; gap:12px}
.bgx-ft__col a{font-size:15px; color:var(--ft-ink); border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease}
.bgx-ft__col a:hover{color:var(--ft-accent); border-color:var(--ft-accent)}
.bgx-ft__cta{
  display:inline-flex; align-items:center; gap:10px; margin-top:6px; padding:12px 18px;
  background:var(--ft-ink); color:#fff !important; font-size:14px; font-weight:600; border:0 !important; white-space:nowrap;
  transition:background .2s ease;
}
.bgx-ft__cta svg{transition:transform .2s ease}
.bgx-ft__cta:hover{background:var(--ft-accent)}
.bgx-ft__cta:hover svg{transform:translateX(3px)}

/* ---------- bottom bar ---------- */
.bgx-ft__bottom{display:flex; align-items:center; justify-content:space-between; gap:14px 32px; flex-wrap:wrap; padding:0 0 28px}
.bgx-ft__legal{display:flex; align-items:center; gap:8px 24px; flex-wrap:wrap; margin:0; font-size:13.5px; color:var(--ft-muted)}
.bgx-ft__legal a{color:var(--ft-muted); transition:color .2s ease}
.bgx-ft__legal a:hover{color:var(--ft-ink)}
.bgx-ft__top-link{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ft-ink) !important; transition:color .2s ease}
.bgx-ft__top-link:hover{color:var(--ft-accent) !important}
.bgx-ft__top-link svg{transition:transform .2s ease}
.bgx-ft__top-link:hover svg{transform:translateY(-3px)}
.bgx-ft a:focus-visible{outline:2px solid var(--ft-accent); outline-offset:3px}

/* ---------- responsive ---------- */
@media (max-width:1279px){.bgx-ft__cta{white-space:normal; max-width:100%}}
@media (max-width:960px){
  .bgx-ft__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}
  .bgx-ft__brand{grid-column:1 / -1}
  .bgx-ft__tagline{max-width:520px}
}
@media (max-width:600px){
  .bgx-ft{padding-top:48px}
  .bgx-ft__top{grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; padding-bottom:26px}
  .bgx-ft__col--contact{grid-column:1 / -1}
  .bgx-ft__bottom{flex-direction:column; align-items:flex-start}
}
@media (max-width:560px){.bgx-ft{padding-left:16px; padding-right:16px}}
@media (max-width:400px){.bgx-ft{padding-left:12px; padding-right:12px}}
@media (prefers-reduced-motion:reduce){.bgx-ft *{transition:none !important}}

/* social icons sit under the email in "Start a conversation" */
.bgx-ft__col--contact .bgx-ft__social{display:flex; gap:10px; margin-top:20px}
.bgx-ft__col--contact .bgx-ft__social a{border:1px solid var(--ft-line); color:var(--ft-ink)}
.bgx-ft__col--contact .bgx-ft__social a:hover{background:var(--ft-ink); border-color:var(--ft-ink); color:#fff}

/* footer v2: services column, location line, contact links */
.bgx-ft__top{grid-template-columns:minmax(0,1.5fr) minmax(0,.95fr) minmax(0,.75fr) minmax(0,1.25fr);padding-bottom:36px}
.bgx-ft__tagline{max-width:400px}
.bgx-ft__loc{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:14px;color:var(--ft-ink)}
.bgx-ft__loc svg{color:var(--ft-accent);flex:none}
.bgx-ft__tel{font-size:15px;color:var(--ft-ink)}
.bgx-ft__col a.bgx-ft__more{color:var(--ft-accent);font-weight:600}
.bgx-ft__brand .bgx-ft__social{margin-top:24px}
@media (max-width:960px){.bgx-ft__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bgx-ft__col--contact{grid-column:1/-1}}
