/* Quiet, shared footer signatures. Keep the QR large enough to scan on demand. */
.site-footer { position: relative; gap: 16px 24px; }
.site-footer > span { margin-right: auto; }
.site-footer .footer-socials { flex: 0 0 auto; width: auto; margin: 0; padding: 0; align-self: center; }
.footer-socials .contact-cards { position: relative; display: flex; gap: 5px; }
.footer-socials .contact-card, .footer-socials .contact-card-body { width: 44px; height: 44px; }
.footer-socials .contact-front { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #596457; cursor: pointer; }
.footer-socials .contact-front::before { content: ""; position: absolute; inset: 4px; border: 1px solid #dce0d7; border-radius: 50%; transition: background .18s ease, border-color .18s ease; }
.footer-socials .contact-front:hover::before, .footer-socials .is-flipped .contact-front::before { background: #edf0e8; border-color: #b5beae; }
.footer-socials .contact-platform-icon { position: relative; width: 20px; height: 20px; }
.footer-socials .contact-front strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.footer-socials .contact-back { position: absolute; z-index: 25; right: 0; bottom: calc(100% + 10px); width: 216px; padding: 30px 17px 12px; border: 1px solid #e3e5dd; border-radius: 10px; background: #fff; box-shadow: 0 8px 30px -10px rgba(39,50,35,.18); display: flex; flex-direction: column; align-items: center; gap: 4px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.footer-socials .contact-back::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 12px; }
.footer-socials .is-flipped .contact-back { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.footer-socials .contact-back img { display: block; width: 180px; height: 180px; max-width: 100%; aspect-ratio: 1; image-rendering: pixelated; }
.footer-socials .contact-open { display: flex; align-items: center; min-height: 44px; font-size: 12px; line-height: 1.5; color: #344237; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #aab4a3; }
.footer-socials .contact-flip-back { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 36px; padding: 0; border: 0; background: none; color: #687165; font: 20px/1 Arial,sans-serif; cursor: pointer; }
.footer-socials button:focus-visible, .footer-socials a:focus-visible { outline: 2px solid #52684e; outline-offset: 2px; border-radius: 4px; }
.footer-socials noscript { display: block; max-width: 220px; font-size: 11px; }
@media (max-width: 700px) {
 .site-footer { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 14px; padding-block: 20px 26px; }
 .site-footer > .wordmark.brand-mark { grid-column: 1; grid-row: 1; }
 .site-footer > .footer-socials { grid-column: 2; grid-row: 1; justify-self: end; }
 .site-footer > span { grid-column: 1 / -1; font-size: 11px; margin: 0; }
 .site-footer > a:not(.wordmark), .site-footer > button { justify-self: start; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .footer-socials .contact-front::before, .footer-socials .contact-back { transition: none; } }
