/* Footer */
.footer-section {
    margin-top: 2rem; /* Reduced from 4rem */
    padding: 0 1rem 1rem 1rem; /* Reduced bottom padding */
    position: relative; /* Create stacking context */
    z-index: 50; /* Ensure it sits above hero elements */
}
.footer-content {
    padding: 2rem; /* Reduced from 3rem */
    border-radius: 1.5rem; /* Slightly smaller radius */
    background: rgba(255, 255, 255, 0.85); /* Solid enough to cover overlap */
    backdrop-filter: blur(20px);
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 1.5rem; /* Reduced gap */
    margin-bottom: 1.5rem; /* Reduced from 3rem */
}
.footer-brand p {
    color: var(--text-muted);
    margin-top: 0.5rem; /* Reduced from 1rem */
    font-size: 0.85rem; /* Slightly smaller */
    max-width: 300px;
}
.footer-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* Reduced from 0.75rem */
}
.footer-links h4 {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 0.5rem;
}
.footer-links a {
    font-size: 0.9rem;
    color: var(--text-muted);
}
.footer-links a:hover {
    color: var(--primary-orange);
}
.footer-bottom {
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 1rem; /* Reduced from 1.5rem */
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-muted);
    font-size: 0.8rem; /* Slightly smaller */
}
.social-links {
    display: flex;
    gap: 1rem;
}
.social-icon:hover {
    color: var(--primary-orange);
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}
@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}