.resources-page {
    width: 100%;
    padding-top: var(--header-height);
    background: var(--color-bg-page);
}

.resources-container {
    max-width: var(--container-max-wide);
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--container-padding-x-wide);
    box-sizing: border-box;
}
/* Figma 5870:8130 — Resources hero — aspect-ratio + padding/type, no fixed height */
.resources-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    aspect-ratio: var(--res-hero-aspect);
    height: auto;
    padding: var(--res-hero-pad-y) var(--res-hero-pad-x);
    box-sizing: border-box;
}

.resources-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.resources-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(
        -90deg,
        rgba(46, 49, 146, 0) 37.019%,
        rgba(46, 49, 146, 0.89) 51.923%,
        rgba(27, 30, 98, 0.833) 67.308%,
        rgb(0, 3, 28) 89.904%
    );
}

.resources-hero-copy {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--res-hero-copy-max);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--res-hero-gap);
    color: var(--color-white);
}

.resources-hero-kicker {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-hero-kicker);
    line-height: 1.5;
}

.resources-hero-title {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-hero-title);
    line-height: 1.5;
}

.resources-hero-body {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-regular);
    font-size: var(--res-hero-body);
    line-height: var(--line-height-relaxed);
}
/* Figma 5882:10774 — Resource library — padding/type/gaps via --res-lib-* */
.resources-library {
    padding: var(--res-lib-pad-top) var(--res-lib-pad-x) var(--res-lib-pad-y);
    box-sizing: border-box;
    background: var(--color-bg-gray-light);
}

.resources-library-inner {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-inner-gap);
}

.resources-library-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--res-lib-tabs-gap);
}

.resources-library-tab {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--res-lib-tab-min-w);
    width: var(--res-lib-tab-min-w);
    min-width: var(--res-lib-tab-min-w);
    height: var(--res-lib-tab-height);
    min-height: var(--res-lib-tab-height);
    padding: 0 var(--res-lib-tab-pad-x);
    box-sizing: border-box;
    border: 1px solid var(--color-primary);
    background: var(--color-white);
    color: var(--color-primary);
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-tab-font);
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition:
        color var(--transition-btn),
        border-color var(--transition-btn);
}

.resources-library-tab > span {
    position: relative;
    z-index: 1;
}

.resources-library-tab::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--gradient-primary-158);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--transition-btn);
    pointer-events: none;
}

.resources-library-tab:hover,
.resources-library-tab:focus-visible {
    color: var(--color-white);
    border-color: transparent;
}

.resources-library-tab:hover::before,
.resources-library-tab:focus-visible::before {
    transform: scaleX(1);
}

.resources-library-tab.is-active {
    background-image: var(--gradient-primary-158);
    border-color: transparent;
    color: var(--color-white);
}

.resources-library-tab.is-active::before {
    transform: scaleX(1);
}

.resources-library-tab:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.resources-library-body {
    display: grid;
    grid-template-columns: var(--res-lib-filters-w) minmax(0, 1fr);
    gap: var(--res-lib-body-gap);
    align-items: start;
}

.resources-filters {
    background: var(--color-white);
    border-radius: 10px;
    padding: var(--res-lib-filters-pad-y) var(--res-lib-filters-pad-x);
    box-sizing: border-box;
}

.resources-filters-accordion {
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-filters-gap);
}

.resources-filters-summary {
    display: block;
    list-style: none;
    cursor: default;
}

.resources-filters-summary::-webkit-details-marker {
    display: none;
}

.resources-filters-summary::marker {
    content: "";
    display: none;
}

.resources-filters-title {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-filters-title);
    line-height: 1.8;
    color: var(--color-primary-dark);
}

.resources-filters-caret {
    display: none;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.resources-filters-panel {
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-filters-gap);
}

.resources-filters-group {
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-filters-group-gap);
}

.resources-filters-group[hidden] {
    display: none;
}

.resources-filters-heading {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-filters-heading);
    line-height: 1.8;
    color: var(--color-primary-dark);
}

.resources-filters-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-filters-list-gap);
}

