/* Shared footer for every public page. Markup: src/lib/site-footer.ts.
   Values are set here, not inherited, so it looks the same on every page. */
.site-footer {
  margin: 0;
  padding: 2.5rem 0;
  border-top: 1px solid rgb(18 21 16 / 0.12);
  background: #f7f7f7;
  color: #5a6457;
  font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.85rem;
  line-height: 1.6;
  letter-spacing: normal;
}
.site-footer-inner {
  width: min(calc(100% - 2.5rem), 72rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(4, auto);
  gap: 1.5rem 2.5rem;
  align-items: start;
}
.site-footer-brand a { display: inline-flex; }
.site-footer-brand img { display: block; width: auto; height: 22px; }
.site-footer-brand p { margin: 0.6rem 0 0; }
.site-footer-links { display: grid; gap: 0.45rem; align-content: start; }
.site-footer-links strong { color: #0c110b; font-size: 0.9rem; font-weight: 650; }
.site-footer-links a { color: inherit; text-decoration: underline; text-underline-offset: 0.2rem; }
.site-footer-links a:hover { color: #0b6532; }
.site-footer a:focus-visible { outline: 3px solid #0f7a3d; outline-offset: 3px; border-radius: 4px; }
@media (max-width: 960px) {
  .site-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .site-footer-inner { grid-template-columns: 1fr; }
}
@media print { .site-footer { display: none !important; } }
