.foot{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(60% 140% at 88% -15%, rgba(23,131,193,.14), transparent 60%),
    radial-gradient(55% 120% at 8% 115%, rgba(10,60,110,.08), transparent 65%),
    linear-gradient(180deg, var(--bg-alt) 0%, #FBFDFF 100%);
  color:var(--charcoal);
  border-top:1px solid var(--border);
}
.foot::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,var(--blue),#7EC4EA 55%,var(--blue));
}
.foot__orb{
  position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;
  animation:footOrbDrift 11s ease-in-out infinite alternate;
}
.foot__orb--a{width:380px;height:380px;background:radial-gradient(circle,rgba(23,131,193,.22),transparent 70%);top:-140px;right:-90px;}
.foot__orb--b{width:300px;height:300px;background:radial-gradient(circle,rgba(10,60,110,.14),transparent 70%);bottom:-110px;left:-70px;animation-delay:-5.5s;}
@keyframes footOrbDrift{
  0%{transform:translate(0,0) scale(1);}
  100%{transform:translate(18px,-14px) scale(1.07);}
}
.foot > .wrap{position:relative;z-index:1;}

/* ---- Utility bar: back to top --------------------------------------- */
.foot__utility{
  display:flex;justify-content:flex-end;align-items:center;
  padding-block:14px;border-bottom:1px solid var(--border);
}
.foot__totop{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-soft);text-decoration:none;
  transition:color .2s var(--ease-soft);
}
.foot__totop svg{width:14px;height:14px;transition:transform .25s var(--ease-soft);}
.foot__totop:hover{color:var(--navy);}
.foot__totop:hover svg{transform:translateY(-2px);}

/* ---- Column grid, hierarchy & dividers ------------------------------- */
.foot__top{
  padding-block:clamp(48px,6.5vw,72px) clamp(40px,5.5vw,56px);
  align-items:start;
}
.foot__top > div + div{
  border-left:1px solid var(--border);
  padding-left:clamp(20px,2.6vw,32px);
}
.foot .brand{color:var(--navy);gap:18px;}
.foot .brand__name b{color:var(--navy);font-size:19px;}
.foot .brand__name span{color:var(--text-soft);}
.foot .brand__mark{height:48px;}
.foot__blurb{color:var(--text-soft);margin-top:20px;}

.foot h4{
  color:var(--navy);letter-spacing:.2em;
}
.foot ul{gap:12px;}
.foot ul a,.foot ul li{color:var(--text-soft);}
.foot ul a{position:relative;display:inline-block;padding-bottom:1px;}
.foot ul a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1px;
  background:var(--blue);transition:right .3s var(--ease);
}
.foot ul a:hover{color:var(--navy);}
.foot ul a:hover::after{right:0;}

/* ---- Legal row: accent mark ------------------------------------------- */
.foot__legal{
  position:relative;margin-top:4px;
  border-top-color:var(--border);
  color:var(--text-soft);
}
.foot__legal::before{
  content:"";position:absolute;top:-1px;left:0;width:64px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),#7EC4EA);
}
.foot__legal a{color:var(--text-soft);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px;}
.foot__legal a:hover{color:var(--navy);text-decoration-color:var(--blue);}

/* ---- Credit strip ------------------------------------------------------ */
.foot__credit{
  display:flex;align-items:center;justify-content:center;gap:10px;
  border-top:1px solid var(--border);padding-block:18px;
}
.foot__credit-label{
  font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-soft);
}
.foot__credit-dot{color:var(--text-soft);font-size:11px;}
.foot__credit a{
  font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;
  color:var(--blue);text-decoration:none;border-bottom:1px solid var(--border);
  padding-bottom:1px;
  transition:color .2s var(--ease-soft),border-color .2s var(--ease-soft);
}
.foot__credit a:hover{color:var(--navy);border-color:var(--blue);}

@media (max-width:860px){
  .foot__top > div + div{border-left:0;padding-left:0;}
}
@media (max-width:520px){
  .foot__utility{justify-content:center;}
  .foot__credit{flex-wrap:wrap;row-gap:6px;}
}

@media (prefers-reduced-motion:reduce){
  .foot__totop svg{transition:none;}
  .foot__orb{animation:none;}
}