.resources-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-primary-dark);
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-regular);
    font-size: var(--res-lib-filters-chip);
    line-height: 1.8;
    text-align: left;
    cursor: pointer;
    transition: color var(--transition-btn), border-color var(--transition-btn);
}

.resources-filter-chip:hover,
.resources-filter-chip:focus-visible {
    color: var(--color-primary);
}

.resources-filter-chip.is-active {
    padding: 0 var(--res-lib-filters-chip-pad-x);
    border: 1px solid #9c9c9c;
    border-radius: 50px;
    background: var(--color-white);
}

.resources-filter-chip.is-active:hover,
.resources-filter-chip.is-active:focus-visible {
    border-color: var(--color-primary);
}

.resources-filter-chip-clear {
    font-size: var(--res-lib-filters-chip);
    line-height: 1.8;
}

.resources-filter-chip:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.resources-library-main {
    display: flex;
    flex-direction: column;
    gap: var(--res-lib-main-gap);
    min-width: 0;
}

.resources-search {
    display: flex;
    align-items: center;
    gap: var(--res-lib-search-gap);
    min-height: var(--res-lib-search-height);
    padding: 0 var(--res-lib-search-pad-x);
    box-sizing: border-box;
    background: var(--color-white);
}

.resources-search-icon {
    width: var(--res-lib-search-icon);
    height: var(--res-lib-search-icon);
    flex-shrink: 0;
    display: block;
}

.resources-search-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-regular);
    font-size: var(--res-lib-search-input);
    line-height: var(--line-height-tight);
    color: var(--color-text);
}

.resources-search-input::placeholder {
    color: rgba(20, 20, 20, 0.4);
}

.resources-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--res-lib-cards-gap);
    align-items: stretch;
}

.resources-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    background: var(--color-white);
    border-radius: 10px;
    box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.resources-card[hidden] {
    display: none !important;
}

.resources-card-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1 auto;
    min-height: 0;
    gap: var(--res-lib-card-stack-gap);
    padding: var(--res-lib-card-pad-y) var(--res-lib-card-pad-x) calc(var(--res-lib-card-pad-y) + 4px) var(--res-lib-card-pad-x);
    box-sizing: border-box;
}

.resources-card-title-row {
    display: flex;
    align-items: flex-start;
    gap: var(--res-lib-card-title-gap);
    min-width: 0;
    width: 100%;
}

.resources-card-pdf {
    width: var(--res-lib-card-pdf-w);
    height: var(--res-lib-card-pdf-h);
    flex-shrink: 0;
    display: block;
    object-fit: contain;
    margin-top: calc((var(--res-lib-card-title-lh) - var(--res-lib-card-pdf-h)) / 2);
}

.resources-card-copy {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.resources-card-title {
    margin: 0;
    width: 100%;
    font-family: var(--font-family-base);
    font-weight: 500;
    font-size: var(--res-lib-card-title);
    line-height: var(--res-lib-card-title-lh);
    color: var(--color-primary);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.resources-card-excerpt {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-regular);
    font-size: var(--res-lib-card-tag-font);
    line-height: 1.4;
    color: var(--color-text-muted);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.resources-card-meta {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--res-lib-card-meta-gap);
    margin-top: auto;
    width: 100%;
    min-width: 0;
}

.resources-card-download {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    max-width: 100%;
    height: var(--res-lib-card-dl-height);
    padding: 0 var(--res-lib-card-dl-pad-x);
    box-sizing: border-box;
    background-image: var(--gradient-primary-158);
    color: var(--color-white);
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-card-dl-font);
    line-height: var(--line-height-tight);
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--transition-btn);
}

.resources-card-download > span {
    position: relative;
    z-index: 1;
}

.resources-card-download::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--color-white);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--transition-btn);
    pointer-events: none;
}

.resources-card-download:hover,
.resources-card-download:focus-visible {
    color: var(--color-primary);
}

.resources-card-download:hover::before,
.resources-card-download:focus-visible::before {
    transform: scaleX(1);
}

.resources-card-download:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.resources-card-download:active::before {
    background: var(--color-bg-blue-tint);
    transform: scaleX(1);
}

