/* Final header behavior: transparent over the hero, solid after scroll. */
html[data-theme] {
    --psi-header-height: 84px;
    --psi-header-ink: #ffffff;
    --psi-header-solid-ink: #123a52;
}

/* Final research center detail presentation: editorial profile layout. */
html[data-theme] .research-center-detail-hero {
    padding: clamp(122px, 13vw, 164px) 0 clamp(54px, 7vw, 82px) !important;
    background: var(--ink, #061936) !important;
    color: var(--ink-foreground, #f7fafc) !important;
}

html[data-theme] .research-center-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .9fr) !important;
    gap: clamp(42px, 8vw, 96px) !important;
    align-items: center !important;
}

html[data-theme] .research-center-hero-grid .eyebrow {
    margin: 0 0 18px !important;
    color: var(--gold, #d6a84a) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-center-hero-grid h1 {
    max-width: 760px !important;
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: clamp(34px, 3.8vw, 56px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

html[data-theme] .research-center-hero-grid p:not(.eyebrow) {
    max-width: 760px !important;
    margin: 0 !important;
    color: oklch(0.97 0.005 250 / .88) !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
}

html[data-theme] .research-center-hero-grid figure {
    margin: 0 !important;
}

html[data-theme] .research-center-hero-grid figure img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html[data-theme] .research-center-hero-stats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: clamp(34px, 5vw, 70px) !important;
    margin: 34px 0 0 !important;
}

html[data-theme] .research-center-hero-stats div {
    display: grid !important;
    gap: 6px !important;
    min-width: 96px !important;
}

html[data-theme] .research-center-hero-stats dt {
    color: oklch(0.97 0.005 250 / .55) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-center-hero-stats dd {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

html[data-theme] .research-center-detail-section {
    padding: clamp(54px, 6vw, 80px) 0 !important;
    border-bottom: 1px solid oklch(0.21 0.06 262 / .14) !important;
    background: #f6f8fb !important;
}

html[data-theme] .research-center-detail-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
    gap: clamp(34px, 6vw, 82px) !important;
    align-items: start !important;
}

html[data-theme] .research-center-about-card,
html[data-theme] .research-center-focus-card,
html[data-theme] .research-department-list article,
html[data-theme] .research-center-publication-list article,
html[data-theme] .research-center-member-card,
html[data-theme] .research-related-centers a {
    border-radius: 0 !important;
    box-shadow: none !important;
}

html[data-theme] .research-center-about-card,
html[data-theme] .research-center-focus-card,
html[data-theme] .research-department-list article,
html[data-theme] .research-center-member-card {
    border: 0 !important;
    background: transparent !important;
}

html[data-theme] .research-center-about-card {
    padding: 0 clamp(28px, 5vw, 72px) 0 0 !important;
    border-right: 1px solid var(--gold, #d6a84a) !important;
}

html[data-theme] .research-center-about-card .eyebrow,
html[data-theme] .research-center-focus-card .eyebrow,
html[data-theme] .research-center-list-head .eyebrow,
html[data-theme] .research-center-publication-list .eyebrow {
    margin: 0 0 24px !important;
    color: #3e536a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .26em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-center-about-card p:not(.eyebrow) {
    margin: 0 0 20px !important;
    max-width: 680px !important;
    color: var(--foreground, #0d1b34) !important;
    font-size: 18px !important;
    line-height: 1.74 !important;
}

html[data-theme] .research-center-about-card strong {
    color: var(--foreground, #0d1b34) !important;
    font-weight: 900 !important;
}

html[data-theme] .research-center-focus-card {
    padding: 0 !important;
}

html[data-theme] .research-center-focus-card ol {
    display: grid !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

html[data-theme] .research-center-focus-card li {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    color: var(--foreground, #0d1b34) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

html[data-theme] .research-center-focus-card li span,
html[data-theme] .research-department-list article > span {
    color: var(--gold, #d6a84a) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

html[data-theme] .research-center-list-head {
    margin-bottom: 30px !important;
}

html[data-theme] .research-center-list-head--inline {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    align-items: center !important;
}

html[data-theme] .research-center-list-head--inline span {
    color: #3e536a !important;
    font-size: 14px !important;
}

html[data-theme] .research-department-list {
    border-top: 1px solid oklch(0.21 0.06 262 / .16) !important;
}

html[data-theme] .research-department-list article {
    display: grid !important;
    grid-template-columns: 46px minmax(220px, .55fr) minmax(0, 1fr) !important;
    gap: clamp(22px, 4vw, 72px) !important;
    align-items: start !important;
    padding: 30px 0 !important;
    border-bottom: 1px solid oklch(0.21 0.06 262 / .14) !important;
}

html[data-theme] .research-department-list h3 {
    margin: 0 !important;
    color: #061936 !important;
    font-size: 20px !important;
    line-height: 1.22 !important;
}

html[data-theme] .research-department-list p {
    margin: 0 !important;
    color: #53657a !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

html[data-theme] .research-center-publication-list {
    display: grid !important;
    gap: 22px !important;
    max-width: 760px !important;
}

html[data-theme] .research-center-publication-list article {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px -34px oklch(0.21 0.06 262 / .42) !important;
}

html[data-theme] .research-center-publication-list img {
    width: 150px !important;
    height: 100% !important;
    min-height: 180px !important;
    object-fit: cover !important;
}

html[data-theme] .research-center-publication-list article > div {
    padding: 28px 30px !important;
}

html[data-theme] .research-center-publication-list h3 {
    margin: 0 0 10px !important;
    color: #061936 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

html[data-theme] .research-center-publication-list small,
html[data-theme] .research-center-publication-list p {
    display: block !important;
    margin: 0 0 16px !important;
    color: #53657a !important;
    line-height: 1.6 !important;
}

html[data-theme] .research-center-publication-list article > div > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 22px !important;
}

html[data-theme] .research-center-publication-list a,
html[data-theme] .research-center-member-card strong {
    color: var(--accent, #0784b5) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

html[data-theme] .research-center-member-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(24px, 3vw, 40px) !important;
}

html[data-theme] .research-center-member-card {
    display: block !important;
    padding: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
}

html[data-theme] .research-center-member-card img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    filter: grayscale(1) contrast(1.08) !important;
    margin-bottom: 22px !important;
}

html[data-theme] .research-center-member-card h3 {
    margin: 0 0 4px !important;
    color: #061936 !important;
    font-size: 18px !important;
}

html[data-theme] .research-center-member-card p,
html[data-theme] .research-center-member-card span {
    display: block !important;
    margin: 0 0 7px !important;
    color: #52677e !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

html[data-theme] .research-center-member-card span {
    color: var(--accent, #0784b5) !important;
    font-weight: 700 !important;
}

html[data-theme] .research-center-member-card strong {
    display: inline-block !important;
    margin-top: 8px !important;
}

@media (max-width: 900px) {
    html[data-theme] .research-center-hero-grid,
    html[data-theme] .research-center-detail-grid {
        grid-template-columns: 1fr !important;
    }

    html[data-theme] .research-center-about-card {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    html[data-theme] .research-department-list article {
        grid-template-columns: 40px 1fr !important;
    }

    html[data-theme] .research-department-list article p {
        grid-column: 2 !important;
    }

    html[data-theme] .research-center-publication-list article,
    html[data-theme] .research-center-member-grid {
        grid-template-columns: 1fr !important;
    }

    html[data-theme] .research-center-publication-list img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
    }
}

/* Keep research-center detail heroes dark after the global page background cleanup. */
html[data-theme] body .research-center-detail-hero {
    background: var(--ink, #061936) !important;
    background-color: var(--ink, #061936) !important;
    color: var(--ink-foreground, #f7fafc) !important;
}

html[data-theme] body .research-center-detail-hero * {
    text-shadow: none !important;
}

html[data-theme] body .research-center-detail-hero .eyebrow {
    color: var(--gold, #d6a84a) !important;
}

html[data-theme] body .research-center-detail-hero h1,
html[data-theme] body .research-center-detail-hero dd {
    color: #ffffff !important;
}

html[data-theme] body .research-center-detail-hero p,
html[data-theme] body .research-center-detail-hero dt {
    color: oklch(0.97 0.005 250 / .86) !important;
}

/* Keep every dark-mode page band on one continuous institutional-blue canvas. */
html[data-theme="dark"] body,
html[data-theme="dark"] body.home-page,
html[data-theme="dark"] body.about-page,
html[data-theme="dark"] main,
html[data-theme="dark"] body.home-page main,
html[data-theme="dark"] body.about-page main,
html[data-theme="dark"] .site-main {
    background-color: #084079 !important;
}

:root[data-theme="dark"] main > section:not(.hero):not(.page-hero):not(.about-page-hero):not(.image-page-hero):not(.impact-hero),
:root[data-theme="dark"] main .section:not(.hero):not(.page-hero):not(.about-page-hero):not(.image-page-hero):not(.impact-hero),
:root[data-theme="dark"] main .band,
:root[data-theme="dark"] main .blog-shell,
:root[data-theme="dark"] main .collab-detail,
:root[data-theme="dark"] main .collab-section,
:root[data-theme="dark"] main .collab-band,
:root[data-theme="dark"] main .collab-feature-band,
:root[data-theme="dark"] main .collab-feature-band-examples,
:root[data-theme="dark"] main .collab-platform-band,
:root[data-theme="dark"] main .collab-partner-group {
    background: #084079 !important;
    background-color: #084079 !important;
    background-image: none !important;
}

/* Older page templates use ID-heavy light rules, so match that specificity here. */
:root[data-theme="dark"] body main section.section:is(
    #ongoing-research,
    #completed-research,
    #research-projects,
    #research-reports,
    #policy-briefs,
    #working-papers,
    #research-data,
    #news,
    #events,
    #vacancies,
    #bids,
    #newsletters,
    #blogs-insights,
    #media-gallery
) {
    background: #084079 !important;
    background-color: #084079 !important;
    background-image: none !important;
}

:root[data-theme="dark"] body main section:is(
    #collaborations,
    #collaboration-opportunities,
    #who-we-work-with,
    #featured-partnerships,
    #collaboration-platform,
    #inquiry-form
) {
    background: #084079 !important;
    background-color: #084079 !important;
    background-image: none !important;
}

:root[data-theme="dark"] body.home-page main .section,
:root[data-theme="dark"] body.about-page main .section,
:root[data-theme="dark"] body.about-page main .about-composite-section,
:root[data-theme="dark"] body.about-page main .about-section-mandate-detail,
:root[data-theme="dark"] body.about-page main .about-section-thematic,
:root[data-theme="dark"] body.about-page main .about-section-organogram,
:root[data-theme="dark"] body.about-page main .about-section-researchers {
    background: #084079 !important;
    background-color: #084079 !important;
    background-image: none !important;
}

:root[data-theme="dark"] .footer {
    background: #0e3447 !important;
}

:root[data-theme="dark"] main .logo-card,
:root[data-theme="dark"] main .logo-card h3,
:root[data-theme="dark"] main .logo-card h4,
:root[data-theme="dark"] main .logo-card p,
:root[data-theme="dark"] main .logo-card span {
    color: #f7fafc !important;
}

/* Match Our Impacts hero statistics to the compact Home hero strip. */
html[data-theme] .impact-hero .impact-hero-stats {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 34px 0 0 !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

html[data-theme] .impact-hero .impact-hero-stats .impact-stat {
    min-height: 76px !important;
    height: auto !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(185, 137, 86, .46) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(248, 241, 234, .9), rgba(234, 248, 252, .78)) !important;
    color: #20282d !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .68) inset,
        0 18px 42px -30px rgba(6, 57, 112, .52) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

html[data-theme] .impact-hero .impact-hero-stats .impact-stat strong {
    margin: 0 !important;
    color: #147fa8 !important;
    font-size: 23.04px !important;
    line-height: 1.02 !important;
}

html[data-theme] .impact-hero .impact-hero-stats .impact-stat p {
    margin: 0 !important;
    color: #20282d !important;
    font-size: 11px !important;
    line-height: 1.18 !important;
}

:root[data-theme="dark"] .impact-hero .impact-hero-stats .impact-stat {
    background: linear-gradient(145deg, rgba(6, 57, 112, .72), rgba(20, 127, 168, .34)) !important;
    border-color: rgba(108, 204, 235, .36) !important;
    color: #f8f1ea !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .12) inset,
        0 22px 50px -34px rgba(0, 0, 0, .78) !important;
}

:root[data-theme="dark"] .impact-hero .impact-hero-stats .impact-stat strong {
    color: #6ccceb !important;
}

:root[data-theme="dark"] .impact-hero .impact-hero-stats .impact-stat p {
    color: #f8f1ea !important;
}

@media (max-width: 720px) {
    html[data-theme] .impact-hero .impact-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Use the About navigation pill interaction for tabs across public pages. */
html[data-theme] :is(.impact-page-nav, .section-anchor-nav, .tabs, .filter-tabs) :is(a, button),
html[data-theme] :is(.blog-tab, .gallery-view-tab, .impact-tab) {
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid rgba(39, 168, 216, .28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .58) !important;
    color: #147fa8 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .72),
        0 10px 24px -22px rgba(6, 57, 112, .54) !important;
    cursor: pointer !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

html[data-theme] :is(.impact-page-nav, .section-anchor-nav, .tabs, .filter-tabs) :is(a, button):is(:hover, :focus-visible, .active),
html[data-theme] :is(.blog-tab, .gallery-view-tab, .impact-tab):is(:hover, :focus-visible, .active) {
    background: rgba(39, 168, 216, .14) !important;
    border-color: rgba(39, 168, 216, .58) !important;
    color: #063970 !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .76),
        0 14px 28px -22px rgba(6, 57, 112, .62) !important;
    transform: translateY(-1px) !important;
}

html[data-theme] .blog-tab::after {
    display: none !important;
}

html[data-theme] .blog-tab span {
    min-width: 23px !important;
    min-height: 20px !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    background: rgba(39, 168, 216, .13) !important;
    color: #147fa8 !important;
    font-size: 11px !important;
}

:root[data-theme="dark"] :is(.impact-page-nav, .section-anchor-nav, .tabs, .filter-tabs) :is(a, button),
:root[data-theme="dark"] :is(.blog-tab, .gallery-view-tab, .impact-tab) {
    background: rgba(234, 248, 252, .055) !important;
    border-color: rgba(108, 204, 235, .28) !important;
    color: #6ccceb !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 10px 24px -22px rgba(0, 0, 0, .7) !important;
}

:root[data-theme="dark"] :is(.impact-page-nav, .section-anchor-nav, .tabs, .filter-tabs) :is(a, button):is(:hover, :focus-visible, .active),
:root[data-theme="dark"] :is(.blog-tab, .gallery-view-tab, .impact-tab):is(:hover, :focus-visible, .active) {
    background: rgba(39, 168, 216, .18) !important;
    border-color: rgba(108, 204, 235, .58) !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] .blog-tab span {
    background: rgba(108, 204, 235, .14) !important;
    color: #eaf8fc !important;
}

@media (max-width: 760px) {
    html[data-theme] :is(.impact-page-nav, .section-anchor-nav, .tabs, .filter-tabs) :is(a, button),
    html[data-theme] :is(.blog-tab, .gallery-view-tab, .impact-tab) {
        min-height: 36px !important;
        padding-inline: 14px !important;
        font-size: 12px !important;
    }
}

html[data-theme] .site-header {
    position: fixed !important;
    top: 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    min-height: var(--psi-header-height) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}

html[data-theme] .site-header::before,
html[data-theme] .site-header::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    padding-block: 8px !important;
    display: grid !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    grid-template-areas: none !important;
    grid-auto-flow: row !important;
    align-items: center !important;
    gap: clamp(16px, 2vw, 32px) !important;
    flex-wrap: nowrap !important;
}

html[data-theme] .site-header .brand {
    order: 1 !important;
    min-width: 0 !important;
    grid-area: auto !important;
    justify-self: start !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: var(--psi-header-ink) !important;
    text-decoration: none !important;
}

html[data-theme] .site-header .brand::before,
html[data-theme] .site-header .brand::after,
html[data-theme] .site-header .brand > span::before,
html[data-theme] .site-header .brand > span::after,
html[data-theme] .site-header .brand .brand-tagline::before,
html[data-theme] .site-header .brand .brand-tagline::after,
html[data-theme] .site-header .brand strong::before,
html[data-theme] .site-header .brand strong::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html[data-theme="light"] .site-header .brand img,
html[data-theme="dark"] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html[data-theme] .site-header .brand > span {
    display: grid !important;
    gap: 3px !important;
}

html[data-theme] .site-header .brand strong {
    width: 210px !important;
    max-width: none !important;
    color: inherit !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

html[data-theme="light"] .site-header.is-top .brand strong,
html[data-theme="dark"] .site-header.is-top .brand strong {
    color: #ffffff !important;
}

html[data-theme] .site-header .brand strong {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

html[data-theme] .site-header .brand .brand-tagline {
    color: rgba(255, 255, 255, .78) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

html[data-theme] .site-header .nav {
    order: 2 !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    grid-area: auto !important;
    justify-self: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-theme] .site-header .nav-item,
html[data-theme] .site-header .nav-item > a,
html[data-theme] .site-header .nav-item > button {
    background: transparent !important;
}

html[data-theme] .site-header .nav-item > a,
html[data-theme] .site-header .nav-item > button {
    min-height: 40px !important;
    padding: 9px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    color: var(--psi-header-ink) !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    box-shadow: none !important;
    transition: color .3s ease, background-color .3s ease !important;
}

html[data-theme] .site-header .nav-item > a::after,
html[data-theme] .site-header .nav-item > button::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .site-header .nav-item > a:hover,
html[data-theme] .site-header .nav-item > button:hover,
html[data-theme] .site-header .nav .active {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .16) !important;
}

html[data-theme] .site-header .nav-chevron {
    width: 14px !important;
    height: 14px !important;
    stroke: currentColor !important;
}

html[data-theme] .site-header .dropdown {
    top: calc(100% + 8px) !important;
    min-width: 230px !important;
    padding: 8px !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(18, 58, 82, .10) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(18, 58, 82, .18) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

html[data-theme] .site-header .dropdown a {
    min-height: 38px !important;
    padding: 9px 11px !important;
    color: #123a52 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    text-align: left !important;
}

html[data-theme] .site-header .dropdown a:hover {
    color: #147fa8 !important;
    background: #eaf8fc !important;
}

html[data-theme] .site-header .header-utility-actions {
    order: 3 !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    grid-area: auto !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transform: none !important;
}

html[data-theme] .site-header .header-utility-actions::before,
html[data-theme] .site-header .header-utility-actions::after,
html[data-theme] .site-header .header-action-cluster::before,
html[data-theme] .site-header .header-action-cluster::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .site-header .site-search,
html[data-theme] .site-header .topbar-social-links {
    display: none !important;
}

html[data-theme] .site-header .header-action-cluster {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}

html[data-theme] .site-header .language-mode,
html[data-theme] .site-header .theme-toggle {
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-theme] .site-header .header-action-cluster .language-mode,
html[data-theme] .site-header .header-action-cluster .theme-toggle {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

html[data-theme] .site-header .language-mode {
    padding: 3px !important;
    border-radius: 10px !important;
}

html[data-theme] .site-header .language-mode a {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html[data-theme] .site-header .language-mode a.active {
    color: #ffffff !important;
    background: transparent !important;
    box-shadow: inset 0 -2px #27a8d8 !important;
}

html[data-theme] .site-header .theme-toggle {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    border-radius: 10px !important;
}

html[data-theme] .site-header .theme-toggle,
html[data-theme] .site-header .header-search-icon {
    color: #ffffff !important;
}

html[data-theme] .site-header .header-action-cluster .theme-toggle {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
}

html[data-theme] .site-header .header-search-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease, transform .2s ease !important;
}

html[data-theme] .site-header .header-search-icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html[data-theme] .site-header .header-search-icon:hover,
html[data-theme] .site-header .header-search-icon:focus-visible {
    color: inherit !important;
    background: rgba(255, 255, 255, .10) !important;
    transform: translateY(-1px);
    outline: none !important;
}

html[data-theme] .site-header .theme-toggle::before,
html[data-theme] .site-header .theme-toggle::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .site-header .theme-icon {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    color: inherit !important;
    font-size: 18px !important;
}

html[data-theme] .site-header .header-action-cluster .theme-toggle .theme-icon {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

html[data-theme] .site-header .mobile-toggle {
    order: 4 !important;
    grid-area: auto !important;
    justify-self: end !important;
    display: none !important;
}

:root[data-theme="dark"] .site-header.is-top {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

:root[data-theme="dark"] .site-header .nav,
:root[data-theme="dark"] .site-header.is-top .nav,
:root[data-theme="dark"] .site-header.is-scrolled .nav,
:root[data-theme="dark"] .site-header.is-menu-open .nav {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

:root[data-theme="dark"] .site-header .header-action-cluster .language-mode,
:root[data-theme="dark"] .site-header .header-action-cluster .theme-toggle,
:root[data-theme="dark"] .site-header .header-search-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* The solid state mirrors the compact light header in the reference. */
html[data-theme] .site-header.is-scrolled,
html[data-theme] .site-header.is-menu-open {
    background: rgba(255, 255, 255, .97) !important;
    border-bottom: 1px solid rgba(18, 58, 82, .10) !important;
    box-shadow: 0 10px 28px rgba(18, 58, 82, .12) !important;
    backdrop-filter: blur(18px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
}

html[data-theme] .site-header.is-scrolled .header-search-icon,
html[data-theme] .site-header.is-menu-open .header-search-icon {
    color: var(--psi-header-solid-ink) !important;
}

html[data-theme] .site-header.is-scrolled .theme-toggle,
html[data-theme] .site-header.is-menu-open .theme-toggle {
    color: var(--psi-header-solid-ink) !important;
}

html[data-theme] .site-header.is-scrolled .header-search-icon:hover,
html[data-theme] .site-header.is-menu-open .header-search-icon:hover,
html[data-theme] .site-header.is-scrolled .header-search-icon:focus-visible,
html[data-theme] .site-header.is-menu-open .header-search-icon:focus-visible {
    color: var(--psi-header-solid-ink) !important;
    background: rgba(39, 168, 216, .10) !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .header-search-icon,
:root[data-theme="dark"] .site-header.is-menu-open .header-search-icon {
    color: #EAF8FC !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .theme-toggle,
:root[data-theme="dark"] .site-header.is-menu-open .theme-toggle {
    color: #EAF8FC !important;
}

html[data-theme] .site-header.is-scrolled .brand,
html[data-theme] .site-header.is-menu-open .brand,
html[data-theme] .site-header.is-scrolled .nav-item > a,
html[data-theme] .site-header.is-scrolled .nav-item > button,
html[data-theme] .site-header.is-menu-open .nav-item > a,
html[data-theme] .site-header.is-menu-open .nav-item > button {
    color: var(--psi-header-solid-ink) !important;
}

html[data-theme] .site-header.is-scrolled .brand .brand-tagline,
html[data-theme] .site-header.is-menu-open .brand .brand-tagline {
    color: #95683d !important;
}

html[data-theme] .site-header.is-scrolled .nav-item > a:hover,
html[data-theme] .site-header.is-scrolled .nav-item > button:hover,
html[data-theme] .site-header.is-scrolled .nav .active,
html[data-theme] .site-header.is-menu-open .nav-item > a:hover,
html[data-theme] .site-header.is-menu-open .nav-item > button:hover,
html[data-theme] .site-header.is-menu-open .nav .active {
    color: #147fa8 !important;
    background: #f8f1ea !important;
}

html[data-theme] .site-header.is-scrolled .language-mode,
html[data-theme] .site-header.is-scrolled .theme-toggle,
html[data-theme] .site-header.is-menu-open .language-mode,
html[data-theme] .site-header.is-menu-open .theme-toggle {
    background: transparent !important;
    border-color: transparent !important;
}

html[data-theme] .site-header.is-scrolled .language-mode a,
html[data-theme] .site-header.is-scrolled .theme-toggle,
html[data-theme] .site-header.is-menu-open .language-mode a,
html[data-theme] .site-header.is-menu-open .theme-toggle {
    color: #123a52 !important;
}

html[data-theme] .site-header.is-scrolled .language-mode a.active,
html[data-theme] .site-header.is-menu-open .language-mode a.active {
    color: #147fa8 !important;
    background: transparent !important;
}

:root[data-theme="dark"] .site-header.is-scrolled,
:root[data-theme="dark"] .site-header.is-menu-open {
    background: rgba(255, 255, 255, .97) !important;
    border-bottom-color: rgba(18, 58, 82, .10) !important;
    box-shadow: 0 10px 28px rgba(18, 58, 82, .12) !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .brand,
:root[data-theme="dark"] .site-header.is-menu-open .brand,
:root[data-theme="dark"] .site-header.is-scrolled .nav-item > a,
:root[data-theme="dark"] .site-header.is-scrolled .nav-item > button,
:root[data-theme="dark"] .site-header.is-menu-open .nav-item > a,
:root[data-theme="dark"] .site-header.is-menu-open .nav-item > button,
:root[data-theme="dark"] .site-header.is-scrolled .theme-toggle,
:root[data-theme="dark"] .site-header.is-menu-open .theme-toggle {
    color: #123a52 !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .brand .brand-tagline,
:root[data-theme="dark"] .site-header.is-menu-open .brand .brand-tagline {
    color: #95683d !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .brand strong,
:root[data-theme="dark"] .site-header.is-menu-open .brand strong {
    color: #123a52 !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .header-action-cluster .language-mode,
:root[data-theme="dark"] .site-header.is-scrolled .header-action-cluster .theme-toggle,
:root[data-theme="dark"] .site-header.is-menu-open .header-action-cluster .language-mode,
:root[data-theme="dark"] .site-header.is-menu-open .header-action-cluster .theme-toggle {
    background: transparent !important;
    border-color: transparent !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .header-action-cluster .language-mode a,
:root[data-theme="dark"] .site-header.is-menu-open .header-action-cluster .language-mode a,
:root[data-theme="dark"] .site-header.is-scrolled .header-action-cluster .theme-toggle,
:root[data-theme="dark"] .site-header.is-menu-open .header-action-cluster .theme-toggle {
    color: #123a52 !important;
}

:root[data-theme="dark"] .site-header.is-scrolled .nav-item > a:hover,
:root[data-theme="dark"] .site-header.is-scrolled .nav .active,
:root[data-theme="dark"] .site-header.is-menu-open .nav-item > a:hover,
:root[data-theme="dark"] .site-header.is-menu-open .nav .active {
    color: #147fa8 !important;
    background: #f8f1ea !important;
}

/* Pull the first hero behind the transparent header. */
html[data-theme] main > section.hero:first-child,
html[data-theme] main > section.page-hero:first-child,
html[data-theme] main > section.about-page-hero:first-child,
html[data-theme] main > section.image-page-hero:first-child,
html[data-theme] main > section.impact-hero:first-child {
    margin-top: 0 !important;
    padding-top: var(--psi-header-height) !important;
}

@media (max-width: 1280px) {
    html[data-theme] .site-header .header-row {
        grid-template-columns: minmax(260px, auto) minmax(0, 1fr) auto !important;
        gap: 12px !important;
    }

    html[data-theme] .site-header .nav-item > a,
    html[data-theme] .site-header .nav-item > button {
        padding-inline: 7px !important;
        font-size: 11.5px !important;
    }

    html[data-theme] .site-header .brand strong {
        width: 190px !important;
        font-size: 15px !important;
    }
}

@media (max-width: 1100px) {
    html[data-theme] {
        --psi-header-height: 74px;
    }

    html[data-theme] .site-header .header-row {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        position: relative !important;
    }

    html[data-theme] .site-header .brand img {
        width: 46px !important;
        height: 54px !important;
    }

    html[data-theme] .site-header .mobile-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        color: #ffffff !important;
        background: rgba(255, 255, 255, .12) !important;
        border: 1px solid rgba(255, 255, 255, .28) !important;
        border-radius: 10px !important;
        font-size: 22px !important;
    }

    html[data-theme] .site-header.is-scrolled .mobile-toggle,
    html[data-theme] .site-header.is-menu-open .mobile-toggle {
        color: #123a52 !important;
        background: #f8f1ea !important;
        border-color: rgba(18, 58, 82, .14) !important;
    }

    :root[data-theme="dark"] .site-header.is-scrolled .mobile-toggle,
    :root[data-theme="dark"] .site-header.is-menu-open .mobile-toggle {
        color: #ffffff !important;
        background: rgba(255, 255, 255, .10) !important;
        border-color: rgba(255, 255, 255, .20) !important;
    }

    html[data-theme] .site-header .nav,
    html[data-theme] .site-header .nav:not(.open) {
        display: none !important;
    }

    html[data-theme] .site-header .nav.open {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 94px) !important;
        margin: 0 !important;
        padding: 10px !important;
        display: grid !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        gap: 3px !important;
        overflow-y: auto !important;
        background: rgba(255, 255, 255, .98) !important;
        border: 1px solid rgba(18, 58, 82, .10) !important;
        border-radius: 14px !important;
        box-shadow: 0 20px 48px rgba(18, 58, 82, .18) !important;
    }

    html[data-theme] .site-header .nav.open .nav-item > a,
    html[data-theme] .site-header .nav.open .nav-item > button {
        width: 100% !important;
        justify-content: space-between !important;
        color: #123a52 !important;
        text-align: left !important;
    }

    html[data-theme] .site-header .nav.open .dropdown {
        position: static !important;
        width: 100% !important;
        margin: 3px 0 8px !important;
        padding: 4px 8px 4px 16px !important;
        display: none !important;
        background: #f8f1ea !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-item:hover > .dropdown,
    html[data-theme] .site-header .nav.open .nav-item:focus-within > .dropdown {
        display: grid !important;
    }
}

@media (max-width: 720px) {
    html[data-theme] .site-header .header-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding-inline: 14px !important;
    }

    html[data-theme] .site-header .brand strong {
        width: 170px !important;
        max-width: none !important;
        font-size: 12.5px !important;
        white-space: nowrap !important;
    }

    html[data-theme] .site-header .brand .brand-tagline {
        font-size: 9px !important;
    }

    html[data-theme] .site-header .header-utility-actions {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme] .site-header,
    html[data-theme] .site-header * {
        transition-duration: .01ms !important;
    }
}

/* Keep the unscrolled dark header as transparent as the light header,
   including the brief state before JavaScript adds .is-top. */
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open),
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .header-row,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav-item,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav-item > a,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav-item > button {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open)::before,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open)::after,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .header-row::before,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .header-row::after,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav::before,
html[data-theme="dark"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
}

/* Rebuilt organogram layout for About PSI */
html[data-theme] body.about-page .about-section-organogram .section-head {
    margin-bottom: clamp(28px, 4vw, 44px);
}

html[data-theme] body.about-page #organogram {
    scroll-margin-top: calc(var(--psi-header-height) + 24px);
}

html[data-theme] body.about-page .org-structure-board {
    position: relative;
    display: grid;
    gap: clamp(24px, 3vw, 36px);
}

html[data-theme] body.about-page .org-structure-leader {
    position: relative;
    width: min(100%, 760px);
    margin-inline: auto;
    padding: 26px 30px !important;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    border-radius: 30px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(248, 241, 234, .90)) !important;
    border: 1px solid rgba(39, 168, 216, .34) !important;
    box-shadow: 0 28px 60px -44px rgba(6, 57, 112, .38) !important;
}

html[data-theme] body.about-page .org-structure-leader::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -34px;
    width: 2px;
    height: 34px;
    background: linear-gradient(180deg, #27A8D8, rgba(39, 168, 216, .18));
    transform: translateX(-50%);
}

html[data-theme] body.about-page .org-structure-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
}

html[data-theme] body.about-page .org-structure-icon svg {
    width: 30px;
    height: 30px;
}

html[data-theme] body.about-page .org-structure-icon--leadership {
    background: linear-gradient(145deg, #147FA8, #063970);
}

html[data-theme] body.about-page .org-structure-icon--office {
    background: linear-gradient(145deg, #27A8D8, #147FA8);
}

html[data-theme] body.about-page .org-structure-icon--admin {
    background: linear-gradient(145deg, #8B603D, #6F4727);
}

html[data-theme] body.about-page .org-structure-icon--economic {
    background: linear-gradient(145deg, #27A8D8, #6CCCEB);
}

html[data-theme] body.about-page .org-structure-icon--social {
    background: linear-gradient(145deg, #8B603D, #B98956);
}

html[data-theme] body.about-page .org-structure-leader-copy .pill,
html[data-theme] body.about-page .org-structure-card .pill {
    margin-bottom: 10px;
    color: #147FA8;
    background: rgba(39, 168, 216, .12);
}

html[data-theme] body.about-page .org-structure-leader-copy h3,
html[data-theme] body.about-page .org-structure-card h3 {
    margin: 0;
    color: #063970 !important;
}

html[data-theme] body.about-page .org-structure-leader-copy h3 {
    font-size: clamp(24px, 2.5vw, 34px);
}

html[data-theme] body.about-page .org-structure-card h3 {
    font-size: clamp(20px, 1.8vw, 26px);
    line-height: 1.12;
}

html[data-theme] body.about-page .org-structure-leader-copy p,
html[data-theme] body.about-page .org-structure-card p {
    margin: 10px 0 0;
    color: #43545D !important;
    font-size: 15px;
    line-height: 1.68;
}

html[data-theme] body.about-page .org-structure-spine {
    position: relative;
    width: 2px;
    height: 28px;
    margin: -4px auto 0;
    background: linear-gradient(180deg, rgba(39, 168, 216, .75), rgba(149, 104, 61, .35));
}

html[data-theme] body.about-page .org-structure-layout {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: clamp(18px, 2vw, 28px);
    align-items: start;
}

html[data-theme] body.about-page .org-theme-rail {
    position: relative;
    display: grid;
    gap: 18px;
    padding: 22px !important;
    border-radius: 24px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(234, 248, 252, .82)) !important;
    border: 1px solid rgba(39, 168, 216, .28) !important;
    box-shadow: 0 24px 52px -42px rgba(6, 57, 112, .36) !important;
}

html[data-theme] body.about-page .org-theme-rail::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 19px;
    border: 1px solid rgba(39, 168, 216, .08);
    pointer-events: none;
}

html[data-theme] body.about-page .org-theme-rail-head {
    position: relative;
    display: grid;
    gap: 9px;
}

html[data-theme] body.about-page .org-theme-rail-head .pill {
    width: fit-content;
    color: #147FA8;
    background: rgba(39, 168, 216, .12);
}

html[data-theme] body.about-page .org-theme-rail-head h3 {
    margin: 0;
    color: #063970 !important;
    font-size: 22px;
    line-height: 1.15;
}

html[data-theme] body.about-page .org-theme-rail-head p {
    margin: 0;
    color: #43545D !important;
    font-size: 14px;
    line-height: 1.55;
}

html[data-theme] body.about-page .org-theme-list {
    position: relative;
    display: grid;
    gap: 9px;
}

html[data-theme] body.about-page .org-theme-pill {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 44px;
    padding: 9px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(39, 168, 216, .16);
    color: #063970;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

html[data-theme] body.about-page .org-theme-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 28px;
    border-radius: 999px;
    background: rgba(39, 168, 216, .13);
    color: #147FA8;
    font-size: 11px;
    letter-spacing: .04em;
}

html[data-theme] body.about-page .org-theme-pill--social {
    border-color: rgba(185, 137, 86, .22);
}

html[data-theme] body.about-page .org-theme-pill--social strong {
    background: rgba(185, 137, 86, .16);
    color: #8B603D;
}

html[data-theme] body.about-page .org-structure-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.2vw, 26px);
}

html[data-theme] body.about-page .org-structure-grid::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: -14px;
    height: 2px;
    background: linear-gradient(90deg, rgba(39, 168, 216, .34), rgba(149, 104, 61, .34), rgba(39, 168, 216, .34));
    pointer-events: none;
}

html[data-theme] body.about-page .org-structure-card {
    position: relative;
    display: grid;
    gap: 18px;
    padding: 24px 22px 22px !important;
    border-radius: 24px !important;
    align-self: start;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(248, 241, 234, .88)) !important;
    border: 1px solid rgba(39, 168, 216, .30) !important;
    box-shadow: 0 24px 52px -42px rgba(6, 57, 112, .36) !important;
}

html[data-theme] body.about-page .org-structure-card::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -20px;
    width: 2px;
    height: 20px;
    background: currentColor;
    opacity: .55;
    transform: translateX(-50%);
}

html[data-theme] body.about-page .org-structure-card--leadership,
html[data-theme] body.about-page .org-structure-card--office {
    --org-accent: #27A8D8;
    color: #147FA8;
    border-top: 4px solid #27A8D8 !important;
}

html[data-theme] body.about-page .org-structure-card--admin {
    --org-accent: #8B603D;
    color: #8B603D;
    border-top: 4px solid #8B603D !important;
}

html[data-theme] body.about-page .org-structure-card--economic {
    --org-accent: #27A8D8;
    color: #147FA8;
    border-top: 4px solid #27A8D8 !important;
}

html[data-theme] body.about-page .org-structure-card--social {
    --org-accent: #8B603D;
    color: #8B603D;
    border-top: 4px solid #8B603D !important;
}

html[data-theme] body.about-page .org-structure-card-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

html[data-theme] body.about-page .org-center-stack {
    display: grid;
    gap: 14px;
}

html[data-theme] body.about-page .org-center-card {
    position: relative;
    padding: 16px 16px 14px;
    border-radius: 18px;
    background: rgba(234, 248, 252, .72);
    border: 1px solid rgba(39, 168, 216, .18);
}

html[data-theme] body.about-page .org-center-card h4 {
    margin: 0 0 10px;
    color: #063970 !important;
    font-size: 15px;
    line-height: 1.38;
}

html[data-theme] body.about-page .org-area-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html[data-theme] body.about-page .org-area-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(39, 168, 216, .10);
    color: #147FA8;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
}

html[data-theme] body.about-page .org-structure-card--social .org-area-chip {
    background: rgba(149, 104, 61, .11);
    color: #8B603D;
}

:root[data-theme="dark"] body.about-page .org-structure-leader,
:root[data-theme="dark"] body.about-page .org-structure-card,
:root[data-theme="dark"] body.about-page .org-center-card,
:root[data-theme="dark"] body.about-page .org-theme-rail {
    background:
        linear-gradient(145deg, rgba(11, 37, 51, .78), rgba(6, 57, 112, .42)) !important;
    border-color: rgba(108, 204, 235, .22) !important;
    box-shadow: 0 26px 62px -46px rgba(0, 0, 0, .92) !important;
}

:root[data-theme="dark"] body.about-page .org-structure-leader-copy h3,
:root[data-theme="dark"] body.about-page .org-structure-card h3,
:root[data-theme="dark"] body.about-page .org-center-card h4,
:root[data-theme="dark"] body.about-page .org-theme-rail-head h3 {
    color: #F8F1EA !important;
}

:root[data-theme="dark"] body.about-page .org-structure-leader-copy p,
:root[data-theme="dark"] body.about-page .org-structure-card p,
:root[data-theme="dark"] body.about-page .org-theme-rail-head p {
    color: rgba(234, 248, 252, .86) !important;
}

:root[data-theme="dark"] body.about-page .org-structure-card--leadership,
:root[data-theme="dark"] body.about-page .org-structure-card--office,
:root[data-theme="dark"] body.about-page .org-structure-card--economic {
    border-top-color: #27A8D8 !important;
}

:root[data-theme="dark"] body.about-page .org-structure-card--admin,
:root[data-theme="dark"] body.about-page .org-structure-card--social {
    border-top-color: #B98956 !important;
}

:root[data-theme="dark"] body.about-page .org-center-card {
    background:
        linear-gradient(145deg, rgba(8, 45, 87, .74), rgba(11, 37, 51, .58)) !important;
}

:root[data-theme="dark"] body.about-page .org-theme-rail::before {
    border-color: rgba(108, 204, 235, .10);
}

:root[data-theme="dark"] body.about-page .org-theme-pill {
    background: rgba(11, 37, 51, .48);
    border-color: rgba(108, 204, 235, .16);
    color: #F8F1EA;
}

:root[data-theme="dark"] body.about-page .org-theme-pill strong {
    background: rgba(39, 168, 216, .18);
    color: #EAF8FC;
}

:root[data-theme="dark"] body.about-page .org-theme-pill--social {
    border-color: rgba(185, 137, 86, .22);
}

:root[data-theme="dark"] body.about-page .org-theme-pill--social strong {
    background: rgba(185, 137, 86, .18);
    color: #F8F1EA;
}

:root[data-theme="dark"] body.about-page .org-area-chip {
    background: rgba(39, 168, 216, .14);
    color: #EAF8FC;
}

:root[data-theme="dark"] body.about-page .org-structure-card--social .org-area-chip {
    background: rgba(185, 137, 86, .14);
    color: #F8F1EA;
}

/* Footer social controls keep the same visual language as the header. */
html[data-theme] .footer .social-links.topbar-social-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

html[data-theme] .footer .social-links.topbar-social-links a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(234, 248, 252, .14);
    background: rgba(255, 255, 255, .08);
    color: #EAF8FC;
    box-shadow: none;
}

html[data-theme] .footer .social-links.topbar-social-links a:hover {
    background: #27A8D8;
    border-color: #27A8D8;
    color: #FFFFFF;
}

:root[data-theme="dark"] .footer .social-links.topbar-social-links a {
    border-color: rgba(108, 204, 235, .24);
    background: rgba(11, 37, 51, .34);
    color: #F7FAFC;
}

:root[data-theme="dark"] .footer .social-links.topbar-social-links a:hover {
    background: #27A8D8;
    border-color: #27A8D8;
}

/* Home mandate cards: keep dark mode contrast consistent with the other glass cards. */
html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid {
    align-items: stretch;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
    padding: 28px 0 18px;
    border: 1px solid rgba(108, 204, 235, .34) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, rgba(18, 58, 82, .92), rgba(6, 57, 112, .78) 56%, rgba(149, 104, 61, .22)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .1) inset,
        0 30px 70px -48px rgba(0, 0, 0, .9) !important;
    text-align: center;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item:hover {
    border-color: rgba(108, 204, 235, .58) !important;
    background:
        linear-gradient(145deg, rgba(20, 127, 168, .72), rgba(6, 57, 112, .86) 54%, rgba(185, 137, 86, .26)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .16) inset,
        0 34px 80px -46px rgba(0, 0, 0, .95) !important;
    transform: translateY(-4px);
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-icon {
    flex: 0 0 auto;
    filter: drop-shadow(0 16px 24px rgba(0, 0, 0, .34));
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-icon::before,
html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-icon::after {
    border-color: rgba(248, 241, 234, .92) !important;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-icon-advocacy::before,
html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-icon-advocacy::after {
    background-color: rgba(39, 168, 216, .92) !important;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item h2 {
    margin: 14px 22px 0 !important;
    color: #FFFFFF !important;
    font-size: clamp(25px, 2vw, 34px) !important;
    line-height: 1.12 !important;
    text-shadow: 0 12px 30px rgba(0, 0, 0, .42);
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item p {
    margin: 12px 24px 0 !important;
    color: rgba(234, 248, 252, .88) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-image-slot {
    width: 100% !important;
    height: 150px !important;
    margin: auto 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-image-slot img {
    filter: saturate(.98) contrast(1.05);
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 16px auto 0 !important;
    color: #6CCCEB !important;
    font-weight: 800 !important;
}

html[data-theme="dark"] body.home-page .home-section-research > .container > .service-grid > .service-item .service-read-more::after {
    color: #6CCCEB !important;
}

/* Dark-mode sticky header must remain dark after scroll, with readable controls. */
html[data-theme="dark"] .site-header.is-scrolled,
html[data-theme="dark"] .site-header.is-menu-open {
    background:
        linear-gradient(135deg, rgba(8, 64, 121, .96), rgba(6, 57, 112, .94)) !important;
    border-bottom: 1px solid rgba(108, 204, 235, .24) !important;
    box-shadow: 0 18px 38px -30px rgba(0, 0, 0, .88) !important;
    backdrop-filter: blur(18px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
}

html[data-theme="dark"] .site-header.is-scrolled .brand,
html[data-theme="dark"] .site-header.is-menu-open .brand,
html[data-theme="dark"] .site-header.is-scrolled .brand strong,
html[data-theme="dark"] .site-header.is-menu-open .brand strong,
html[data-theme="dark"] .site-header.is-scrolled .nav-item > a,
html[data-theme="dark"] .site-header.is-scrolled .nav-item > button,
html[data-theme="dark"] .site-header.is-menu-open .nav-item > a,
html[data-theme="dark"] .site-header.is-menu-open .nav-item > button,
html[data-theme="dark"] .site-header.is-scrolled .language-mode a,
html[data-theme="dark"] .site-header.is-menu-open .language-mode a,
html[data-theme="dark"] .site-header.is-scrolled .theme-toggle,
html[data-theme="dark"] .site-header.is-menu-open .theme-toggle,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon {
    color: #F7FAFC !important;
}

html[data-theme="dark"] .site-header.is-scrolled .brand .brand-tagline,
html[data-theme="dark"] .site-header.is-menu-open .brand .brand-tagline {
    color: rgba(234, 248, 252, .82) !important;
}

html[data-theme="dark"] .site-header.is-scrolled .language-mode a.active,
html[data-theme="dark"] .site-header.is-menu-open .language-mode a.active,
html[data-theme="dark"] .site-header.is-scrolled .nav .active,
html[data-theme="dark"] .site-header.is-menu-open .nav .active,
html[data-theme="dark"] .site-header.is-scrolled .nav-item > a:hover,
html[data-theme="dark"] .site-header.is-menu-open .nav-item > a:hover,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon:hover,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon:hover,
html[data-theme="dark"] .site-header.is-scrolled .theme-toggle:hover,
html[data-theme="dark"] .site-header.is-menu-open .theme-toggle:hover {
    color: #FFFFFF !important;
    background: rgba(39, 168, 216, .18) !important;
}

html[data-theme="dark"] .site-header.is-scrolled .language-mode,
html[data-theme="dark"] .site-header.is-menu-open .language-mode,
html[data-theme="dark"] .site-header.is-scrolled .theme-toggle,
html[data-theme="dark"] .site-header.is-menu-open .theme-toggle,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon {
    border-color: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .site-header.is-scrolled .header-search-icon svg,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon svg {
    stroke: currentColor !important;
}

@media (max-width: 1200px) {
    html[data-theme] body.about-page .org-structure-layout {
        grid-template-columns: 1fr;
    }

    html[data-theme] body.about-page .org-theme-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html[data-theme] body.about-page .org-structure-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    html[data-theme] body.about-page .org-theme-list,
    html[data-theme] body.about-page .org-structure-grid {
        grid-template-columns: 1fr;
    }

    html[data-theme] body.about-page .org-structure-leader {
        grid-template-columns: 1fr;
        text-align: center;
    }

    html[data-theme] body.about-page .org-structure-leader::after,
    html[data-theme] body.about-page .org-structure-spine,
    html[data-theme] body.about-page .org-structure-grid::before,
    html[data-theme] body.about-page .org-structure-card::before {
        display: none !important;
    }

    html[data-theme] body.about-page .org-structure-card-head {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

/* Final dark header utility controls: one consistent visible style in top and scrolled states. */
html[data-theme="dark"] .site-header .header-action-cluster {
    gap: 10px !important;
}

html[data-theme="dark"] .site-header .language-mode,
html[data-theme="dark"] .site-header .theme-toggle,
html[data-theme="dark"] .site-header .header-search-icon,
html[data-theme="dark"] .site-header.is-scrolled .language-mode,
html[data-theme="dark"] .site-header.is-scrolled .theme-toggle,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon,
html[data-theme="dark"] .site-header.is-menu-open .language-mode,
html[data-theme="dark"] .site-header.is-menu-open .theme-toggle,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon {
    border: 1px solid rgba(108, 204, 235, .28) !important;
    background: rgba(6, 57, 112, .72) !important;
    color: #EAF8FC !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .08) inset,
        0 14px 28px -24px rgba(0, 0, 0, .78) !important;
    backdrop-filter: blur(12px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
}

html[data-theme="dark"] .site-header .language-mode {
    padding: 3px !important;
}

html[data-theme="dark"] .site-header .language-mode a,
html[data-theme="dark"] .site-header.is-scrolled .language-mode a,
html[data-theme="dark"] .site-header.is-menu-open .language-mode a {
    color: #EAF8FC !important;
    background: transparent !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .site-header .language-mode a.active,
html[data-theme="dark"] .site-header.is-scrolled .language-mode a.active,
html[data-theme="dark"] .site-header.is-menu-open .language-mode a.active {
    color: #FFFFFF !important;
    background: #27A8D8 !important;
    box-shadow: 0 8px 18px -12px rgba(39, 168, 216, .9) !important;
}

html[data-theme="dark"] .site-header .language-mode a:hover,
html[data-theme="dark"] .site-header .theme-toggle:hover,
html[data-theme="dark"] .site-header .header-search-icon:hover,
html[data-theme="dark"] .site-header.is-scrolled .language-mode a:hover,
html[data-theme="dark"] .site-header.is-scrolled .theme-toggle:hover,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon:hover,
html[data-theme="dark"] .site-header.is-menu-open .language-mode a:hover,
html[data-theme="dark"] .site-header.is-menu-open .theme-toggle:hover,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon:hover {
    color: #FFFFFF !important;
    background: rgba(39, 168, 216, .9) !important;
    border-color: rgba(108, 204, 235, .75) !important;
}

html[data-theme="dark"] .site-header .theme-icon,
html[data-theme="dark"] .site-header .header-search-icon svg,
html[data-theme="dark"] .site-header.is-scrolled .theme-icon,
html[data-theme="dark"] .site-header.is-scrolled .header-search-icon svg,
html[data-theme="dark"] .site-header.is-menu-open .theme-icon,
html[data-theme="dark"] .site-header.is-menu-open .header-search-icon svg {
    color: inherit !important;
    stroke: currentColor !important;
}

html[data-theme="dark"] .site-header .mobile-toggle,
html[data-theme="dark"] .site-header.is-scrolled .mobile-toggle,
html[data-theme="dark"] .site-header.is-menu-open .mobile-toggle {
    color: #EAF8FC !important;
    background: rgba(6, 57, 112, .72) !important;
    border: 1px solid rgba(108, 204, 235, .28) !important;
}

/* Final typography normalization: themes change color only, never font family. */
html[data-theme],
html[data-theme] body {
    --font-sans: "Plus Jakarta Sans", "Noto Sans Ethiopic", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif !important;
    font-family: var(--font-sans) !important;
}

html[data-theme] body,
html[data-theme] button,
html[data-theme] input,
html[data-theme] textarea,
html[data-theme] select,
html[data-theme] .site-header,
html[data-theme] .site-header *,
html[data-theme] .nav a,
html[data-theme] .nav button,
html[data-theme] .btn,
html[data-theme] .card,
html[data-theme] .section,
html[data-theme] .footer,
html[data-theme] .footer *,
html[data-theme] .dropdown,
html[data-theme] .pill,
html[data-theme] .eyebrow,
html[data-theme] .service-read-more,
html[data-theme] .blog-link {
    font-family: var(--font-sans) !important;
}

html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] h4,
html[data-theme] h5,
html[data-theme] h6,
html[data-theme] .hero h1,
html[data-theme] .page-hero h1,
html[data-theme] .impact-hero h1,
html[data-theme] .section-head h2,
html[data-theme] .card h3,
html[data-theme] .service-item h2,
html[data-theme] .thematic-card h3 {
    font-family: var(--font-sans) !important;
    letter-spacing: 0 !important;
}

html[data-theme] .site-header .brand strong,
html[data-theme] .site-header .brand .brand-tagline {
    font-family: var(--font-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme] blockquote {
    font-family: var(--font-serif) !important;
}

html[data-theme] :lang(am),
html[data-theme][lang^="am"],
html[data-theme][data-locale="am"] body {
    font-family: "Noto Sans Ethiopic", "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Gallery lightbox controls must stay clickable above media content. */
html[data-theme] .gallery-lightbox-card {
    isolation: isolate !important;
}

html[data-theme] .gallery-lightbox-stage {
    position: relative !important;
    z-index: 1 !important;
}

html[data-theme] .gallery-lightbox-close,
html[data-theme] .gallery-lightbox-nav {
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* News detail pages use uploaded images, so the overlay and text color must
   win over all global heading/card theme rules. */
html[data-theme] .news-detail-hero {
    background: #0b2f4a !important;
    color: #ffffff !important;
}

html[data-theme] .news-detail-hero::after {
    background:
        linear-gradient(90deg, rgba(6, 57, 112, .88) 0%, rgba(6, 57, 112, .72) 44%, rgba(6, 57, 112, .44) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .26) 0%, rgba(0, 0, 0, .72) 100%) !important;
}

html[data-theme] .news-detail-hero-content {
    position: relative !important;
    z-index: 2 !important;
}

html[data-theme] .news-detail-hero .eyebrow,
html[data-theme] .news-detail-hero h1,
html[data-theme] .news-detail-hero p,
html[data-theme] .news-detail-hero .blog-tags span {
    color: #ffffff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .42) !important;
}

html[data-theme] .news-detail-hero .eyebrow {
    color: #6ccceb !important;
}

html[data-theme] .news-detail-hero h1 {
    max-width: 980px !important;
    line-height: 1.03 !important;
}

html[data-theme] .news-detail-hero p:not(.eyebrow) {
    color: rgba(255, 255, 255, .9) !important;
    max-width: 880px !important;
}

html[data-theme] .news-detail-hero .blog-tags span {
    background: rgba(255, 255, 255, .18) !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    backdrop-filter: blur(12px) !important;
}

html[data-theme] .news-detail-card,
html[data-theme] .related-news-card {
    background: rgba(255, 255, 255, .9) !important;
    color: var(--navy) !important;
}

html[data-theme] .news-detail-card .news-detail-body,
html[data-theme] .related-news-card .muted {
    color: #334e5d !important;
}

:root[data-theme="dark"] .news-detail-card,
:root[data-theme="dark"] .related-news-card {
    background: rgba(8, 64, 121, .92) !important;
    border-color: rgba(108, 204, 235, .26) !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] .news-detail-card .news-detail-body,
:root[data-theme="dark"] .related-news-card .muted {
    color: rgba(255, 255, 255, .82) !important;
}

html[data-theme] .content-media-gallery,
html[data-theme] .blog-modal-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-top: 26px;
}

html[data-theme] .content-media-gallery figure,
html[data-theme] .blog-modal-gallery figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(39, 168, 216, .28);
    border-radius: 16px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 46px -34px rgba(6, 57, 112, .5);
}

html[data-theme] .content-media-gallery img,
html[data-theme] .blog-modal-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

html[data-theme] .content-media-gallery figcaption,
html[data-theme] .blog-modal-gallery figcaption {
    padding: 10px 12px;
    color: #334e5d;
    font-size: 13px;
    line-height: 1.45;
}

:root[data-theme="dark"] .content-media-gallery figure,
:root[data-theme="dark"] .blog-modal-gallery figure {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(108, 204, 235, .3);
}

:root[data-theme="dark"] .content-media-gallery figcaption,
:root[data-theme="dark"] .blog-modal-gallery figcaption {
    color: rgba(255, 255, 255, .78);
}

/* Final guard for admin-created news detail pages on deployed servers. */
html[data-theme] body .news-detail-hero {
    position: relative !important;
    min-height: clamp(520px, 68vh, 760px) !important;
    display: grid !important;
    align-items: end !important;
    overflow: hidden !important;
    background: #063970 !important;
    color: #fff !important;
    isolation: isolate !important;
}

html[data-theme] body .news-detail-hero > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    z-index: -2 !important;
}

html[data-theme] body .news-detail-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(90deg, rgba(6, 57, 112, .9) 0%, rgba(6, 57, 112, .76) 46%, rgba(6, 57, 112, .42) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .22) 0%, rgba(0, 0, 0, .62) 100%) !important;
}

html[data-theme] body .news-detail-hero::after {
    display: none !important;
}

html[data-theme] body .news-detail-hero-content {
    position: relative !important;
    z-index: 2 !important;
    padding-top: clamp(150px, 18vh, 220px) !important;
    padding-bottom: clamp(64px, 9vh, 110px) !important;
}

html[data-theme] body .news-detail-hero .eyebrow,
html[data-theme] body .news-detail-hero h1,
html[data-theme] body .news-detail-hero p,
html[data-theme] body .news-detail-hero .blog-tags span {
    color: #fff !important;
    text-shadow: 0 2px 22px rgba(0, 0, 0, .5) !important;
}

html[data-theme] body .news-detail-hero .eyebrow {
    color: #6ccceb !important;
}

html[data-theme] body .news-detail-hero h1 {
    max-width: 1040px !important;
    font-size: clamp(36px, 6vw, 76px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

html[data-theme] body .news-detail-hero p:not(.eyebrow) {
    max-width: 880px !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: clamp(17px, 2vw, 21px) !important;
}

html[data-theme] body .news-detail-body {
    white-space: normal !important;
    font-size: clamp(16px, 1.35vw, 18px) !important;
    line-height: 1.85 !important;
}

/* Laravel pagination: keep gallery/publication page controls proportional. */
html[data-theme] .pagination {
    width: 100% !important;
    margin: 34px auto 0 !important;
    color: var(--text-secondary) !important;
}

html[data-theme] .pagination nav {
    width: 100% !important;
}

html[data-theme] .pagination nav > div:first-child {
    display: none !important;
}

html[data-theme] .pagination nav > div:last-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
}

html[data-theme] .pagination nav > div:last-child > div:first-child {
    color: var(--text-secondary) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

html[data-theme] .pagination nav > div:last-child > div:last-child,
html[data-theme] .pagination span[aria-current],
html[data-theme] .pagination a[rel],
html[data-theme] .pagination nav span.relative,
html[data-theme] .pagination nav a.relative {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html[data-theme] .pagination nav > div:last-child > div:last-child {
    flex-wrap: wrap !important;
    gap: 8px !important;
}

html[data-theme] .pagination nav a,
html[data-theme] .pagination nav span {
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(39, 168, 216, .35) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: #063970 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 30px -24px rgba(6, 57, 112, .45) !important;
}

html[data-theme] .pagination nav a:hover,
html[data-theme] .pagination nav a:focus-visible {
    border-color: #27a8d8 !important;
    background: #27a8d8 !important;
    color: #fff !important;
}

html[data-theme] .pagination span[aria-current] span,
html[data-theme] .pagination nav span[aria-current],
html[data-theme] .pagination nav .active {
    border-color: #27a8d8 !important;
    background: #27a8d8 !important;
    color: #fff !important;
}

html[data-theme] .pagination nav span[aria-disabled="true"],
html[data-theme] .pagination nav span[aria-disabled="true"] span {
    opacity: .48 !important;
    cursor: not-allowed !important;
}

html[data-theme] .pagination svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    display: block !important;
    flex: 0 0 16px !important;
    stroke-width: 2 !important;
}

:root[data-theme="dark"] .pagination nav a,
:root[data-theme="dark"] .pagination nav span {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(108, 204, 235, .32) !important;
    color: rgba(255, 255, 255, .88) !important;
}

:root[data-theme="dark"] .pagination nav a:hover,
:root[data-theme="dark"] .pagination nav a:focus-visible,
:root[data-theme="dark"] .pagination span[aria-current] span,
:root[data-theme="dark"] .pagination nav span[aria-current] {
    background: #27a8d8 !important;
    border-color: #6ccceb !important;
    color: #fff !important;
}

/* Publications catalogue overview */
html[data-theme] .publication-catalogue-section {
    padding-block: clamp(58px, 7vw, 88px) !important;
    background: transparent !important;
}

html[data-theme] .publication-catalogue-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 350px) !important;
    gap: clamp(28px, 4vw, 54px) !important;
    align-items: stretch !important;
    padding: clamp(28px, 4vw, 46px) !important;
    border: 1px solid rgba(39, 168, 216, .28) !important;
    border-radius: 26px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(234, 248, 252, .82)),
        rgba(255, 255, 255, .9) !important;
    box-shadow: 0 30px 80px -58px rgba(6, 57, 112, .62) !important;
}

html[data-theme] .publication-catalogue-main {
    min-width: 0 !important;
}

html[data-theme] .publication-catalogue-title-row {
    display: flex !important;
    gap: 18px !important;
    align-items: flex-start !important;
}

html[data-theme] .publication-catalogue-icon {
    display: inline-flex !important;
    width: 56px !important;
    height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 56px !important;
    border-radius: 0 !important;
    background: #063970 !important;
    color: #fff !important;
}

html[data-theme] .publication-catalogue-icon svg,
html[data-theme] .publication-save-view svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html[data-theme] .publication-catalogue-eyebrow {
    margin: 0 0 6px !important;
    color: #445a70 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

html[data-theme] .publication-catalogue-panel h2 {
    color: #063970 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1.04 !important;
}

html[data-theme] .publication-catalogue-description {
    max-width: 830px !important;
    margin: 28px 0 0 !important;
    color: #334e5d !important;
    font-size: clamp(18px, 2vw, 22px) !important;
    line-height: 1.62 !important;
}

html[data-theme] .publication-catalogue-bullets {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 34px !important;
    margin: 30px 0 24px !important;
    padding: 0 !important;
    list-style: none !important;
}

html[data-theme] .publication-catalogue-bullets li {
    position: relative !important;
    padding-left: 18px !important;
    color: #102d47 !important;
    line-height: 1.5 !important;
}

html[data-theme] .publication-catalogue-bullets li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .68em !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #b98956 !important;
}

html[data-theme] .publication-catalogue-controls {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin-bottom: 24px !important;
    border: 1px solid rgba(6, 57, 112, .18) !important;
    background: rgba(255, 255, 255, .72) !important;
}

html[data-theme] .publication-catalogue-controls button {
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-right: 1px solid rgba(6, 57, 112, .14) !important;
    background: transparent !important;
    color: #334e5d !important;
    font: 700 14px var(--font-sans) !important;
}

html[data-theme] .publication-catalogue-controls button:last-child {
    border-right: 0 !important;
}

html[data-theme] .publication-catalogue-controls button.active {
    background: #063970 !important;
    color: #fff !important;
}

html[data-theme] .publication-catalogue-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

html[data-theme] .publication-catalogue-tags span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(6, 57, 112, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: #334e5d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

html[data-theme] .publication-catalogue-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: center !important;
    margin-top: 28px !important;
}

html[data-theme] .publication-catalogue-actions .btn {
    border-radius: 0 !important;
    background: #063970 !important;
}

html[data-theme] .publication-save-view {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(6, 57, 112, .18) !important;
    background: rgba(255, 255, 255, .74) !important;
    color: #063970 !important;
    font-weight: 800 !important;
}

html[data-theme] .publication-save-view svg {
    width: 18px !important;
    height: 18px !important;
}

html[data-theme] .publication-catalogue-side {
    padding-left: clamp(24px, 4vw, 42px) !important;
    border-left: 1px solid rgba(6, 57, 112, .18) !important;
}

html[data-theme] .publication-catalogue-side dl {
    margin: 0 !important;
}

html[data-theme] .publication-catalogue-side dl div {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 0 0 18px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(6, 57, 112, .14) !important;
}

html[data-theme] .publication-catalogue-side dt {
    color: #445a70 !important;
    font-weight: 600 !important;
}

html[data-theme] .publication-catalogue-side dd {
    margin: 0 !important;
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: right !important;
}

html[data-theme] .publication-format-label,
html[data-theme] .publication-latest-list > p {
    margin: 28px 0 12px !important;
    color: #445a70 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme] .publication-format-list {
    display: grid !important;
    gap: 10px !important;
}

html[data-theme] .publication-format-list a,
html[data-theme] .publication-latest-list a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(6, 57, 112, .16) !important;
    background: rgba(255, 255, 255, .65) !important;
    color: #102d47 !important;
    font-weight: 700 !important;
}

html[data-theme] .publication-latest-list a {
    align-items: flex-start !important;
    padding-block: 12px !important;
}

html[data-theme] .publication-latest-list strong {
    color: #063970 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

html[data-theme] .publication-latest-list span {
    color: #8b603d !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

:root[data-theme="dark"] .publication-catalogue-panel {
    background:
        linear-gradient(135deg, rgba(8, 64, 121, .92), rgba(11, 37, 51, .86)),
        rgba(8, 64, 121, .9) !important;
    border-color: rgba(108, 204, 235, .28) !important;
}

:root[data-theme="dark"] .publication-catalogue-icon,
:root[data-theme="dark"] .publication-catalogue-controls button.active,
:root[data-theme="dark"] .publication-catalogue-actions .btn {
    background: #27a8d8 !important;
}

:root[data-theme="dark"] .publication-catalogue-eyebrow,
:root[data-theme="dark"] .publication-catalogue-description,
:root[data-theme="dark"] .publication-catalogue-side dt,
:root[data-theme="dark"] .publication-format-label,
:root[data-theme="dark"] .publication-latest-list > p {
    color: rgba(255, 255, 255, .78) !important;
}

:root[data-theme="dark"] .publication-catalogue-panel h2,
:root[data-theme="dark"] .publication-catalogue-bullets li,
:root[data-theme="dark"] .publication-catalogue-side dd,
:root[data-theme="dark"] .publication-latest-list strong {
    color: #fff !important;
}

:root[data-theme="dark"] .publication-catalogue-controls,
:root[data-theme="dark"] .publication-catalogue-tags span,
:root[data-theme="dark"] .publication-save-view,
:root[data-theme="dark"] .publication-format-list a,
:root[data-theme="dark"] .publication-latest-list a {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(108, 204, 235, .24) !important;
    color: rgba(255, 255, 255, .86) !important;
}

:root[data-theme="dark"] .publication-catalogue-side,
:root[data-theme="dark"] .publication-catalogue-side dl div {
    border-color: rgba(108, 204, 235, .22) !important;
}

@media (max-width: 980px) {
    html[data-theme] .publication-catalogue-panel {
        grid-template-columns: 1fr !important;
    }

    html[data-theme] .publication-catalogue-side {
        padding-left: 0 !important;
        padding-top: 26px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(6, 57, 112, .16) !important;
    }

    html[data-theme] .publication-catalogue-bullets {
        grid-template-columns: 1fr !important;
    }
}

/* Research page: review pipeline and completed research dashboard */
html[data-theme] .research-pipeline-section,
html[data-theme] .research-completed-section {
    background: transparent !important;
}

html[data-theme] .research-catalogue-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin-bottom: 34px !important;
}

html[data-theme] .research-catalogue-kicker {
    margin: 0 0 8px !important;
    color: #445a70 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-catalogue-head h2 {
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1.04 !important;
}

html[data-theme] .research-catalogue-head > p {
    color: #445a70 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: right !important;
}

html[data-theme] .research-catalogue-head > p strong {
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: 30px !important;
    line-height: 1 !important;
}

html[data-theme] .research-pipeline-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

html[data-theme] .research-stage-card,
html[data-theme] .research-pipeline-table,
html[data-theme] .research-year-card {
    border: 1px solid rgba(6, 57, 112, .18) !important;
    background: rgba(255, 255, 255, .86) !important;
    box-shadow: 0 24px 70px -55px rgba(6, 57, 112, .58) !important;
}

html[data-theme] .research-stage-card {
    padding: 28px !important;
    min-height: 100% !important;
}

html[data-theme] .research-stage-title {
    display: flex !important;
    gap: 14px !important;
    align-items: flex-start !important;
    margin-bottom: 18px !important;
}

html[data-theme] .research-stage-title > span {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;
    background: #063970 !important;
    color: #fff !important;
}

html[data-theme] .research-stage-title svg,
html[data-theme] .research-updated svg,
html[data-theme] .research-completed-note svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html[data-theme] .research-stage-title small {
    display: block !important;
    color: #445a70 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-stage-title h3 {
    margin: 3px 0 0 !important;
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: clamp(22px, 2.4vw, 29px) !important;
    line-height: 1.12 !important;
}

html[data-theme] .research-stage-card > p {
    color: #334e5d !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

html[data-theme] .research-stage-meter {
    margin: 24px 0 18px !important;
}

html[data-theme] .research-stage-meter div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: baseline !important;
}

html[data-theme] .research-stage-meter span,
html[data-theme] .research-stage-meter em {
    color: #445a70 !important;
    font-style: normal !important;
    font-size: 13px !important;
}

html[data-theme] .research-stage-meter strong {
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: 26px !important;
}

html[data-theme] .research-stage-meter i,
html[data-theme] .research-year-row i {
    display: block !important;
    width: 100% !important;
    height: 7px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #ebe7df !important;
}

html[data-theme] .research-stage-meter b,
html[data-theme] .research-year-row b {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #b98956 !important;
}

html[data-theme] .research-stage-card dl {
    margin: 20px 0 0 !important;
}

html[data-theme] .research-stage-card dl div {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 12px 0 !important;
    border-top: 1px solid rgba(6, 57, 112, .14) !important;
}

html[data-theme] .research-stage-card dt {
    color: #445a70 !important;
    font-size: 13px !important;
}

html[data-theme] .research-stage-card dd {
    margin: 0 !important;
    color: #061d38 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

html[data-theme] .research-pipeline-table {
    margin-top: 34px !important;
    overflow: hidden !important;
}

html[data-theme] .research-pipeline-table > p,
html[data-theme] .research-year-card > p {
    margin: 0 !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid rgba(6, 57, 112, .16) !important;
    color: #445a70 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme] .research-pipeline-table table {
    width: 100% !important;
    border-collapse: collapse !important;
}

html[data-theme] .research-pipeline-table th,
html[data-theme] .research-pipeline-table td {
    padding: 15px 20px !important;
    border-bottom: 1px solid rgba(6, 57, 112, .12) !important;
    color: #102d47 !important;
    text-align: left !important;
    vertical-align: top !important;
    font-size: 14px !important;
}

html[data-theme] .research-pipeline-table th {
    background: #f8f1ea !important;
    color: #061d38 !important;
    font-weight: 800 !important;
}

html[data-theme] .research-pipeline-table td:first-child,
html[data-theme] .research-pipeline-table td:last-child {
    color: #061d38 !important;
    font-weight: 800 !important;
}

html[data-theme] .research-catalogue-btn {
    margin-top: 28px !important;
    border-radius: 0 !important;
    background: #063970 !important;
}

html[data-theme] .research-updated {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

html[data-theme] .research-updated svg {
    width: 18px !important;
    height: 18px !important;
}

html[data-theme] .research-completed-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    border: 1px solid rgba(6, 57, 112, .22) !important;
    background: rgba(255, 255, 255, .84) !important;
}

html[data-theme] .research-completed-stats article {
    min-height: 155px !important;
    padding: 30px !important;
    border-right: 1px solid rgba(6, 57, 112, .16) !important;
    border-bottom: 1px solid rgba(6, 57, 112, .16) !important;
}

html[data-theme] .research-completed-stats article:nth-child(3n) {
    border-right: 0 !important;
}

html[data-theme] .research-completed-stats article:nth-last-child(-n + 3) {
    border-bottom: 0 !important;
}

html[data-theme] .research-completed-stats strong {
    display: block !important;
    color: #061d38 !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1 !important;
}

html[data-theme] .research-completed-stats span {
    display: block !important;
    margin-top: 8px !important;
    color: #061d38 !important;
    font-weight: 800 !important;
}

html[data-theme] .research-completed-stats small {
    color: #445a70 !important;
}

html[data-theme] .research-completed-lower {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 350px !important;
    gap: 34px !important;
    margin-top: 40px !important;
    align-items: stretch !important;
}

html[data-theme] .research-year-card {
    padding-bottom: 18px !important;
}

html[data-theme] .research-year-row {
    padding: 14px 28px 0 !important;
}

html[data-theme] .research-record-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 18px 28px !important;
    border-top: 1px solid rgba(6, 57, 112, .14) !important;
    text-decoration: none !important;
    transition: background-color .2s ease, transform .2s ease !important;
}

html[data-theme] .research-record-row:hover {
    background: rgba(39, 168, 216, .08) !important;
    transform: translateX(4px) !important;
}

html[data-theme] .research-year-row div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    align-items: baseline !important;
    margin-bottom: 8px !important;
}

html[data-theme] .research-year-row strong {
    color: #061d38 !important;
}

html[data-theme] .research-year-row span {
    color: #445a70 !important;
    font-size: 14px !important;
}

html[data-theme] .research-record-row > span {
    color: #147fa8 !important;
    font-size: 18px !important;
    flex: 0 0 auto !important;
}

html[data-theme] .research-year-row b {
    background: #063970 !important;
}

html[data-theme] .research-completed-note {
    padding: 32px !important;
    background: #063970 !important;
    color: #fff !important;
}

html[data-theme] .research-completed-note h3 {
    color: #fff !important;
    font-family: var(--font-serif, "Source Serif 4", serif) !important;
    font-size: 27px !important;
}

html[data-theme] .research-completed-note ul {
    display: grid !important;
    gap: 14px !important;
    margin: 24px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

html[data-theme] .research-completed-note li {
    display: flex !important;
    gap: 10px !important;
    color: rgba(255, 255, 255, .9) !important;
    line-height: 1.5 !important;
}

html[data-theme] .research-completed-note li svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    color: #b98956 !important;
}

html[data-theme] .research-completed-note .btn {
    border-radius: 0 !important;
    background: #b98956 !important;
    color: #061d38 !important;
}

:root[data-theme="dark"] .research-catalogue-kicker,
:root[data-theme="dark"] .research-catalogue-head > p,
:root[data-theme="dark"] .research-stage-title small,
:root[data-theme="dark"] .research-stage-card > p,
:root[data-theme="dark"] .research-stage-meter span,
:root[data-theme="dark"] .research-stage-meter em,
:root[data-theme="dark"] .research-stage-card dt,
:root[data-theme="dark"] .research-pipeline-table > p,
:root[data-theme="dark"] .research-year-card > p,
:root[data-theme="dark"] .research-completed-stats small,
:root[data-theme="dark"] .research-year-row span {
    color: rgba(255, 255, 255, .76) !important;
}

:root[data-theme="dark"] .research-catalogue-head h2,
:root[data-theme="dark"] .research-catalogue-head > p strong,
:root[data-theme="dark"] .research-stage-title h3,
:root[data-theme="dark"] .research-stage-meter strong,
:root[data-theme="dark"] .research-stage-card dd,
:root[data-theme="dark"] .research-pipeline-table th,
:root[data-theme="dark"] .research-pipeline-table td,
:root[data-theme="dark"] .research-completed-stats strong,
:root[data-theme="dark"] .research-completed-stats span,
:root[data-theme="dark"] .research-year-row strong {
    color: #fff !important;
}

:root[data-theme="dark"] .research-stage-card,
:root[data-theme="dark"] .research-pipeline-table,
:root[data-theme="dark"] .research-year-card,
:root[data-theme="dark"] .research-completed-stats {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(108, 204, 235, .26) !important;
}

:root[data-theme="dark"] .research-stage-title > span,
:root[data-theme="dark"] .research-catalogue-btn,
:root[data-theme="dark"] .research-year-row b {
    background: #27a8d8 !important;
}

:root[data-theme="dark"] .research-stage-card dl div,
:root[data-theme="dark"] .research-pipeline-table > p,
:root[data-theme="dark"] .research-pipeline-table th,
:root[data-theme="dark"] .research-pipeline-table td,
:root[data-theme="dark"] .research-completed-stats article,
:root[data-theme="dark"] .research-year-card > p {
    border-color: rgba(108, 204, 235, .22) !important;
}

:root[data-theme="dark"] .research-pipeline-table th {
    background: rgba(255, 255, 255, .08) !important;
}

:root[data-theme="dark"] .research-stage-meter i,
:root[data-theme="dark"] .research-year-row i {
    background: rgba(255, 255, 255, .14) !important;
}

:root[data-theme="dark"] .research-record-row {
    border-color: rgba(108, 204, 235, .22) !important;
}

:root[data-theme="dark"] .research-record-row:hover {
    background: rgba(39, 168, 216, .14) !important;
}

:root[data-theme="dark"] .research-record-row > span {
    color: #6ccceb !important;
}

/* Search page: readable hero text, RDM note and compact arrow pagination */
html[data-theme] body.search-page .image-page-hero h1,
html[data-theme] body.search-page .image-page-hero p,
html[data-theme] body.search-page .image-page-hero .eyebrow {
    color: #fff !important;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .45) !important;
}

html[data-theme] body.search-page .image-page-hero::after {
    background:
        linear-gradient(90deg, rgba(6, 57, 112, .88), rgba(6, 57, 112, .58) 48%, rgba(6, 57, 112, .34)),
        linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .3)) !important;
}

html[data-theme] body.search-page .search-repository-note {
    margin-top: 12px !important;
}

html[data-theme] body.search-page .search-repository-note a {
    color: #147fa8 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

html[data-theme] body.search-page .search-results {
    display: grid !important;
    gap: 18px !important;
}

html[data-theme] body.search-page .search-results .card {
    border-color: rgba(39, 168, 216, .28) !important;
}

html[data-theme] .search-pager {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    margin-top: 32px !important;
}

html[data-theme] .search-page-arrow {
    width: 46px !important;
    height: 46px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #27a8d8 !important;
    border: 1px solid rgba(39, 168, 216, .55) !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 16px 32px rgba(20, 127, 168, .22) !important;
    transition: transform .2s ease, background-color .2s ease, opacity .2s ease !important;
}

html[data-theme] .search-page-arrow:hover,
html[data-theme] .search-page-arrow:focus-visible {
    background: #147fa8 !important;
    transform: translateY(-2px) !important;
}

html[data-theme] .search-page-arrow.disabled {
    opacity: .38 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

html[data-theme] .search-page-status {
    min-width: 110px !important;
    text-align: center !important;
    color: #063970 !important;
    font-weight: 800 !important;
}

:root[data-theme="dark"] body.search-page .search-repository-note a,
:root[data-theme="dark"] .search-page-status {
    color: #6ccceb !important;
}

:root[data-theme="dark"] body.search-page .search-results .card {
    border-color: rgba(108, 204, 235, .32) !important;
}

:root[data-theme="dark"] .search-page-arrow {
    background: #27a8d8 !important;
    border-color: rgba(108, 204, 235, .48) !important;
    color: #063970 !important;
}

@media (max-width: 1050px) {
    html[data-theme] .research-pipeline-grid,
    html[data-theme] .research-completed-stats,
    html[data-theme] .research-completed-lower {
        grid-template-columns: 1fr !important;
    }

    html[data-theme] .research-completed-stats article,
    html[data-theme] .research-completed-stats article:nth-child(3n),
    html[data-theme] .research-completed-stats article:nth-last-child(-n + 3) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(6, 57, 112, .16) !important;
    }
}

@media (max-width: 720px) {
    html[data-theme] .research-catalogue-head,
    html[data-theme] .research-year-row div {
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    html[data-theme] .research-pipeline-table {
        overflow-x: auto !important;
    }

    html[data-theme] .research-pipeline-table table {
        min-width: 780px !important;
    }
}

html[data-theme] .newsletter-showcase-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(248, 241, 234, .96), rgba(234, 248, 252, .92)) !important;
}

html[data-theme] .newsletter-showcase-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 18%, rgba(39, 168, 216, .16), transparent 28%),
        radial-gradient(circle at 88% 20%, rgba(185, 137, 86, .18), transparent 26%);
}

html[data-theme] .newsletter-showcase-section > .container,
html[data-theme] .newsletter-showcase-section.container {
    position: relative;
    z-index: 1;
}

html[data-theme] .newsletter-showcase-head {
    max-width: 820px;
}

html[data-theme] .newsletter-card {
    border-color: rgba(185, 137, 86, .35) !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(234, 248, 252, .72)) !important;
}

html[data-theme] .newsletter-card .pad {
    padding: 26px !important;
}

html[data-theme] .newsletter-card .news-img {
    height: 190px;
}

html[data-theme] .newsletter-card h3 {
    color: #063970 !important;
}

html[data-theme] .newsletter-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 4px;
}

html[data-theme] .newsletter-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(185, 137, 86, .16);
    color: #6f4727;
    font-size: 12px;
    font-weight: 800;
}

:root[data-theme="dark"] .newsletter-showcase-section {
    background:
        linear-gradient(135deg, rgba(8, 64, 121, .98), rgba(6, 57, 112, .94)) !important;
}

:root[data-theme="dark"] .newsletter-card {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(108, 204, 235, .1)) !important;
    border-color: rgba(108, 204, 235, .34) !important;
}

:root[data-theme="dark"] .newsletter-card h3,
:root[data-theme="dark"] .newsletter-showcase-head h2 {
    color: #ffffff !important;
}

:root[data-theme="dark"] .newsletter-showcase-head p,
:root[data-theme="dark"] .newsletter-card .muted {
    color: rgba(255, 255, 255, .78) !important;
}

:root[data-theme="dark"] .newsletter-meta-row span {
    background: rgba(108, 204, 235, .16);
    color: #bfefff;
}

/* Keep listing cards editorial and compact; full text remains in detail/read-more views. */
html[data-theme] .news-card h3,
html[data-theme] .blog-card h3,
html[data-theme] .carousel-card h3,
html[data-theme] .related-news-card h3,
html[data-theme] .newsletter-card h3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

html[data-theme] .news-card .muted,
html[data-theme] .blog-card .muted,
html[data-theme] .carousel-card .muted,
html[data-theme] .related-news-card .muted,
html[data-theme] .newsletter-card .muted {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Newsletter reader: long issue content becomes an editorial multi-column view. */
html[data-theme] .newsletter-modal .blog-modal-card {
    width: min(100%, 1120px) !important;
}

html[data-theme] .newsletter-modal .blog-modal-card > .pad {
    padding: clamp(24px, 4vw, 42px) !important;
}

html[data-theme] .newsletter-modal #blog-modal-body {
    display: block !important;
    max-width: none !important;
    column-count: 2;
    column-gap: 38px;
    column-rule: 1px solid rgba(185, 137, 86, .42);
    color: #314b5a !important;
    font-size: 17px;
    line-height: 1.85;
    text-align: left;
    white-space: pre-line;
}

html[data-theme] .newsletter-modal #blog-modal-title {
    max-width: 900px;
    color: #063970 !important;
    line-height: 1.12;
}

:root[data-theme="dark"] .newsletter-modal #blog-modal-body {
    color: rgba(255, 255, 255, .82) !important;
    column-rule-color: rgba(108, 204, 235, .34);
}

:root[data-theme="dark"] .newsletter-modal #blog-modal-title {
    color: #ffffff !important;
}

@media (min-width: 1280px) {
    html[data-theme] .newsletter-modal #blog-modal-body {
        column-count: 3;
    }
}

@media (max-width: 760px) {
    html[data-theme] .newsletter-modal #blog-modal-body {
        column-count: 1;
        column-rule: 0;
    }
}

/* About mandate detail: center the key-area box beside the narrative content. */
html[data-theme] .about-section-mandate-detail .mandate-detail-card {
    align-items: center !important;
}

html[data-theme] .about-section-mandate-detail .mandate-key-card {
    position: static !important;
    align-self: center !important;
    width: min(100%, 520px) !important;
    margin-inline: auto !important;
}

html[data-theme] .about-section-mandate-detail .mandate-key-list {
    align-content: center !important;
}

@media (max-width: 980px) {
    html[data-theme] .about-section-mandate-detail .mandate-detail-card {
        align-items: stretch !important;
    }

    html[data-theme] .about-section-mandate-detail .mandate-key-card {
        width: 100% !important;
    }
}

/* Search page: keep form and results visible even when global reveal animation is active. */
html[data-theme] body.search-page main .reveal,
html[data-theme] body.search-page .search-panel,
html[data-theme] body.search-page .search-summary,
html[data-theme] body.search-page .search-results,
html[data-theme] body.search-page .search-results .card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* News / Events hub: section-specific editorial layouts. */
html[data-theme] .news-briefing-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(24px, 4vw, 46px);
    align-items: start;
}

html[data-theme] .news-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 34px;
}

html[data-theme] .news-feature-tile {
    position: relative;
    min-height: 245px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(39, 168, 216, .25);
    background: #fff;
    color: #fff;
    box-shadow: 0 22px 42px rgba(6, 57, 112, .12);
}

html[data-theme] .news-feature-tile img,
html[data-theme] .media-mosaic-tile img,
html[data-theme] .newsletter-issue-row > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html[data-theme] .news-feature-tile::after,
html[data-theme] .media-mosaic-tile::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(6, 57, 112, .92));
}

html[data-theme] .news-feature-tile span,
html[data-theme] .news-feature-tile small {
    position: absolute;
    left: 18px;
    right: 18px;
    z-index: 1;
}

html[data-theme] .news-feature-tile span {
    bottom: 30px;
    font-weight: 900;
    line-height: 1.15;
}

html[data-theme] .news-feature-tile small {
    bottom: 13px;
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html[data-theme] .news-line-list {
    border-top: 1px solid rgba(6, 57, 112, .18);
}

html[data-theme] .news-line-list a {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) 120px;
    gap: 16px;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid rgba(6, 57, 112, .14);
    color: #063970;
}

html[data-theme] .news-line-list time,
html[data-theme] .news-line-list small {
    color: #147fa8;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html[data-theme] .news-line-list span {
    font-weight: 850;
}

html[data-theme] .news-statement-panel {
    padding: 32px;
    background: #063970;
    color: #fff;
    border-radius: 6px;
    box-shadow: 0 24px 50px rgba(6, 57, 112, .22);
}

html[data-theme] .news-statement-panel p,
html[data-theme] .award-process > p {
    margin: 0 0 22px;
    color: #6ccceb;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

html[data-theme] .news-statement-panel a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .88);
    font-weight: 800;
    line-height: 1.45;
}

html[data-theme] .news-statement-panel span {
    color: #b98956;
}

html[data-theme] .event-timeline {
    position: relative;
    display: grid;
    gap: 42px;
    max-width: 980px;
    margin-inline: auto;
    padding-left: 42px;
}

html[data-theme] .event-timeline::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: rgba(6, 57, 112, .22);
}

html[data-theme] .event-timeline-item {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;
}

html[data-theme] .event-date-block,
html[data-theme] .issue-number {
    display: grid;
    place-items: center;
    align-content: center;
    width: 58px;
    min-height: 64px;
    background: #063970;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
}

html[data-theme] .event-date-block strong {
    font-size: 20px;
    line-height: 1;
}

html[data-theme] .event-date-block span,
html[data-theme] .issue-number span,
html[data-theme] .issue-number small {
    font-size: 10px;
    letter-spacing: .08em;
}

html[data-theme] .event-timeline-content h3 {
    margin: 2px 0 12px;
    color: #063970;
    font-size: clamp(22px, 2vw, 30px);
}

html[data-theme] .event-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 14px;
    color: #516876;
    font-size: 14px;
}

html[data-theme] .event-timeline-content > p:not(.eyebrow) {
    max-width: 760px;
    color: #516876;
    line-height: 1.75;
}

html[data-theme] .news-status-button,
html[data-theme] .news-outline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #063970;
    background: #063970;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
}

html[data-theme] .news-outline-button {
    background: transparent;
    color: #063970;
}

html[data-theme] .vacancy-board,
html[data-theme] .bid-table {
    border-top: 2px solid #063970;
}

html[data-theme] .vacancy-board-head,
html[data-theme] .vacancy-row,
html[data-theme] .bid-row {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(140px, .7fr) minmax(140px, .7fr) 54px;
    gap: 22px;
    align-items: start;
    padding: 22px 0;
    border-bottom: 1px solid rgba(6, 57, 112, .18);
}

html[data-theme] .bid-row {
    grid-template-columns: 150px minmax(0, 1.7fr) 160px 150px;
    color: #0b2533;
}

html[data-theme] .vacancy-board-head,
html[data-theme] .bid-head {
    color: #5c7180;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

html[data-theme] .vacancy-row h3,
html[data-theme] .bid-row strong,
html[data-theme] .newsletter-issue-row h3 {
    margin: 0;
    color: #063970;
    font-size: clamp(20px, 1.7vw, 26px);
    line-height: 1.18;
}

html[data-theme] .vacancy-row p,
html[data-theme] .vacancy-row > span,
html[data-theme] .bid-row span {
    color: #516876;
}

html[data-theme] .vacancy-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr);
    gap: 34px;
    margin-top: 24px;
}

html[data-theme] .vacancy-detail-grid strong,
html[data-theme] .vacancy-detail-grid span {
    display: block;
}

html[data-theme] .vacancy-detail-grid strong {
    margin-bottom: 8px;
    color: #95683d;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
}

html[data-theme] .vacancy-row a,
html[data-theme] .vacancy-more {
    justify-self: end;
    display: grid;
    place-items: center;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid rgba(6, 57, 112, .25);
    color: #063970;
    font-weight: 900;
}

html[data-theme] .vacancy-row.is-open a,
html[data-theme] .vacancy-row.is-open .vacancy-more {
    width: auto;
    padding: 0 18px;
    background: #063970;
    color: #fff;
}

html[data-theme] .bid-row em {
    justify-self: start;
    padding: 5px 12px;
    background: rgba(39, 168, 216, .14);
    color: #147fa8;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html[data-theme] .award-process {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 54px;
    padding: 28px;
    border: 1px solid rgba(6, 57, 112, .14);
    background: rgba(255, 255, 255, .48);
}

html[data-theme] .award-process > p {
    grid-column: 1 / -1;
    color: #147fa8;
}

html[data-theme] .award-process div {
    min-height: 112px;
    padding: 18px;
    border-left: 1px solid rgba(6, 57, 112, .16);
}

html[data-theme] .award-process div:first-of-type {
    border-left: 0;
}

html[data-theme] .award-process span,
html[data-theme] .newsletter-issue-row .eyebrow {
    color: #147fa8;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html[data-theme] .award-process strong,
html[data-theme] .award-process small {
    display: block;
}

html[data-theme] .award-process strong {
    margin: 18px 0 6px;
    color: #063970;
}

html[data-theme] .award-process small {
    color: #516876;
    line-height: 1.5;
}

html[data-theme] .newsletter-issue-list {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(6, 57, 112, .16);
}

html[data-theme] .newsletter-issue-row {
    display: grid;
    grid-template-columns: 92px 78px minmax(180px, .7fr) minmax(260px, 1fr) 126px;
    gap: 28px;
    align-items: center;
    padding: 36px 0;
    border-bottom: 1px solid rgba(6, 57, 112, .16);
}

html[data-theme] .newsletter-issue-row > img {
    height: 104px;
}

html[data-theme] .issue-number {
    width: 78px;
    height: 104px;
}

html[data-theme] .issue-number strong {
    font-size: 30px;
    line-height: 1;
}

html[data-theme] .newsletter-issue-row small,
html[data-theme] .newsletter-issue-row li {
    color: #516876;
}

html[data-theme] .newsletter-issue-row ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

html[data-theme] .newsletter-issue-row li + li {
    margin-top: 7px;
}

html[data-theme] .newsletter-issue-row li::before {
    content: "-";
    margin-right: 10px;
    color: #147fa8;
}

html[data-theme] .media-mosaic {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    grid-template-rows: repeat(2, minmax(210px, 1fr));
    gap: 14px;
    max-width: 980px;
    margin-inline: auto;
}

html[data-theme] .media-mosaic-tile {
    position: relative;
    min-height: 210px;
    overflow: hidden;
    border-radius: 4px;
    background: #063970;
    color: #fff;
}

html[data-theme] .media-mosaic-tile.is-large {
    grid-row: 1 / 3;
}

html[data-theme] .media-mosaic-tile span {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    z-index: 1;
}

html[data-theme] .media-mosaic-tile strong,
html[data-theme] .media-mosaic-tile small {
    display: block;
}

html[data-theme] .media-mosaic-tile strong {
    font-size: 18px;
}

html[data-theme] .media-mosaic-tile small {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html[data-theme] .news-empty-state {
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 28px;
    border: 1px solid rgba(39, 168, 216, .35);
    border-radius: 8px;
    background: rgba(255, 255, 255, .62);
    color: #063970;
    font-size: 24px;
    font-weight: 900;
}

html[data-theme] .news-empty-state span {
    color: #516876;
    font-size: 16px;
    font-weight: 600;
}

html[data-theme] .blog-editorial-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: clamp(28px, 5vw, 70px);
    align-items: start;
    border-top: 4px solid #147fa8;
    padding-top: 34px;
}

html[data-theme] .blog-feature-essay h3 {
    max-width: 760px;
    margin: 14px 0 24px;
    color: #063970;
    font-size: clamp(36px, 4.5vw, 58px);
    line-height: .98;
    letter-spacing: 0;
}

html[data-theme] .blog-feature-essay img {
    width: 100%;
    height: clamp(310px, 40vw, 510px);
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 24px 54px rgba(6, 57, 112, .14);
}

html[data-theme] .blog-feature-essay > span {
    display: block;
    margin: 16px 0 18px;
    color: #95683d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

html[data-theme] .blog-feature-essay > span::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 16px;
    margin-right: 10px;
    vertical-align: -3px;
    background: #27a8d8;
}

html[data-theme] .blog-feature-essay p {
    max-width: 680px;
    color: #516876;
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.65;
}

html[data-theme] .blog-ranked-list {
    display: grid;
    gap: 0;
    padding-top: 42px;
}

html[data-theme] .blog-ranked-list a {
    display: grid;
    grid-template-columns: 34px 112px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: 24px 0;
    border-top: 1px solid rgba(6, 57, 112, .16);
    color: #063970;
}

html[data-theme] .blog-ranked-list a:first-child {
    border-top: 0;
}

html[data-theme] .blog-ranked-list strong {
    color: #446277;
    font-size: 13px;
    font-weight: 900;
}

html[data-theme] .blog-ranked-list img {
    width: 112px;
    height: 94px;
    object-fit: cover;
}

html[data-theme] .blog-ranked-list b,
html[data-theme] .blog-ranked-list small {
    display: block;
}

html[data-theme] .blog-ranked-list b {
    margin-bottom: 10px;
    font-size: clamp(18px, 1.6vw, 24px);
    line-height: 1.18;
}

html[data-theme] .blog-ranked-list small {
    color: #66747c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html[data-theme] .home-news-editorial,
html[data-theme] .home-blog-editorial {
    margin-top: 12px;
}

html[data-theme] .home-event-timeline {
    margin-inline: 0;
}

:root[data-theme="dark"] .news-feature-tile,
:root[data-theme="dark"] .news-empty-state {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(108, 204, 235, .28);
}

:root[data-theme="dark"] .news-line-list a,
:root[data-theme="dark"] .event-timeline-content h3,
:root[data-theme="dark"] .vacancy-row h3,
:root[data-theme="dark"] .bid-row strong,
:root[data-theme="dark"] .newsletter-issue-row h3,
:root[data-theme="dark"] .blog-feature-essay h3,
:root[data-theme="dark"] .blog-ranked-list a,
:root[data-theme="dark"] .award-process strong,
:root[data-theme="dark"] .news-empty-state {
    color: #fff !important;
}

:root[data-theme="dark"] .news-line-list,
:root[data-theme="dark"] .news-line-list a,
:root[data-theme="dark"] .vacancy-board,
:root[data-theme="dark"] .vacancy-row,
:root[data-theme="dark"] .bid-table,
:root[data-theme="dark"] .bid-row,
:root[data-theme="dark"] .newsletter-issue-list,
:root[data-theme="dark"] .newsletter-issue-row,
:root[data-theme="dark"] .blog-ranked-list a {
    border-color: rgba(255, 255, 255, .16) !important;
}

:root[data-theme="dark"] .news-line-list span,
:root[data-theme="dark"] .event-timeline-content > p:not(.eyebrow),
:root[data-theme="dark"] .event-meta-line,
:root[data-theme="dark"] .vacancy-row p,
:root[data-theme="dark"] .vacancy-row > span,
:root[data-theme="dark"] .bid-row,
:root[data-theme="dark"] .bid-row span,
:root[data-theme="dark"] .award-process small,
:root[data-theme="dark"] .newsletter-issue-row small,
:root[data-theme="dark"] .newsletter-issue-row li,
:root[data-theme="dark"] .blog-feature-essay p,
:root[data-theme="dark"] .blog-ranked-list small,
:root[data-theme="dark"] .blog-ranked-list strong,
:root[data-theme="dark"] .news-empty-state span {
    color: rgba(255, 255, 255, .74) !important;
}

:root[data-theme="dark"] .news-statement-panel,
:root[data-theme="dark"] .event-date-block,
:root[data-theme="dark"] .issue-number,
:root[data-theme="dark"] .news-status-button,
:root[data-theme="dark"] .vacancy-row.is-open a,
:root[data-theme="dark"] .vacancy-row.is-open .vacancy-more {
    background: #084079;
}

:root[data-theme="dark"] .award-process {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .14);
}

:root[data-theme="dark"] .news-outline-button,
:root[data-theme="dark"] .vacancy-row a,
:root[data-theme="dark"] .vacancy-more {
    border-color: rgba(108, 204, 235, .36);
    color: #6ccceb;
}

@media (max-width: 980px) {
    html[data-theme] .news-briefing-layout,
    html[data-theme] .blog-editorial-layout,
    html[data-theme] .media-mosaic {
        grid-template-columns: 1fr;
    }

    html[data-theme] .media-mosaic-tile.is-large {
        grid-row: auto;
    }

    html[data-theme] .newsletter-issue-row,
    html[data-theme] .vacancy-board-head,
    html[data-theme] .vacancy-row,
    html[data-theme] .bid-row {
        grid-template-columns: 1fr;
    }

    html[data-theme] .vacancy-detail-grid,
    html[data-theme] .award-process {
        grid-template-columns: 1fr;
    }

    html[data-theme] .award-process div {
        border-left: 0;
        border-top: 1px solid rgba(6, 57, 112, .16);
    }
}

@media (max-width: 720px) {
    html[data-theme] .news-feature-grid {
        grid-template-columns: 1fr;
    }

    html[data-theme] .news-line-list a {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    html[data-theme] .event-timeline {
        padding-left: 0;
    }

    html[data-theme] .event-timeline::before {
        display: none;
    }

    html[data-theme] .event-timeline-item {
        grid-template-columns: 1fr;
    }

    html[data-theme] .blog-ranked-list {
        padding-top: 0;
    }

    html[data-theme] .blog-ranked-list a {
        grid-template-columns: 28px 86px minmax(0, 1fr);
        gap: 14px;
    }

    html[data-theme] .blog-ranked-list img {
        width: 86px;
        height: 76px;
    }
}

/* Reference-inspired light presentation: crisp civic editorial system. */
html[data-theme="light"] {
    --ref-bg: #f6f8fb;
    --ref-surface: #ffffff;
    --ref-panel: #fbfcfe;
    --ref-ink: #0b2340;
    --ref-muted: #536579;
    --ref-border: #d9e2eb;
    --ref-rule: #cfd9e4;
    --ref-blue: #147fa8;
    --ref-blue-bright: #27a8d8;
    --ref-brown: #95683d;
    --ref-gold: #d5aa4f;
    --ref-shadow: 0 24px 60px -34px rgba(11, 35, 64, .32);
    --font-sans: "Epilogue", "Noto Sans Ethiopic", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    --font-display: "Urbanist", "Noto Sans Ethiopic", system-ui, sans-serif !important;
}

html[data-theme="light"] body {
    background: var(--ref-bg) !important;
    color: var(--ref-ink) !important;
    font-family: var(--font-sans) !important;
}

html[data-theme="light"] :is(h1, h2, h3, h4, h5, h6, .hero h1, .page-hero h1, .impact-hero h1, .section-head h2, .card h3, .service-item h2, .thematic-card h3) {
    color: var(--ref-ink) !important;
    font-family: var(--font-display) !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

html[data-theme="light"] :is(p, .muted, .card p, .section-head p, .event-meta-line, .blog-feature-essay p) {
    color: var(--ref-muted) !important;
}

html[data-theme="light"] .section,
html[data-theme="light"] .band,
html[data-theme="light"] body.home-page main .section,
html[data-theme="light"] body.about-page main .section,
html[data-theme="light"] main > section:not(.hero):not(.page-hero):not(.about-page-hero):not(.image-page-hero):not(.impact-hero) {
    background: var(--ref-bg) !important;
    background-image: none !important;
}

html[data-theme="light"] .section:nth-of-type(even),
html[data-theme="light"] .home-section-publications,
html[data-theme="light"] .home-section-impact,
html[data-theme="light"] .newsletter-showcase-section {
    background: #eef4f8 !important;
}

html[data-theme="light"] .section-head {
    margin-bottom: clamp(28px, 4vw, 48px) !important;
}

html[data-theme="light"] .section-head.center {
    max-width: 800px !important;
    margin-inline: auto !important;
}

html[data-theme="light"] .section-head .eyebrow,
html[data-theme="light"] .eyebrow {
    color: var(--ref-blue) !important;
    font-family: var(--font-sans) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme="light"] .section-head h2 {
    margin-top: 10px !important;
    font-size: clamp(34px, 4vw, 56px) !important;
    line-height: 1.02 !important;
}

html[data-theme="light"] .section-head h2::after {
    content: "";
    display: block;
    width: 86px;
    height: 3px;
    margin-top: 18px;
    background: linear-gradient(90deg, var(--ref-blue), var(--ref-gold));
}

html[data-theme="light"] .section-head.center h2::after {
    margin-inline: auto;
}

html[data-theme="light"] :is(.card, .service-item, .thematic-card, .logo-card, .publication-catalogue-panel, .research-stage-card, .research-completed-stat, .search-panel, .search-results .card, .mandate-detail-card, .mandate-key-card, .org-structure-card, .org-structure-leader, .org-center-card, .org-theme-rail) {
    border: 1px solid var(--ref-border) !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, var(--ref-surface), var(--ref-panel)) !important;
    box-shadow: var(--ref-shadow) !important;
    color: var(--ref-ink) !important;
}

html[data-theme="light"] :is(.card, .service-item, .thematic-card, .publication-catalogue-panel, .research-stage-card, .research-completed-stat) {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

html[data-theme="light"] :is(.card, .service-item, .thematic-card, .publication-catalogue-panel, .research-stage-card):hover {
    transform: translateY(-3px) !important;
    border-color: rgba(20, 127, 168, .36) !important;
    box-shadow: 0 30px 70px -38px rgba(11, 35, 64, .42) !important;
}

html[data-theme="light"] :is(.card .pad, .card.pad) {
    padding: clamp(22px, 3vw, 34px) !important;
}

html[data-theme="light"] .news-img,
html[data-theme="light"] .service-image-slot,
html[data-theme="light"] .blog-feature-essay img,
html[data-theme="light"] .news-feature-tile,
html[data-theme="light"] .media-mosaic-tile {
    border-radius: 4px !important;
}

html[data-theme="light"] .btn,
html[data-theme="light"] button.btn,
html[data-theme="light"] a.btn,
html[data-theme="light"] .news-status-button,
html[data-theme="light"] .news-outline-button,
html[data-theme="light"] .publication-catalogue-actions .btn {
    min-height: 44px !important;
    padding: 0 22px !important;
    border: 1px solid var(--ref-ink) !important;
    border-radius: 4px !important;
    background: var(--ref-ink) !important;
    color: #ffffff !important;
    font-family: var(--font-sans) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

html[data-theme="light"] :is(.btn, button.btn, a.btn, .news-status-button, .news-outline-button):hover {
    background: var(--ref-blue) !important;
    border-color: var(--ref-blue) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .btn.secondary {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .44) !important;
    color: #ffffff !important;
    backdrop-filter: blur(12px);
}

html[data-theme="light"] .blog-link,
html[data-theme="light"] .service-read-more {
    color: var(--ref-blue) !important;
    font-weight: 850 !important;
}

html[data-theme="light"] .pill,
html[data-theme="light"] .icon,
html[data-theme="light"] .service-icon,
html[data-theme="light"] .impact-page-nav a,
html[data-theme="light"] .section-anchor-nav a,
html[data-theme="light"] .tabs button,
html[data-theme="light"] .filter-tabs button {
    border-color: var(--ref-border) !important;
    border-radius: 4px !important;
    background: #eef4f8 !important;
    color: var(--ref-blue) !important;
    box-shadow: none !important;
}

html[data-theme="light"] :is(.impact-page-nav a, .section-anchor-nav a, .tabs button, .filter-tabs button):hover,
html[data-theme="light"] :is(.impact-page-nav a, .section-anchor-nav a, .tabs button, .filter-tabs button).active {
    background: var(--ref-ink) !important;
    border-color: var(--ref-ink) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid var(--ref-border) !important;
    box-shadow: 0 18px 50px -38px rgba(11, 35, 64, .45) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

html[data-theme="light"] .site-header .brand strong {
    font-family: var(--font-display) !important;
    font-weight: 900 !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

html[data-theme="light"] .site-header.is-scrolled .nav-item > a,
html[data-theme="light"] .site-header.is-scrolled .nav-item > button,
html[data-theme="light"] .site-header.is-menu-open .nav-item > a,
html[data-theme="light"] .site-header.is-menu-open .nav-item > button {
    color: var(--ref-ink) !important;
}

html[data-theme="light"] .site-header .dropdown {
    border: 1px solid var(--ref-border) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: var(--ref-shadow) !important;
}

html[data-theme="light"] .site-header .dropdown a:hover {
    background: #eef4f8 !important;
    color: var(--ref-blue) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .theme-toggle,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    border-color: var(--ref-border) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--ref-ink) !important;
    box-shadow: none !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .theme-toggle:hover,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .topbar-social-links a:hover {
    background: var(--ref-blue) !important;
    color: #ffffff !important;
    border-color: var(--ref-blue) !important;
}

html[data-theme="light"] .hero .stats-strip .stat,
html[data-theme="light"] .impact-hero .impact-hero-stats .impact-stat {
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 6px !important;
    background: rgba(11, 35, 64, .42) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px) !important;
}

html[data-theme="light"] .hero .stats-strip .stat strong,
html[data-theme="light"] .impact-hero .impact-hero-stats .impact-stat strong {
    color: #7bd8f0 !important;
}

html[data-theme="light"] .hero .stats-strip .stat,
html[data-theme="light"] .impact-hero .impact-hero-stats .impact-stat p {
    color: rgba(255, 255, 255, .9) !important;
}

html[data-theme="light"] .news-feature-tile,
html[data-theme="light"] .news-statement-panel,
html[data-theme="light"] .event-date-block,
html[data-theme="light"] .issue-number,
html[data-theme="light"] .media-mosaic-tile {
    background: var(--ref-ink) !important;
}

html[data-theme="light"] .news-line-list,
html[data-theme="light"] .news-line-list a,
html[data-theme="light"] .blog-ranked-list a,
html[data-theme="light"] .vacancy-board,
html[data-theme="light"] .vacancy-row,
html[data-theme="light"] .bid-table,
html[data-theme="light"] .bid-row,
html[data-theme="light"] .newsletter-issue-list,
html[data-theme="light"] .newsletter-issue-row {
    border-color: var(--ref-rule) !important;
}

html[data-theme="light"] .news-line-list a,
html[data-theme="light"] .blog-ranked-list a,
html[data-theme="light"] .event-timeline-content h3,
html[data-theme="light"] .vacancy-row h3,
html[data-theme="light"] .bid-row strong,
html[data-theme="light"] .newsletter-issue-row h3,
html[data-theme="light"] .award-process strong {
    color: var(--ref-ink) !important;
}

html[data-theme="light"] .award-process {
    border-color: var(--ref-border) !important;
    border-radius: 6px !important;
    background: var(--ref-surface) !important;
    box-shadow: var(--ref-shadow) !important;
}

html[data-theme="light"] .blog-editorial-layout {
    border-top-color: var(--ref-blue) !important;
}

html[data-theme="light"] .blog-feature-essay h3 {
    color: var(--ref-ink) !important;
}

html[data-theme="light"] .blog-feature-essay img,
html[data-theme="light"] .news-feature-tile,
html[data-theme="light"] .media-mosaic-tile {
    box-shadow: 0 24px 60px -32px rgba(11, 35, 64, .4) !important;
}

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select {
    border: 1px solid var(--ref-border) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--ref-ink) !important;
    box-shadow: none !important;
}

html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus {
    border-color: var(--ref-blue) !important;
    outline: 3px solid rgba(39, 168, 216, .14) !important;
}

html[data-theme="light"] .footer {
    background: var(--ref-ink) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span) {
    color: rgba(255, 255, 255, .76) !important;
}

html[data-theme="light"] .footer h4 {
    color: #ffffff !important;
    font-family: var(--font-display) !important;
}

html[data-theme="light"] .footer a:hover {
    color: #7bd8f0 !important;
}

html[data-theme="light"] .footer-subscribe-form input {
    border-color: rgba(255, 255, 255, .16) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .footer-subscribe-form button {
    border: 1px solid var(--ref-blue-bright) !important;
    border-radius: 4px !important;
    background: var(--ref-blue-bright) !important;
    color: #ffffff !important;
}

/* Final light page background: remove the previous warm canvas everywhere. */
html[data-theme="light"] {
    --psi-page-bg: #f6f8fb !important;
    --ref-bg: #f6f8fb !important;
}

html[data-theme="light"],
html[data-theme="light"] body,
html[data-theme="light"] main,
html[data-theme="light"] .site-main,
html[data-theme="light"] body.home-page,
html[data-theme="light"] body.about-page,
html[data-theme="light"] body.search-page {
    background: #f6f8fb !important;
    background-color: #f6f8fb !important;
}

html[data-theme="light"] main > section:not(.hero):not(.page-hero):not(.about-page-hero):not(.image-page-hero):not(.impact-hero):not(.news-detail-hero),
html[data-theme="light"] main .section:not(.hero):not(.page-hero):not(.about-page-hero):not(.image-page-hero):not(.impact-hero):not(.news-detail-hero),
html[data-theme="light"] main .band,
html[data-theme="light"] main .pale-band,
html[data-theme="light"] main .service-band,
html[data-theme="light"] main .blog-shell,
html[data-theme="light"] main .collab-detail,
html[data-theme="light"] main .collab-section,
html[data-theme="light"] main .collab-band,
html[data-theme="light"] main .collab-feature-band,
html[data-theme="light"] main .collab-feature-band-examples,
html[data-theme="light"] main .collab-platform-band,
html[data-theme="light"] main .collab-partner-group,
html[data-theme="light"] body.home-page main .section,
html[data-theme="light"] body.about-page main .section,
html[data-theme="light"] body.about-page main .about-composite-section,
html[data-theme="light"] body.about-page main .about-section-mandate-detail,
html[data-theme="light"] body.about-page main .about-section-thematic,
html[data-theme="light"] body.about-page main .about-section-organogram,
html[data-theme="light"] body.about-page main .about-section-researchers,
html[data-theme="light"] body main section.section:is(
    #ongoing-research,
    #completed-research,
    #research-reports,
    #policy-briefs,
    #working-papers,
    #research-data,
    #news,
    #events,
    #vacancies,
    #bids,
    #newsletters,
    #blogs-insights,
    #media-gallery,
    #collaborations,
    #collaboration-opportunities,
    #who-we-work-with,
    #featured-partnerships,
    #collaboration-platform,
    #inquiry-form
) {
    background: #f6f8fb !important;
    background-color: #f6f8fb !important;
    background-image: none !important;
}

html[data-theme="light"] .page-hero:not(.image-page-hero),
html[data-theme="light"] .about-page-hero:not(.image-page-hero) {
    background-color: #f6f8fb !important;
}

html[data-theme="light"] :is(
    .section-anchor-nav,
    .impact-page-nav,
    .about-section-nav,
    .page-tabs,
    .tab-strip,
    .filter-tabs,
    .blog-tabs,
    .gallery-tabs,
    .publication-tabs,
    .research-tabs,
    .collab-tabs
) {
    background: #f6f8fb !important;
    background-color: #f6f8fb !important;
    background-image: none !important;
}

html[data-theme="light"] :is(
    .section-anchor-nav,
    .impact-page-nav,
    .about-section-nav,
    .page-tabs,
    .tab-strip,
    .filter-tabs,
    .blog-tabs,
    .gallery-tabs,
    .publication-tabs,
    .research-tabs,
    .collab-tabs
)::before,
html[data-theme="light"] :is(
    .section-anchor-nav,
    .impact-page-nav,
    .about-section-nav,
    .page-tabs,
    .tab-strip,
    .filter-tabs,
    .blog-tabs,
    .gallery-tabs,
    .publication-tabs,
    .research-tabs,
    .collab-tabs
)::after {
    background: transparent !important;
    background-image: none !important;
}

/* Final brand color tokens and header/footer surfaces. */
html[data-theme="light"] {
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --foreground: oklch(0.22 0.05 260);
}

html[data-theme="light"] body {
    color: var(--foreground) !important;
}

html[data-theme="light"] :is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .section-head h2,
    .section-title,
    .page-title,
    .card h3
) {
    color: var(--foreground) !important;
}

html[data-theme="light"] :is(
    p,
    li,
    .muted,
    .section-head p,
    .card p,
    .card-list
) {
    color: color-mix(in oklch, var(--foreground) 76%, white) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header {
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 16%, transparent) !important;
    box-shadow: 0 18px 45px -38px rgba(0, 0, 0, .55) !important;
}

html[data-theme="light"] .site-header::before,
html[data-theme="light"] .site-header::after,
html[data-theme="light"] .site-header .header-row::before,
html[data-theme="light"] .site-header .header-row::after,
html[data-theme="light"] .site-header .nav::before,
html[data-theme="light"] .site-header .nav::after {
    background: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}

html[data-theme="light"] .site-header :is(
    .brand,
    .brand strong,
    .brand .brand-tagline,
    .nav-item > a,
    .nav-item > button,
    .mobile-toggle,
    .language-mode a,
    .header-search-icon
) {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: color-mix(in oklch, var(--ink-foreground) 78%, transparent) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .nav-chevron {
    stroke: currentColor !important;
}

html[data-theme="light"] .site-header .dropdown {
    background: oklch(0.985 0.004 250) !important;
    border-color: color-mix(in oklch, var(--ink) 14%, transparent) !important;
    box-shadow: 0 24px 60px -38px rgba(0, 0, 0, .45) !important;
}

html[data-theme="light"] .site-header .dropdown a {
    color: var(--foreground) !important;
}

html[data-theme="light"] .site-header .dropdown a:hover {
    background: color-mix(in oklch, #27A8D8 12%, white) !important;
    color: #147FA8 !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 24%, transparent) !important;
    color: var(--ink-foreground) !important;
    box-shadow: none !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible,
html[data-theme="light"] .site-header .topbar-social-links a:hover {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

/* Final winning client color tokens: deep navy header/footer, off-white chrome text. */
html[data-theme="light"] {
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --foreground: oklch(0.22 0.05 260);
    --psi-header-height: 84px !important;
    color: var(--foreground) !important;
}

html[data-theme="light"] body {
    color: var(--foreground) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    position: sticky !important;
    top: 0 !important;
    min-height: var(--psi-header-height) !important;
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    box-shadow: 0 16px 42px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

html[data-theme="light"] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    width: min(100% - 32px, 1280px) !important;
    padding-block: 8px !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    gap: clamp(16px, 2vw, 32px) !important;
}

html[data-theme="light"] .site-header .brand {
    gap: 12px !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html[data-theme="light"] .site-header .brand > span {
    gap: 3px !important;
}

html[data-theme="light"] .site-header .brand strong {
    width: 210px !important;
    max-width: none !important;
    color: var(--ink-foreground) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: color-mix(in oklch, var(--ink-foreground) 78%, transparent) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .nav {
    justify-content: flex-end !important;
    gap: 2px !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    min-height: 40px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--ink-foreground) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand *,
html[data-theme="light"] .site-header .nav a,
html[data-theme="light"] .site-header .nav button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: var(--ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 24%, transparent) !important;
    color: var(--ink-foreground) !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .language-mode {
    height: auto !important;
    padding: 3px !important;
    gap: 0 !important;
}

html[data-theme="light"] .site-header .language-mode a {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .nav-chevron {
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] .footer {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span, strong) {
    color: color-mix(in oklch, var(--ink-foreground) 82%, transparent) !important;
}

html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer .footer-subscription h4 {
    color: var(--ink-foreground) !important;
}

@media (max-width: 1100px) {
    html[data-theme="light"] .site-header .header-row {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--ink) !important;
        border-top: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    }
}

/* Authoritative header contract: one stable sticky header, independent of the
   older experimental theme blocks above. */
:root {
    --psi-ink: #091a33;
    --psi-ink-foreground: #f6f8fb;
    --psi-foreground: #202936;
}

html[data-theme="light"] body,
html[data-theme="light"] main {
    color: var(--psi-foreground) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 84px !important;
    z-index: 1200 !important;
    display: block !important;
    background: var(--psi-ink) !important;
    background-color: var(--psi-ink) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(246, 248, 251, .14) !important;
    box-shadow: 0 8px 22px rgba(9, 26, 51, .18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}

html[data-theme="light"] .site-header::before,
html[data-theme="light"] .site-header::after,
html[data-theme="light"] .site-header .header-row::before,
html[data-theme="light"] .site-header .header-row::after {
    display: none !important;
    content: none !important;
}

html[data-theme="light"] .site-header .header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: min(100% - 32px, 1280px) !important;
    min-height: 84px !important;
    margin-inline: auto !important;
    padding: 8px 0 !important;
    gap: 20px !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand strong,
html[data-theme="light"] .site-header .brand .brand-tagline,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: var(--psi-ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand strong {
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: rgba(246, 248, 251, .78) !important;
}

html[data-theme="light"] .site-header .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    background: transparent !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: rgba(246, 248, 251, .14) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a,
html[data-theme="light"] .site-header .mobile-toggle {
    background: rgba(246, 248, 251, .12) !important;
    border: 1px solid rgba(246, 248, 251, .28) !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible,
html[data-theme="light"] .site-header .topbar-social-links a:hover {
    background: #27a8d8 !important;
    border-color: #27a8d8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header svg,
html[data-theme="light"] .site-header svg path {
    stroke: currentColor !important;
    color: currentColor !important;
}

html[data-theme="light"] .footer {
    background: var(--psi-ink) !important;
    background-color: var(--psi-ink) !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h1, h2, h3, h4, p, a, li, span, strong) {
    color: var(--psi-ink-foreground) !important;
}

/* Sticky headers occupy normal document flow, so do not reserve fixed-header
   padding above the first hero. */
html[data-theme="light"] main > :is(.hero, .page-hero, .about-page-hero, .image-page-hero, .impact-hero, .news-detail-hero, .collab-hero):first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 760px) {
    html[data-theme="light"] .site-header .header-row {
        min-height: 72px !important;
        width: min(100% - 20px, 1280px) !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--psi-ink) !important;
        border-top: 1px solid rgba(246, 248, 251, .14) !important;
    }
}

/* Final authoritative header contract. Keep this block last so the header
   cannot be changed by earlier experimental theme rules. */
:root {
    --psi-ink: #091a33;
    --psi-ink-foreground: #f6f8fb;
    --psi-foreground: #202936;
}

html[data-theme="light"] body,
html[data-theme="light"] main {
    color: var(--psi-foreground) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 84px !important;
    z-index: 1200 !important;
    display: block !important;
    background: var(--psi-ink) !important;
    background-color: var(--psi-ink) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(246, 248, 251, .14) !important;
    box-shadow: 0 8px 22px rgba(9, 26, 51, .18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}

html[data-theme="light"] .site-header::before,
html[data-theme="light"] .site-header::after,
html[data-theme="light"] .site-header .header-row::before,
html[data-theme="light"] .site-header .header-row::after {
    display: none !important;
    content: none !important;
}

html[data-theme="light"] .site-header .header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: min(100% - 32px, 1280px) !important;
    min-height: 84px !important;
    margin-inline: auto !important;
    padding: 8px 0 !important;
    gap: 20px !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand strong,
html[data-theme="light"] .site-header .brand .brand-tagline,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: var(--psi-ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand strong {
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: rgba(246, 248, 251, .78) !important;
}

html[data-theme="light"] .site-header .nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    background: transparent !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: rgba(246, 248, 251, .14) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a,
html[data-theme="light"] .site-header .mobile-toggle {
    background: rgba(246, 248, 251, .12) !important;
    border: 1px solid rgba(246, 248, 251, .28) !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible,
html[data-theme="light"] .site-header .topbar-social-links a:hover {
    background: #27a8d8 !important;
    border-color: #27a8d8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header svg,
html[data-theme="light"] .site-header svg path {
    stroke: currentColor !important;
    color: currentColor !important;
}

html[data-theme="light"] .footer {
    background: var(--psi-ink) !important;
    background-color: var(--psi-ink) !important;
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h1, h2, h3, h4, p, a, li, span, strong) {
    color: var(--psi-ink-foreground) !important;
}

html[data-theme="light"] main > :is(.hero, .page-hero, .about-page-hero, .image-page-hero, .impact-hero, .news-detail-hero, .collab-hero):first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 760px) {
    html[data-theme="light"] .site-header .header-row {
        min-height: 72px !important;
        width: min(100% - 20px, 1280px) !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--psi-ink) !important;
        border-top: 1px solid rgba(246, 248, 251, .14) !important;
    }
}

/* Hard fallback for browsers/caches that do not honor OKLCH variables reliably. */
html[data-theme="light"] {
    --ink-hex: #091a33;
    --ink-foreground-hex: #f6f8fb;
    --foreground-hex: #202936;
}

html[data-theme="light"] body {
    color: #202936 !important;
    color: var(--foreground, #202936) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: #091a33 !important;
    background-color: #091a33 !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand *,
html[data-theme="light"] .site-header .nav a,
html[data-theme="light"] .site-header .nav button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: #f6f8fb !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: rgba(246, 248, 251, .78) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: rgba(246, 248, 251, .12) !important;
    color: #f6f8fb !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: rgba(246, 248, 251, .12) !important;
    border-color: rgba(246, 248, 251, .24) !important;
    color: #f6f8fb !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .nav-chevron {
    color: currentColor !important;
    stroke: currentColor !important;
}

html[data-theme="light"] .footer {
    background: #091a33 !important;
    background-color: #091a33 !important;
    color: #f6f8fb !important;
}

/* Final token-based header/footer colors requested by client.
   This intentionally wins over older experimental header blocks above. */
html[data-theme="light"] {
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --foreground: oklch(0.22 0.05 260);
    --psi-header-height: 84px !important;
    color: var(--foreground) !important;
}

html[data-theme="light"] body {
    color: var(--foreground) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    position: sticky !important;
    top: 0 !important;
    min-height: var(--psi-header-height) !important;
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    box-shadow: 0 16px 42px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

html[data-theme="light"] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    width: min(100% - 32px, 1280px) !important;
    padding-block: 8px !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    gap: clamp(16px, 2vw, 32px) !important;
}

html[data-theme="light"] .site-header .brand {
    gap: 12px !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html[data-theme="light"] .site-header .brand > span {
    gap: 3px !important;
}

html[data-theme="light"] .site-header .brand strong {
    width: 210px !important;
    max-width: none !important;
    color: var(--ink-foreground) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: color-mix(in oklch, var(--ink-foreground) 78%, transparent) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .nav {
    justify-content: flex-end !important;
    gap: 2px !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    min-height: 40px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--ink-foreground) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand *,
html[data-theme="light"] .site-header .nav a,
html[data-theme="light"] .site-header .nav button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: var(--ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 24%, transparent) !important;
    color: var(--ink-foreground) !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .language-mode {
    height: auto !important;
    padding: 3px !important;
    gap: 0 !important;
}

html[data-theme="light"] .site-header .language-mode a {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .nav-chevron {
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] .footer {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span, strong) {
    color: color-mix(in oklch, var(--ink-foreground) 82%, transparent) !important;
}

html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer .footer-subscription h4 {
    color: var(--ink-foreground) !important;
}

@media (max-width: 1100px) {
    html[data-theme="light"] .site-header .header-row {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--ink) !important;
        border-top: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    }
}

/* Final requested color-token header/footer system. */
html[data-theme="light"] {
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --foreground: oklch(0.22 0.05 260);
    --psi-header-height: 84px !important;
    color: var(--foreground) !important;
}

html[data-theme="light"] body {
    color: var(--foreground) !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    min-height: var(--psi-header-height) !important;
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    box-shadow: 0 16px 42px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

html[data-theme="light"] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    width: min(100% - 32px, 1280px) !important;
    padding-block: 8px !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    gap: clamp(16px, 2vw, 32px) !important;
}

html[data-theme="light"] .site-header .brand {
    gap: 12px !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html[data-theme="light"] .site-header .brand > span {
    gap: 3px !important;
}

html[data-theme="light"] .site-header .brand strong {
    width: 210px !important;
    max-width: none !important;
    color: var(--ink-foreground) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: color-mix(in oklch, var(--ink-foreground) 78%, transparent) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .nav {
    justify-content: flex-end !important;
    gap: 2px !important;
    background: var(--ink) !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    min-height: 40px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--ink-foreground) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand *,
html[data-theme="light"] .site-header .nav a,
html[data-theme="light"] .site-header .nav button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: var(--ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 24%, transparent) !important;
    color: var(--ink-foreground) !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .language-mode {
    height: auto !important;
    padding: 3px !important;
    gap: 0 !important;
}

html[data-theme="light"] .site-header .language-mode a {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .nav-chevron {
    width: revert-layer;
    height: revert-layer;
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] .footer {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span, strong) {
    color: color-mix(in oklch, var(--ink-foreground) 82%, transparent) !important;
}

html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer .footer-subscription h4 {
    color: var(--ink-foreground) !important;
}

/* Reference-style compact institutional header. */
html[data-theme] {
    --psi-header-height: 56px !important;
    --psi-header-bg: #071B3A;
    --psi-header-panel: rgba(255, 255, 255, .12);
    --psi-header-text: #F7FAFC;
    --psi-header-muted: rgba(247, 250, 252, .68);
    --psi-header-accent: #F2C94C;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    min-height: var(--psi-header-height) !important;
    background: var(--psi-header-bg) !important;
    background-color: var(--psi-header-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-theme="light"] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    width: min(100% - 112px, 1320px) !important;
    padding-block: 0 !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    gap: 28px !important;
}

html[data-theme="light"] .site-header .brand {
    gap: 10px !important;
    color: var(--psi-header-text) !important;
}

html[data-theme="light"] .site-header .brand img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    background: var(--psi-header-accent) !important;
    border-radius: 0 !important;
    padding: 4px !important;
    filter: none !important;
}

html[data-theme="light"] .site-header .brand > span {
    gap: 1px !important;
}

html[data-theme="light"] .site-header .brand strong {
    width: auto !important;
    max-width: 220px !important;
    color: var(--psi-header-text) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: var(--psi-header-muted) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

html[data-theme="light"] .site-header .nav {
    justify-content: flex-end !important;
    gap: 14px !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    min-height: 28px !important;
    padding: 7px 10px !important;
    border-radius: 0 !important;
    color: var(--psi-header-text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: var(--psi-header-panel) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .nav-chevron {
    width: 12px !important;
    height: 12px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: .82 !important;
}

html[data-theme="light"] .site-header .dropdown {
    top: calc(100% + 6px) !important;
    background: #ffffff !important;
    border: 1px solid rgba(7, 27, 58, .10) !important;
    border-radius: 4px !important;
}

html[data-theme="light"] .site-header .dropdown a {
    color: #071B3A !important;
}

html[data-theme="light"] .site-header .header-action-cluster {
    gap: 10px !important;
}

html[data-theme="light"] .site-header .language-mode {
    height: 28px !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

html[data-theme="light"] .site-header .language-mode a {
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 6px !important;
    border-radius: 0 !important;
    color: var(--psi-header-text) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

html[data-theme="light"] .site-header .language-mode a.active {
    background: var(--psi-header-panel) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html[data-theme="light"] .site-header .header-search-icon {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--psi-header-text) !important;
}

html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: var(--psi-header-panel) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon svg {
    width: 16px !important;
    height: 16px !important;
}

@media (max-width: 1100px) {
    html[data-theme="light"] .site-header .header-row {
        width: min(100% - 32px, 1320px) !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    html[data-theme="light"] .site-header .brand strong {
        max-width: 190px !important;
        font-size: 12px !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--psi-header-bg) !important;
        border-top: 1px solid rgba(255, 255, 255, .12) !important;
    }
}

/* Header contrast correction: readable navy surface with clear off-white text. */
html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header .nav {
    background: #123A52 !important;
    background-color: #123A52 !important;
}

html[data-theme="light"] .site-header :is(
    .brand,
    .brand strong,
    .brand span,
    .brand .brand-tagline,
    .nav a,
    .nav button,
    .nav-item > a,
    .nav-item > button,
    .language-mode a,
    .header-search-icon,
    .mobile-toggle
) {
    color: #F7FAFC !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: rgba(247, 250, 252, .82) !important;
}

html[data-theme="light"] .site-header .nav a:hover,
html[data-theme="light"] .site-header .nav button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: rgba(255, 255, 255, .14) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .nav-chevron,
html[data-theme="light"] .site-header .header-search-icon svg {
    color: #F7FAFC !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .28) !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .topbar-social-links svg {
    stroke: currentColor !important;
    fill: none;
}

html[data-theme="light"] .footer {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span, strong) {
    color: color-mix(in oklch, var(--ink-foreground) 82%, transparent) !important;
}

html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer .footer-subscription h4 {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] :is(
    .hero,
    .page-hero,
    .about-page-hero,
    .image-page-hero,
    .impact-hero,
    .news-detail-hero,
    .collab-hero
) :is(h1, h2, h3, p, li, .eyebrow, .muted) {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] :is(
    .hero,
    .page-hero,
    .about-page-hero,
    .image-page-hero,
    .impact-hero,
    .news-detail-hero,
    .collab-hero
) .muted {
    color: color-mix(in oklch, var(--ink-foreground) 82%, transparent) !important;
}

/* Header behavior: transparent over hero, solid deep navy after scroll. */
html[data-theme="light"] .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1200 !important;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease !important;
}

html[data-theme="light"] .site-header:not(.is-scrolled):not(.is-menu-open),
html[data-theme="light"] .site-header.is-top:not(.is-menu-open),
html[data-theme="light"] .site-header:not(.is-scrolled):not(.is-menu-open) .header-row,
html[data-theme="light"] .site-header.is-top:not(.is-menu-open) .header-row,
html[data-theme="light"] .site-header:not(.is-scrolled):not(.is-menu-open) .nav,
html[data-theme="light"] .site-header.is-top:not(.is-menu-open) .nav {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

html[data-theme="light"] .site-header:not(.is-scrolled):not(.is-menu-open),
html[data-theme="light"] .site-header.is-top:not(.is-menu-open) {
    backdrop-filter: none !important;
}

html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    box-shadow: 0 18px 45px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(16px) !important;
}

html[data-theme="light"] .site-header :is(
    .brand,
    .brand strong,
    .brand .brand-tagline,
    .nav-item > a,
    .nav-item > button,
    .mobile-toggle,
    .language-mode a,
    .header-search-icon
) {
    color: var(--ink-foreground) !important;
    text-shadow: 0 1px 14px rgba(0, 0, 0, .22) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 18%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 28%, transparent) !important;
    color: var(--ink-foreground) !important;
    backdrop-filter: blur(12px) !important;
}

html[data-theme="light"] .site-header.is-scrolled .language-mode,
html[data-theme="light"] .site-header.is-menu-open .language-mode,
html[data-theme="light"] .site-header.is-scrolled .header-search-icon,
html[data-theme="light"] .site-header.is-menu-open .header-search-icon,
html[data-theme="light"] .site-header.is-scrolled .topbar-social-links a,
html[data-theme="light"] .site-header.is-menu-open .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 22%, transparent) !important;
}

html[data-theme="light"] main > :is(.hero, .page-hero, .about-page-hero, .image-page-hero, .impact-hero, .news-detail-hero, .collab-hero):first-child {
    margin-top: 0 !important;
    padding-top: var(--psi-header-height) !important;
}

/* Use the inner-page 1920x600 banner standard for the Home landing hero too. */
html[data-theme] body.home-page .hero {
    min-height: clamp(500px, 58vh, 600px) !important;
}

html[data-theme] body.home-page .hero-content {
    padding-block: clamp(46px, 7vh, 72px) !important;
}

@media (max-width: 720px) {
    html[data-theme] body.home-page .hero {
        min-height: 560px !important;
    }
}

/* Final header decision: no transparent hero overlay, match footer colors. */
html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    border-bottom: 1px solid color-mix(in oklch, var(--ink-foreground) 14%, transparent) !important;
    box-shadow: 0 18px 45px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

html[data-theme="light"] .site-header :is(
    .brand,
    .brand strong,
    .brand .brand-tagline,
    .nav-item > a,
    .nav-item > button,
    .mobile-toggle,
    .language-mode a,
    .header-search-icon
) {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: color-mix(in oklch, var(--ink-foreground) 78%, transparent) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: color-mix(in oklch, var(--ink-foreground) 12%, transparent) !important;
    border-color: color-mix(in oklch, var(--ink-foreground) 24%, transparent) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible,
html[data-theme="light"] .site-header .topbar-social-links a:hover {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

/* Client final: use exact token colors for header, footer and foreground. */
html[data-theme="light"] {
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --foreground: oklch(0.22 0.05 260);
    --ink-hex: #091a33;
    --ink-foreground-hex: #f6f8fb;
    --foreground-hex: #202936;
    --psi-header-height: 84px !important;
    color: #202936 !important;
}

html[data-theme="light"] body {
    color: #202936 !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header .header-row,
html[data-theme="light"] .site-header.is-top .header-row,
html[data-theme="light"] .site-header.is-scrolled .header-row,
html[data-theme="light"] .site-header.is-menu-open .header-row,
html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header.is-top .nav,
html[data-theme="light"] .site-header.is-scrolled .nav,
html[data-theme="light"] .site-header.is-menu-open .nav {
    background: #091a33 !important;
    background-color: #091a33 !important;
    background-image: none !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open {
    position: sticky !important;
    top: 0 !important;
    min-height: var(--psi-header-height) !important;
    border-bottom: 1px solid rgba(246, 248, 251, .14) !important;
    box-shadow: 0 16px 42px -36px rgba(0, 0, 0, .62) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

html[data-theme="light"] .site-header .header-row {
    min-height: var(--psi-header-height) !important;
    width: min(100% - 32px, 1280px) !important;
    padding-block: 8px !important;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto !important;
    gap: clamp(16px, 2vw, 32px) !important;
}

html[data-theme="light"] .site-header .brand {
    gap: 12px !important;
    color: #f6f8fb !important;
}

html[data-theme="light"] .site-header .brand img {
    width: 54px !important;
    height: 62px !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html[data-theme="light"] .site-header .brand > span {
    gap: 3px !important;
}

html[data-theme="light"] .site-header .brand strong {
    width: 210px !important;
    max-width: none !important;
    color: #f6f8fb !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: rgba(246, 248, 251, .78) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html[data-theme="light"] .site-header .nav {
    justify-content: flex-end !important;
    gap: 2px !important;
}

html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button {
    min-height: 40px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #f6f8fb !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .brand *,
html[data-theme="light"] .site-header .nav a,
html[data-theme="light"] .site-header .nav button,
html[data-theme="light"] .site-header .language-mode a,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .mobile-toggle {
    color: #f6f8fb !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active {
    background: rgba(246, 248, 251, .12) !important;
    color: #f6f8fb !important;
}

html[data-theme="light"] .site-header .language-mode,
html[data-theme="light"] .site-header .header-search-icon,
html[data-theme="light"] .site-header .topbar-social-links a {
    background: rgba(246, 248, 251, .12) !important;
    border-color: rgba(246, 248, 251, .24) !important;
    color: #f6f8fb !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .language-mode {
    height: auto !important;
    padding: 3px !important;
    gap: 0 !important;
}

html[data-theme="light"] .site-header .language-mode a {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

html[data-theme="light"] .site-header .language-mode a.active,
html[data-theme="light"] .site-header .header-search-icon:hover,
html[data-theme="light"] .site-header .header-search-icon:focus-visible {
    background: #27A8D8 !important;
    border-color: #27A8D8 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header .header-search-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
}

html[data-theme="light"] .site-header .header-search-icon svg,
html[data-theme="light"] .site-header .nav-chevron {
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] .footer {
    background: #091a33 !important;
    background-color: #091a33 !important;
    color: #f6f8fb !important;
}

html[data-theme="light"] .footer :is(h4, p, a, li, span, strong) {
    color: rgba(246, 248, 251, .82) !important;
}

html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer .footer-subscription h4 {
    color: #f6f8fb !important;
}

/* Mobile navigation: keep the open menu readable over every page and hero. */
@media (max-width: 1100px) {
    html[data-theme] .site-header .nav.open {
        top: calc(100% + 6px) !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-height: calc(100vh - 86px) !important;
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
        overflow-y: auto !important;
        background: var(--ink) !important;
        border: 1px solid oklch(0.97 0.005 250 / 0.18) !important;
        border-radius: 0 0 16px 16px !important;
        box-shadow: 0 24px 54px oklch(0.21 0.06 262 / 0.42) !important;
    }

    html[data-theme] .site-header .nav.open .nav-item {
        width: 100% !important;
        min-width: 0 !important;
    }

    html[data-theme] .site-header .nav.open .nav-item > a,
    html[data-theme] .site-header .nav.open .nav-item > button {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 13px 14px !important;
        border-radius: 10px !important;
        color: var(--ink-foreground) !important;
        background: transparent !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        text-shadow: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-item > a:hover,
    html[data-theme] .site-header .nav.open .nav-item > a:focus-visible,
    html[data-theme] .site-header .nav.open .nav-item > button:hover,
    html[data-theme] .site-header .nav.open .nav-item > button:focus-visible,
    html[data-theme] .site-header .nav.open .nav-item.active > a,
    html[data-theme] .site-header .nav.open .nav-item.active > button {
        color: #ffffff !important;
        background: oklch(0.55 0.11 232 / 0.22) !important;
        outline: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-chevron {
        flex: 0 0 auto !important;
        color: var(--teal) !important;
        stroke: currentColor !important;
    }

    html[data-theme] .site-header .nav.open .dropdown {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 5px !important;
        padding: 6px !important;
        display: none !important;
        gap: 2px !important;
        background: var(--surface) !important;
        border: 1px solid oklch(0.9 0.012 250) !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-item:hover > .dropdown,
    html[data-theme] .site-header .nav.open .nav-item:focus-within > .dropdown {
        display: grid !important;
    }

    html[data-theme] .site-header .nav.open .dropdown a {
        display: flex !important;
        align-items: center !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 7px !important;
        color: var(--foreground) !important;
        background: transparent !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    html[data-theme] .site-header .nav.open .dropdown a:hover,
    html[data-theme] .site-header .nav.open .dropdown a:focus-visible {
        color: var(--primary) !important;
        background: oklch(0.55 0.11 232 / 0.14) !important;
        outline: none !important;
    }

    html[data-theme] .site-header .mobile-toggle {
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        border-radius: 14px !important;
        color: var(--ink-foreground) !important;
        background: oklch(0.97 0.005 250 / 0.12) !important;
        border: 1px solid oklch(0.97 0.005 250 / 0.30) !important;
        box-shadow: none !important;
    }

    html[data-theme] .site-header .mobile-toggle:hover,
    html[data-theme] .site-header .mobile-toggle:focus-visible {
        color: #ffffff !important;
        background: var(--accent) !important;
        border-color: var(--accent) !important;
        outline: none !important;
    }
}

/* Keep research-center detail heroes dark after every global page background rule. */
html[data-theme] body .research-center-detail-hero {
    background: var(--ink, #061936) !important;
    background-color: var(--ink, #061936) !important;
    color: var(--ink-foreground, #f7fafc) !important;
}

html[data-theme] body .research-center-detail-hero * {
    text-shadow: none !important;
}

html[data-theme] body .research-center-detail-hero .eyebrow {
    color: var(--gold, #d6a84a) !important;
}

html[data-theme] body .research-center-detail-hero h1,
html[data-theme] body .research-center-detail-hero dd {
    color: #ffffff !important;
}

html[data-theme] body .research-center-detail-hero p,
html[data-theme] body .research-center-detail-hero dt {
    color: oklch(0.97 0.005 250 / .86) !important;
}

/* Final cascade lock: Home hero stats match Our Impacts glass cards and stay in one desktop row. */
html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip {
    display: grid !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin-top: 26px !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat {
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 10px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(11, 35, 64, .58), rgba(20, 127, 168, .24)) !important;
    color: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset, 0 22px 48px -34px rgba(0, 0, 0, .72) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat strong {
    margin: 0 !important;
    color: #7bd8f0 !important;
    font-size: clamp(17px, 1.42vw, 21px) !important;
    line-height: 1.02 !important;
}

@media (max-width: 1180px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        max-width: 860px !important;
    }
}

@media (max-width: 900px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 560px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: 1fr !important;
    }
}

/* Absolute final Home hero stat override: compact one-row glass cards. */
html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
html[data-theme] .hero:not(.impact-hero) .stats-strip {
    display: grid !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin-top: 26px !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat,
html[data-theme] .hero:not(.impact-hero) .stats-strip .stat {
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 10px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(11, 35, 64, .58), rgba(20, 127, 168, .24)) !important;
    color: rgba(255, 255, 255, .9) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .16) inset,
        0 22px 48px -34px rgba(0, 0, 0, .72) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat strong,
html[data-theme] .hero:not(.impact-hero) .stats-strip .stat strong {
    margin: 0 !important;
    color: #7bd8f0 !important;
    font-size: clamp(17px, 1.42vw, 21px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

:root[data-theme="dark"] body.home-page .hero:not(.impact-hero) .stats-strip .stat,
:root[data-theme="dark"] .hero:not(.impact-hero) .stats-strip .stat {
    background: linear-gradient(145deg, rgba(6, 57, 112, .72), rgba(20, 127, 168, .34)) !important;
    border-color: rgba(108, 204, 235, .36) !important;
    color: #f8f1ea !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .12) inset,
        0 22px 50px -34px rgba(0, 0, 0, .78) !important;
}

:root[data-theme="dark"] body.home-page .hero:not(.impact-hero) .stats-strip .stat strong,
:root[data-theme="dark"] .hero:not(.impact-hero) .stats-strip .stat strong {
    color: #6ccceb !important;
}

@media (max-width: 1180px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        max-width: 860px !important;
    }
}

@media (max-width: 900px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 560px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: 1fr !important;
    }
}

/* Home hero stats: match the polished glass-card style used by Our Impacts. */
html[data-theme] .hero:not(.impact-hero) .stats-strip {
    width: 100% !important;
    max-width: 1280px !important;
    margin-top: 28px !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

html[data-theme] .hero:not(.impact-hero) .stats-strip .stat {
    min-height: 66px !important;
    height: auto !important;
    padding: 10px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 14px !important;
    background: rgba(11, 35, 64, .42) !important;
    color: rgba(255, 255, 255, .9) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .18) inset,
        0 22px 50px -34px rgba(0, 0, 0, .52) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

html[data-theme] .hero:not(.impact-hero) .stats-strip .stat strong {
    margin: 0 !important;
    color: #7bd8f0 !important;
    font-size: clamp(17px, 1.55vw, 22px) !important;
    line-height: 1.02 !important;
}

html[data-theme] .hero:not(.impact-hero) .stats-strip .stat {
    font-size: 9.5px !important;
    line-height: 1.16 !important;
}

:root[data-theme="dark"] .hero:not(.impact-hero) .stats-strip .stat {
    background: linear-gradient(145deg, rgba(6, 57, 112, .72), rgba(20, 127, 168, .34)) !important;
    border-color: rgba(108, 204, 235, .36) !important;
    color: #f8f1ea !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .12) inset,
        0 22px 50px -34px rgba(0, 0, 0, .78) !important;
}

:root[data-theme="dark"] .hero:not(.impact-hero) .stats-strip .stat strong {
    color: #6ccceb !important;
}

@media (max-width: 1180px) {
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        max-width: 860px !important;
    }
}

@media (max-width: 900px) {
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 560px) {
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: 1fr !important;
    }
}

/* Final Home hero stat override: compact one-row dark glass cards on desktop. */
html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
html[data-theme] .hero:not(.impact-hero) .stats-strip {
    display: grid !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin-top: 26px !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat,
html[data-theme] .hero:not(.impact-hero) .stats-strip .stat {
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 10px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(11, 35, 64, .58), rgba(20, 127, 168, .24)) !important;
    color: rgba(255, 255, 255, .9) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .16) inset,
        0 22px 48px -34px rgba(0, 0, 0, .72) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat strong,
html[data-theme] .hero:not(.impact-hero) .stats-strip .stat strong {
    margin: 0 !important;
    color: #7bd8f0 !important;
    font-size: clamp(17px, 1.42vw, 21px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip .stat,
html[data-theme] .hero:not(.impact-hero) .stats-strip .stat {
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

@media (max-width: 1180px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        max-width: 860px !important;
    }
}

@media (max-width: 900px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 560px) {
    html[data-theme] body.home-page .hero:not(.impact-hero) .stats-strip,
    html[data-theme] .hero:not(.impact-hero) .stats-strip {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1100px) {
    html[data-theme="light"] .site-header .header-row {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: #091a33 !important;
        border-top: 1px solid rgba(246, 248, 251, .14) !important;
    }
}

/* Reference styles.css translated into the existing PSI markup. */
:root {
    --background: oklch(0.985 0.004 250);
    --foreground: oklch(0.22 0.05 260);
    --card: oklch(1 0 0);
    --card-foreground: oklch(0.22 0.05 260);
    --primary: oklch(0.28 0.09 264);
    --primary-foreground: oklch(0.98 0.005 250);
    --border: oklch(0.9 0.012 250);
    --accent: oklch(0.55 0.11 232);
    --ink: oklch(0.21 0.06 262);
    --ink-foreground: oklch(0.97 0.005 250);
    --ink-muted: oklch(0.32 0.06 262);
    --surface: oklch(0.97 0.008 250);
    --gold: oklch(0.78 0.11 85);
    --teal: oklch(0.66 0.09 205);
    --shadow-panel: 0 24px 60px -32px oklch(0.21 0.06 262 / 0.35);
}

html[data-theme="light"] body {
    background: var(--background) !important;
    color: var(--foreground) !important;
    font-family: "Epilogue", ui-sans-serif, system-ui, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

html[data-theme="light"] :is(h1, h2, h3, h4) {
    font-family: "Urbanist", ui-sans-serif, system-ui, sans-serif !important;
    letter-spacing: -0.02em !important;
}

/* The header stays pinned while the document scrolls. */
html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header.is-top,
html[data-theme="light"] .site-header.is-scrolled,
html[data-theme="light"] .site-header.is-menu-open,
html[data-theme="light"] .site-header.is-top:not(.is-scrolled):not(.is-menu-open) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    min-height: 84px !important;
    width: 100% !important;
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid oklch(0.97 0.005 250 / 0.16) !important;
    box-shadow: 0 8px 24px oklch(0.21 0.06 262 / 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color .3s ease, box-shadow .3s ease !important;
}

html[data-theme="light"] .site-header .header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 84px !important;
    width: min(100% - 32px, 1280px) !important;
    margin-inline: auto !important;
    padding: 8px 0 !important;
    background: transparent !important;
}

html[data-theme="light"] .site-header :is(.brand, .brand strong, .brand .brand-tagline, .nav, .nav-item > a, .nav-item > button, .language-mode a, .header-search-icon, .mobile-toggle) {
    color: var(--ink-foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header .brand strong {
    font-family: "Urbanist", ui-sans-serif, system-ui, sans-serif !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header.is-top .brand strong,
html[data-theme="light"] .site-header.is-scrolled .brand strong,
html[data-theme="light"] .site-header.is-menu-open .brand strong,
html[data-theme="light"] .site-header.is-top .brand .brand-tagline,
html[data-theme="light"] .site-header.is-scrolled .brand .brand-tagline,
html[data-theme="light"] .site-header.is-menu-open .brand .brand-tagline {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .brand .brand-tagline {
    color: oklch(0.97 0.005 250 / 0.78) !important;
}

html[data-theme="light"] .site-header .nav,
html[data-theme="light"] .site-header .nav-item > a,
html[data-theme="light"] .site-header .nav-item > button,
html[data-theme="light"] .site-header.is-top .nav-item > a,
html[data-theme="light"] .site-header.is-top .nav-item > button,
html[data-theme="light"] .site-header.is-scrolled .nav-item > a,
html[data-theme="light"] .site-header.is-scrolled .nav-item > button,
html[data-theme="light"] .site-header.is-menu-open .nav-item > a,
html[data-theme="light"] .site-header.is-menu-open .nav-item > button {
    background: transparent !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header .nav-item > a:hover,
html[data-theme="light"] .site-header .nav-item > button:hover,
html[data-theme="light"] .site-header .nav .active,
html[data-theme="light"] .site-header.is-top .nav .active,
html[data-theme="light"] .site-header.is-scrolled .nav .active,
html[data-theme="light"] .site-header.is-menu-open .nav .active {
    background: oklch(0.97 0.005 250 / 0.14) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header :is(.language-mode, .header-search-icon, .topbar-social-links a, .mobile-toggle) {
    background: oklch(0.97 0.005 250 / 0.12) !important;
    border-color: oklch(0.97 0.005 250 / 0.28) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header.is-top .language-mode a,
html[data-theme="light"] .site-header.is-scrolled .language-mode a,
html[data-theme="light"] .site-header.is-menu-open .language-mode a,
html[data-theme="light"] .site-header.is-top .header-search-icon,
html[data-theme="light"] .site-header.is-scrolled .header-search-icon,
html[data-theme="light"] .site-header.is-menu-open .header-search-icon {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .site-header :is(.language-mode a.active, .header-search-icon:hover, .header-search-icon:focus-visible, .topbar-social-links a:hover) {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .site-header :is(svg, svg path) {
    color: currentColor !important;
    stroke: currentColor !important;
}

/* Dropdowns stay light even while the pinned header is over the hero. */
html[data-theme="light"] .site-header.is-top .dropdown,
html[data-theme="light"] .site-header.is-scrolled .dropdown,
html[data-theme="light"] .site-header.is-menu-open .dropdown {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: oklch(0.9 0.012 250) !important;
    box-shadow: 0 20px 45px oklch(0.21 0.06 262 / 0.22) !important;
}

html[data-theme="light"] .site-header.is-top .dropdown a,
html[data-theme="light"] .site-header.is-scrolled .dropdown a,
html[data-theme="light"] .site-header.is-menu-open .dropdown a {
    background: transparent !important;
    color: var(--foreground) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html[data-theme="light"] .site-header.is-top .dropdown a:hover,
html[data-theme="light"] .site-header.is-top .dropdown a:focus-visible,
html[data-theme="light"] .site-header.is-scrolled .dropdown a:hover,
html[data-theme="light"] .site-header.is-scrolled .dropdown a:focus-visible,
html[data-theme="light"] .site-header.is-menu-open .dropdown a:hover,
html[data-theme="light"] .site-header.is-menu-open .dropdown a:focus-visible {
    background: oklch(0.95 0.01 250) !important;
    color: var(--primary) !important;
}

html[data-theme="light"] .footer {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] .footer :is(h1, h2, h3, h4, p, a, li, span, strong) {
    color: var(--ink-foreground) !important;
}

html[data-theme="light"] main > :is(.hero, .page-hero, .about-page-hero, .image-page-hero, .impact-hero, .news-detail-hero, .collab-hero):first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html[data-theme="light"] .site-header + main {
    padding-top: 84px !important;
}

@media (max-width: 760px) {
    html[data-theme="light"] .site-header .header-row {
        min-height: 72px !important;
        width: min(100% - 20px, 1280px) !important;
    }

    html[data-theme="light"] .site-header + main {
        padding-top: 72px !important;
    }

    html[data-theme="light"] .site-header .nav.open {
        background: var(--ink) !important;
    }
}

/* Remove legacy beige page canvases from About and Collaboration. */
html[data-theme="light"] body.about-page,
html[data-theme="light"] body.about-page main,
html[data-theme="light"] body.about-page .site-main,
html[data-theme="light"] body.collaborate-page,
html[data-theme="light"] body.collaborate-page main,
html[data-theme="light"] body.collaborate-page .site-main {
    background: var(--background) !important;
    background-color: var(--background) !important;
    background-image: none !important;
}

html[data-theme="light"] body.about-page main > section:not(.hero):not(.about-page-hero),
html[data-theme="light"] body.collaborate-page main > section:not(.hero):not(.about-page-hero),
html[data-theme="light"] body.collaborate-page .collab-detail,
html[data-theme="light"] body.collaborate-page .collab-section,
html[data-theme="light"] body.collaborate-page .collab-band,
html[data-theme="light"] body.collaborate-page .collab-feature-band,
html[data-theme="light"] body.collaborate-page .collab-platform-band,
html[data-theme="light"] body.collaborate-page .collab-partner-group {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

html[data-theme="light"] body.about-page::before,
html[data-theme="light"] body.about-page::after,
html[data-theme="light"] body.collaborate-page::before,
html[data-theme="light"] body.collaborate-page::after,
html[data-theme="light"] body.collaborate-page .collab-section::before,
html[data-theme="light"] body.collaborate-page .collab-section::after {
    display: none !important;
    content: none !important;
}

/* Completed Research callout: navy panel with full light-mode contrast. */
html[data-theme="light"] body :is(.research-completed-note, .research-completed-note *) {
    text-shadow: none !important;
}

html[data-theme="light"] body .research-completed-note {
    background: var(--ink) !important;
    background-color: var(--ink) !important;
    color: var(--ink-foreground) !important;
    border: 1px solid oklch(0.97 0.005 250 / 0.16) !important;
}

html[data-theme="light"] body .research-completed-note h3,
html[data-theme="light"] body .research-completed-note li,
html[data-theme="light"] body .research-completed-note li span {
    color: var(--ink-foreground) !important;
    opacity: 1 !important;
}

html[data-theme="light"] body .research-completed-note li svg {
    color: var(--gold) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html[data-theme="light"] body .research-completed-note .btn {
    background: var(--accent) !important;
    border: 1px solid var(--accent) !important;
    color: #ffffff !important;
}

html[data-theme="light"] body .research-completed-note .btn:hover,
html[data-theme="light"] body .research-completed-note .btn:focus-visible {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

/* Final mobile menu contract. This must remain last in the cascade. */
@media (max-width: 1100px) {
    html[data-theme] .site-header .nav.open {
        top: calc(100% + 6px) !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-height: calc(100vh - 86px) !important;
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
        overflow-y: auto !important;
        background: var(--ink) !important;
        border: 1px solid oklch(0.97 0.005 250 / 0.18) !important;
        border-radius: 0 0 16px 16px !important;
        box-shadow: 0 24px 54px oklch(0.21 0.06 262 / 0.42) !important;
    }

    html[data-theme] .site-header .nav.open .nav-item {
        width: 100% !important;
        min-width: 0 !important;
    }

    html[data-theme] .site-header .nav.open .nav-item > a,
    html[data-theme] .site-header .nav.open .nav-item > button {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 13px 14px !important;
        border-radius: 10px !important;
        color: var(--ink-foreground) !important;
        background: transparent !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        text-shadow: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-item > a:hover,
    html[data-theme] .site-header .nav.open .nav-item > a:focus-visible,
    html[data-theme] .site-header .nav.open .nav-item > button:hover,
    html[data-theme] .site-header .nav.open .nav-item > button:focus-visible,
    html[data-theme] .site-header .nav.open .nav-item.active > a,
    html[data-theme] .site-header .nav.open .nav-item.active > button {
        color: #ffffff !important;
        background: oklch(0.55 0.11 232 / 0.22) !important;
        outline: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-chevron {
        flex: 0 0 auto !important;
        color: var(--teal) !important;
        stroke: currentColor !important;
    }

    html[data-theme] .site-header .nav.open .dropdown {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 5px !important;
        padding: 6px !important;
        display: none !important;
        gap: 2px !important;
        background: var(--surface) !important;
        border: 1px solid oklch(0.9 0.012 250) !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    html[data-theme] .site-header .nav.open .nav-item:hover > .dropdown,
    html[data-theme] .site-header .nav.open .nav-item:focus-within > .dropdown {
        display: grid !important;
    }

    html[data-theme] .site-header .nav.open .dropdown a {
        display: flex !important;
        align-items: center !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 7px !important;
        color: var(--foreground) !important;
        background: transparent !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    html[data-theme] .site-header .nav.open .dropdown a:hover,
    html[data-theme] .site-header .nav.open .dropdown a:focus-visible {
        color: var(--primary) !important;
        background: oklch(0.55 0.11 232 / 0.14) !important;
        outline: none !important;
    }

    html[data-theme] .site-header .mobile-toggle {
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        border-radius: 14px !important;
        color: var(--ink-foreground) !important;
        background: oklch(0.97 0.005 250 / 0.12) !important;
        border: 1px solid oklch(0.97 0.005 250 / 0.30) !important;
        box-shadow: none !important;
    }

    html[data-theme] .site-header .mobile-toggle:hover,
    html[data-theme] .site-header .mobile-toggle:focus-visible {
        color: #ffffff !important;
        background: var(--accent) !important;
        border-color: var(--accent) !important;
        outline: none !important;
    }
}
