.interstitial.interstitial-ignore-gradient::before {
    background: transparent;
}

.interstitial--light.interstitial--light {
    background: #DFE6F1;
}

.item-row__date {
    color: #888A8C;
}


.item-row__title {
    color: #284875;
}
a.item-row__link:hover .item-row__title {
    color: #E1A516;
}

/* ---------- =item-row ---------- */

.item-row {
    --item-row-gap: 24px;

    display: grid;
    grid-template-columns: 1fr;
    gap: var(--item-row-gap);
    margin: 0 0 48px;
}

.item-row:last-child {
    margin-bottom: 0;
}

/*
 * Grid items stretch to their track height by default.
 * The link must also fill the item so each visual card has equal height.
 */
.item-row__item {
    display: flex;
    min-width: 0;
}

.item-row__link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    text-decoration: none;
}

.item-row__thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    object-fit: cover;
}

.item-row__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding-top: 18px;
}

.item-row__title {
    display: block;
    font-family: "EB Garamond", "Nunito Sans", Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
}

.item-row__date {
    margin: 6px 0 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.item-row__description {
    margin: 12px 0 0;
}

.item-row__link:focus {
    outline-offset: 4px;
}

/*
 * Standard mobile behavior:
 * one item per row until a card can reasonably fit beside another.
 */
@media (min-width: 480px) {
    .item-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__title {
        font-size: 28px;
        line-height: 36px;
    }
}

/*
 * Tablet and narrow two-column Sitefinity regions:
 * normally two columns.
 *
 * Exceptions:
 * - 3 items use 3 equal columns where available.
 * - 5 items retain two columns, producing 2 + 2 + 1.
 *
 * If the final unpaired item should be centered rather than left-aligned,
 * use the optional centering rules later in this answer.
 */
@media (min-width: 768px) {
    .item-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /*
     * Four items should be 2 + 2, not 3 + 1.
     * Five items should be 3 + 2, not 3 + 1 + 1.
     */
    .item-row--count-4,
    .item-row--count-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
 * Full desktop page area:
 * five equal columns for collections that divide evenly into five.
 *
 * 4 items intentionally become 2 + 2 rather than 4 in one row if that
 * is the preferred visual balance.
 */
@media (min-width: 960px) {
    .item-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    /*
     * Five items: three columns.
     * This produces a 3 + 2 arrangement, with the final grid cell blank.
     */
    .item-row--count-5 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .item-row--count-3, .item-row--count-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1376px) {
    .item-row {
        --item-row-gap: 48px;
    }
  
    .item-row--count-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* ---------- =item-row highlight-first ---------- */

/*
 * The first item is featured above the normal grid.
 *
 * At every width, it occupies the entire grid row. The remaining items
 * retain the normal responsive grid-column layout established below.
 */
.item-row.highlight-first > .item-row__item:first-child {
    grid-column: 1 / -1;
}

/*
 * Mobile-first featured item:
 * The existing source order is preserved:
 *
 * image
 * text
 *
 * This is intentional on smaller widths so the feature card remains easy
 * to scan and does not make the text column too narrow.
 */
.item-row.highlight-first > .item-row__item:first-child .item-row__link {
    flex-direction: column;
}

/*
 * Place the feature image at right and vertically center the copy at
 * tablet/desktop widths.
 */
@media (min-width: 768px) {
    .item-row.highlight-first > .item-row__item:first-child .item-row__link {
        flex-direction: row-reverse;
        align-items: stretch;
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__thumbnail {
        max-height: 480px;
        aspect-ratio: auto;
        min-height: 100%;
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__content {
        flex: 1 1 50%;
        justify-content: center;
        padding: 36px 48px 36px 0px;
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__title {
        font-size: 28px;
        line-height: 36px;
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__date {
        margin-top: 12px;
        font-size: 18px;
        line-height: 24px;
    }

    .item-row.highlight-first > .item-row__item:first-child .item-row__description {
        margin-top: 18px;
        font-size: 20px;
        line-height: 30px;
    }
}
























/* ==========================================================
   AANEM News header override
   Full-width utility bar + logo/nav row + compact sticky state
   Load after AANEM.css
   ========================================================== */

@media (min-width: 960px) {
    :root {
        --aanem-utility-height: 48px;
        --aanem-logo-nav-height: 104px;
        --aanem-sticky-height: 72px;
        --aanem-header-blue: #284875;
    }

    /*
     * Grid rows:
     * 1. Full-width blue utility/search strip
     * 2. White row shared by the logo and main navigation
     */
    .page-header .page-bounds {
        display: grid;
        grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
        grid-template-rows:
            var(--aanem-utility-height)
            var(--aanem-logo-nav-height);
        column-gap: 48px;
        align-items: stretch;
    }

    /* Paint the blue strip across the viewport, not only page bounds. */
    .page-header .page-bounds::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 50%;
        width: 100vw;
        height: var(--aanem-utility-height);
        margin-left: -50vw;
        background: var(--aanem-header-blue);
    }

    /*
     * Remove the old border-based band and flatten the wrapper so
     * its child components can be placed directly in the grid.
     */
    .page-header__content {
        display: contents;
        margin: 0;
        border-top: 0;
    }

    .page-header__content::before,
    .page-header__content::after {
        display: none;
    }

    /* Blue-row items retain the base CSS's right-side placement. */
    .header-utility {
        grid-column: 2;
        grid-row: 1;
        top: 0;
    }

    .header-search {
        grid-column: 2;
        grid-row: 1;
    }

    /*
     * Logo is fully contained in row 2. The image cannot visually
     * hang below the fixed header or overlap page content.
     */
    .header-logo {
        grid-column: 1;
        grid-row: 2;
        align-self: stretch;
        display: flex;
        align-items: center;
        float: none;
        width: 100%;
        max-width: 250px;
        height: var(--aanem-logo-nav-height);
        margin: 0;
        overflow: hidden;
    }

    .header-logo a {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 10px 0;
    }

    .header-logo img {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: 84px;
        margin: 0;
        transition:
            max-height 0.2s ease,
            transform 0.2s ease;
    }

    /* Navigation occupies the remainder of row 2. */
    .header-nav {
        grid-column: 2;
        grid-row: 2;
        position: static;
        display: flex;
        align-items: stretch;
        width: 100%;
        height: var(--aanem-logo-nav-height);
        margin-top: 0;
    }

    .header-nav > ul,
    .header-nav > div > ul {
        width: 100%;
        min-height: 100%;
        align-items: center;
    }

    /*
     * Sticky/scrolled header:
     * Hide utility row, shrink the logo and navigation row to 72px,
     * and eliminate the inherited upward transform.
     */
    body.is-scrolled .page-header {
        transform: none;
    }

    body.is-scrolled .page-header .page-bounds {
        grid-template-rows: var(--aanem-sticky-height);
    }

    body.is-scrolled .page-header .page-bounds::before {
        display: none;
    }

    body.is-scrolled .header-utility,
    body.is-scrolled .header-search {
        display: none;
    }

    body.is-scrolled .header-logo {
        grid-row: 1;
        height: var(--aanem-sticky-height);
        max-width: 160px;
    }

    body.is-scrolled .header-logo a {
        height: var(--aanem-sticky-height);
        padding: 8px 0;
    }

    body.is-scrolled .header-logo img {
        max-height: 52px;
    }

    body.is-scrolled .header-nav {
        grid-row: 1;
        height: var(--aanem-sticky-height);
    }

    body.is-scrolled .header-nav > ul,
    body.is-scrolled .header-nav > div > ul {
        min-height: var(--aanem-sticky-height);
    }
}

/*
 * The original CSS enlarges the logo at >=1376px.
 * These properties deliberately keep the grid dimensions and logo
 * constraints consistent across all desktop widths.
 */
@media (min-width: 1376px) {
    .header-logo {
        max-width: 250px;
    }

    .header-logo a {
        height: 100%;
    }

    body.is-scrolled .header-logo a {
        height: var(--aanem-sticky-height);
    }
}