.footer { background: var(--bg-primary); border-top: 1px solid var(--border-color); padding: 4rem 0 2rem; }
.footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid var(--border-color); margin-bottom: 2rem; }
.footer-brand .logo-text { font-size: 1.5rem; font-weight: 800; display: block; margin-bottom: 0.6rem; }
.footer-brand p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; }
.footer-links h4 { font-size: 0.9rem; font-weight: 600; margin-bottom: 1rem; color: var(--text-primary); }
.footer-links ul li { margin-bottom: 0.5rem; }
.footer-links ul li a { font-size: 0.85rem; color: var(--text-muted); }
.footer-links ul li a:hover { color: var(--brand-violet); }
.footer-cta h4 { font-size: 0.9rem; font-weight: 600; margin-bottom: 1rem; }
.footer-email { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--brand-violet); margin-bottom: 1rem; }
.footer-email:hover { color: var(--brand-cyan); }
.footer-social { display: flex; gap: 0.75rem; }
.footer-social a { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--bg-card); border: 1px solid var(--border-color); color: var(--text-muted); font-size: 0.95rem; transition: var(--transition-base); }
.footer-social a:hover { background: var(--gradient-primary); color: white; border-color: transparent; }
.footer-bottom { text-align: center; }
.footer-bottom p { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.3rem; }
.footer-tagline { font-style: italic; color: var(--text-muted); opacity: 0.7; }

@media (max-width: 1024px) { .footer-content { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 768px) { .footer-content { grid-template-columns: 1fr; gap: 2rem; } }
