/* ==========================================================================
   aquantIAlab · footer.css
   Pie de página común a todas las páginas. Autocontenido: no depende de
   base.css ni de los estilos propios de cada página.
   Marcado de referencia: footer.html
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400&display=swap');

.site-footer {
  --sf-bg: #0F1923;
  --sf-ia: #0D8FC4;
  --sf-line: rgba(255,255,255,0.12);
  --sf-gutter: clamp(20px, 5vw, 64px);
  background: var(--sf-bg);
  color: rgba(255,255,255,0.62);
  font-family: 'Geist', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  padding: 72px 0 0;
  margin: 0;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer p, .site-footer h4 { margin: 0; }
.site-footer .wrap { max-width: 1240px; margin-inline: auto; padding-inline: var(--sf-gutter); }

.site-footer .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 48px; padding-bottom: 72px; }
.site-footer .brand { display: inline-flex; font-weight: 600; font-size: 19px; letter-spacing: -0.02em; color: #FFFFFF; margin-bottom: 16px; }
.site-footer .brand .ia { color: var(--sf-ia); }
.site-footer .footer-brand p { max-width: 36ch; }
.site-footer .footer-loc { margin-top: 16px; font-family: 'Geist Mono', ui-monospace, Menlo, monospace; font-size: 12px; }
.site-footer .footer-col h4 {
  font-family: 'Geist Mono', ui-monospace, Menlo, monospace; font-weight: 400; font-size: 12px;
  letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.42); margin-bottom: 16px;
}
.site-footer .footer-col li + li { margin-top: 10px; }
.site-footer .footer-col a { transition: color .18s ease-out; }
.site-footer .footer-col a:hover { color: #FFFFFF; }

.site-footer .footer-funding { background: #FFFFFF; }
.site-footer .footer-funding img { display: block; width: 100%; max-width: 835px; height: auto; margin-inline: auto; }

.site-footer .footer-bottom {
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding-block: 24px; border-top: 1px solid var(--sf-line);
  font-size: 12px; color: rgba(255,255,255,0.42);
}

@media (max-width: 860px) {
  .site-footer .footer-grid { grid-template-columns: 1fr 1fr; }
  .site-footer .footer-brand { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-col a { transition: none; }
}
