.site-footer{background:var(--c-bg-footer);color:var(--c-text-on-dark);padding:clamp(2.25rem,4vw,3rem) 0;margin-top:0}.footer-container{width:min(1120px,100%);margin:0 auto;padding:0 1.5rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.footer-logo-link{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:12px;background:var(--c-overlay-on-dark-xs);transition:transform .15s ease;margin-bottom:1rem;color:var(--c-text-inv);text-decoration:none}.footer-logo-link:hover,.footer-logo-link:focus-visible{background:var(--c-overlay-on-dark-sm);transform:translateY(-2px);color:var(--c-text-inv)}.footer-logo-link:focus-visible{outline:2px solid var(--c-text-on-dark);outline-offset:4px}.footer-logo-link img{height:2.5rem;width:2.5rem;display:block}.footer-logo-text{font-weight:700;font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase}.footer-brand p{margin:.25rem 0}.footer-certification{margin-block-start:.5rem;font-size:.85rem;opacity:.8}.footer-demo-link{display:inline-flex;align-items:center;justify-content:center;margin-block-start:.85rem;padding-block:.58rem;padding-inline:.9rem;border:1px solid var(--c-overlay-on-dark-md);border-radius:var(--radius-full);background:var(--c-primary);color:var(--c-on-primary);font-size:.9rem;font-weight:700;line-height:1.3;text-align:center;text-decoration:none}.footer-demo-link:hover,.footer-demo-link:focus-visible{color:var(--c-on-primary);background:var(--c-primary-hover)}.footer-nav h3,.footer-contact h3{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:var(--c-text-on-dark-muted)}.footer-nav ul,.footer-contact ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.footer-nav a,.footer-contact a{color:var(--c-text-on-dark);text-decoration:none;font-weight:600}.footer-nav a:hover,.footer-contact a:hover,.footer-nav a:focus-visible,.footer-contact a:focus-visible{color:var(--c-text-inv);text-decoration:underline}.footer-bottom{width:min(1120px,100%);margin:2.5rem auto 0;padding:1.25rem 1.5rem 0;border-top:1px solid var(--c-overlay-on-dark-xs);font-size:.9rem;color:var(--c-text-on-dark-muted)}.footer-bottom p{margin:0}@media(max-width:640px){.site-footer{padding-left:1rem;padding-right:1rem}}@media(prefers-reduced-motion:reduce){.footer-logo-link{transition:none}}
