/* Canonical site footer — ONE footer, identical on every page including the
   ported homepage. Matches the Framer design's footer bar: dark #141414,
   copyright left, links centred, round white social buttons right.
   Literal colours (no tokens) so the same sheet works on the homepage, which
   loads framer.css rather than theme.css. */

footer.site-footer {
  position: relative; z-index: 1;
  background: #141414; color: #fff;
  border-top: 2px solid #030303;
  margin-top: 0;
  padding: 0;
  font-family: 'Poppins', Inter, -apple-system, sans-serif;
}

/* ---------------------------------------------------- physics band ----
   Reimplementation of the Framer code-component (plugin 84d4c1); see
   assets/footer-physics.js. It sits BELOW the link bar and runs on every page. */
footer.site-footer .gm-physics {
  position: relative; width: 100%; min-height: 240px;
  overflow: hidden; background: #141414;
  border-top: 1px solid rgba(255,255,255,.08);
}
.gm-pill {
  position: absolute; top: 0; left: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; white-space: nowrap;
  font-family: 'Poppins', Inter, sans-serif; font-weight: 600;
  line-height: 1; letter-spacing: 0;
  opacity: 0; will-change: transform;
  user-select: none; -webkit-user-select: none;
}
/* reduced motion: no simulation, just lay the pills out */
.gm-physics.gm-static {
  display: flex; flex-wrap: wrap; gap: .6rem;
  align-items: center; justify-content: center;
  padding: 2rem 1rem; min-height: 0;
}
.gm-physics.gm-static .gm-pill { opacity: 1; position: static; }

footer.site-footer .footer-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem 2rem; flex-wrap: wrap;
  padding: 28px 40px;
}

footer.site-footer .footer-copy {
  color: #fff; font-size: 15px; font-weight: 600; letter-spacing: -.02em;
  margin: 0; flex: none; white-space: nowrap;
}
footer.site-footer .footer-copy span { color: #ffe74a; }

footer.site-footer .footer-links {
  display: flex; align-items: center; justify-content: center;
  gap: 28px; flex-wrap: wrap;
  list-style: none; margin: 0 auto; padding: 0;
}
footer.site-footer .footer-links a {
  color: #fff; text-decoration: none;
  font-size: 15px; font-weight: 600; letter-spacing: -.02em;
  opacity: .85; transition: opacity .18s;
  white-space: nowrap;
}
footer.site-footer .footer-links a:hover { opacity: 1; }

/* round white buttons with a dark glyph, as in the design */
footer.site-footer .footer-socials { display: flex; gap: 10px; flex: none; }
footer.site-footer .footer-social {
  width: 38px; height: 38px; border-radius: 50%;
  background: #fff; border: 0;
  display: flex; align-items: center; justify-content: center;
  color: #111; text-decoration: none;
  transition: transform .12s cubic-bezier(.22,1,.36,1);
}
footer.site-footer .footer-social:hover { transform: translateY(-2px); }
footer.site-footer .footer-social svg { width: 17px; height: 17px; fill: currentColor; }
/* outline-style glyphs (the mail icon) must not be flood-filled — without this
   they render as a solid white block */
footer.site-footer .footer-social svg[stroke] { fill: none; stroke: currentColor; }

/* the brand pill is not part of the design's footer */
footer.site-footer .nav-logo, footer.site-footer .nav-logo-icon { display: none; }

@media (max-width: 940px) {
  footer.site-footer .footer-inner {
    flex-direction: column; align-items: center; text-align: center;
    padding: 24px 18px; gap: 1.1rem;
  }
  footer.site-footer .footer-links { gap: 14px 20px; margin: 0; }
  footer.site-footer .footer-links a { font-size: 14px; }
}