.resources-card-tags {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--res-lib-card-meta-gap);
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.resources-card-tag {
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-card-tag-font);
    line-height: var(--line-height-tight);
    color: #515151;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Figma 6350:5496 — Video card — title, 378:206 media, explore actions */
.resources-card--video .resources-card-body {
    gap: var(--res-lib-video-gap);
}

.resources-card--video .resources-card-title {
    flex: 1 0 auto;
    line-height: 1.2;
}

.resources-card-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: var(--res-lib-video-media-ratio);
    overflow: hidden;
    background: var(--color-bg-gray-light);
}

.resources-card-media-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.resources-card-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    transform: translate(-50%, -50%);
}

.resources-card-media:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.resources-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px var(--res-lib-video-actions-gap);
    margin-top: auto;
    width: 100%;
    min-width: 0;
}

.resources-card-explore {
    flex: 1 0 auto;
}

.resources-card-explore:only-child {
    flex-grow: 0;
}

.resources-card-series {
    flex: 0 0 auto;
    background-image: var(--gradient-primary-165);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-lib-card-dl-font);
    line-height: var(--line-height-tight);
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.resources-card-series:hover {
    text-decoration: underline;
    text-decoration-color: var(--color-primary);
}

.resources-card-series:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.resources-empty {
    margin: 0;
    padding: 40px 20px;
    text-align: center;
    font-family: var(--font-family-base);
    font-size: var(--font-size-md);
    color: var(--color-text-muted);
}

.resources-empty[hidden] {
    display: none !important;
}
/* Figma 4242:42544 — Help CTA — padding drives height; fluid type/buttons */
.resources-help {
    width: 100%;
    padding: var(--res-help-pad-top) var(--res-help-pad-x) var(--res-help-pad-bottom);
    box-sizing: border-box;
    background: var(--color-white);
}

.resources-help-inner {
    width: 100%;
    max-width: 1720px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--res-help-gap);
    padding: var(--res-help-inner-pad-y) var(--res-help-inner-pad-x);
    box-sizing: border-box;
    background: var(--color-bg-blue-tint);
}

.resources-help-copy {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--res-help-gap);
}

.resources-help-heading {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-help-title);
    line-height: 1.8;
    color: var(--color-indigo);
    text-transform: capitalize;
}

.resources-help-body {
    margin: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-light);
    font-size: var(--res-help-body);
    line-height: 1.5;
    color: var(--color-text-heading);
}

.resources-help-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: var(--res-help-btn-gap);
}

.resources-help-btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--res-help-btn-gap);
    height: var(--res-help-btn-height);
    min-height: var(--res-help-btn-height);
    padding: 0 var(--res-help-btn-pad-x);
    box-sizing: border-box;
    border-radius: 0;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    font-size: var(--res-help-btn-font);
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: none;
    transition:
        color var(--transition-btn),
        border-color var(--transition-btn);
}

.resources-help-btn > * {
    position: relative;
    z-index: 1;
    color: inherit;
}

.resources-help-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--transition-btn);
    pointer-events: none;
}

.resources-help-btn img {
    width: var(--res-help-btn-icon);
    height: var(--res-help-btn-icon);
    display: block;
    flex-shrink: 0;
    transition: filter var(--transition-btn);
}

.resources-help-btn--solid {
    background-color: var(--color-primary);
    background-image: linear-gradient(160.69deg, var(--color-primary) 3.55%, var(--color-primary-dark) 95.75%);
    color: var(--color-white);
    border: 0;
}

.resources-help-btn--solid::before {
    background: var(--color-accent);
}

.resources-help-btn--solid:hover,
.resources-help-btn--solid:focus-visible {
    color: var(--color-white);
    box-shadow: none;
}

.resources-help-btn--solid:hover::before,
.resources-help-btn--solid:focus-visible::before {
    transform: scaleX(1);
}

.resources-help-btn--solid:hover img,
.resources-help-btn--solid:focus-visible img {
    filter: none;
}

