/* A compact, balanced footer shared by every route. */
.footer{padding:38px 0 19px}
.footer-main{grid-template-columns:minmax(0,.95fr) minmax(0,.65fr) minmax(0,1.55fr) minmax(0,1.2fr);gap:clamp(24px,3.5vw,56px);padding-bottom:32px;align-items:start}
.footer .brand img{width:102px;height:102px}
.footer-brand p{font-size:.92rem;line-height:1.5;max-width:285px;margin:10px 0 0;color:#aeb9aa}
.footer h2{font-size:.72rem;letter-spacing:.17em;margin:5px 0 13px}
.footer-links{gap:7px}
.footer-services .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.footer-links a,.footer-links span{font-size:.92rem;line-height:1.35;color:#d6dbd2}
.footer-bottom{padding-top:16px;font-size:.75rem}
@media(max-width:900px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 45px}.footer-main>.footer-brand{grid-column:span 2}.footer .brand img{width:92px;height:92px}.footer-brand p{max-width:340px}.footer-main>.footer-contact{grid-column:span 2}}
@media(max-width:600px){.footer{padding:32px 0 19px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;padding-bottom:30px}.footer-main>.footer-brand,.footer-main>.footer-contact{grid-column:span 2}.footer-services .footer-links{grid-template-columns:1fr}.footer .brand img{width:88px;height:88px}.footer-brand p{margin-top:7px}.footer-bottom{gap:8px}}
