/* Footer */
.footer{background:var(--gray-900);color:rgba(255,255,255,.5);padding:var(--s16) var(--s8) var(--s8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--s10);max-width:var(--max-w);margin:0 auto var(--s10)}
.footer-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.25rem;color:white;letter-spacing:-.04em;margin-bottom:var(--s5)}
.footer-brand>p{font-size:.82rem;line-height:1.75;max-width:210px;margin-bottom:var(--s5)}
.social-links{display:flex;gap:var(--s2)}
.social-link{width:32px;height:32px;background:rgba(255,255,255,.07);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:background var(--t-base),color var(--t-base)}
.social-link:hover{background:var(--brand);color:white}
.social-link svg{width:14px;height:14px}
.footer-col h4{color:white;font-size:.8rem;font-weight:700;margin-bottom:var(--s4);text-transform:uppercase;letter-spacing:.05em}
.footer-col li{margin-bottom:var(--s3)}
.footer-col a{font-size:.82rem;color:rgba(255,255,255,.42);transition:color var(--t-base)}
.footer-col a:hover{color:white}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:var(--s6);display:flex;justify-content:space-between;max-width:var(--max-w);margin:0 auto;font-size:.78rem;flex-wrap:wrap;gap:var(--s3)}
.footer-links{display:flex;gap:var(--s5);flex-wrap:wrap}
.footer-links a{color:rgba(255,255,255,.32);transition:color var(--t-base);font-size:.78rem}
.footer-links a:hover{color:white}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}.footer-brand{grid-column:1/-1}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].revealed{opacity:1;transform:translateY(0)}
[data-reveal-delay="1"]{transition-delay:.1s}
[data-reveal-delay="2"]{transition-delay:.2s}
[data-reveal-delay="3"]{transition-delay:.3s}
[data-reveal-delay="4"]{transition-delay:.4s}
