.site-footer { margin-top: auto; background: #f5f7f3; }
.footer-main { display: grid; grid-template-columns: minmax(230px, .75fr) 1.6fr; gap: 60px; padding-block: 50px 38px; }
.brand-footer img { width: 42px; height: 42px; }
.brand-footer .brand-copy strong { font-size: 1rem; }
.brand-footer .brand-copy small { font-size: .54rem; }
.footer-brand > p { max-width: 250px; margin: 16px 0 0; font-size: .86rem; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-links h2 { margin: 0 0 7px; font-family: var(--font-body); font-size: .77rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.footer-links a { color: var(--muted); font-size: .83rem; text-decoration: none; transition: color .18s ease; }
.footer-links a:hover { color: var(--green-dark); }
.footer-bottom { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e1e6df; color: #718071; font-size: .73rem; }
.admin-access-link { color: #718071; font-size: .72rem; text-decoration: none; }
.admin-access-link:hover { color: var(--green-dark); text-decoration: underline; }
@media (max-width: 750px) { .footer-main { grid-template-columns: 1fr; gap: 34px; padding-block: 40px 30px; } }
@media (max-width: 520px) { .footer-links { grid-template-columns: repeat(2, 1fr); row-gap: 28px; } .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; padding-block: 14px; } }
