.department-index-page {
    --department-index-ink: #003553;
    --department-index-line: #a9c8da;
    --department-index-soft: #eaf2f7;
    --department-index-muted: #9fc2d8;
    background: var(--department-index-soft);
    box-shadow: 0 0 0 100vmax var(--department-index-soft);
    clip-path: inset(0 -100vmax);
    color: var(--department-index-ink);
    padding: 2.44rem 0 4rem;
}

.department-index-header {
    margin-bottom: 2.7rem;
}

.department-index-header h1 {
    margin: 0;
    color: var(--department-index-ink);
    font-size: clamp(2.25rem, 4vw, 3.25rem);
    font-weight: 600;
    line-height: 1.1;
}

.department-index-count {
    margin: 1rem 0 0;
    color: #0e4b6e;
    font-size: 1rem;
    line-height: 1.3;
}

.department-index-count strong {
    font-weight: 600;
}

.department-index-header__intro {
    max-width: 52rem;
    margin-top: 1.2rem;
    color: #315f77;
    line-height: 1.6;
}

.department-index-header__intro > :last-child {
    margin-bottom: 0;
}

.department-index-list {
    display: grid;
    gap: 2.85rem;
}

.department-index-item {
    border: 0;
}

.department-index-item__summary {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #0e4b6e;
    cursor: pointer;
    font-size: 1.28rem;
    font-weight: 700;
    line-height: 1.25;
    list-style: none;
}

.department-index-item__summary::-webkit-details-marker {
    display: none;
}

