/* The footer of every page: links in columns by topic, plain links without
   outlines or cards, and one line of notes under them. */
.footer-cols {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 36px;
  max-width: 1100px; margin: 0 auto; text-align: left;
}
.footer-col-title {
  display: block; margin: 0 0 12px; font-family: var(--font-mono);
  font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-low);
}
.footer-col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.footer-col a, .footer-col button {
  padding: 0; border: 0; background: none; font: inherit; font-size: 13.5px; font-weight: 400; line-height: 1.4;
  color: var(--text-mid); text-align: left; text-decoration: none; cursor: pointer; transition: color 0.2s, text-shadow 0.2s;
}
.footer-col a:hover, .footer-col button:hover { color: #fff; text-shadow: 0 0 10px var(--accent, var(--gold-1)); }
:is(.site-footer, footer) .footer-note {
  max-width: 1100px; margin: 26px auto 0; padding-top: 16px; border-top: 1px solid rgba(120, 220, 255, 0.08);
  font-size: 12px; line-height: 1.6; color: var(--text-low); text-align: left;
}
@media (max-width: 760px) { .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; } }

:root[data-color-theme='calm'] .footer-col-title { font-family: var(--font-label); font-size: 10px; font-weight: 700; }
:root[data-color-theme='calm'] :is(.site-footer, footer) .footer-col :is(a, button) {
  font-family: var(--font-ui); font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--text-mid);
}
:root[data-color-theme='calm'] :is(.site-footer, footer) .footer-col :is(a, button):hover { color: var(--text-hi); text-shadow: none; }
:root[data-color-theme='calm'] .footer-note { border-color: var(--line); }
.footer-note .wordmark { margin-right: 12px; }
