/* Footer contact details, 2026-10-28 */
footer:has(> .contact-footer) { flex-wrap: wrap; }
footer .contact-footer { box-sizing: border-box; width: 100%; flex: 0 0 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 24px; padding-top: 28px; border-top: 1px solid rgba(128,128,128,.22); text-align: left; }
footer .contact-footer__copy { display: grid; gap: 12px; min-width: 0; font-size: 15px; line-height: 1.6; letter-spacing: .01em; }
footer .contact-footer__copy p { margin: 0; overflow-wrap: anywhere; }
footer .contact-footer__copy a { color: inherit; text-underline-offset: 4px; }
footer .contact-footer__qr { display: block; flex-shrink: 0; width: 220px; max-width: 100%; border-radius: 12px; overflow: hidden; }
footer .contact-footer__qr img { display: block; width: 100%; height: auto; max-width: 100%; }
footer .contact-footer__hint { font-size: 12px; opacity: .8; }
footer .contact-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 600px) { footer .contact-footer { align-items: flex-start; flex-direction: column; gap: 20px; } }
