.site-navigation {
    width: 100%;
    background: #123b66;
    border-bottom: 3px solid #d5a021;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
}

.site-navigation__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 .75rem;
}

.site-navigation__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .82rem 1rem;
    color: #fff;
    font-weight: 700;
    font-size: .92rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
}

.site-navigation__link:hover,
.site-navigation__link:focus-visible {
    background: #1b527f;
    color: #fff;
}

.site-navigation__link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -4px;
}

.site-navigation__link.is-current {
    background: #fff;
    color: #123b66;
    border-bottom-color: #d5a021;
}

.prediction-banner {
    width: 100%;
    background: linear-gradient(90deg, #8f1d1d 0%, #b32727 50%, #8f1d1d 100%);
    border-bottom: 1px solid #6f1515;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .16);
}

.prediction-banner__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    max-width: 1400px;
    min-height: 2.8rem;
    margin: 0 auto;
    padding: .55rem 1rem;
    color: #fff;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

.prediction-banner__link:hover,
.prediction-banner__link:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .1);
}

.prediction-banner__link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -4px;
}

.prediction-banner__eyebrow {
    padding: .2rem .45rem;
    color: #542000;
    background: #f4c95d;
    border-radius: 3px;
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.prediction-banner__action {
    font-size: .82rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.prediction-banner--sectionals {
    background: #f1f5f9;
    border-bottom-color: #cbd5e1;
}

.prediction-banner--sectionals .prediction-banner__link {
    color: #1e293b;
}

.prediction-banner--sectionals .prediction-banner__link:hover,
.prediction-banner--sectionals .prediction-banner__link:focus-visible {
    color: #0f172a;
    background: #e2e8f0;
}

.prediction-banner--sectionals .prediction-banner__link:focus-visible {
    outline-color: #123b66;
}

.prediction-banner--sectionals .prediction-banner__eyebrow {
    color: #334155;
    background: #fff;
}

.site-feedback-button {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 900;
    display: inline-flex;
    align-items: center;
    min-height: 2.65rem;
    padding: .65rem .85rem;
    color: #fff;
    background: #123b66;
    border: 1px solid #fff;
    border-radius: 5px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .28);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.site-feedback-button:hover,
.site-feedback-button:focus-visible {
    color: #fff;
    background: #1b527f;
    text-decoration: none;
}

.site-feedback-button:focus-visible {
    outline: 2px solid #d5a021;
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .site-navigation__inner {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        padding: 0;
        overflow-x: visible;
    }

    .site-navigation__link {
        display: flex;
        grid-column: span 2;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        padding: .55rem .3rem;
        font-size: .78rem;
        line-height: 1.15;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
        box-sizing: border-box;
    }

    .site-navigation__link:first-child:nth-last-child(5) ~ .site-navigation__link:nth-child(4),
    .site-navigation__link:first-child:nth-last-child(5) ~ .site-navigation__link:nth-child(5) {
        grid-column: span 3;
    }

    .site-navigation__link:first-child:nth-last-child(7) ~ .site-navigation__link:last-child {
        grid-column: span 6;
    }

    .prediction-banner__link {
        flex-wrap: wrap;
        gap: .3rem .55rem;
        padding: .55rem .65rem;
    }

    .prediction-banner__message {
        flex-basis: calc(100% - 5.5rem);
        font-size: .84rem;
        text-align: left;
    }

    .prediction-banner__action {
        flex-basis: 100%;
    }

    .site-feedback-button {
        right: .6rem;
        bottom: .6rem;
        max-width: calc(100vw - 1.2rem);
        min-height: 2.4rem;
        padding: .55rem .7rem;
        font-size: .75rem;
    }
}
