/* Shared site footer: the homepage footer look, used on every page with the standard footer.
   Self-contained on purpose: it doesn't rely on a page's CSS variables or resets, and it
   overrides older page-wide rules (footer {…}, p {…}, li::before, a:hover backgrounds). */
.site-footer {
  --sf-text: #1d1d1f;
  --sf-text-2: #6e6e73;
  --sf-bg-2: #f5f5f7;
  --sf-line: rgba(0, 0, 0, 0.1);
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 40px 0 28px;
  border: 0;
  border-top: 1px solid var(--sf-line);
  border-radius: 0;
  box-shadow: none;
  background: var(--sf-bg-2);
  color: var(--sf-text-2);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.47;
  letter-spacing: -0.01em;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer .wrap { max-width: 980px; margin: 0 auto; padding: 0 20px; }
.site-footer p { margin: 0; color: inherit; font-size: 14px; line-height: inherit; }
.site-footer .disclaimer { padding-bottom: 24px; border-bottom: 1px solid var(--sf-line); }
/* Four equal columns of three links each (2 x 2 on phones). */
.site-footer .footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 24px 0; }
.site-footer .footer-also { padding: 0 0 18px; }
.site-footer h4 { margin: 0 0 10px; color: var(--sf-text); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: inherit; text-transform: none; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer ul li { display: block; margin: 0 0 8px; padding: 0; position: static; }
.site-footer ul li::before { content: none; }
.site-footer a, .site-footer ul li a { color: var(--sf-text-2); font-weight: 400; font-size: 14px; text-decoration: none; background: none; }
.site-footer a:hover { color: var(--sf-text); text-decoration: underline; background: none; }
.site-footer img { display: inline-block; width: 20px; height: 20px; margin: 0 6px 0 0; vertical-align: middle; border-radius: 5px; }
.site-footer .footer-bottom { border-top: 1px solid var(--sf-line); padding-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 20px; }
@media (max-width: 700px) {
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