.department-index-item__summary:hover .department-index-item__title,
.department-index-item__summary:focus .department-index-item__title,
.department-index-item__summary:focus-visible .department-index-item__title {
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.department-index-item__summary:focus-visible {
    outline: 2px solid #0c7fbd;
    outline-offset: 4px;
}

.department-index-item__title a {
    color: inherit;
    text-decoration: none;
}

.department-index-item__chevron {
    width: 0.55rem;
    height: 0.55rem;
    border-top: 2px solid #0c7fbd;
    border-right: 2px solid #0c7fbd;
    transform: translateY(0.1rem) rotate(-45deg);
    transition: transform 0.16s ease;
}

.department-index-item:not([open]) .department-index-item__chevron {
    transform: translateY(-0.1rem) rotate(135deg);
}

.department-index-item__content {
    padding-top: 1.45rem;
}

.department-index-item__description {
    max-width: 52rem;
    margin-bottom: 0.9rem;
    color: #315f77;
    line-height: 1.55;
}

.department-index-page .meta-row {
    margin-bottom: 0.85rem;
    color: #6d98ad;
    font-size: 0.86rem;
}

.department-index-page .listing-panel {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.department-index-page .result-table {
    min-width: 0;
    background: transparent;
}

.department-index-page .table-responsive {
    overflow-x: auto;
}

.department-index-page .result-table .table {
    min-width: 760px;
    color: var(--department-index-ink);
    border-color: var(--department-index-line);
}

.department-index-page .result-table .table > :not(caption) > * > * {
    padding: 0.58rem 1.25rem 0.58rem 0;
    border-bottom: 1px solid var(--department-index-line);
    background: transparent;
    box-shadow: none;
}

.department-index-page .result-table .table > :not(caption) > * > *:last-child {
    padding-right: 0;
}

.department-index-page .result-table th {
    color: var(--department-index-muted);
    font-size: 0.76rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.department-index-page .result-table td {
    color: #0e4b6e;
    font-size: 0.92rem;
}

.department-index-page .result-table a {
    color: #0e4b6e;
    text-decoration: none;
}

.department-index-page .result-table a:hover,
.department-index-page .result-table a:focus {
    color: #0e4b6e;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.department-index-page .table-hover > tbody > tr:hover > * {
    background-color: rgba(255, 255, 255, 0.34);
    color: #0e4b6e;
}

@media (max-width: 767.98px) {
    .department-index-page {
        padding: 1.65rem 0 3rem;
    }

    .department-index-header {
        margin-bottom: 1.9rem;
    }

    .department-index-list {
        gap: 2rem;
    }

    .department-index-item__summary {
        font-size: 1.1rem;
    }
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.9rem;
}

.detail-item {
    padding: 0.85rem 0.9rem;
    border: 1px solid var(--utef-border);
    background: rgba(255, 255, 255, 0.78);
}

[data-search-overlay][hidden],
[data-menu-panel][hidden] {
    display: none !important;
}

@media (min-width: 1200px) {
    .site-nav-item.has-children {
        position: static;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .site-mega-menu {
        position: absolute;
        left: 50%;
        top: calc(100% + 1px);
        z-index: 1060;
        width: 100vw;
        margin-left: -50vw;
        background: var(--utef-header);
    }

    .site-mega-menu-inner {
        padding: 1rem 2rem 1.8rem var(--site-menu-content-left, max(1rem, calc((100vw - 1320px) / 2)));
        border-top: 0;
    }

    .site-mega-menu-inner > .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem 75px;
        margin: 0;
    }

    .site-mega-menu-inner > .row > [class*="col-"] {
        flex: 0 1 max-content;
        width: max-content;
        max-width: 22rem;
        padding: 0;
    }

    .site-nav-item.is-open > .site-mega-menu {
        display: block;
    }

    .site-nav-item.has-simple-menu {
        position: static;
    }

    .site-nav-item.has-simple-menu > .site-mega-menu {
        left: 50%;
        top: calc(100% + 1px);
        width: 100vw;
        min-width: 0;
        max-width: none;
        margin-left: -50vw;
        border-top: 0;
        box-shadow: 0 1rem 2rem rgba(6, 24, 36, 0.22);
    }

    .site-nav-item.has-simple-menu > .site-mega-menu .site-mega-menu-inner {
        padding: 1rem 2rem 1.15rem var(--site-menu-content-left, max(1rem, calc((100vw - 1320px) / 2)));
        border-top: 0;
    }

    .site-nav-item.has-simple-menu > .site-mega-menu .site-mega-links-simple {
        grid-template-columns: 1fr;
        gap: 0.7rem;
        padding-top: 0;
    }

    .site-footer-main > .row {
        display: grid;
        grid-template-columns: 50% 18% 32%;
        gap: 0;
    }

    .site-footer-main > .row > [class*="col-"] {
        width: auto;
        max-width: none;
        padding-inline: 0;
    }
}

@media (min-width: 576px) {
    .text-content-page {
        --text-content-container-max: 540px;
    }
}

@media (min-width: 768px) {
    .text-content-page {
        --text-content-container-max: 720px;
    }

    .text-content-title__heading {
        font-size: 2.8rem;
    }
}

@media (min-width: 992px) {
    .text-content-page {
        --text-content-container-max: 960px;
        --text-content-section-gap: 3rem;
    }

    .history-timeline-hero__title,
    .success-story-index-header__title {
        font-size: 3.3rem;
    }

    .history-timeline__item {
        grid-template-columns: minmax(7rem, 9.5rem) 1.5rem minmax(0, 1fr);
        column-gap: 1.65rem;
    }

    .text-content-title--text {
        padding-block: 3.25rem 4rem;
    }

    .text-content-title__heading {
        font-size: 3.3rem;
    }

    .text-content-title__teaser {
        font-size: 1.16rem;
    }

    .text-content-section__main,
    .text-content-section__aside {
        grid-row: 1;
    }

    .text-content-section--main-left .text-content-section__grid:not(.text-content-section__grid--single) {
        grid-template-columns: minmax(0, var(--text-content-main-fr)) minmax(0, var(--text-content-aside-fr));
    }

    .text-content-section--main-right .text-content-section__grid:not(.text-content-section__grid--single) {
        grid-template-columns: minmax(0, var(--text-content-aside-fr)) minmax(0, var(--text-content-main-fr));
    }

    .text-content-section--main-left .text-content-section__main {
        grid-column: 1;
    }

    .text-content-section--main-left .text-content-section__aside {
        grid-column: 2;
    }

    .text-content-section--main-right .text-content-section__main {
        grid-column: 2;
    }

    .text-content-section--main-right .text-content-section__aside {
        grid-column: 1;
    }

    .text-content-section__grid--single .text-content-section__main {
        grid-column: 1;
    }

    .text-content-section--main-left .text-content-section__main .text-content-media--full_bleed,
    .text-content-section--main-left .text-content-section__main .text-content-embed.text-content-media--full_bleed {
        width: calc(100% + var(--text-content-viewport-gutter) + var(--text-content-container-padding));
        margin-left: calc(-1 * (var(--text-content-viewport-gutter) + var(--text-content-container-padding)));
        margin-right: 0;
    }

    .text-content-section--main-right .text-content-section__main .text-content-media--full_bleed,
    .text-content-section--main-right .text-content-section__main .text-content-embed.text-content-media--full_bleed {
        width: calc(100% + var(--text-content-viewport-gutter) + var(--text-content-container-padding));
        margin-left: 0;
        margin-right: calc(-1 * (var(--text-content-viewport-gutter) + var(--text-content-container-padding)));
    }

    .text-content-section--main-left .text-content-section__aside .text-content-media--full_bleed,
    .text-content-section--main-left .text-content-section__aside .text-content-embed.text-content-media--full_bleed {
        width: calc(100% + var(--text-content-viewport-gutter) + var(--text-content-container-padding));
        margin-left: 0;
        margin-right: calc(-1 * (var(--text-content-viewport-gutter) + var(--text-content-container-padding)));
    }

    .text-content-section--main-right .text-content-section__aside .text-content-media--full_bleed,
    .text-content-section--main-right .text-content-section__aside .text-content-embed.text-content-media--full_bleed {
        width: calc(100% + var(--text-content-viewport-gutter) + var(--text-content-container-padding));
        margin-left: calc(-1 * (var(--text-content-viewport-gutter) + var(--text-content-container-padding)));
        margin-right: 0;
    }

    .text-content-related-card--featured:not(.text-content-related-card--no-image) {
        grid-template-columns:
            minmax(0, var(--related-feature-image-size, 30%))
            minmax(0, 1fr);
        gap: 2.5rem;
        align-items: center;
    }

    .text-content-related-block--feature-image-right .text-content-related-card--featured:not(.text-content-related-card--no-image) {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, var(--related-feature-image-size, 30%));
    }

    .text-content-related-block--feature-image-right .text-content-related-card--featured .text-content-related-card__media {
        order: 2;
    }

    .text-content-related-block--feature-image-right .text-content-related-card--featured .text-content-related-card__body {
        order: 1;
    }

    .text-content-related-card--featured .text-content-related-card__title {
        font-size: 2rem;
    }
}

@media (min-width: 1200px) {
    .text-content-page {
        --text-content-container-max: 1140px;
        --text-content-section-gap: 4rem;
    }
}

@media (min-width: 1400px) {
    .text-content-page {
        --text-content-container-max: 1320px;
    }
}

@media (max-width: 1199.98px) {
    .home-page-body .site-header {
        background: var(--utef-header);
    }

    .home-page-body .site-header-border {
        background: var(--utef-header-border);
    }

    .home-hero__inner {
        padding-top: clamp(8rem, 18vh, 11rem);
    }

    .home-updates__grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    }

    .site-navbar {
        height: auto;
        min-height: 75px;
    }

    .site-brand {
        max-width: calc(100% - 4rem);
    }

    .site-brand-title {
        max-width: 100%;
        font-size: 0.82rem;
    }

    .site-navbar-collapse {
        padding-top: 1rem;
    }

    .site-nav {
        width: 100%;
        border-top: 1px solid var(--utef-header-border);
        padding-top: 0.5rem;
    }

    .site-nav-item {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .site-nav-link-row {
        justify-content: space-between;
    }

    .site-nav-link {
        padding-inline: 0;
    }

    .site-mega-menu {
        padding-bottom: 1rem;
    }

    .site-mega-menu-inner {
        padding-top: 0.25rem;
        border-top: 0;
    }

    .site-utility {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        height: auto;
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid var(--utef-header-border);
    }

    .site-utility-controls,
    .site-language-switcher,
    .site-utility-links {
        height: auto;
    }

    .site-icon-link,
    .site-language-button,
    .site-utility-link {
        height: auto;
        padding: 0.55rem 0;
    }

    .site-utility-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .site-footer-brand {
        flex-direction: column;
    }

    .site-footer-newsletter-form {
        flex-direction: column;
        gap: 0.75rem;
    }

    .site-footer-bottom-inner {
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .home-section__header {
        flex-direction: column;
        margin-bottom: 1.8rem;
    }

    .home-hero h1 {
        font-size: clamp(2.35rem, 13vw, 3.6rem);
    }

    .home-research__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-offers__grid {
        gap: 0.9rem;
    }

    .success-story-card-grid {
        grid-template-columns: 1fr;
    }

    .success-story-card {
        height: 430px;
    }

    .success-story-next {
        width: 100%;
        min-width: 0;
    }

    .history-timeline-hero,
    .success-story-index-header {
        margin: 1.75rem 0 2rem;
    }

    .history-timeline-hero__title,
    .success-story-index-header__title {
        font-size: 2.05rem;
    }

    .history-timeline__item {
        grid-template-columns: 4rem 1.25rem minmax(0, 1fr);
        column-gap: 0.75rem;
        margin-bottom: 2rem;
        padding: 0.85rem;
    }

    .history-timeline__figure {
        width: 4rem;
    }

    .history-timeline__marker::before {
        bottom: -2.85rem;
    }

    .history-timeline__date {
        margin-bottom: 0.55rem;
        font-size: 1.18rem;
    }

    .history-timeline__description {
        font-size: 0.95rem;
        line-height: 1.48;
    }
}
