.site-footer { padding: 3.75rem 0 0; background: var(--welsi-ink); color: #d7e2d5; border-top: 4px solid var(--welsi-accent); font-family: var(--welsi-body); }
.footer-main { display: grid; grid-template-columns: 1.4fr .7fr 1fr; gap: 3rem; padding-bottom: 3rem; }
.footer-identity { display: flex; gap: 1.1rem; align-items: flex-start; }
.footer-logo-badge { flex-shrink: 0; padding: .6rem; border-radius: 4px; background: #fff; }
.footer-logo { width: 55px; height: 60px; object-fit: contain; }
.footer-name { color: #fff; font: 500 1.55rem/1.2 var(--welsi-display); max-width: 280px; }
.footer-purpose { margin: 1rem 0 0; max-width: 310px; font-size: .88rem; color: #c0d0bf; }
.footer-label { margin-bottom: 1rem; color: var(--welsi-accent); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1.5rem; }
.site-footer a { color: #e0e8dd; text-decoration: none; font-size: .86rem; text-underline-offset: .25em; }
.site-footer a:hover { color: var(--welsi-accent); text-decoration: underline; }
.footer-contact { font-size: .86rem; overflow-wrap: anywhere; }
.footer-contact p { margin-bottom: .55rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.2rem; border-top: 1px solid #3c533a; font-size: .73rem; color: #aebfaa; }
.footer-bottom a { font-size: .73rem; }
@media (max-width: 991.98px) { .footer-main { grid-template-columns: 1fr 1fr; gap: 2rem; } .footer-identity { grid-column: 1 / -1; } .footer-name { max-width: none; } }
@media (max-width: 575.98px) { .site-footer { padding-top: 2.5rem; } .footer-main { grid-template-columns: 1fr; gap: 2rem; } .footer-identity { grid-column: auto; } .footer-bottom { flex-direction: column; gap: .5rem; } }
