
@layer pages {
    .hero-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 44vh;
        text-align: center;
        gap: 3.25rem;
        margin-bottom: 3rem;
    }

    main {
        padding-bottom: 6rem;
    }
    .hero-intro { display: flex; flex-direction: column; gap: 1.5rem; }

    .social-icons {
        display: flex;
        justify-content: center;
        gap: clamp(1rem, 2vw, 1.75rem);
    }

    .page-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(1.25rem, 2.5vw, 2rem);
        list-style: none;
        padding: 0;
    }

    .kicker {
        font-size: var(--text-xs);
        letter-spacing: 0.25em;
        text-transform: uppercase;

        color: var(--text-muted-2);
        font-weight: 300;
        margin-bottom: -0.9rem;
    }
    .hero-intro h1 {
        font-size: clamp(2.2rem, 6vw, 3.9rem);
        font-weight: 200;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }
    .hero-tagline {
        /* Two lines by design, not by wrapping: the roles on one, the projects
           on the other. */
        & span { display: block; }

        font-size: var(--text-base);
        font-weight: 300;
        color: var(--text-muted);
        max-width: 36rem;
        line-height: 1.7;
        text-wrap: balance;
    }
    @media (width <= 1024px) {
        .hero-section { min-height: 40vh; margin-bottom: 3rem; }
        .page-nav { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width <= 768px) {
        .hero-section { margin-bottom: 2.25rem; }
        .social-icons { gap: 1.5rem; }
    }
    @media (width <= 480px) {
        .page-nav { grid-template-columns: 1fr; gap: 1.5rem; }
    }
}
