:root {
    --blue: #002b7f;
    --blue-2: #0046b8;
    --blue-soft: #eef4ff;
    --yellow: #fcd116;
    --red: #ce1126;
}

.brand-mark i:nth-child(1) { background: #002b7f; }
.brand-mark i:nth-child(2) { background: #fcd116; }
.brand-mark i:nth-child(3) { background: #ce1126; }

.site-header::after,
.site-footer::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666% 100%);
}

.site-footer {
    position: relative;
}

.site-footer::before {
    top: 0;
    bottom: auto;
    height: 5px;
}

.hero {
    background: linear-gradient(125deg, #001d58, #002b7f 55%, #0046b8);
}

.hero-kicker {
    color: #fff7c7;
    border-color: rgba(252, 209, 22, .38);
    background: rgba(252, 209, 22, .09);
}

.hero-kicker span {
    filter: saturate(1.2);
}

.nav-list a {
    position: relative;
}

.nav-list a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -8px;
    left: 0;
    height: 3px;
    border-radius: 3px;
    background: #fcd116;
    transform: scaleX(0);
    transition: transform .2s ease;
}

.nav-list a:hover::after,
.nav-list a:focus-visible::after {
    transform: scaleX(1);
}

.main-navigation > .button--outline {
    color: #ce1126;
    border-color: rgba(206, 17, 38, .35);
}

.main-navigation > .button--outline:hover {
    color: #fff;
    background: #ce1126;
    border-color: #ce1126;
}

.button--primary {
    background: #002b7f;
    box-shadow: 0 8px 20px rgba(0, 43, 127, .22);
}

.button--primary:hover {
    background: #ce1126;
}

.search-submit {
    border-bottom: 4px solid #fcd116;
}

.eyebrow {
    color: #ce1126;
}

.hero .eyebrow,
.section--regions .eyebrow {
    color: #fcd116;
}

.category-card {
    border-top-width: 4px;
}

.category-card:nth-child(3n+1) { border-top-color: #002b7f; }
.category-card:nth-child(3n+2) { border-top-color: #fcd116; }
.category-card:nth-child(3n) { border-top-color: #ce1126; }

.category-card:nth-child(3n+1) .category-card__icon { background: #e8f0ff; }
.category-card:nth-child(3n+2) .category-card__icon { background: #fff8d7; }
.category-card:nth-child(3n) .category-card__icon { background: #fff0f2; }

.listing-card {
    border-bottom: 3px solid transparent;
}

.listing-card:hover {
    border-bottom-color: #fcd116;
}

.section--regions {
    background: linear-gradient(135deg, #001d58, #002b7f 68%, #003b9b);
}

.region-list a:hover {
    border-color: rgba(252, 209, 22, .45);
}

.cta-card {
    position: relative;
    overflow: hidden;
    border-color: #d5e1f5;
}

.cta-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 6px;
    background: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666% 100%);
}

.faq-list summary span {
    color: #ce1126;
}

.listing-hero,
.page-hero {
    border-bottom: 5px solid transparent;
    border-image: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666% 100%) 1;
}

.page-hero {
    background: linear-gradient(125deg, #001d58, #002b7f 65%, #0046b8);
}

@media (max-width: 820px) {
    .nav-list a::after {
        bottom: 3px;
        right: auto;
        width: 42px;
        transform-origin: left;
    }
}
