/* ============================================
   LAYOUT â€” Grid, Sections, Containers, Responsive
   ============================================ */

/* --- Container --- */
.container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--space-lg);
}

/* --- Section Spacing --- */
.section {
    padding: var(--space-4xl) 0;
}

.section--hero {
    min-height: calc(100vh - var(--nav-height));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* --- Projects Grid --- */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: var(--space-xl);
}

/* --- Footer --- */
.footer {
    padding: var(--space-2xl) 0;
    text-align: center;
    border-top: 1px solid var(--border-default);
    background-color: var(--bg-secondary);
    transition: background-color var(--transition-smooth),
        border-color var(--transition-smooth);
}

.footer p {
    font-size: 0.9rem;
    color: var(--text-tertiary);
}

.footer a {
    color: var(--purple-vivid);
    font-weight: 500;
}

.footer__links {
    display: flex;
    justify-content: center;
    gap: var(--space-lg);
    margin-bottom: var(--space-md);
}

.footer__links a {
    color: var(--text-tertiary);
    font-size: 1.25rem;
    transition: color var(--transition-fast), transform var(--transition-fast);
}

.footer__links a:hover {
    color: var(--purple-vivid);
    transform: translateY(-2px);
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* Tablet */
@media (max-width: 768px) {
    .container {
        padding: 0 var(--space-md);
    }

    .section {
        padding: var(--space-3xl) 0;
    }

    .projects-grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .footer__links {
        gap: var(--space-xl);
    }

    .footer__links a {
        font-size: 1.4rem;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .container {
        padding: 0 var(--space-md);
    }

    .section {
        padding: var(--space-2xl) 0;
    }

    .section--hero {
        min-height: auto;
        padding: var(--space-3xl) 0 var(--space-xl);
    }

    .projects-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .footer {
        padding: var(--space-xl) 0;
    }

    .footer p {
        font-size: 0.82rem;
    }
}