.site-footer { background: var(--color-dark); color: white; padding-block: 3.5rem 1.5rem; }
.site-footer__grid { display: grid; gap: 2rem; }
.site-footer__grid p { max-width: 26rem; margin-top: 1rem; color: #d9e0ea; }
.site-footer nav { display: flex; flex-direction: column; gap: .7rem; align-items: start; }
.site-footer nav a { text-decoration: none; }
.site-footer nav a:hover { text-decoration: underline; }
.site-footer__bottom { margin-top: 3rem; border-top: 1px solid #596776; padding-top: 1.3rem; font-size: .75rem; display: flex; gap: 1rem; flex-wrap: wrap; justify-content: space-between; color: #d9e0ea; }
@media (min-width: 48rem) { .site-footer__grid { grid-template-columns: 2fr 1fr; } }

/* Small diagnostic dot, with a full touch target and a keyboard focus ring. */
.site-footer__meta { display:inline-flex; align-items:center; gap:.35rem; max-width:100%; }
.site-footer__motion { display:inline-flex; flex:none; }
.site-footer__motion[hidden] { display:none; }
.site-footer__motion-toggle { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; opacity:.7; }
.site-footer__motion-dot { display:block; width:6px; height:6px; border-radius:50%; background:#97a2af; }
.site-footer__motion-toggle[aria-pressed="true"] .site-footer__motion-dot { background:#a6d2b9; }
.site-footer__motion-toggle:hover { opacity:1; }
.site-footer__motion-toggle:focus-visible { outline:2px solid #a6d2b9; outline-offset:-6px; opacity:1; }
@media print { .site-footer__motion { display:none; } }
