@layer components {
    .modules {
        padding-block: var(--space-3xl);
        background-color: var(--clr-slate-950);

        & .modules__header {
            text-align: center;
            margin-bottom: var(--space-3xl);
        }

        & .modules__title {
            font-size: clamp(var(--text-3xl), 5vw, var(--text-4xl));
            font-weight: 700;
            color: var(--color-white);
            margin-bottom: var(--space-md);
        }

        & .modules__intro {
            color: var(--color-text-muted);
            max-width: 42rem;
            margin-inline: auto;
            font-size: var(--text-base);
        }

        & .modules__grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-lg);

            @media (min-width: 768px) {
                grid-template-columns: repeat(2, 1fr);
            }

            @media (min-width: 1024px) {
                grid-template-columns: repeat(3, 1fr);
            }
        }
    }
}
