/* Shared footer: three predictable link groups, independent of page content. */
@media screen {
  .site-footer {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 32px 40px;
    padding: 40px max(24px, calc((100% - var(--content)) / 2)) 22px;
    border: 0;
  }
  .site-footer > * { min-width: 0; }
  .site-footer .footer-brand { padding: 0; }
  .site-footer .footer-brand > p { max-width: 230px; margin-top: 10px; }
  .site-footer nav.footer-group { display: block; order: initial; padding: 0; }
  .site-footer .footer-group h2 {
    margin: 0 0 10px;
    color: #8ed9d0;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.5;
    letter-spacing: .025em;
  }
  .site-footer .footer-group ul { list-style: none; padding: 0; margin: 0; }
  .site-footer .footer-group li { margin: 0; padding: 0; }
  .site-footer .footer-group a {
    display: flex;
    align-items: center;
    min-height: 36px;
    width: fit-content;
    max-width: 100%;
    padding: 6px 0;
    color: #dbe8eb;
    font-size: .83rem;
    font-weight: 500;
    line-height: 1.5;
    overflow-wrap: anywhere;
    text-decoration: none;
    text-underline-offset: 4px;
  }
  .site-footer .footer-group a:hover { color: #fff; text-decoration: underline; }
  .site-footer a:focus-visible { outline: 2px solid #8ed9d0; outline-offset: 4px; }
  .site-footer .footer-bottom {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 24px;
    padding-top: 6px;
  }
  .site-footer .footer-bottom p { color: #adc6d0; font-size: .72rem; margin: 0; }
}
@media screen and (max-width: 980px) {
  .site-footer { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 28px; }
  .site-footer .footer-brand { grid-column: 1 / -1; }
}
@media screen and (max-width: 600px) {
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 28px 20px 20px; }
  .site-footer .footer-help { grid-column: 1 / -1; }
  .site-footer .footer-help ul { display: flex; flex-wrap: wrap; column-gap: 24px; }
  .site-footer .footer-group a { min-height: 44px; }
  .site-footer .footer-bottom { gap: 8px 20px; padding: 0; }
}