.resources-help-btn--outline {
    border: 2px solid var(--color-primary);
    background: transparent;
    color: var(--color-primary);
}

.resources-help-btn--outline::before {
    background-color: var(--color-primary);
    background-image: linear-gradient(160.69deg, var(--color-primary) 3.55%, var(--color-primary-dark) 95.75%);
}

.resources-help-btn--outline:hover,
.resources-help-btn--outline:focus-visible {
    color: var(--color-white);
    border-color: transparent;
    box-shadow: none;
}

.resources-help-btn--outline:hover::before,
.resources-help-btn--outline:focus-visible::before {
    transform: scaleX(1);
}

.resources-help-btn--outline:hover img,
.resources-help-btn--outline:focus-visible img {
    filter: brightness(0) invert(1);
}

.resources-help-btn:active {
    box-shadow: none;
}

.resources-help-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .resources-help-btn,
    .resources-help-btn::before {
        transition: none;
    }
}
/* 1200–1920: --res-* clamps only — no padding/type/height overrides */

@media screen and (max-width: 1199px) {
    .resources-hero {
        aspect-ratio: auto;
        height: auto;
        min-height: 0;
        padding: clamp(28px, 4vw, 40px) var(--res-hero-pad-x);
    }

    .resources-hero-copy {
        max-width: 640px;
    }

    .resources-library-body {
        grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    }

    .resources-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resources-library-tab {
        min-width: 0;
        flex: 1 1 0;
    }

    .resources-card-meta {
        gap: 10px;
    }

    .resources-help-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 991px) {
    .resources-page {
        padding-top: 60px;
    }

    .resources-hero {
        aspect-ratio: auto;
        height: auto;
        min-height: 0;
        padding: 40px var(--container-padding-x-wide);
    }

    .resources-hero-copy {
        max-width: 560px;
        gap: 8px;
    }

    .resources-hero-kicker {
        font-size: 15px;
    }

    .resources-hero-title {
        line-height: 1.3;
    }

    .resources-hero-body {
        font-size: 17px;
        line-height: 1.45;
    }

    .resources-library {
        padding: 40px 32px;
    }

    .resources-library-body {
        grid-template-columns: 1fr;
    }

    .resources-library-tabs {
        gap: 10px;
    }

    .resources-library-tab {
        width: auto;
        min-width: 0;
        flex: 1 1 calc(33.333% - 10px);
        min-height: 48px;
        padding: 12px 10px;
        font-size: 13px;
        white-space: nowrap;
    }

    .resources-filters {
        padding: 0;
        overflow: hidden;
        border-radius: 0;
    }

    .resources-filters-accordion {
        gap: 0;
    }

    .resources-filters-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 20px;
        cursor: pointer;
        user-select: none;
        pointer-events: auto;
    }

    .resources-filters-title {
        font-size: 20px;
        line-height: 1.2;
    }

    .resources-filters-caret {
        display: block;
        width: 20px;
        height: 20px;
        object-fit: contain;
        flex-shrink: 0;
        filter: brightness(0) saturate(100%) invert(14%) sepia(28%) saturate(1842%) hue-rotate(195deg) brightness(92%) contrast(98%);
    }

    .resources-filters-accordion[open] .resources-filters-caret {
        transform: rotate(180deg);
    }

    .resources-filters-panel {
        padding: 0 20px 16px;
        gap: 18px;
    }

    .resources-library-main {
        gap: 18px;
    }

    .resources-search {
        min-height: 56px;
        padding: 0 20px;
        gap: 12px;
    }

    .resources-search-icon {
        width: 28px;
        height: 28px;
    }

    .resources-search-input {
        font-size: 18px;
    }

    .resources-cards {
        gap: 12px;
    }

    .resources-card-body {
        padding: 14px 12px 14px 14px;
    }

    .resources-card-meta {
        gap: 8px;
        flex-wrap: wrap;
    }

    .resources-card-download {
        padding: 0 10px;
        height: 34px;
        font-size: 13px;
    }

    .resources-card-series {
        font-size: 13px;
    }

    .resources-card-tags {
        gap: 8px;
        flex-wrap: wrap;
    }

    .resources-card-tag {
        font-size: 11px;
    }

    .resources-help-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .resources-help-actions {
        flex-wrap: wrap;
        width: 100%;
    }

    .resources-help-btn {
        white-space: normal;
        text-align: center;
    }
}

