.site-map-page {
    width: 100%;

    padding: 52px 0 70px;

    background: #ffffff;
}

.site-map-shell {
    width: min(1120px, calc(100% - 48px));

    margin: 0 auto;
}

.site-map-header {
    margin: 0 0 34px;
    padding: 0 0 16px;

    border-bottom: 2px solid #d4af37;
}

.site-map-header h1 {
    margin: 0;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 22pt;
    font-weight: 700;
    line-height: 1.25;
}

.site-map-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 54px;
}

.site-map-group {
    min-width: 0;
}

.site-map-group:nth-child(2) {
    grid-row: span 2;
}

.site-map-group h2 {
    margin: 0 0 15px;
    padding: 0 0 9px;

    border-bottom: 1px solid #c8d0db;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 15pt;
    font-weight: 700;
    line-height: 1.35;
}

.site-map-group ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.site-map-group li {
    margin: 0;

    border-bottom: 1px solid #e3e7ed;
}

.site-map-group a {
    display: block;

    padding: 10px 2px;

    color: #172a47;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
    font-weight: 400;
    line-height: 1.45;
    text-decoration: none;
}

.site-map-group a:hover,
.site-map-group a:focus-visible {
    color: #001d50;

    text-decoration: underline;
    text-decoration-color: #d4af37;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.site-map-group a:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: 3px;
}

@media (max-width: 720px) {
    .site-map-page {
        padding: 38px 0 50px;
    }

    .site-map-shell {
        width: min(100% - 30px, 1120px);
    }

    .site-map-groups {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .site-map-group:nth-child(2) {
        grid-row: auto;
    }
}


/* Future destination: match existing entries without making it clickable. */
.site-map-group .site-map-inactive {
    display: block;
    padding: 10px 2px;
    color: #172a47;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12pt;
    font-weight: 400;
    line-height: 1.45;
    cursor: default;
}
