footer { padding: 140px 40px 100px; background: #fff; position: relative; border-top: 1px solid var(--border); overflow: hidden; }
.footer-main { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 100px; position: relative; z-index: 10; }
.footer-brand h3 { font-size: 32px; font-weight: 800; margin-bottom: 24px; tracking: -0.05em; }
.footer-brand p { font-size: 16px; color: var(--text-secondary); line-height: 1.8; max-width: 340px; }
.footer-nav-col h5 { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 32px; color: #000; }
.footer-nav-col ul { list-style: none; }
.footer-nav-col ul li { margin-bottom: 16px; }
.footer-nav-col ul li a { text-decoration: none; color: var(--text-secondary); font-size: 15px; transition: color 0.3s; font-weight: 500; }
.footer-nav-col ul li a:hover { color: var(--accent); }
.footer-brand-backdrop { 
    position: absolute; bottom: 40px; left: 0; width: 100%; text-align: center;
    font-size: 18vw; font-weight: 900; color: #f2f2f5; 
    letter-spacing: -0.05em; line-height: 0.8; z-index: 1; pointer-events: none; user-select: none;
}
.footer-bottom { 
    max-width: 1300px; margin: 120px auto 0; padding-top: 40px; border-top: 1px solid var(--border); 
    display: flex; justify-content: space-between; font-size: 12px; color: var(--text-secondary); 
    position: relative; z-index: 10; font-weight: 600;
}
@media (max-width: 768px) {
    .footer-main { grid-template-columns: 1fr; gap: 50px; }
}