/* Shared footer, keyboard access and small-screen fixes. */
:root { --text-faint: #92929e; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid #ff794f; outline-offset: 5px; }
.skip-link { position: absolute; left: 20px; top: -100px; z-index: 100; padding: 10px 16px; background: #ececef; color: #0b0b0d; }
.skip-link:focus { top: 12px; }
.site-footer { border-top: 1px solid #26262e; padding: 28px 0; color: #9a9aa4; font-size: 13px; }
.site-footer-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.site-footer-brand { font-size: 15px; font-weight: 800; color: #ececef; text-decoration: none; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; flex: 1; }
.site-footer nav a { color: #b4b4bd; text-decoration: none; padding: 5px 0; }
.site-footer nav a:hover { color: #ff7956; text-decoration: underline; }
main a:not(.btn), .card a { color: #ff7956; text-underline-offset: 3px; }
.site-footer .wrap { width: min(1100px, calc(100% - 48px)); margin-inline: auto; }
@media (max-width: 540px) {
  .nav { flex-wrap: wrap; gap: 12px 18px; }
  .site-footer-inner { align-items: flex-start; }
  .site-footer nav { flex-basis: 100%; }
  .cta-sub { display: block; margin: 12px 0 0; }
  .card { padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) { .spinner { animation: none; } }
