/* ==========================================================================
   RanKnight — Footer (shared, defined once)
   ========================================================================== */

.site-footer {
  background: var(--ink-800); color: var(--color-text);
  border-top: 1px solid var(--ink-600);
  padding-block: var(--space-8) var(--space-5);
}
.site-footer__grid {
  display: grid; gap: var(--space-6);
  grid-template-columns: 1fr;
}
@media (min-width: 760px) {
  .site-footer__grid { grid-template-columns: 1.6fr 1fr 1fr; gap: var(--space-7); }
}
.footer-brand img { height: 38px; width: auto; margin-bottom: var(--space-4); }
.footer-brand p { color: var(--color-text-muted); max-width: 34ch; }
.footer-cta { margin-top: var(--space-4); }

.footer-col h3 {
  font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--steel);
  margin-bottom: var(--space-4);
}
.footer-col ul { display: grid; gap: var(--space-3); }
.footer-col a { color: var(--color-text-muted); transition: color var(--dur) var(--ease-out); }
.footer-col a:hover { color: var(--color-accent); }
.footer-col a.phone { color: var(--color-heading); font-weight: 600; font-size: var(--text-md); }

.site-footer__base {
  margin-top: var(--space-7); padding-top: var(--space-5);
  border-top: 1px solid var(--ink-600);
  display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5);
  align-items: center; justify-content: space-between;
  color: var(--color-text-muted); font-size: var(--text-sm);
}
.site-footer__base p { max-width: none; }
.site-footer__base a { color: var(--color-heading); text-decoration: underline; text-underline-offset: 3px; }
.site-footer__base a:hover { color: var(--color-accent); }
.footer-address { color: var(--color-text-muted); font-style: normal; }
.footer-locale { display: inline-flex; align-items: center; gap: var(--space-2); }
.footer-locale svg { width: 1rem; height: 1rem; color: var(--steel); }
