/* Shared site footer styles. Loaded by partials/footer.html. */
footer {
  background: #FFFFFF;
  border-top: 1px solid #DCE5F0;
  padding: 56px 5% 24px;
  text-align: left;
}
.footer-inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1px 1fr;
  gap: 0 3rem;
  align-items: start;
}
.footer-vert-divider { background: #DCE5F0; align-self: stretch; }
.footer-link-cols { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 0 2rem; }
.footer-wordmark {
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin-bottom: 0.35rem;
  display: inline-block;
  text-decoration: none;
  background: linear-gradient(90deg, #00dae7 0%, #1c52e8 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.footer-tagline { font-size: 0.72rem; color: #64748B; margin-bottom: 1.5rem; letter-spacing: 0.06em; }
.footer-social { display: flex; gap: 1rem; margin-bottom: 1.75rem; }
.footer-social a { color: #64748B; display: inline-flex; transition: color 0.2s; }
.footer-social a:hover { color: #1769E0; }

/* Footer brand column: keep every child flush to the same left edge */
.footer-brand { text-align: left; }
.footer-brand > * { text-indent: 0; margin-left: 0; }
.footer-social { justify-content: flex-start; align-items: center; padding-left: 0; }

.footer-social svg { width: 18px; height: 18px; fill: currentColor; display: block; }
.footer-copy { font-size: 0.68rem; color: #64748B; line-height: 1.7; }
.footer-col-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #1769E0; margin-bottom: 0.85rem; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col ul li { margin-bottom: 0.55rem; }
.footer-col ul a { color: #0B234A; text-decoration: none; font-size: 0.82rem; transition: color 0.2s; }
.footer-col ul a:hover { color: #1769E0; }
@media (max-width: 760px) {
  .footer-inner { grid-template-columns: 1fr; gap: 0; }
  .footer-vert-divider { height: 1px; align-self: auto; margin: 1.75rem 0; }
  .footer-link-cols { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 480px) { .footer-link-cols { grid-template-columns: 1fr 1fr; } }