@media screen and (min-width: 992px) {
    .resources-filters-summary {
        pointer-events: none;
    }

    .resources-filters-accordion > .resources-filters-panel {
        display: flex;
    }
}

@media screen and (max-width: 767px) {
    .resources-hero {
        padding: 40px var(--container-padding-x-wide);
    }

    .resources-hero-overlay {
        background-image: linear-gradient(
            180deg,
            rgba(0, 3, 28, 0.82) 0%,
            rgba(27, 30, 98, 0.72) 45%,
            rgba(46, 49, 146, 0.35) 100%
        );
    }

    .resources-hero-kicker {
        font-size: var(--font-size-sm);
    }

    .resources-hero-body {
        font-size: var(--font-size-sm);
    }

    .resources-library {
        padding-left: 20px;
        padding-right: 20px;
    }

    .resources-help {
        padding: 20px;
    }

    .resources-library-tabs {
        gap: 12px;
    }

    .resources-library-tab {
        width: 100%;
        flex: 1 1 100%;
        min-width: 0;
        white-space: nowrap;
    }

    .resources-cards {
        gap: 20px;
    }

    .resources-card-meta {
        gap: 12px 16px;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 600px) {
    .resources-hero {
        padding: 32px var(--container-padding-x-wide);
    }

    .resources-hero-copy {
        gap: 6px;
        max-width: 100%;
    }

    .resources-hero-kicker {
        font-size: 13px;
        line-height: 1.3;
    }

    .resources-hero-title {
        line-height: 1.25;
    }

    .resources-hero-body {
        font-size: 14px;
        line-height: 1.45;
    }

    .resources-library {
        padding: 28px 16px;
    }

    .resources-library-inner {
        gap: 20px;
    }

    .resources-library-tabs {
        gap: 8px;
    }

    .resources-library-tab {
        min-height: 44px;
        padding: 10px 14px;
        font-size: 13px;
        line-height: 1.2;
    }

    .resources-filters-summary {
        padding: 10px 16px;
    }

    .resources-filters-title {
        font-size: 18px;
        line-height: 1.2;
    }

    .resources-filters-caret {
        width: 18px;
        height: 18px;
    }

    .resources-filters-panel {
        padding: 0 16px 14px;
        gap: 14px;
    }

    .resources-filters-group {
        gap: 12px;
    }

    .resources-filters-heading {
        font-size: 15px;
        line-height: 1.3;
    }

    .resources-filter-chip {
        font-size: 14px;
        line-height: 1.35;
    }

    .resources-library-main {
        gap: 14px;
    }

    .resources-search {
        min-height: 48px;
        padding: 0 14px;
        gap: 10px;
    }

    .resources-search-icon {
        width: 22px;
        height: 22px;
    }

    .resources-search-input {
        font-size: 15px;
        line-height: 1.3;
    }

    .resources-cards {
        gap: 12px;
    }

    .resources-card-body {
        padding: 14px;
    }

    .resources-card-meta {
        gap: 10px 12px;
    }

    .resources-card-download {
        height: 36px;
        padding: 0 14px;
        font-size: 13px;
        line-height: 1.2;
    }

    .resources-card-series {
        font-size: 13px;
        line-height: 1.2;
    }

    .resources-card-tag {
        font-size: 12px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 575px) {
    .resources-help-btn {
        width: 100%;
    }

    .resources-help-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media screen and (max-width: 599px) {
    .resources-cards {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .resources-library-tab,
    .resources-library-tab::before,
    .resources-card-download,
    .resources-card-download::before,
    .resources-help-btn,
    .resources-help-btn::before,
    .resources-help-btn img,
    .resources-filters-caret {
        transition: none;
    }
}

/* Resources banner — same frame, overlay, and mobile photo area as the about banner.
   The live page uses the shared complete banner. */
.resources-page .page-banner-complete {
    height: auto;
    aspect-ratio: var(--res-hero-aspect);
    min-height: 0;
    align-items: center;
    padding: var(--res-hero-pad-y) var(--res-hero-pad-x);
}

.resources-page .page-banner-complete__image,
.resources-hero-image {
    object-position: 70% center;
}

.resources-page .page-banner-complete__copy {
    max-width: var(--res-hero-copy-max);
    gap: var(--res-hero-gap);
}

.resources-page .page-banner-complete__eyebrow {
    font-size: var(--res-hero-kicker);
}

.resources-page .page-banner-complete__heading {
    font-size: var(--res-hero-title);
}

.resources-page .page-banner-complete__description {
    font-size: var(--res-hero-body);
}

@media screen and (max-width: 1080px) and (min-width: 769px) {
    .resources-hero-overlay,
    .resources-page .page-banner-complete__overlay {
        background-image: linear-gradient(
            -90deg,
            rgba(46, 49, 146, 0) 22%,
            rgba(46, 49, 146, 0.89) 36%,
            rgba(27, 30, 98, 0.833) 54%,
            rgb(0, 3, 28) 78%
        );
    }
}

@media screen and (max-width: 1080px) and (min-width: 600px) {
    /* Hold the 1080 banner height (1080 × 400/1920) instead of collapsing to the copy */
    .resources-hero,
    .resources-page .page-banner-complete {
        aspect-ratio: auto;
        min-height: 225px;
        height: auto;
        align-items: center;
        padding: 36px 40px;
    }

    .resources-hero-overlay,
    .resources-page .page-banner-complete__overlay {
        background-image: linear-gradient(
            -90deg,
            rgba(46, 49, 146, 0) 18%,
            rgba(46, 49, 146, 0.89) 34%,
            rgba(27, 30, 98, 0.833) 52%,
            rgb(0, 3, 28) 76%
        );
    }

    .resources-hero-image,
    .resources-page .page-banner-complete__image {
        position: absolute;
        inset: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: 70% center;
    }

    .resources-hero-copy,
    .resources-page .page-banner-complete__copy {
        max-width: min(620px, 100%);
        gap: 10px;
    }
}

@media screen and (max-width: 599px) {
    .resources-hero,
    .resources-page .page-banner-complete {
        aspect-ratio: auto;
        min-height: 0;
        height: auto;
        align-items: flex-end;
        padding: clamp(240px, 89.0698vw, 383px) 20px 20px;
    }

    .resources-hero-overlay,
    .resources-page .page-banner-complete__overlay {
        background-image: linear-gradient(
            to bottom,
            rgba(46, 49, 146, 0) 44.455%,
            #2e3192 61.2%,
            #000 92.364%
        );
    }

    .resources-hero-image,
    .resources-page .page-banner-complete__image {
        position: absolute;
        inset: auto;
        top: -0.03%;
        left: -0.08%;
        width: 149.39%;
        height: 77.12%;
        max-width: none;
        object-fit: cover;
        object-position: center center;
    }

    .resources-hero-copy,
    .resources-page .page-banner-complete__copy {
        max-width: none;
        gap: clamp(6px, 1.8605vw, 8px);
    }

    .resources-hero-kicker,
    .resources-page .page-banner-complete__eyebrow {
        font-size: clamp(12px, 3.2558vw, 14px);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0;
    }

    .resources-hero-title,
    .resources-page .page-banner-complete__heading {
        font-size: clamp(24px, 7.4419vw, 32px);
        font-weight: 500;
        line-height: 1.2;
    }

    .resources-hero-body,
    .resources-page .page-banner-complete__description {
        font-size: clamp(12px, 3.2558vw, 14px);
        font-weight: 400;
        line-height: 1.5;
    }
}

@media screen and (max-width: 429px) {
    .resources-hero,
    .resources-page .page-banner-complete {
        padding-top: 383px;
    }

    .resources-hero-image,
    .resources-page .page-banner-complete__image {
        top: 0;
        left: 0;
        width: 642px;
        height: 428px;
    }
}
