/* 15 — Footer (Agent CLOSE). Live links + company line, animated lime->purple top border. */
.ft { position: relative; background: #040a14; padding: 44px 0 40px; overflow: hidden; overflow: clip; }
.ft::before { content: ''; position: absolute; left: 50%; top: 0; width: 70%; height: 160px; transform: translate(-50%, -60%); pointer-events: none;
  background: radial-gradient(ellipse, rgba(153,44,255,.16), transparent 70%); }
.ft-border { position: absolute; left: 0; right: 0; top: 0; height: 2px;
  background: linear-gradient(90deg, rgba(208,250,0,0), var(--lime) 20%, var(--purple) 50%, var(--lime) 80%, rgba(208,250,0,0)) 0 0 / 200% 100%;
  box-shadow: 0 0 14px rgba(153,44,255,.55); animation: ft-flow 7s linear infinite; }
@keyframes ft-flow { to { background-position: -200% 0; } }
.ft.is-still .ft-border { animation: none; }
.ft-grid { position: relative; display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 35px; align-items: center; }
.ft-brand { position: relative; display: inline-grid; place-items: center; width: 112px; height: 112px; border-radius: 50%; }
.ft-logo { position: relative; width: 112px; height: 112px; object-fit: contain; transition: transform .6s var(--ease-out), filter .4s; }
.ft-logo-glow { position: absolute; inset: 8px; border-radius: 50%; background: radial-gradient(circle, rgba(0,200,180,.25), rgba(153,44,255,.15) 50%, transparent 70%); filter: blur(10px); transition: opacity .4s, transform .6s var(--ease-out); opacity: .6; }
.ft-brand:hover .ft-logo { transform: rotate(-6deg) scale(1.06); filter: drop-shadow(0 0 16px rgba(0,220,200,.35)); }
.ft-brand:hover .ft-logo-glow { opacity: 1; transform: scale(1.2); }
.ft-brand:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
.ft-links { display: flex; flex-wrap: wrap; gap: 8px 30px; justify-content: flex-start; }
.ft-links a { position: relative; display: inline-flex; align-items: center; min-height: 44px; font: 500 16px/1.2 var(--f-ui); color: #b9bfd3; transition: color .25s; }
.ft-links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 10px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--lime), var(--purple));
  transform: scaleX(0); transform-origin: 0 50%; transition: transform .4s var(--ease-out); }
.ft-links a:hover, .ft-links a:focus-visible { color: var(--text); }
.ft-links a:hover::after, .ft-links a:focus-visible::after { transform: scaleX(1); }
.ft-links a:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; border-radius: 3px; }
.ft-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; font: 400 13px/1.2 var(--f-ui); color: #adb5ca; }
.ft-meta span:first-child { color: var(--text-2); font-weight: 600; }
.ft-tagline { color: var(--lime) !important; font-weight: 600; opacity: .85; }
@media (max-width: 900px) {
  .ft-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 20px; }
  .ft-links { justify-content: center; gap: 0 20px; }
  .ft-meta { align-items: center; text-align: center; }
}
@media (max-width: 767px) {
  .ft { padding: 36px 0 34px; }
  .ft-links { gap: 0 16px; }
  .ft-links a { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .ft-border { animation: none; } }
/* GLM-public-2: owner rule, 44px phone tap targets (Blog was 29px wide). */
@media (max-width: 767.98px) { .ft-links a { min-width: 44px; justify-content: center; } }
