/* One footer stylesheet for Astro and PHP-rendered public pages. */
.footer { padding-block:var(--space-8) var(--space-6); background:var(--color-footer-background); color:var(--white); font:400 var(--text-base)/1.65 var(--font-body); -webkit-font-smoothing:antialiased; }
.footer * { box-sizing:border-box; }
.footer .container { width:min(var(--content-width),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.footer .brand { display:inline-flex; width:clamp(8.5rem,12vw,11rem); align-items:center; flex-shrink:0; }
.footer .brand-mark { display:block; flex-shrink:0; width:100%; height:auto; }
.footer a { color:inherit; text-decoration:none; }
.footer a:focus-visible { outline:3px solid var(--green-dark); outline-offset:4px; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-7); padding-bottom:var(--space-8); }
.footer p { max-width:23rem; color:var(--on-dark-muted); margin:var(--space-5) 0 0; font-size:var(--text-sm); }
.footer h3 { font-family:var(--font-body); font-weight:600; line-height:1.1; letter-spacing:0; font-size:var(--text-sm); margin:0 0 var(--space-5); }
.footer nav { display:flex; flex-direction:column; gap:var(--space-3); font-size:var(--text-sm); color:var(--on-dark-muted); }
.footer nav a:hover { color:var(--green); }
.footer-bottom { border-top:1px solid var(--line-dark); padding-top:var(--space-5); display:flex; gap:var(--space-5); justify-content:space-between; font-size:var(--text-xs); color:var(--on-dark-muted); }
.footer-legal { display:flex; gap:var(--space-5); flex-wrap:wrap; }
@media(max-width:800px) { .footer-top { grid-template-columns:1fr 1fr; } .footer-bottom { flex-direction:column; } }
@media(max-width:480px) { .footer-top { gap:var(--space-6); } .footer-top>div:first-child { grid-column:1/-1; } }
