.sitemap-page {
    min-height: 60vh;
    background: var(--white);
}

.sitemap-header {
    padding-top: 5rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--line);
}

.sitemap-kicker {
    margin: 0 0 0.75rem;
    color: var(--gold-deep);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sitemap-header h1 {
    margin: 0;
    color: var(--navy-deep);
    font-family: var(--display-font);
    font-size: 3.25rem;
    font-weight: 400;
    line-height: 1.08;
}

.sitemap-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3rem;
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.sitemap-group h2 {
    margin: 0 0 1.25rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--line);
    color: var(--navy-deep);
    font-family: var(--display-font);
    font-size: 1.45rem;
    font-weight: 400;
}

.sitemap-group ul {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sitemap-group a {
    display: inline-block;
    min-height: 32px;
    padding: 0.2rem 0;
    color: var(--ink);
    text-decoration-color: rgba(193, 138, 56, 0.55);
    text-underline-offset: 0.25rem;
}

.sitemap-group a:hover,
.sitemap-group a:focus-visible {
    color: var(--navy);
    text-decoration-color: var(--gold);
}

@media (max-width: 900px) {
    .sitemap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .sitemap-header {
        padding-top: 3.5rem;
        padding-bottom: 2.5rem;
    }

    .sitemap-header h1 {
        font-size: 2.4rem;
    }

    .sitemap-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding-top: 3rem;
        padding-bottom: 4rem;
    }
}