/* Canonical site footer styles — single source, linked by every footered page.
   Generated pair: scripts/partials/site-footer.html + scripts/build_footer.py.
   Self-contained: variables scoped here so pages without the diagnostic :root work. */
.footer {
  margin-top: 64px;
  --primary: #002856; --rule: #e1e6ec;
  --foot-text: #cdd6e3; --foot-head: #8fa6c4; --foot-dim: #6f8aab; --foot-rule: #143b63;
}
.footer .wrap { max-width: 1180px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }

/* ===== Footer ===== */
.footer { border-top: 1px solid var(--rule); background: var(--primary); color: var(--foot-text); }
.footer-inner { padding-top: 56px; padding-bottom: 28px; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 40px; }
.footer-brand { min-width: 200px; }
.footer-brand__row { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.footer-brand__row img { height: 19px; width: auto; display: block; flex-shrink: 0; }
.footer-brand__row span { font-weight: 800; font-size: 16px; letter-spacing: -0.025em; color: #ffffff; }
.footer-brand__desc { font-size: 13px; line-height: 1.6; color: var(--foot-head); max-width: 260px; }
.footer-col__head { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--foot-head); font-weight: 700; margin-bottom: 14px; }
.footer-col a { display: block; color: var(--foot-text); font-size: 14px; margin-bottom: 10px; }
.footer-bottom {
  margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--foot-rule);
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.footer-bottom__left { font-size: 12px; color: var(--foot-dim); }
.footer-bottom__right { font-size: 12px; color: var(--foot-dim); max-width: 440px; text-align: right; line-height: 1.5; }

/* ===== Responsive (industry breakpoints) ===== */

@media (max-width: 760px) {
  .footer .wrap { padding-left: 20px; padding-right: 20px; }
  .footer-bottom__right { text-align: left; }
}
