@charset "utf-8";

/*=========================================================
    FILE: custom.css
    PROJECT: NSSF Integrated Report 2026
    PURPOSE: Approved future overrides and additions only

    GOLDEN RULE
    Before adding a selector, confirm that the requirement
    cannot be met by an existing component rule, Bootstrap
    utility, CSS variable or semantic selector.

    The consolidated existing framework is in site.css.
    The pre-consolidation source is retained in:
    assets/css/backup-2026-09-04-before-consolidation/
=========================================================*/

/* Outlook: capital tables using the existing report card components. */
.page-outlook .nssf-split-pill__title,
.page-outlook .nssf-split-pill__panel h4 {
    color: var(--split-pill-colour);
}

.page-outlook .outlook-trend-arrow {
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--nssf-blue);
    color: #fff;
}

.page-outlook .outlook-trend-arrow[aria-label="reducing"] {
    background: var(--nssf-teal);
}

.page-outlook .outlook-trend-arrow[aria-label="stable"] {
    background: var(--nssf-purple);
}

.page-outlook .outlook-oversight-card {
    background: linear-gradient(135deg, var(--nssf-red), var(--nssf-orange));
}

.page-outlook .outlook-oversight-card::after {
    background: rgba(255, 255, 255, 0.1);
}

.page-outlook .outlook-capital-icon-card {
    min-height: 0;
}

.page-outlook .outlook-capital-icon-card img {
    width: 120px;
}

@media (min-width: 768px) {
    .page-outlook .outlook-objectives-connector {
        position: absolute;
        top: 50%;
        left: -20px;
        width: 40px;
        height: 2px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}

.page-outlook .outlook-capital-row {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

.page-outlook .outlook-panel-title {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 0;
    color: var(--process-colour, var(--nssf-blue));
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
}

.page-outlook .outlook-panel-title > :is(i, svg) {
    flex-shrink: 0;
    width: 28px;
    margin-top: 2px;
}

.page-outlook .outlook-priorities {
    padding-left: 20px;
}

.page-outlook .outlook-priorities li + li {
    margin-top: 16px;
}

/* Report dividers: full-strength colours for consistent visibility. */
.report-animated-divider {
    background: linear-gradient(90deg, rgb(24, 66, 143), rgb(0, 174, 199), rgb(101, 45, 145), rgb(92, 184, 68));
}

/* Our Theme: four-card belief layout and horizontal journey accent. */
#we-believe-in-you .assurance-journey {
    padding-top: 40px;
    padding-left: 0;
}

#we-believe-in-you .assurance-journey__line {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-green), var(--nssf-teal), var(--nssf-purple));
}

#we-believe-in-you .assurance-journey__line::after {
    display: none;
}

#we-believe-in-you .nssf-split-pill::before {
    top: auto;
    right: auto;
    bottom: 100%;
    left: 50%;
    width: 2px;
    height: 40px;
    background: var(--split-pill-colour);
    transform: translateX(-50%);
}

#we-believe-in-you .nssf-split-pill__panel > .report-section__text:first-child {
    font-size: 24px;
}

#we-believe-in-you .assurance-journey > .row > [class*="col-"]:first-child .card-body {
    padding: 60px;
}

@media (max-width: 767.98px) {
    #we-believe-in-you .assurance-journey > .row > [class*="col-"]:first-child .card-body {
        padding: 40px;
    }

    .page-chapter .report-section .report-section__next {
        display: flex;
        width: calc(100% - 80px);
        max-width: 280px;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 5px 8px;
        line-height: 1.35;
        text-align: left;
    }

    .page-chapter .report-section .report-section__next > span {
        flex: 0 0 100%;
        line-height: 1.2;
    }

    .page-chapter .report-section .report-section__next > i,
    .page-chapter .report-section .report-section__next > svg {
        flex: 0 0 auto;
        margin-top: 1px;
    }
}

/* Homepage Our Business preview. */
.p-80 {
    padding: 80px !important;
}
.p-60 {
    padding: 60px !important;
}
.page-home .home-publication-content > section:not(.report-section--full-bleed) {
    padding-top: 60px;
    padding-bottom: 60px;
}

.page-home .home-publication-content > section:not(.report-section--full-bleed) .report-section__container {
    justify-content: flex-start;
}

#home-business {
    background: linear-gradient(135deg, #ffffff 0%, #f7fcfd 42%, #e7f8fa 100%);
}

#home-business * {
    box-shadow: none !important;
}

#home-business .business-highlight-card strong {
    color: var(--business-card-accent);
    font-size: 40px;
}

#home-business > .report-section__container > header.card {
    color: var(--nssf-blue);
    background: linear-gradient(110deg, rgba(255, 255, 255, 0.98) 0%, rgba(232, 249, 251, 0.96) 58%, rgba(0, 168, 188, 0.20) 100%);
    border-color: rgba(0, 168, 188, 0.32);
    border-radius: 24px;
}

#home-business > .report-section__container > div.card {
    color: var(--nssf-blue);
    background: linear-gradient(110deg, #ffffff 0%, rgba(232, 249, 251, 0.96) 48%, rgba(0, 168, 188, 0.22) 100%);
    border-color: rgba(0, 168, 188, 0.35);
    border-radius: 20px;
}

#home-business > .report-section__container > div.card i { color: var(--nssf-turquoise); }

#home-business .business-timeline__item {
    width: auto;
    min-width: 0;
    padding-top: 44px;
}

#home-business .business-timeline__item::before {
    display: none;
}

#home-business .business-timeline-marker {
    display: flex;
    width: 100%;
    height: 68px;
    align-items: flex-start;
    justify-content: center;
    padding-left: 0;
}

#home-business .business-timeline-marker__blob {
    width: 74px;
    height: 74px;
    min-width: 74px;
    flex: 0 0 74px;
    aspect-ratio: 1;
}

#home-business .business-timeline-marker::after {
    top: 60px;
    bottom: -18px;
    left: 50%;
}

#home-business .business-timeline-marker__blob i,
#home-business .business-timeline-marker__blob .svg-inline--fa {
    width: 24px;
    height: 24px;
    font-size: 24px;
}

#home-business .business-timeline-card {
    width: 100%;
    min-height: 130px;
}

#home-business .business-timeline-card__surface {
    display: flex;
    min-height: 130px;
    flex-direction: column;
    justify-content: center;
}

#home-business .business-timeline-card small {
    color: var(--business-card-colour);
    font-weight: 700;
}

#home-business .business-timeline-card strong {
    margin-top: 12px;
    color: var(--nssf-blue);
    font-size: 24px;
    line-height: 1.1;
}

#home-business .business-coming-soon__visual {
    min-height: 0;
}

#home-business .business-coming-soon__orbit {
    width: 310px;
    height: 310px;
}

#home-business .business-coming-soon__message {
    width: 240px;
    height: 240px;
    padding: 24px;
}

#home-business .business-coming-soon__message-icon {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    flex-basis: 48px;
    margin-bottom: 12px;
}

#home-business .business-coming-soon__message .report-section__title {
    margin-bottom: 10px;
    font-size: 18px;
  line-height: 1.35;
}

#home-business .business-coming-soon__message .report-section__text {
    
    line-height: 1.35;
}

#home-business .business-highlight-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--nssf-blue);
    background: linear-gradient(145deg, #ffffff, #f2f5f7);
    border-color: rgba(123, 135, 148, 0.34);
    border-radius: 18px;
}

#home-business .row a {
    transition: transform 220ms ease, box-shadow 220ms ease;
}

#home-business .row a:hover,
#home-business .row a:focus-visible {
    transform: translateY(-6px);
    box-shadow: 0 18px 34px rgba(0, 91, 146, 0.15);
}

/* Homepage Our Strategy preview, using the original report components. */
#home-strategy {
    background: linear-gradient(135deg, #ffffff 0%, #fbf8fd 44%, #f0e7f7 100%);
}

#home-strategy > .report-section__container > header.card {
    color: var(--nssf-blue);
    background: linear-gradient(110deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 241, 251, 0.96) 58%, rgba(101, 45, 145, 0.18) 100%);
    border-color: rgba(101, 45, 145, 0.32);
    border-radius: 24px;
}

#home-strategy > .report-section__container > div.card {
    color: var(--nssf-blue);
    background: linear-gradient(110deg, #ffffff 0%, rgba(247, 241, 251, 0.96) 48%, rgba(101, 45, 145, 0.18) 100%);
    border-color: rgba(101, 45, 145, 0.35);
    border-radius: 20px;
}

#home-strategy > .report-section__container > div.card i {
    color: var(--nssf-purple);
}

#home-strategy .purpose-scope__item {
    --purpose-colour: var(--nssf-purple);
    --purpose-rgb: 101, 45, 145;
}

#home-strategy .card-img-top {
    max-height: 160px;
    object-position: center top;
}

#home-strategy .nssf-split-pill__number {
    font-size: 48px;
    line-height: 1.05;
}

#home-strategy .nssf-split-pill__panel .report-section__eyebrow {
    font-size: 13px;
}

#home-strategy .nssf-split-pill__title {
    font-size: 24px;
    line-height: 1.2;
}

#home-strategy .nssf-split-pill__panel > span {
    font-size: 14px;
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    #home-business .business-stewardship .card-body {
        padding: 48px !important;
    }

#home-business .business-coming-soon__orbit {
        width: 260px;
        height: 260px;
    }

#home-business .business-coming-soon__message {
        width: 204px;
        height: 204px;
        padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #home-business .row a {
        transition: none;
    }
}

/* Homepage Report Overview: faint landscape field with a focused image blob. */
#home-overview .report-hero__image {
    object-position: center top;
    animation: reportHeroImageDrift 12s ease-in-out infinite alternate;
}

#home-overview .report-hero__media::before {
    display: none;
}

#home-overview .report-hero__media::after {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0, 27, 61, 0.42) 0%, rgba(0, 27, 61, 0.24) 38%, rgba(0, 27, 61, 0) 72%),
        linear-gradient(180deg, rgba(0, 27, 61, 0.86) 0%, rgba(0, 52, 98, 0.82) 34%, rgba(24, 66, 143, 0.78) 68%, rgba(0, 91, 146, 0.74) 86%, rgba(0, 191, 234, 0.68) 100%);
    -webkit-mask-image: linear-gradient(#000 0 0), url("../images/home-page.svg");
    mask-image: linear-gradient(#000 0 0), url("../images/home-page.svg");
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-position: center, 93% center;
    mask-position: center, 93% center;
    -webkit-mask-size: 100% 100%, 38% 90%;
    mask-size: 100% 100%, 38% 90%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

#home-overview .report-hero__content {
    width: 58%;
    justify-content: flex-start;
    padding-top: 60px;
    padding-bottom: 60px;
}

.page-home .home-publication-content > #home-overview {
    padding-top: 0;
    padding-bottom: 0;
}

/* Homepage calls to action use shared pub-button styles. */

#home-overview .report-hero__title {
    color: #ffffff;
    font-size: 70px;
    line-height: 0.9;
}

/* Homepage mode reuses the chapter toolbar colour system. */
.page-home .report-toolbar {
    position: relative;
    isolation: isolate;
    overflow: visible;
    color: #ffffff;
    background: linear-gradient(110deg, var(--toolbar-start) 0%, var(--toolbar-mid) 48%, var(--toolbar-end) 100%);
    background-size: 180% 180%;
    border-bottom: 0;
    box-shadow: 0 7px 24px rgba(0, 42, 80, 0.10);
    animation: nssfChapterToolbarFlow 16s ease-in-out infinite alternate;
}

.page-home .report-toolbar::after {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.75), var(--toolbar-end), rgba(255, 255, 255, 0.45), transparent);
    background-size: 220% 100%;
    content: "";
    pointer-events: none;
    animation: nssfLightSweep 8s linear infinite;
}

.page-home .report-toolbar > .container-fluid {
    position: relative;
    z-index: 2;
}

.page-home .report-toolbar__chapter-number,
.page-home .report-toolbar__chapter-name,
.page-home .report-toolbar__actions .btn,
.page-home .report-toolbar__position {
    color: #ffffff;
}

.page-home .report-toolbar__indicator {
    background: #ffffff;
}

.page-home .report-toolbar__actions,
.page-home .report-toolbar__position {
    border-left-color: rgba(255, 255, 255, 0.18);
}

.page-home .report-toolbar__actions i {
    color: #ffffff;
}

#home-overview .report-hero__intro {
    color: var(--nssf-green);
    font-size: 20px;
    font-weight: 700;
}

#home-overview .report-hero__content > .nssf-animated-divider {
    width: 84px;
    margin-right: 0;
    margin-left: 0;
}

#home-overview .card {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.38) !important;
    border-radius: 20px;
    backdrop-filter: blur(5px);
}

#home-overview .row .card {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(8px);
}

#home-overview .report-hero__content > a.card {
    background: rgba(24, 66, 143, 0.28) !important;
    border-color: var(--nssf-teal) !important;
    backdrop-filter: blur(8px);
}

#home-overview .row > :nth-child(1) {
    --card-accent: var(--nssf-blue-bright);
    --card-accent-rgb: 0, 191, 234;
}

#home-overview .row > :nth-child(2) {
    --card-accent: var(--nssf-green);
    --card-accent-rgb: 0, 166, 81;
}

#home-overview .row > :nth-child(3) {
    --card-accent: var(--nssf-teal);
    --card-accent-rgb: 0, 141, 181;
}

#home-overview .row > .col .card {
    border-color: var(--card-accent) !important;
}

#home-overview .landing-belief__word--you {
    color: var(--nssf-blue-bright);
}

#home-overview .landing-belief__word--us {
    color: var(--nssf-green);
}

#home-overview .landing-belief__word--uganda {
    color: var(--nssf-teal);
}

@media (prefers-reduced-motion: reduce) {
    #home-overview .report-hero__image {
        animation: none;
    }
}

@media (max-width: 1199.98px) {
    #home-overview .report-hero__content {
        width: 64%;
    }

    #home-overview .report-hero__title {
        font-size: 56px;
    }
}

@media (max-width: 767.98px) {
    #home-overview .report-hero__content {
        width: 100%;
    }

    #home-overview .report-hero__title {
        font-size: 42px;
    }

    #home-overview .report-hero__intro {
        font-size: 16px;
    }
}

/*=========================================================
    OUR PERFORMANCE VIDEO LANDING SPREAD
=========================================================*/

.page-our-performance
.report-hero--video-window
.report-hero__media::after {
    background:
        linear-gradient(
            180deg,
            rgba(66, 7, 18, 0.94) 0%,
            rgba(112, 10, 24, 0.92) 30%,
            rgba(171, 18, 28, 0.89) 62%,
            rgba(24, 66, 143, 0.86) 82%,
            rgba(0, 104, 172, 0.80) 100%
        );
}

.page-our-performance
.report-hero--video-window
.report-hero__media::before {
    background: rgba(171, 18, 28, 0.32);
}

.page-our-performance
.publication-sidebar
.chapter-sidebar__link.is-active
.chapter-sidebar__number {
    color: var(--nssf-red);
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.82);
    box-shadow:
        inset 0 0 0 1px rgba(171, 18, 28, 0.12),
        0 0 0 4px rgba(255, 255, 255, 0.18),
        0 0 16px rgba(255, 255, 255, 0.36);
}

/* Preserve the approved white active topic for Our Strategy. */

.page-our-strategy
.publication-sidebar
.chapter-sidebar__link.is-active
.chapter-sidebar__number {
    color: var(--nssf-purple);
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.82);
    box-shadow:
        inset 0 0 0 1px rgba(101, 45, 145, 0.12),
        0 0 0 4px rgba(255, 255, 255, 0.18),
        0 0 16px rgba(255, 255, 255, 0.36);
}

/* Remove only the vertical spine beneath the opening introduction icon. */

.page-our-performance
#introduction-to-our-performance
.strategy-story-row:first-child
.strategy-story-row__visual::after {
    display: none;
}

/* Keep the performance divider visible with the chapter palette. */

.page-our-performance
#introduction-to-our-performance
.strategy-story-list
> .row
> .col-12
> .nssf-gradient-line {
    background:
        linear-gradient(
            90deg,
            var(--nssf-red),
            var(--nssf-blue)
        );
}

/* Complete the established journey spine for this five-card sequence. */

.page-our-performance
#performance-milestones
.assurance-journey--stopped
> .row
> [class*="col-"]:nth-child(3)::after {
    background:
        linear-gradient(
            180deg,
            var(--nssf-purple),
            var(--nssf-grey)
        );
}

.page-our-performance
#performance-milestones
.assurance-journey--stopped
> .row
> [class*="col-"]:nth-child(4)::after {
    background:
        linear-gradient(
            180deg,
            var(--nssf-grey),
            var(--nssf-green)
        );
}

.page-our-performance
#performance-milestones
.assurance-journey--stopped
> .row
> [class*="col-"]:last-child::after {
    background: var(--nssf-green);
}

/*=========================================================
    OUR PERFORMANCE ESG LANDSCAPE BLOB
=========================================================*/

.page-our-performance
#reporting-excellence-and-external-recognition
.performance-esg-visuals::before,
#responsible-stewardship .performance-esg-visuals::before {
    width: 100%;
    height: auto;
    aspect-ratio: 752.12 / 600;
    -webkit-mask: url("../images/another-blob.svg") center / contain no-repeat;
    mask: url("../images/another-blob.svg") center / contain no-repeat;
}

.page-our-performance
#reporting-excellence-and-external-recognition
.performance-esg-image-frame,
#responsible-stewardship .performance-esg-image-frame {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 752.12 / 600;
    -webkit-mask: url("../images/another-blob.svg") center / contain no-repeat;
    mask: url("../images/another-blob.svg") center / contain no-repeat;
}

.page-our-performance
#reporting-excellence-and-external-recognition
.performance-esg-image-frame img,
#responsible-stewardship .performance-esg-image-frame img {
    object-position: left top;
}
.para-lead {
    font-size: 16px;
    font-weight: 700;
}

.min-height-0 {
    min-height: 0 !important;
}

/* Approved number highlights: Our Business and Products only. */
#nssf-at-a-glance strong.business-number-box,
#responsible-stewardship strong.business-number-box,
#looking-forward strong.business-number-box {
    display: inline-block;
    align-self: flex-start;
    max-width: 100%;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--business-card-accent, var(--nssf-blue));
    color: #fff;
}

#products-and-services strong.business-product-number-box {
    align-self: center;
    min-height: 124px;
    align-content: center;
    text-align: center;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--business-card-accent, var(--nssf-blue));
    color: #fff;
}

#products-and-services strong.business-product-number-box > span {
    font: inherit;
    color: inherit;
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
    #products-and-services strong.business-product-number-box {
        min-height: 84px;
    }
}

@media (max-width: 767.98px) {
    #products-and-services strong.business-product-number-box {
        min-height: 76px;
    }
}

/* Operating Context: preserve the existing highlight typography and alignment. */
.page-operating-context .operating-number-box,
#operating-context-progress .business-highlight-card strong > .operating-number-box {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--business-card-accent, var(--nssf-blue));
    color: #fff;
    font: inherit;
    white-space: nowrap;
}

/* Delivering Vision 2035: retain the existing blue metric typography. */
#expanding-social-security .vision-number-box,
#growing-members-savings .vision-number-box,
#delivering-exceptional-value .vision-number-box,
#people-thrive .vision-number-box {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--nssf-blue);
    color: #fff;
    font: inherit;
    white-space: nowrap;
}

#growing-members-savings .vision-number-box {
    white-space: normal;
}

#growing-members-savings .vision-number-box > span {
    font: inherit;
    color: inherit;
}

/* Vision 2035 metric cards: alternate existing turquoise and purple accents. */
:is(#growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__details > div {
    --metric-accent: var(--nssf-teal);
}

:is(#growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__details > div:nth-child(even) {
    --metric-accent: var(--nssf-purple);
}

:is(#growing-members-savings, #delivering-exceptional-value, #people-thrive) .vision-number-box {
    background: var(--metric-accent);
}

:is(#growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__detail h3 {
    font-size: 18px;
    color: var(--metric-accent) !important;
}

/* Stakeholder Engagement: use each glass card's own accent. */
.page-stakeholder-engagement .stakeholder-highlight-card {
    min-height: 320px;
}

.page-stakeholder-engagement .stakeholder-number-box {
    padding: 8px 16px;
    border-radius: 8px;
    background: rgb(var(--card-accent-rgb));
    color: #fff;
    white-space: nowrap;
}

.page-cfo-highlights .cfo-callout-card > .card-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
:is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

.page-cfo-highlights .process-card {
    border-radius: 24px;
}

@media (min-width: 768px) {
    :is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight .assurance-capitals__line {
        position: absolute;
        display: block;
        top: 50%;
        left: -20px;
        width: 40px;
        height: 2px;
        overflow: hidden;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}

:is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight__amount {
    font-size: 48px;
    white-space: nowrap;
}

:is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight__amount span {
    font-size: 28px;
}

.page-cfo-highlights .revenue-number-block {
    background: var(--nssf-red);
}

@media (max-width: 767.98px) {
    :is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight__amount {
        font-size: 36px;
    }
}

#advancing-sustainability-and-esg .esg-performance-summary {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

#advancing-sustainability-and-esg .esg-performance-donut {
    position: relative;
    width: 140px;
    max-width: 100%;
    aspect-ratio: 1;
}

#advancing-sustainability-and-esg .esg-performance-donut svg {
    display: block;
    width: 100%;
    transform: rotate(-90deg);
    fill: none;
    stroke-width: 10;
}

#advancing-sustainability-and-esg .esg-performance-donut__track {
    stroke: var(--nssf-blue);
    stroke-opacity: 0.2;
}

#advancing-sustainability-and-esg .esg-performance-donut__progress {
    stroke: var(--nssf-red);
    stroke-dasharray: 26 100;
    animation: esg-performance-growth 2s ease-out both;
}

#advancing-sustainability-and-esg .esg-performance-donut strong {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nssf-blue);
    font-size: 32px;
}

#advancing-sustainability-and-esg .esg-performance-amount {
    line-height: 1.15;
    font-size: 24px;
    white-space: nowrap;
}

#advancing-sustainability-and-esg .esg-performance-amount strong {
    display: inline;
    font-size: 48px;
    white-space: nowrap;
}

#advancing-sustainability-and-esg .esg-performance-amount strong span {
    font-size: 24px;
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
    #advancing-sustainability-and-esg .esg-performance-amount { font-size: 18px; }
    #advancing-sustainability-and-esg .esg-performance-amount strong { font-size: 32px; }
}

@keyframes esg-performance-growth {
    from { stroke-dasharray: 0 100; }
    to { stroke-dasharray: 26 100; }
}

@media (min-width: 768px) {
    #advancing-sustainability-and-esg .esg-performance-summary .assurance-capitals__line {
        position: absolute;
        display: block;
        top: 50%;
        left: -20px;
        width: 40px;
        height: 2px;
        overflow: hidden;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}

@media (prefers-reduced-motion: reduce) {
    #advancing-sustainability-and-esg .esg-performance-donut__progress {
        animation: none;
    }
}

#advancing-sustainability-and-esg #we-believe-in-you .nssf-split-pill__panel {
    justify-content: flex-start;
    padding: 28px;
}

#advancing-sustainability-and-esg #we-believe-in-you .nssf-split-pill__panel h3 {
    font-size: 24px;
    line-height: 1.3;
}

/* Our Performance: Finance introduction and pillar spacing. */
:is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-opening {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

@media (min-width: 992px) {
    :is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-image {
        position: absolute;
        top: 20px;
        bottom: 20px;
        left: 20px;
        right: 20px;
    }

    :is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-image img {
        position: absolute;
        inset: 0;
        height: 100%;
        object-fit: cover;
    }

    #advancing-sustainability-and-esg .future-finance-image {
        top: 0;
        bottom: 0;
    }

    :is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-opening .assurance-capitals__line {
        position: absolute;
        display: block;
        top: 50%;
        left: -20px;
        width: 40px;
        height: 2px;
        overflow: hidden;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}

:is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-intro {
    background: linear-gradient(135deg, #dce5f3, #edf1f8);
}

#future-of-finance-function .future-finance-pillars {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}
#future-of-finance-function .future-finance-pillar {
    min-height: 200px;
}

:is(#future-of-finance-function, #advancing-sustainability-and-esg) .nssf-split-pill > .card-body {
    display: flex;
    align-items: center;
}

:is(#future-of-finance-function, #advancing-sustainability-and-esg) .nssf-split-pill > .card-body > .row {
    width: 100%;
    flex: 1 1 auto;
}

:is(#future-of-finance-function, #advancing-sustainability-and-esg) .nssf-split-pill .nssf-split-pill__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.min-height-20{
  min-height:240px;
}

#advancing-sustainability-and-esg .nssf-split-pill {
    min-height: 160px;
}
.page-cfo-highlights .cfo-callout-card > .card-body {
    width: 100%;
}

@media (min-width: 992px) {
    .page-cfo-highlights .cfo-callout-card {
        min-height: 260px;
    }
}
.outlook-split-pill__title {
    margin-bottom: 0.65rem;
    font-size: 14px;
    font-weight: 700;
}

#responsible-stewardship strong.business-number-box,
#looking-forward strong.business-number-box {
    background: var(--assurance-colour, var(--nssf-blue));
    white-space: nowrap;
}

.stewardship-donut {
    position: relative;
    width: 120px;
    max-width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #d6d6d6;
    overflow: hidden;
}

.stewardship-donut::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(currentColor 0% var(--donut-value), transparent var(--donut-value) 100%);
    animation: stewardship-donut-turn 16s linear infinite;
}

:is(#responsible-stewardship, #looking-forward) .stewardship-donut.text-turquoise { --donut-value: 90%; }
:is(#responsible-stewardship, #looking-forward) .stewardship-donut.text-purple { --donut-value: 100%; }
:is(#responsible-stewardship, #looking-forward) .stewardship-donut.text-blue { --donut-value: 91%; }
:is(#responsible-stewardship, #looking-forward) .stewardship-donut.text-green { --donut-value: 93.5%; }

@keyframes stewardship-donut-turn {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .stewardship-donut::before {
        animation: none;
    }
}

.stewardship-donut strong {
    position: absolute;
    inset: 12%;
    z-index: 2;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: inherit;
}

.stewardship-donut strong span {
    padding: 3px 6px;
    border-radius: 8px;
    background: var(--donut-box-colour);
    color: #fff;
    font: inherit;
    white-space: nowrap;
}

.stewardship-donut.text-turquoise { --donut-box-colour: var(--nssf-teal); }
.stewardship-donut.text-purple { --donut-box-colour: var(--nssf-purple); }
.stewardship-donut.text-blue { --donut-box-colour: var(--nssf-blue); }
.stewardship-donut.text-green { --donut-box-colour: var(--nssf-green); }

#responsible-stewardship .row[aria-labelledby="strategic-investments-heading"] {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}
.page-internal-audit .ia-cards {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
    margin-bottom: 40px;
}
.page-internal-audit .ia-number-box {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--process-colour);
    color: #fff;
    font-size: 36px;
    white-space: nowrap;
}
.page-internal-audit .process-card--green { --process-colour: var(--nssf-green); }
.page-internal-audit .process-card--orange { --process-colour: var(--nssf-orange); }
.page-internal-audit .process-card--grey { --process-colour: var(--nssf-grey); }
.page-internal-audit .assurance-capital__icon {
    color: var(--assurance-colour);
}
#audit-purposeful-advancement .audit-advancement-list {
    position: relative;
    padding-left: 80px;
}
#audit-purposeful-advancement .audit-advancement-list::before {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    width: 2px;
    background: linear-gradient(var(--nssf-blue), var(--nssf-teal), var(--nssf-purple));
}
#audit-purposeful-advancement .audit-advancement-list > .row {
    --bs-gutter-y: 40px;
    --bs-gutter-x: 0;
}
#audit-purposeful-advancement .nssf-split-pill::before { width: 80px; }
#audit-purposeful-advancement .audit-advancement-list::before { top: -40px; }
@media (max-width: 767.98px) {
    #audit-purposeful-advancement .audit-advancement-list { padding-left: 24px; }
    #audit-purposeful-advancement .nssf-split-pill::before { width: 24px; }
}
.page-our-governance .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__number {
    color: #b9470d;
    background: #fff;
    border-color: rgba(255, 255, 255, 0.82);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.18), 0 0 16px rgba(255, 255, 255, 0.3);
}
.page-our-governance .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__title {
    color: #fff;
}
#audit-capitals .row.g-4 {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}
#audit-capitals .assurance-capital {
    min-height: 340px;
}
#audit-capitals .assurance-capital > .card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}
#audit-capitals .assurance-capital__icon {
    color: var(--assurance-colour);
}
#audit-capitals .theme-pillar .report-section__text {
    
}
#governance-audit-strategy .audit-strategy-callout > .card-body {
    border: 1px solid transparent;
    background: linear-gradient(120deg, #f8fafc, #e3e9ef) padding-box,
        linear-gradient(90deg, #d4deec, var(--nssf-teal), var(--nssf-blue), #d4deec) border-box;
    background-size: 100% 100%, 300% 100%;
    animation: audit-callout-border 8s ease-in-out infinite alternate;
}
@keyframes audit-callout-border {
    to { background-position: 0 0, 100% 0; }
}
@media (prefers-reduced-motion: reduce) {
    #governance-audit-strategy .audit-strategy-callout > .card-body { animation: none; }
}
#governance-audit-strategy .theme-quote {
    border-left-color: var(--nssf-orange);
    background: linear-gradient(90deg, rgba(242, 101, 36, 0.1), rgba(255, 255, 255, 0));
    color: #03314d;
}
#governance-audit-strategy .theme-quote .report-section__text,
#governance-audit-strategy .theme-quote footer {
    color: #03314d;
}
#governance-audit-strategy .recognition-card.nssf-blob-card.business-timeline-card--prototype::before,
#audit-strategy-on-a-page .recognition-card.nssf-blob-card.business-timeline-card--prototype::before {
    top: 7px;
    bottom: 7px;
    height: auto;
    transform: none;
}
#audit-strategy-on-a-page .audit-map-connected {
    position: relative;
}
#audit-strategy-on-a-page .audit-map-connected::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 2px;
    height: 40px;
    background: var(--nssf-grey);
    transform: translateX(-50%);
}
#audit-strategy-on-a-page .audit-map-connected.mt-60::before {
    height: 60px;
}
#audit-strategy-on-a-page .audit-map-connected .nssf-glass-card::before,
#audit-strategy-on-a-page .audit-map-connected .nssf-glass-card::after {
    display: none;
}
#audit-strategy-on-a-page .audit-map-outcomes {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}
#audit-strategy-on-a-page .audit-map-outcomes .nssf-split-pill::before {
    display: none;
}
#audit-strategy-on-a-page .audit-impact-card {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background: linear-gradient(120deg, #19468f, #18558e 45%, #652d91);
}
#audit-strategy-on-a-page .audit-impact-card::before,
#audit-strategy-on-a-page .audit-impact-card::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    right: -40px;
    top: -130px;
}
#audit-strategy-on-a-page .audit-impact-card::after {
    left: -90px;
    top: auto;
    bottom: -160px;
    background: rgba(0,184,210,.25);
}
#audit-strategy-on-a-page .audit-impact-card .card-body { position: relative; z-index: 1; }
#audit-strategy-on-a-page .audit-impact-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 90px;
    height: 90px;
    border: 6px solid #34346b;
    border-radius: 50%;
    background: white;
    color: var(--nssf-purple);
    font-size: 34px;
    box-shadow: inset 0 0 8px #9ba6ba;
}
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-row { --bs-gutter-x:40px; }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .card { border-radius:20px; min-height:220px; }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-gradient { position:relative; overflow:hidden; border:0; background:linear-gradient(135deg,#b41122,#fa641b); }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-gradient::before { content:""; position:absolute; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.12); top:-130px; right:-30px; }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-gradient .card-body { position:relative; }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-icon-card,
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-outcome { border:1px solid #dce4f3; box-shadow:0 14px 30px rgba(24,66,143,.06); }
:is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-icon { display:block; width:108px; height:108px; max-width:100%; object-fit:contain; }
@media(min-width:992px) { :is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-icon-card { position:relative; } :is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-icon-card::after { content:""; position:absolute; top:50%; right:-41px; width:40px; height:1px; background:var(--nssf-teal); } }
#audit-strategy-progress .risk-register__legend-dot--pending { background:var(--nssf-grey); box-shadow:0 0 8px rgba(123,135,148,.3); }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table { width:100%; border-collapse:separate; border-spacing:0 10px; font-size:15px; color:var(--nssf-blue); }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table th,
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table td { padding:18px 24px; vertical-align:middle; }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table thead th { color:var(--nssf-teal); }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table tbody th,
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table tbody td { background:rgba(255,255,255,.85); border-top:1px solid #dce4f3; border-bottom:1px solid #dce4f3; }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table tbody th { width:30%; border-left:1px solid #dce4f3; border-radius:16px 0 0 16px; }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table tbody td:last-child { border-right:1px solid #dce4f3; border-radius:0 16px 16px 0; }
:is(#audit-strategy-progress, #audit-governance-alignment) .audit-progress-table td:nth-child(2) { min-width:170px; }
#governance-scorecard .report-section__heading,
#governance-scorecard .report-section__text,
#governance-scorecard .card-body { text-align:center; }
#governance-scorecard .report-section__text,
#governance-scorecard .text-blue { font-weight:700; }
#audit-scope .audit-scope-slider { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:16px 0 24px; }
#audit-scope .audit-scope-slide { flex:0 0 calc((100% - 96px)/5); scroll-snap-align:start; border:1px solid rgba(var(--card-accent-rgb),.25); border-radius:24px; background:linear-gradient(135deg,rgba(var(--card-accent-rgb),.08),rgba(255,255,255,.9)); }
#audit-scope .audit-scope-slide .card-body { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-height:230px; text-align:left; }
#audit-scope .audit-scope-slide .nssf-icon-blob { flex-shrink:0; }
#audit-scope .audit-scope-slide h2 { color:var(--card-accent); font-size:16px; margin-top:auto; width:100%; text-align:left; }
:is(#audit-scope, #chairman-embedding-sustainability, #md-looking-ahead-appreciation) .audit-scope-callout { border:1px solid transparent; border-radius:24px; background:linear-gradient(#f8fafc,#f8fafc) padding-box,linear-gradient(100deg,var(--nssf-teal),var(--nssf-purple)) border-box; }
#audit-scope .theme-quote { border-color:var(--nssf-orange); }
#chairman-embedding-sustainability .theme-quote { border-left-color: #6CBE45; }
@media(max-width:991px) { #audit-scope .audit-scope-slide { flex-basis:calc((100% - 24px)/2); } }
@media(max-width:575px) { #audit-scope .audit-scope-slide { flex-basis:100%; } }
#audit-scope .audit-scope-outer { border:1px solid #cbd1d7; border-radius:24px; background:#fff; margin-top:40px; }
#audit-scope .report-section__title .text-nssf-teal {
    -webkit-text-fill-color: var(--nssf-teal);
    color: var(--nssf-teal);
}

#audit-governance-alignment .audit-progress-table thead th {
    padding-top: 6px;
    padding-bottom: 10px;
}
:is(#audit-assurance-action, #audit-looking-ahead) .audit-action-rows { position:relative; padding-left:80px; }
:is(#audit-assurance-action, #audit-looking-ahead) .audit-action-rows::before { content:""; position:absolute; left:0; top:30px; bottom:30px; width:1px; background:var(--nssf-grey); }
@media(max-width:767px) { :is(#audit-assurance-action, #audit-looking-ahead) .audit-action-rows { padding-left:24px; } :is(#audit-assurance-action, #audit-looking-ahead) .nssf-split-pill::before { width:24px; } }
/* Mobile report spacing and the new Governance layouts. */
@media (max-width: 767.98px) {
    .page-chapter .publication-spread__content { min-width:0; padding:0; }
    .page-chapter .report-section { padding:30px 0; }
    .page-chapter .report-section__container { padding:0 30px !important; min-width:0; }
    .page-chapter .report-section__title { overflow-wrap:break-word; }
    .page-chapter :is(h1, h2).report-section__title { font-size:25px !important; }
    .page-chapter .report-section__text {  }
    .page-our-governance .nssf-split-pill .row > .nssf-split-pill__rail,
    .page-our-governance .nssf-split-pill .row > .nssf-split-pill__panel { width:100%; }
    .page-our-governance .nssf-split-pill__rail { justify-content:flex-start; gap:24px; padding:20px 24px 0; }
    .page-our-governance .nssf-split-pill__panel { padding:20px 24px; min-width:0; }
    .page-our-governance .nssf-split-pill__title { overflow-wrap:break-word; }
    .page-our-governance .nssf-info-card .card-title { flex-wrap:wrap; }
    .page-our-governance .table-responsive { min-width:0; max-width:100%; }
    .page-our-governance .audit-progress-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .page-our-governance .audit-progress-table,
    .page-our-governance .audit-progress-table tbody { display:block; }
    .page-our-governance .audit-progress-table tr { display:block; margin-bottom:16px; border:1px solid #dce4f3; border-radius:16px; overflow:hidden; background:white; }
    .page-our-governance .audit-progress-table tbody th,
    .page-our-governance .audit-progress-table tbody td { display:block; width:100% !important; min-width:0 !important; border:0 !important; border-radius:0 !important; padding:16px !important; }
    .page-our-governance .audit-progress-table td::before { content:attr(data-label); display:block; color:var(--nssf-teal); font-weight:700; margin-bottom:8px; }
    #audit-strategy-on-a-page .audit-impact-card .card-body { flex-wrap:wrap; }
    #audit-scope .audit-scope-outer > .card-body { padding:var(--nssf-card-padding) !important; }
    #audit-scope .audit-scope-callout .card-body { flex-wrap:wrap; }
    #audit-scope .audit-scope-callout .card-body > div { min-width:0; width:100%; }
    :is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .card { min-height:0; }
    :is(#audit-strategic-focus, #governance-leadership-stewardship, #governance-adapting-framework) .audit-focus-icon-card { min-height:150px; }
}
.page-chapter .report-section .report-section__next {
    color: var(--chapter-colour, var(--section-colour, var(--nssf-blue)));
}
.page-chapter .report-section .report-section__next:hover,
.page-chapter .report-section .report-section__next:focus-visible {
    color: color-mix(in srgb, var(--chapter-colour, var(--section-colour, var(--nssf-blue))) 80%, #03314d);
}
.page-chapter .report-section .report-section__next > span,
.page-chapter .report-section .report-section__next > i {
    color: inherit;
}
#member-lasting-value .member-smartlife-frame { padding:0; overflow:visible; border-radius:50%; }
#member-lasting-value .member-smartlife-image { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:cover; border-radius:50%; }
.assurance-journey > .assurance-journey__line { top:0; bottom:0; }
.assurance-journey--stopped > .row > [class*="col-"]:first-child::after { top:0; }
.assurance-journey--stopped > .row > [class*="col-"]:last-child::after { bottom:0; }
:is(#audit-assurance-action, #audit-looking-ahead) .audit-action-rows::before {
    top:var(--card-divider-top, 0px);
    bottom:var(--card-divider-bottom, 24px);
}
.people-metric { display:block; font-size:32px; line-height:1.2; overflow-wrap:break-word; }
#people-belief .people-capability-outer { border:1px solid #cbd1d7; border-radius:24px; background:#f3f5fa; }
:is(#people-belief, #people-together) .people-stats-outer .process-card { background:linear-gradient(120deg,#18428f,#20558d 45%,#652d91); overflow:hidden; }
:is(#people-belief, #people-together) .people-stats-outer .process-card::before { display:none; }
:is(#people-belief, #people-together) .people-stats-outer .process-card::after { content:""; position:absolute; width:210px; height:210px; top:-130px; right:-20px; border-radius:50%; background:rgba(255,255,255,.12); transform:none; }
:is(#people-belief, #people-together) .people-stats-outer .process-card .card-body { position:relative; z-index:1; }
:is(#people-belief, #people-together) .people-stats-outer .process-card h3,
:is(#people-belief, #people-together) .people-stats-outer .process-card p { color:white !important; }
#people-belief .people-inline-number { display:inline-block; padding:2px 8px; border-radius:5px; background:#18428f; color:white; font-weight:700; }
#people-belief .people-capability-outer .strategy-story-row:last-child { margin-bottom:0 !important; }
:is(#people-belief, #people-together) .people-stats-outer .process-card { position:relative; border:0; border-radius:20px; }
:is(#people-belief, #people-together) .people-stats-outer .people-metric { display:table; background:#fff !important; color:#18428f !important; border-radius:7px; padding:6px 12px; }



#people-together .people-capability-outer { border:1px solid #cbd1d7; border-radius:24px; background:#f3f5fa; }
#people-together .people-capability-outer .strategy-story-row:last-child { margin-bottom:0 !important; }
#people-together .people-section-footer .report-section__next { margin:0; padding:0; }
#employee-safety .employee-safety-large-icon { font-size:40px; line-height:1; flex-shrink:0; color:var(--nssf-grey); }
#employee-safety .safety-community-row .process-card .report-section__text { max-width:none; }
#employee-safety .safety-community-row > :first-child { position:relative; }
@media (min-width:992px) {
    #employee-safety .safety-community-row > :first-child::after { content:""; position:absolute; top:50%; right:-20px; width:40px; height:2px; background:linear-gradient(90deg,var(--nssf-blue),var(--nssf-teal)); }
}
@media (max-width:991.98px) {
    #employee-safety .safety-community-row > :first-child::after { content:""; position:absolute; left:50%; bottom:-24px; width:2px; height:24px; background:linear-gradient(var(--nssf-blue),var(--nssf-teal)); }
}
#employee-safety .safety-community-row { --bs-gutter-x:40px; }

#employee-safety .employee-safety-heading-number { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 80px; min-height: 80px; padding: 12px; font-size: 32px; line-height: 1; }

#employee-safety .employee-safety-outer { width:100%; border:1px solid #cbd1d7; border-radius:24px; background:#f3f5fa; }

#employee-safety .employee-safety-image-card { position:relative; isolation:isolate; overflow:hidden; border:0; border-radius:20px; background:linear-gradient(120deg,#18428f,#20558d 45%,#652d91); }
#employee-safety .employee-safety-image-card::before, #employee-safety .employee-safety-image-card::after { content:""; position:absolute; z-index:-1; width:220px; height:220px; border-radius:50%; pointer-events:none; }
#employee-safety .employee-safety-image-card::before { right:-40px; top:-110px; background:rgba(255,255,255,.12); }
#employee-safety .employee-safety-image-card::after { left:-100px; bottom:-150px; background:rgba(0,184,210,.3); }
#employee-safety .employee-safety-image-card .report-animated-divider { background:rgba(255,255,255,.65); }
#employee-safety .employee-safety-image-card .report-animated-divider::after { background:linear-gradient(90deg,transparent,#fff,transparent); }

#employee-safety .employee-safety-image-card > .card-body { display:flex; flex-direction:column; }
#employee-safety .employee-safety-image-card .report-animated-divider { position:absolute; top:0; left:0; z-index:2; margin:0 !important; }
#employee-safety .employee-safety-image-card figure { display:flex; min-height:0; }
#employee-safety .employee-safety-image-card figure > button { display:block; flex:1; }
#employee-safety .employee-safety-image-card figure > button img { display:block; position:static; height:auto; width:100%; border-radius:0 !important; }

#employee-safety .employee-safety-image-card { border:1px solid #18428f; }
#employee-safety .employee-safety-outer { background:#fff; }

:is(#employee-health, #employee-engagement, #employee-communication, #employee-rights-performance-retention) .employee-health-outer { width:100%; border:1px solid #cbd1d7; border-radius:24px; background:#fff; }
#employee-health .employee-wellness-cards { display:grid; grid-auto-rows:1fr; gap:40px; }
#employee-health .employee-wellness-cards .strategy-story-row { margin-bottom:0; }
#employee-health .report-section__text { max-width:none; }
@media(max-width:991px) { #employee-health .employee-wellness-cards { grid-auto-rows:auto; } }

#employee-health .employee-wellness-image { max-height:500px; object-fit:cover; }

/* Equal-height assurance cards, sized by the longest card's content. */
[aria-labelledby="internal-controls-assurance-heading"] .assurance-journey > .row { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; }
[aria-labelledby="internal-controls-assurance-heading"] .assurance-journey > .row > .col-12 { display:flex; }
[aria-labelledby="internal-controls-assurance-heading"] .assurance-journey .nssf-split-pill { width:100%; display:flex; }
[aria-labelledby="internal-controls-assurance-heading"] .assurance-journey .nssf-split-pill > .row { width:100%; }

[aria-labelledby="internal-controls-assurance-heading"] .assurance-journey .nssf-split-pill__panel { display:flex; flex-direction:column; justify-content:center; }

/* Retirement portraits: preserve circular frames and centre each image. */
.page-retirement-journey .retirement-stage__visual { flex-shrink:0; aspect-ratio:1; border-radius:50%; }
.page-retirement-journey .retirement-stage__visual::before,
.page-retirement-journey .retirement-stage__visual::after { border-radius:50%; }
.page-retirement-journey .retirement-stage__visual img { top:50%; left:50%; width:68%; height:68%; max-width:none; border-radius:50%; object-fit:cover; transform:translate(-50%,-50%); }

@media (min-width:992px) {
    .page-retirement-journey .retirement-stage .report-section__container { justify-content:flex-start; }
    .page-retirement-journey .retirement-stage .report-section__heading,
    .page-retirement-journey .retirement-stage .report-section__heading .report-section__title { margin-bottom:0 !important; }
    .page-retirement-journey .retirement-stage .retirement-stage__layout { --bs-gutter-y:0; flex-grow:0; }
}



/* Narrow screens: full-width cards must not add an extra side margin. */
@media (max-width:767.98px) {
    .page-chapter .report-section__container > .card.w-100,
    .page-chapter .report-section .process-card.w-100 { margin-left:0; margin-right:0; }
    .page-chapter .revenue-highlight__amount,
    .page-chapter .text-36.bg-purple { font-size:28px !important; max-width:100%; }
    .page-our-theme .landing-belief { flex-wrap:wrap; }
}

/* Keep Up next near the screen edge on smaller desktops and tablets. */
@media (min-width: 768px) and (max-width: 1440px) {
    .page-chapter:not(.page-navigating-our-report) .report-section:not(.report-section--full-bleed) > .report-section__next {
        margin-right: 30px;
    }
}

/* Mobile Up next: centred label above destination and inline arrow. */
@media (max-width: 767.98px) {
    .page-chapter .report-section .report-section__next {
        position: static !important;
        display: block;
        align-self: center !important;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0 auto !important;
        padding: 40px 0 0 !important;
        text-align: center;
        font-size: 13px;
        line-height: 1.5;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* Links outside the content container need the same mobile side gutters. */
    .page-chapter .report-section > .report-section__next {
        padding: 40px 30px 0 !important;
        min-width: 0;
    }
    .page-chapter .report-section .report-section__next > span {
        display: block;
        margin-bottom: 3px;
        font-size: 11px;
        line-height: 1.4;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .page-chapter .report-section .report-section__next > :is(i, svg) {
        display: inline-block;
        margin: 0 0 0 6px;
        font-size: 13px;
        vertical-align: -0.08em;
    }
}
/* Mobile-only spacing utility. */
@media (max-width: 767.98px) {
    .sm-mb-30 {
        margin-bottom: 30px !important;
    }
}
/* Tablet portrait: horizontal chapter-coloured, number-only topic rail. */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    .page-chapter .publication-shell.publication-shell--chapter {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
    }
    .page-chapter .publication-shell--chapter > .publication-sidebar {
        width: 100%;
        min-width: 0;
        padding: 14px 30px;
        border: 0;
        background: linear-gradient(110deg, color-mix(in srgb, var(--chapter-colour) 85%, #03314d), var(--chapter-colour));
    }
    .page-chapter .publication-sidebar::before,
    .page-chapter .publication-sidebar::after,
    .page-chapter .publication-sidebar .chapter-sidebar::after,
    .page-chapter .publication-sidebar .chapter-sidebar__eyebrow,
    .page-chapter .publication-sidebar .chapter-sidebar__indicator,
    .page-chapter .publication-sidebar .chapter-sidebar__list::before,
    .page-chapter .publication-sidebar .publication-sidebar-utilities { display: none; }
    .page-chapter .publication-sidebar .chapter-sidebar,
    .page-chapter .publication-sidebar .chapter-sidebar__inner {
        position: static;
        width: 100%;
        height: auto;
        padding: 0;
        background: none;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__navigation {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__list {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: max-content;
        min-width: 100%;
        gap: 24px;
        margin: 0;
        padding: 5px;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__item { flex: 0 0 auto; }
    .page-chapter .publication-sidebar .chapter-sidebar__link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0;
        border: 1px solid rgba(255,255,255,.3);
        border-radius: 50%;
        background: rgba(255,255,255,.08);
        box-shadow: none;
        transform: none;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__title {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__number {
        width: 32px;
        height: 32px;
        font-size: 11px;
        color: #fff;
        background: rgba(255,255,255,.09);
        border: 1px solid rgba(255,255,255,.34);
        box-shadow: none;
    }
    .page-chapter .publication-sidebar .chapter-sidebar__link.is-active {
        border-color: var(--nssf-blue-bright);
        background: color-mix(in srgb, var(--nssf-blue-bright) 25%, transparent);
    }
    .page-chapter .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__number {
        color: var(--nssf-blue-dark);
        background: var(--nssf-blue-bright);
        border-color: var(--nssf-blue-bright);
        box-shadow: 0 0 12px color-mix(in srgb, var(--nssf-blue-bright) 60%, transparent);
    }
}
/* Tablet portrait toolbar: location and page count stay on one row. */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    .page-chapter .report-toolbar > .container-fluid > .row { flex-wrap: nowrap; }
    .page-chapter .report-toolbar > .container-fluid > .row > .col { min-width: 0; }
    .page-chapter .report-toolbar__actions { display: none; }
    .page-chapter .report-toolbar__location { flex-wrap: nowrap; min-width: 0; }
    .page-chapter .report-toolbar__chapter-name,
    .page-chapter .report-toolbar__topic-name {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
    }
    .page-chapter .report-toolbar__position { white-space: nowrap; }
}
/* Homepage responsive layout: explicit gutters, flexible cards and toolbar colours. */
.page-home .report-toolbar {
    --toolbar-start: #103875;
    --toolbar-mid: #18428f;
    --toolbar-end: #3976bd;
}
.page-home .report-toolbar--our-business {
    --toolbar-start: #006f82;
    --toolbar-mid: #00a8bc;
    --toolbar-end: #48c7cf;
}
.page-home .report-toolbar--our-strategy {
    --toolbar-start: #43206d;
    --toolbar-mid: #652d91;
    --toolbar-end: #a96ab0;
}
.page-home .home-publication-content { min-width: 0; }
#home-overview .report-hero__content > .d-flex {
    flex-wrap: wrap;
}
#home-overview .report-hero__content { min-width: 0; }
#home-overview .row-cols-3 > .col { min-width: 0; }
#home-overview .row-cols-3 .card {
    flex-wrap: wrap;
    text-align: center !important;
    min-width: 0;
}
#home-overview .row-cols-3 .card p { overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
    .page-home .report-section { --report-content-gutter: 40px; }
    #home-overview .report-hero__content {
        width: 100%;
        max-width: 900px;
        height: auto;
        padding: 40px;
    }
    #home-overview .report-hero__media::after {
        -webkit-mask-image: none;
        mask-image: none;
    }
    .page-home .report-section :is(.p-60, .p-80) { padding: 30px !important; }
    .page-home .report-section__container { min-width: 0; }
    .page-home .report-section__container .row > [class*="col-"] { min-width: 0; }
}
@media (max-width: 767.98px) {
    .page-home .report-section { --report-content-gutter: 30px; }
    .page-home .home-publication-content > section:not(.report-section--full-bleed) {
        padding: 30px 0;
    }
    .page-home .report-section__container { padding-right: 30px; padding-left: 30px; }
    #home-overview .report-hero__content { padding: 40px 30px; max-width: 100%; }
    #home-overview .report-hero__title { font-size: 25px; line-height: 1.15; }
    #home-overview .report-hero__content > .d-flex {
        align-items: flex-start !important;
        flex-direction: column;
    }
    #home-overview .report-hero__content > .mt-auto { margin-top: 30px !important; }
    #home-overview .row-cols-3 > .col { width: 100%; flex: 0 0 100%; }
    #home-overview .row-cols-3 .card {
        flex-wrap: nowrap;
        justify-content: flex-start !important;
        text-align: left !important;
        padding: 20px !important;
    }
    #home-overview .nssf-icon-blob { margin-bottom: 0; }
    .page-home .report-section__title { font-size: 25px; overflow-wrap: anywhere; }
    .page-home .home-chapter-button { max-width: 100%; white-space: normal; }
    .page-home .report-section :is(.p-60, .p-80) { padding: 30px !important; }
    .page-home .report-toolbar > .container-fluid > .row { flex-wrap: nowrap; }
    .page-home .report-toolbar__location { min-width: 0; }
}
@media (max-width: 767.98px) {
    .page-home .home-spread-control {
        border: 0;
        overflow: visible;
        color: #fff;
    }
    .page-home .home-spread-control::before {
        inset: auto;
        animation: none;
    }
    .page-home .home-publication-layout { position: relative; }
    .page-home .home-spread-control--previous { left: 16px; }
    .page-home .home-spread-control--next { right: 16px; }
    .page-home .chapter-sidebar__title { display: none !important; }
}
/* Shared compact mobile navigation. */
@media (max-width: 767.98px) {
    /* Preserve the shared gradient divider above the mobile arrows. */
    .page-home .home-report-sidebar .chapter-sidebar__link,
    .page-home .home-report-sidebar .chapter-sidebar__link.is-active {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        height: 44px;
        padding: 0 !important;
        justify-content: center;
        border-radius: 50%;
    }
    .page-home .home-report-sidebar .chapter-sidebar__link.is-active {
        background: rgba(0,191,234,.22);
        border-color: var(--nssf-blue-bright);
    }
    .page-home .home-report-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__number {
        background: var(--nssf-blue-bright);
        color: var(--nssf-blue-dark);
        border-color: var(--nssf-blue-bright);
        box-shadow: 0 0 12px rgba(0,191,234,.6);
    }
    .page-home .home-report-sidebar .chapter-sidebar__list { justify-content: space-between; width: 100%; }
    .page-home .report-toolbar__actions { display: none; }
    .page-home .report-toolbar__chapter-name { white-space: normal; text-overflow: clip; overflow: visible; }
    .page-home .report-toolbar__position { white-space: nowrap; }
}
/* Mobile-only top spacing utility. */
@media (max-width: 767.98px) {
    .sm-mt-0 { margin-top: 0 !important; }
}
/* Mobile homepage: reserve space around the orbit and fill the card column. */
@media (max-width: 767.98px) {
    #home-business .business-coming-soon__visual {
        --mobile-orbit-size: min(310px, calc(100vw - 90px));
        min-height: calc(var(--mobile-orbit-size) + 60px);
        padding-block: 30px;
    }
    #home-business .business-coming-soon__orbit {
        width: var(--mobile-orbit-size);
        height: var(--mobile-orbit-size);
    }
    #home-business .business-timeline__item,
    #home-business .business-timeline-card,
    #home-business .business-timeline-card__surface {
        width: 100%;
        max-width: none;
        min-width: 0;
        box-sizing: border-box;
    }
    #home-business .business-timeline-card { align-self: stretch; }
}
/* All homepage spreads: match the report mobile arrow positions. */
@media (max-width: 767.98px) {
    .page-home .home-publication-layout .home-spread-control,
    .page-home .home-publication-layout .home-spread-control:hover,
    .page-home .home-publication-layout .home-spread-control:focus-visible {
        top: auto;
        bottom: 16px;
        transform: none;
    }
    .page-home .home-publication-layout .home-spread-control--previous {
        left: 16px !important;
        right: auto;
    }
    .page-home .home-publication-layout .home-spread-control--next {
        right: 16px;
        left: auto;
    }
}
/* Purpose image uses the same blob mask as editorial landing images. */
#purpose-scope-boundary .topic-intro__visual--purpose .topic-intro__image {
    -webkit-mask-image: url("../images/page-shape.svg");
    mask-image: url("../images/page-shape.svg");
}
@media (max-width: 767.98px) {
    #purpose-scope-boundary .purpose-scope-layout__visual-column {
        order: -1 !important;
        display: flex !important;
        width: 100%;
        margin-bottom: 30px;
    }
    #purpose-scope-boundary .topic-intro__visual--purpose {
        width: 100%;
        max-width: none;
        min-height: 0;
        height: auto !important;
        margin: 0;
    }
    #purpose-scope-boundary .topic-intro__visual--purpose .topic-intro__image {
        width: 100%;
        max-width: none;
        height: auto !important;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }
}
/* Centre standalone report read-more links on mobile. */
@media (max-width: 767.98px) {
    .page-chapter .report-section :is(.nssf-arrow-link, .report-inline-link) {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .page-chapter .report-section :is(.nssf-arrow-link, .report-inline-link) > :is(i, svg) {
        flex-shrink: 0;
    }
}
/* Centre the reporting-universe copyright note on mobile. */
@media (max-width: 767.98px) {
    .reporting-universe__footer > p.text-tiny {
        width: 100%;
        text-align: center;
    }
}
/* Mobile sections already provide 30px below their content. */
@media (max-width: 767.98px) {
    .page-chapter .publication-spread {
        padding-bottom: 0;
    }
}
/* Mobile theme landing: readable blue belief wording on the white background. */
@media (max-width: 767.98px) {
    .page-our-theme .landing-belief__intro {
        color: var(--nssf-blue);
        font-size: 14px;
        line-height: 1.5;
        flex-wrap: wrap;
        gap: 12px 20px;
        white-space: normal;
    }
    .page-our-theme .landing-belief__item { color: var(--nssf-blue); }
    .page-our-theme .landing-belief :is(.landing-belief__word--you, .landing-belief__word--us, .landing-belief__word--uganda) {
        color: var(--nssf-blue);
        font-size: 18px;
    }
    .page-our-theme .landing-belief__divider { display: none; }
}
/* Shared mobile video hero glow, including Our Theme. */
@media (max-width: 767.98px) {
    .report-hero--video-window .report-hero__media::before {
        transform: translate(-7px, -2px) scale(1.012);
    }
}
/* Mobile theme belief: one sentence per line, with the original word colours. */
@media (max-width: 767.98px) {
    .page-our-theme .landing-belief__intro {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .page-our-theme .landing-belief .landing-belief__word--you {
        color: var(--nssf-blue-bright);
    }
    .page-our-theme .landing-belief .landing-belief__word--us {
        color: var(--nssf-green);
    }
    .page-our-theme .landing-belief .landing-belief__word--uganda {
        color: var(--nssf-teal);
    }
   /* Shared mobile leadership cards. Original shadow: 0 18px 44px rgba(18, 48, 94, 0.09). */
    .leadership-profile.card {
        box-shadow: 0 6px 16px rgba(15, 38, 64, 0.07);
    }

/* Smaller portrait shadow; original: 0 16px 38px rgba(18, 48, 94, 0.13). */
    .leadership-profile__portrait {
        box-shadow: 0 4px 12px rgba(18, 48, 94, 0.08);
    }
}
/* Mobile belief cards: keep journey spines behind cards and within their gaps. */
@media (max-width: 767.98px) {
    #we-believe-in-you .assurance-journey {
        isolation: isolate;
    }

    #we-believe-in-you .nssf-split-pill::before {
        z-index: -1;
        pointer-events: none;
    }

    #we-believe-in-you .assurance-journey > .row > [class*="col-"]:not(:first-child) .nssf-split-pill::before {
        height: var(--bs-gutter-y, 24px);
    }
}
/* Keep the stewardship callout circular at every screen size. */
.business-stewardship .business-stewardship__core {
    box-sizing: border-box;
    width: min(15rem, 100%);
    aspect-ratio: 1 / 1;
    min-height: 0;
    min-width: 0;
    padding: 1rem;
    border-radius: 50%;
}
/* Grey split cards: suppress the Bootstrap .card border only for this variant. */
.card.nssf-split-pill--grey {
    /* Original Bootstrap border (restore by removing border: 0 below):
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    */
    border: 0;
}
/* Locations landing: national footprint figures. */

.locations-footprint {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}
.locations-footprint__pill {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 8px;
    padding: 16px 20px;
    border: 1px solid rgba(0, 174, 199, 0.25);
    border-radius: 20px;
    background: linear-gradient(120deg, rgba(0, 174, 199, 0.08), #fff);
    color: var(--nssf-blue);
    font-size: 15px;
    font-weight: 600;
}
.locations-footprint__number {
    width: 28px;
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nssf-blue), var(--nssf-teal));
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}
@media (max-width: 1199.98px) {
    .locations-footprint { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .locations-footprint { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .locations-footprint__pill { justify-content: flex-start; border-radius: 20px; padding: 14px 12px; min-width: 0; line-height: 1.4; }
}
/* Locations directory follows the shared split-card journey layout. */
.location-region-journey { margin-top: 30px; }
.location-region-card .nssf-split-pill__panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.location-region-card .nssf-split-pill__title { margin-bottom: 24px; }
.location-directory-entry { position: relative; display: flex; flex-direction: column; justify-content: flex-start; }
.location-directory-entry h4 { color: var(--nssf-blue); font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.location-directory-entry address { font-style: normal; overflow-wrap: anywhere; }
.location-type-badge { align-self: flex-start; border-radius: 999px; padding: 3px 9px; margin-bottom: 8px; background: var(--split-pill-tint); color: var(--split-pill-colour); font-size: 11px; font-weight: 600; }
@media (max-width: 991.98px) {
 .location-region-card .nssf-split-pill__rail { justify-content: flex-start; gap: 24px; padding: 24px 24px 0; }
}
@media (max-width: 767.98px) {
 .location-region-journey { padding-left: 16px; }
 .location-region-journey > .assurance-journey__line { left: 0; }
 .location-region-card::before { width: 16px; }
 .location-region-card .nssf-split-pill__panel { padding: 24px; }
}

/* Location names and labels share a line; dividers separate desktop columns. */
.location-directory-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 8px; }
.location-directory-heading h4,
.location-directory-heading .location-type-badge { margin: 0; }
@media (min-width: 768px) {
    .location-directory-entry { position: relative; }
    .location-directory-entry:not(:nth-child(3n + 1))::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 1px;
        pointer-events: none;
        background: linear-gradient(180deg, transparent, var(--split-pill-colour), var(--nssf-teal), transparent);
        background-size: 100% 200%;
        animation: locationDividerFlow 6s ease-in-out infinite;
    }
}
@keyframes locationDividerFlow {
    0%, 100% { background-position: 0 0; }
    50% { background-position: 0 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .location-directory-entry::before { animation: none !important; }
}
/* Align directory text at the top and separate successive address rows. */
.location-directory-heading { min-height: 26px; }
.location-directory-entry--full::before { display: none; }
@media (min-width: 768px) {
    .location-directory-entry:nth-child(n + 4) { padding-top: 12px; }
    .location-directory-entry:nth-child(n + 4)::after {
        content: "";
        position: absolute;
        top: -6px;
        left: 0;
        right: 0;
        height: 1px;
        background: color-mix(in srgb, var(--split-pill-colour) 25%, transparent);
        pointer-events: none;
    }
}
@media (max-width: 767.98px) {
    .location-directory-entry + .location-directory-entry { padding-top: 20px; }
    .location-directory-entry + .location-directory-entry::after {
        content: "";
        position: absolute;
        top: 0;
        left: 12px;
        right: 12px;
        height: 1px;
        background: color-mix(in srgb, var(--split-pill-colour) 25%, transparent);
        pointer-events: none;
    }
}
/* Draw one full-row separator, even when the last address row is incomplete. */
@media (min-width: 768px) {
    .location-directory-entry:nth-child(n + 4)::after { display: none; }
    .location-directory-entry:nth-child(3n + 4)::after {
        display: block;
        width: 300%;
        right: auto;
    }
    .location-directory-entry--full:nth-child(3n + 4)::after { width: 100%; }
}
/* Reuse the report number boxes and donut for the outlook targets. */
#looking-forward .stewardship-donut::before { animation: none; }
@media (max-width: 767.98px) {
    #looking-forward .nssf-glass-card { box-shadow: 0 6px 16px rgba(18, 48, 94, 0.07); }
}
/* All age cards: full-width content without the portrait allowance. */
.page-retirement-journey .retirement-stage .retirement-stage__card-column {
    width: 100%;
    margin-left: 0;
    padding-left: calc(var(--bs-gutter-x) * .5);
}
.page-retirement-journey .retirement-stage .retirement-stage__content {
    width: 100%;
    min-height: 0;
    padding: 40px;
}
@media (max-width: 767.98px) {
    .page-retirement-journey .retirement-stage .retirement-stage__content { padding: 30px; }
}
/* Keep the small age portrait inside the card, beside the opening text. */
.page-retirement-journey .retirement-stage .retirement-stage__content { display: block !important; }

/* Removed clear: both from the Age 20s list: it forced the bullets below the floated portrait. */

/* All ages: full container width and the existing ringed portrait, scaled inside. */
.page-retirement-journey .retirement-stage .retirement-stage__layout { width: 100%; max-width: none; }
.page-retirement-journey .retirement-stage .retirement-stage__content { max-width: none; }
.page-retirement-journey .retirement-stage .retirement-stage__visual { width: 140px; height: 140px; margin-top: 0; margin-right: 0; }
.page-retirement-journey .retirement-stage .retirement-stage__visual::before { inset: 7px; }
.page-retirement-journey .retirement-stage .retirement-stage__visual::after { inset: 15px; }

@media (max-width: 767.98px) {
    .page-retirement-journey .retirement-stage .retirement-stage__visual { width: 100px; height: 100px; box-shadow: 0 4px 12px rgba(24, 66, 143, 0.08); }
    .page-retirement-journey .retirement-stage .retirement-stage__visual::before { inset: 5px; }
    .page-retirement-journey .retirement-stage .retirement-stage__visual::after { inset: 10px; }
    
}
/* All retirement age cards: let the content determine height on laptops. */
@media (min-width: 992px) and (max-width: 1599.98px) {
    .page-retirement-journey .retirement-stage .retirement-stage__content { min-height: auto; }
}
/* Fit all performance-review columns on laptops without splitting year labels. */
@media (min-width: 992px) and (max-width: 1599.98px) {
    .five-year-review__table { min-width: 0; width: 100%; border-spacing: 4px 0; font-size: 12px; }
    .five-year-review__table > :not(caption) > * > * { padding: 12px 6px; text-align: left; overflow-wrap: normal; word-break: normal; }
    .five-year-review__table > :not(caption) > * > :first-child { width: 17%; }
    .five-year-review__card .card-body { padding: var(--nssf-card-padding) !important; }
}
/* On narrower screens preserve readable columns within the scrollable table. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .five-year-review__table { min-width: 900px; }
}

/* Mobile: avoid doubled heading spacing and keep glance cards in one column. */
@media (max-width: 767.98px) {
    .page-chapter #resilience .report-section__heading + .resilience-section__cards {
        margin-top: 0 !important;
    }
    .page-our-business #nssf-at-a-glance .business-timeline {
        width: 100%;
        min-width: 0;
        overflow: visible;
        scroll-snap-type: none;
    }
    .page-our-business #nssf-at-a-glance .business-timeline__track {
        display: grid;
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-auto-columns: auto;
        grid-auto-flow: row;
        gap: 40px;
    }
    .page-our-business #nssf-at-a-glance .business-timeline__item {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}
/* Smartlife mobile circle: keep the complete message within the inner ring. */
@media (max-width: 767.98px) {
    #smartlife-fixed .business-coming-soon__message { padding: 30px; }
    #smartlife-fixed .business-coming-soon__message-icon {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        flex: 0 0 44px;
        margin-bottom: 10px;
    }
    #smartlife-fixed .business-coming-soon__message .report-section__title { margin-bottom: 8px; font-size: 25px; line-height: 1.1; }
    #smartlife-fixed .business-coming-soon__message .report-section__text { font-size: 13px; line-height: 1.4; }
}
/* Mobile glance cards: full-width figures and readable boxed numbers. */
@media (max-width: 767.98px) {
    #nssf-at-a-glance .business-timeline-card,
    #nssf-at-a-glance .business-timeline-card__surface { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; }
    #nssf-at-a-glance :is(.business-membership-stats, .business-network-stats, .business-financial-stats) {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        width: 100%;
    }
    #nssf-at-a-glance :is(.business-membership-stats, .business-network-stats, .business-financial-stats) > div { width: 100%; min-width: 0; }
    #nssf-at-a-glance :is(.business-membership-stats__divider, .business-network-stats__divider) { display: none; }
    #nssf-at-a-glance strong.business-number-box { font-size: 30px; line-height: 1.15; padding: 8px 12px; white-space: normal; overflow-wrap: normal; }
    #nssf-at-a-glance .business-workforce-stat strong.business-number-box { font-size: 26px; }
    #nssf-at-a-glance :is(.business-membership-stats, .business-network-stats) span { white-space: normal; }
}
/* Mobile-only top margin utility. */
@media (max-width: 767.98px) {
    .sm-mt-10 { margin-top: 10px !important; }
}

/* Mobile financial figures: compact spacing without divider lines. */
@media (max-width: 767.98px) {
    #nssf-at-a-glance .business-financial-stats { gap: 16px; }
    #nssf-at-a-glance .business-financial-stats > div {
        border: 0;
        padding: 0;
    }
}

/* Smaller laptops: give four-column theme and benefit cards usable content space. */
@media (min-width: 1200px) and (max-width: 1599.98px) {
    .page-our-theme #we-believe-in-you .assurance-journey > .row > [class*="col-"]:first-child .card-body { padding: 24px; }
    .page-our-theme #we-believe-in-you .nssf-split-pill__panel { padding: 20px; }
    .page-our-theme #we-believe-in-you .report-section__heading .report-section__title { font-size: 26px; }
    .page-our-theme #we-believe-in-you .heading-word-xl { font-size: 64px; }
    .page-our-theme #we-believe-in-you .theme-story__lead { font-size: 16px; line-height: 1.4; }
    .page-our-theme #we-believe-in-you .theme-belief-card__title { font-size: 26px; }
    .page-our-theme #we-believe-in-you .nssf-split-pill__panel .report-section__text { font-size: 14px; line-height: 1.5; }
    .page-our-theme #we-believe-in-you .nssf-split-pill__panel > .report-section__text:first-child { font-size: 20px; }
    .page-our-business #member-benefits .business-benefits-grid { --bs-gutter-x: 24px; margin-top: 30px !important; margin-bottom: 30px !important; }
    .page-our-business #member-benefits .business-benefit-card { min-height: 0; }
    .page-our-business #member-benefits .business-benefit-card__blob {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: 120px;
        height: 120px;
        margin: 20px auto 0;
        flex: 0 0 120px;
    }
    .page-our-business #member-benefits .business-benefit-card__blob img { width: 90px; height: 90px; }
    .page-our-business #member-benefits .business-benefit-card > .card-body { padding: var(--nssf-card-padding) !important; justify-content: center; flex: 1 1 auto; }
}
/* Laptop products pages: content determines height inside the scrollable spread. */
@media (min-width: 992px) and (max-width: 1599.98px) {
    .page-our-business :is(#products-and-services, #member-benefits) > .publication-spread__content,
    .page-our-business :is(#products-and-services, #member-benefits) > .publication-spread__content > .report-section {
        height: auto;
        min-height: 0;
        flex: 0 0 auto;
    }
}
/* Mobile-only top margin utility. */
@media (max-width: 767.98px) {
    .sm-mt-40 { margin-top: 40px !important; }
}

/* Mobile-only top margin utilities. */
@media (max-width: 767.98px) {
    .sm-mt-50 { margin-top: 50px !important; }
    .sm-mt-60 { margin-top: 60px !important; }
    .sm-mt-70 { margin-top: 70px !important; }
}

/* Mobile benefit cards: requested minimum height. */
@media (max-width: 767.98px) {
    .nssf-glass-card.business-benefit-card { min-height: 450px; }
}

/* Mobile intro heading size. */
@media (max-width: 767.98px) {
    .page-intro-heading { font-size: 25px !important; }
}

/* Mobile outlook cards: icons above full-width text, without the side rail. */
@media (max-width: 767.98px) {
    .page-chapter .external-outlook .external-outlook__layout {
        --bs-gutter-y: 0;
        margin-top: 0 !important;
        row-gap: 24px;
    }
    .external-outlook__layout > [class*="col-"] { margin-top: 0 !important; min-width: 0; }
    .external-outlook__journey { padding-left: 0; min-width: 0; gap: 24px; }
    .external-outlook__line { display: none; }
    .external-outlook__item { min-width: 0; padding-bottom: 0 !important; }
    .external-outlook__item > .external-outlook-card__blob {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        display: flex;
        width: 60px;
        height: 60px;
        margin: 0 auto 20px;
    }
    .external-outlook__item::before {
        content: "";
        position: absolute;
        top: 60px;
        left: 50%;
        right: auto;
        width: 2px;
        height: 20px;
        transform: translateX(-50%);
        background: var(--nssf-teal);
    }
    .external-outlook-card { min-width: 0; }
}
/* Mobile outlook images: space before the following card. */
@media (max-width: 767.98px) {
    .external-outlook__visuals { margin-bottom: 30px; }
}

/* Age cards: keep desktop spacing; use one mobile heading-to-card gap. */
@media (min-width: 768px) {
    .page-retirement-journey :is(#age-30s, #age-40s, #age-50s, #age-60s) .retirement-stage__layout { margin-top: 40px !important; }
}
@media (max-width: 767.98px) {
    .page-retirement-journey .retirement-stage .report-section__heading { margin-bottom: 0 !important; }
    body.page-chapter.page-retirement-journey .report-section.retirement-stage .report-section__heading + .retirement-stage__layout {
        margin-top: 30px !important;
        --bs-gutter-y: 0;
        padding-top: 0;
        flex: 0 0 auto;
    }
    .page-retirement-journey .retirement-stage .retirement-stage__card-column { margin-top: 0 !important; }
}
/* Mobile business model: one 30px gap between headings and content. */
@media (max-width: 767.98px) {
    .page-business-model :is(#business-inputs, #business-member-journey) .report-section__heading { margin-bottom: 0 !important; }
    .page-business-model :is(#business-inputs, #business-member-journey) .report-section__heading + .row {
        margin-top: 30px !important;
        padding-top: 0;
        flex: 0 0 auto;
        align-content: flex-start;
    }
    .page-business-model :is(#business-inputs, #business-member-journey) .report-section__heading + .row > [class*="col-"]:first-of-type,
    .page-business-model #business-member-journey .member-journey__track + [class*="col-"] { margin-top: 0; }
}
/* Mobile risk sections: one 30px gap below the heading. */
@media (max-width: 767.98px) {
    body.page-chapter .report-section:is(.risk-heatmap, .risk-register) .report-section__heading { margin-bottom: 0 !important; }
    body.page-chapter .report-section:is(.risk-heatmap, .risk-register) .report-section__heading + .row {
        margin-top: 30px !important;
        padding-top: 0;
        flex: 0 0 auto !important;
        align-content: flex-start;
        --bs-gutter-y: 0;
    }
    body.page-chapter .report-section:is(.risk-heatmap, .risk-register) .report-section__heading + .row > .col-12 { margin-top: 0; }
    body.page-chapter .risk-heatmap__figure { margin-top: 0; }
}
/* Risk framework: roomier rows with content-led height. */
.risk-framework-card__body.card-body { padding: 30px 30px 30px 0; }
.risk-framework__list { gap: 20px; grid-auto-rows: auto; }
.risk-framework-card.card { height: auto; }
.page-chapter #risk-management-framework > .publication-spread__content,
.page-chapter #risk-management-framework .report-section {
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
}
.page-chapter #risk-management-framework .risk-framework__row {
    flex: 0 0 auto !important;
    align-content: flex-start;
}
@media (max-width: 767.98px) {
    .risk-framework-card__body.card-body { padding: 24px 20px 24px 0; }
}
/* Mobile outlook photos: reinforce SVG masking with a rounded clipping boundary. */
@media (max-width: 767.98px) {
    .external-outlook__image-frame {
        border-radius: 32% 14% 34% 8% / 40% 18% 43% 10%;
        overflow: hidden;
        -webkit-clip-path: inset(0 round 32% 14% 34% 8% / 40% 18% 43% 10%);
        clip-path: inset(0 round 32% 14% 34% 8% / 40% 18% 43% 10%);
        isolation: isolate;
        filter: none;
    }
    .external-outlook__image-frame img { display: block; }
}
/* Quotation spacing; colour and decoration reuse the aspiration card. */
.report-quote-gradient {
    padding: 80px;
}

/* End the Shared Journey spine at the final card edge. */
#shared-journey-and-protection .strategy-story-row:last-child .strategy-story-row__visual::after {
    bottom: 0;
}

/* Keep the quote icon and separator clear against the chapter gradient. */
.report-quote-gradient .nssf-icon-blob {
    background: #fff;
    --card-accent: var(--nssf-purple);
    --card-accent-rgb: 101, 45, 145;
}
.report-quote-gradient .nssf-icon-blob::before,
.report-quote-gradient .nssf-icon-blob::after {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.5);
}
/* Journey divider: vertical spine with a short branch into the icon. */
.report-quote-journey {
    position: relative;
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    align-items: start;
    gap: 40px;
    padding-left: 32px;
    border-left: 1px solid rgba(255, 255, 255, 0.65);
}
.report-quote-journey::before {
    content: "";
    position: absolute;
    top: 2.5rem;
    left: 0;
    width: 32px;
    height: 1px;
    background: rgba(255, 255, 255, 0.65);
}
@media (max-width: 767.98px) {
    .report-quote-journey {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        padding-left: 20px;
    }
    .report-quote-journey::before { width: 20px; }
}
/* Advert border uses Bootstrap's own colour variable. */
#strategy-saving-future [data-bs-target="#strategyAdvertLightbox"] {
    --bs-border-color: var(--nssf-blue);
    border-color: var(--nssf-blue) !important;
}
/* Quote typography scales down while preserving the desktop treatment. */
.report-quote-journey blockquote {
    font-size: clamp(1.5rem, 2.8vw, 3rem);
    overflow-wrap: break-word;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .report-quote-gradient { padding: 40px; }
    .report-quote-journey { gap: 24px; }
}
@media (max-width: 767.98px) {
    .report-quote-gradient { padding: 30px; }
}
/* Vision target numbers: consistent grey blocks with white figures. */
#strategy-value-framework .strategy-number-block {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    min-width: 64px;
    border-radius: 8px;
    background: var(--nssf-grey);
    color: #fff;
    line-height: 1.2;
}
/* Dash lists keep continuation lines aligned with the wording. */
.report-dash-list > li {
    position: relative;
    padding-left: 1em;
}
.report-dash-list > li::before {
    content: "–";
    position: absolute;
    left: 0;
}
/* Strategy enablers: visible icon and sideways spine connector. */
.strategy-enablers-card .nssf-icon-blob {
    --card-accent: var(--nssf-grey);
    --card-accent-rgb: 125, 137, 150;
    background: #fff;
}
.strategy-enablers-card .nssf-icon-blob i,
.strategy-enablers-card .nssf-icon-blob .svg-inline--fa {
    color: var(--nssf-grey);
    --fa-primary-color: var(--nssf-grey);
    --fa-secondary-color: var(--nssf-grey);
    --fa-secondary-opacity: 0.7;
}
.strategy-enablers-card .card-body > div {
    position: relative;
    padding-left: 24px;
    border-left: 1px solid rgba(255, 255, 255, 0.75);
}
.strategy-enablers-card .card-body > div::before {
    content: "";
    position: absolute;
    left: -25px;
    top: 50%;
    width: 24px;
    height: 1px;
    background: rgba(255, 255, 255, 0.75);
}
@media (max-width: 767.98px) {
    .strategy-enablers-card .card-body > div::before { top: 0; }
}
/* Thin heading dividers reuse the established report animation. */
.report-heading-divider {
    height: 1px;
    min-height: 1px;
    flex-shrink: 0;
    padding: 0;
}
@media (prefers-reduced-motion: reduce) {
    .report-heading-divider::after { animation: none; }
}
/* Vision metrics: borderless, lightly tinted glass surfaces. */
:is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__detail {
    --bs-card-border-width: 0;
    border: 0 !important;
    background: linear-gradient(135deg, rgba(24, 66, 143, 0.055), rgba(255, 255, 255, 0.65) 48%, rgba(0, 174, 199, 0.045));
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
/* Employee safety and wellbeing: borderless cards and soft outer glass. */
:is(#employee-safety, #employee-health) .card {
    --bs-card-border-width: 0;
    border: 0 !important;
}
:is(#employee-safety, #employee-health, #employee-engagement, #employee-communication, #employee-rights-performance-retention) :is(.employee-safety-outer, .employee-health-outer) {
    border: 0 !important;
    background: linear-gradient(135deg, rgba(24, 66, 143, 0.035), rgba(255, 255, 255, 0.82) 48%, rgba(101, 45, 145, 0.035));
    box-shadow: 0 12px 32px rgba(24, 66, 143, 0.065);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
:is(#employee-safety, #employee-health) img {
    border: 0 !important;
}

/*=========================================================
    VISION 2035: MOBILE HEADERS, METRICS AND LOOKING AHEAD
=========================================================*/
@media (max-width: 767.98px) {
    :is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__header {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    :is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) :is(.risk-card__header, .vision-looking-ahead) > .nssf-icon-size {
        --nssf-icon-box: 48px;
        --nssf-icon-glyph: 29px;
    }
    :is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__status {
        margin-top: 0;
    }
    :is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) .vision-number-box {
        font-size: clamp(15px, 12cqi, 26px);
        padding: 8px 10px;
        white-space: nowrap;
    }
}

/* Size mobile figures to the available metric-card width. */
@media (max-width: 767.98px) {
    :is(#expanding-social-security, #growing-members-savings, #delivering-exceptional-value, #people-thrive) .risk-card__detail .text-36 {
        container-type: inline-size;
    }
}


/*=========================================================
    PERFORMANCE AGAINST STRATEGY: MOBILE CARD ALIGNMENT
=========================================================*/
@media (max-width: 767.98px) {
    .page-strategy-performance .report-section :is(.process-card, .performance-aspiration-card, .performance-legend) {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: none;
    }
    .page-strategy-performance .performance-summary > .nssf-icon-size {
        --nssf-icon-box: 36px;
        --nssf-icon-glyph: 24px;
    }
    .page-strategy-performance .performance-summary > .report-section__text {
        min-width: 0;
    }
}


/*=========================================================
    RESPONSIBLE STEWARDSHIP: MOBILE SPACING AND SUMMARY
=========================================================*/
@media (max-width: 767.98px) {
    #responsible-stewardship .external-outlook-card__blob {
        margin-top: 30px;
    }
    #responsible-stewardship .stewardship-investments-summary {
        text-align: center;
    }
}


/*=========================================================
    PEOPLE AND CULTURE: MOBILE UGANDA CALLOUT ICON
=========================================================*/
@media (max-width: 767.98px) {
    #people-uganda .nssf-white-glass-card .nssf-icon-blob {
        width: 40px;
        height: 40px;
    }
    #people-uganda .nssf-white-glass-card .nssf-icon-blob::before { inset: -0.3rem; }
    #people-uganda .nssf-white-glass-card .nssf-icon-blob::after { inset: -0.55rem; }
    #people-uganda .nssf-white-glass-card .nssf-icon-blob :is(i, .svg-inline--fa) {
        width: 20px;
        height: 20px;
        font-size: 20px;
    }
}


/*=========================================================
    EMPLOYEE SAFETY: MOBILE CARD AND TRAINING IMAGE SPACING
=========================================================*/
@media (max-width: 767.98px) {
    #employee-safety .process-card {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: none;
    }
    #employee-safety .employee-safety-image-card {
        margin-top: 30px;
        height: auto !important;
    }
}

/* Employee safety: separate the OSH training card on mobile. */
@media (max-width: 767.98px) {
}

/* Growing together: larger introductory partnership icon. */
#growing-together .stakeholder-partnership-intro { grid-template-columns: 96px minmax(0, 1fr); }
#growing-together .stakeholder-partnership-intro .commitment-value__icon { width: 80px; height: 80px; }
#growing-together .stakeholder-partnership-intro .commitment-value__icon :is(i, svg) { width: 36px; height: 36px; font-size: 36px; }
@media (max-width: 767.98px) {
    #growing-together .stakeholder-partnership-intro { grid-template-columns: 64px minmax(0, 1fr); }
    #growing-together .stakeholder-partnership-intro .commitment-value__icon { width: 48px; height: 48px; }
    #growing-together .stakeholder-partnership-intro .commitment-value__icon :is(i, svg) { width: 26px; height: 26px; font-size: 26px; }
}
/* Stakeholder matrix: interest cards and influence badges. */
.stakeholder-matrix__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 24px; }
.stakeholder-matrix__icon { color: var(--card-accent); }
.stakeholder-matrix__badge { color: var(--card-accent); background: rgba(var(--card-accent-rgb), 0.12); white-space: normal; }
@media (min-width: 768px) and (max-width: 991.98px) {
    .stakeholder-matrix__grid { min-width: 720px; }
}
@media (max-width: 767.98px) {
    .stakeholder-matrix__grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
}
/* Stakeholder matrix: subtle borderless glass cards. */
.stakeholder-matrix .card { border: 0; }
/* Regulator detail: connected icon rail and glass content cards. */
.stakeholder-detail .stakeholder-detail-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 24px; align-items: stretch; }
.stakeholder-detail .stakeholder-detail-row__rail { position: relative; display: flex; align-items: flex-start; justify-content: center; padding-top: 24px; }
.stakeholder-detail .stakeholder-detail-row__rail::before { content: ""; position: absolute; left: 50%; top: 64px; bottom: -24px; width: 1px; background: linear-gradient(var(--business-card-accent), var(--nssf-purple)); }
.stakeholder-detail .stakeholder-detail-row__rail::after { content: ""; position: absolute; left: 50%; right: -24px; top: 64px; height: 1px; background: var(--business-card-accent); }
.stakeholder-detail .stakeholder-detail-row__rail .nssf-icon-blob { --card-accent: var(--business-card-accent); --card-accent-rgb: var(--business-card-accent-rgb, 24, 66, 143); }
.stakeholder-detail .stakeholder-detail-row--impact-up .stakeholder-detail-row__rail::before { top: -24px; bottom: auto; height: 80px; }
.stakeholder-detail .stakeholder-detail-row--impact-up .stakeholder-detail-row__rail::after { top: 56px; }
.stakeholder-detail .committee-impact-icon { position: relative; z-index: 1; width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%; color: var(--bs-success); background: #fff; box-shadow: 0 8px 24px rgba(var(--business-card-accent-rgb, 24, 66, 143), .12); }
.stakeholder-detail article[aria-label="Capitals affected"] .risk-card__capital-icons img { width: 48px; height: 48px; object-fit: contain; }
.stakeholder-detail article[aria-label="Capitals affected"] .card-body { flex-flow: row nowrap !important; justify-content: flex-start !important; text-align: left !important; }
.stakeholder-detail article[aria-label="Capitals affected"] .risk-card__capital-icons { margin-left: 0; justify-content: flex-start !important; }
.committee-stat-box { height: 58px !important; }
.committee-count-box { width: 58px; min-width: 58px; }
[aria-label="Attendance and meetings"] > div { display: flex; flex-direction: column; align-items: flex-end; }
[aria-label="Attendance and meetings"] p { width: 100%; text-align: right; }
.stakeholder-detail .committee-flow-card { position: relative; }
.stakeholder-detail .committee-flow-card::before { content: ""; position: absolute; left: 56px; bottom: -24px; width: 1px; height: 24px; background: var(--nssf-blue); }
.stakeholder-detail .committee-flow-card--green::before,
.stakeholder-detail .committee-impact-spine-green .stakeholder-detail-row__rail::before,
.stakeholder-detail .committee-impact-spine-green .stakeholder-detail-row__rail::after { background: var(--nssf-green); }
@media (min-width: 768px) {
    .committee-priority-pair > .col-md-6:first-child article { position: relative; }
    .committee-priority-pair > .col-md-6:first-child article::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 100%;
        width: 24px;
        height: 1px;
        background: var(--nssf-teal);
        pointer-events: none;
    }
}
.page-our-governance .publication-sidebar .chapter-sidebar__list::before {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, .62),
        rgba(255, 255, 255, .28)
    );
}
@media (min-width: 992px) {
    .page-chapter .publication-sidebar .chapter-sidebar__link {
        min-height: 3.35rem;
    }
}
.report-inline-link,
.report-inline-link:visited { color: var(--nssf-blue); font-weight: 700; text-decoration: none; }
.report-inline-link:hover,
.report-inline-link:focus-visible,
.report-inline-link:active { color: var(--nssf-teal); text-decoration: none; }
@media (min-width: 768px) {
    .committee-reference-row > [class*="col-"] { position: relative; }
    .committee-reference-row > [class*="col-"]:not(:last-child)::after {
        content: "";
        position: absolute;
        z-index: 2;
        top: 50%;
        right: -12px;
        width: 24px;
        height: 1px;
        background: var(--nssf-teal);
    }
}
.stakeholder-detail .stakeholder-detail-row li:last-child { margin-bottom: 0 !important; }
@media (max-width: 767.98px) {
    .stakeholder-detail .stakeholder-detail-row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .stakeholder-detail .stakeholder-detail-row__rail { justify-content: flex-start; padding: 12px 0 0 12px; }
    .stakeholder-detail .stakeholder-detail-row__rail::before, .stakeholder-detail .stakeholder-detail-row__rail::after { display: none; }
    .stakeholder-detail .stakeholder-detail-row__rail .nssf-icon-blob { width: 56px; height: 56px; }
}
/* Regulator detail: transparent white surfaces and unclipped risk/SDG icons. */
.stakeholder-detail .card:not(.nssf-white-glass-card):not(.nssf-split-pill--gradient-border),
.stakeholder-detail .risk-card__header,
.stakeholder-detail .risk-card__body { background: rgba(255,255,255,.55); background-image: none; }
.stakeholder-detail .card:not(.nssf-white-glass-card) { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.stakeholder-detail .risk-card__detail { overflow: visible; }
.stakeholder-detail .risk-card__detail:not(.stakeholder-detail__summary) {
    min-height: 0;
    height: auto;
}
.stakeholder-detail .risk-card__detail .list-unstyled > li:last-child {
    margin-bottom: 0 !important;
}
.stakeholder-detail .risk-card__header {
    padding: var(--nssf-card-padding);
    border-bottom: 1px solid transparent;
    border-image: var(--nssf-divider-gradient) 1;
}
.stakeholder-detail .stakeholder-detail__group-icon { object-fit: contain; }
.stakeholder-detail .stakeholder-detail__risk-icon { display: block; object-fit: contain; width: 20px; height: 20px; margin: 3px 0 0; }
.stakeholder-detail .risk-card__title { min-width: 0; }
@media (max-width: 767.98px) {
    .stakeholder-detail .stakeholder-detail__group-icon { width: 64px; height: 64px; }
}
/* Compact SDGs and top-aligned relationship summary headings. */
.stakeholder-detail .stakeholder-detail__summary .card-body { display: flex; flex-direction: column; justify-content: flex-start; }
.stakeholder-detail .stakeholder-detail__sdgs .sdg-goal { width: 76px; height: 76px; margin: 0; }
.stakeholder-detail .stakeholder-detail__sdgs .sdg-goal__image { width: 48px; height: 48px; }
/* Relationship status pill matches the SDG image height. */
.stakeholder-detail .stakeholder-detail__status-pill { min-height: 48px; font-size: 14px; line-height: 1.3; }

/* Regulator outer card: soft shadow instead of the offset backing layer. */
.stakeholder-detail .risk-card.card::before { content: none; }
.stakeholder-detail .risk-card.card { box-shadow: 0 12px 32px rgba(24, 66, 143, 0.10); }
/* Sustainability: readable active topic text on the green navigation. */
.page-our-sustainability { --toolbar-topic-colour: #fff; }
.page-our-sustainability .report-toolbar__topic-number,
.page-our-sustainability .report-toolbar__topic-name { color: #fff !important; }
/* Sustainability active topic: white circle, matching the other chapters. */
.page-our-sustainability .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__number {
    color: #28652d !important;
    background: #fff;
    border-color: rgba(255,255,255,.82);
    box-shadow: inset 0 0 0 1px rgba(40,101,45,.12), 0 0 0 4px rgba(255,255,255,.18), 0 0 16px rgba(255,255,255,.36);
}
.page-our-sustainability .publication-sidebar .chapter-sidebar__link.is-active {
    color: #fff;
    border-color: transparent;
    background: transparent;
}
/* Sustainability video entrance: the shared video layout in chapter green. */
.report-hero--our-sustainability .report-hero__media::after {
    background: linear-gradient(180deg, rgba(0,27,61,.92), rgba(24,66,70,.89) 40%, rgba(40,101,45,.86) 72%, rgba(108,190,69,.84));
}
.report-hero--our-sustainability .report-hero__media::before {
    background: linear-gradient(135deg, rgba(163,218,244,.5), rgba(108,190,69,.34) 72%, rgba(108,190,69,0));
}
/* Chairman quote: compact version of the approved focus-card gradient. */
.chairman-quote-gradient { position: relative; overflow: hidden; background: linear-gradient(110deg, #89c963 0%, #7ebd70 45%, #438b98 100%); }
.chairman-quote-gradient::before { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: rgba(255,255,255,.12); top: -130px; right: -30px; }
/* Chairman vision rows: open icon rail with thin connectors. */
:is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card {
    --chairman-icon-size: 110px;
    position: relative;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}
:is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card .nssf-icon-size {
    --nssf-icon-box: var(--chairman-icon-size);
    --nssf-icon-glyph: var(--chairman-icon-size);
}
:is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::before,
:is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::after { content: ""; position: absolute; pointer-events: none; }
@media (min-width: 992px) {
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::before,
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::after {
        top: 50%; width: calc(50% - var(--chairman-icon-size) / 2 - 10px + var(--bs-gutter-x)); height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::before { right: calc(50% + var(--chairman-icon-size) / 2 + 10px); }
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::after { left: calc(50% + var(--chairman-icon-size) / 2 + 10px); }
}
@media (max-width: 991.98px) {
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card { --chairman-icon-size: 90px; }
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::before,
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::after {
        left: 50%; width: 1px; height: calc(50% - var(--chairman-icon-size) / 2 - 10px + var(--bs-gutter-y));
        background: linear-gradient(var(--nssf-blue), var(--nssf-teal));
    }
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::before { bottom: calc(50% + var(--chairman-icon-size) / 2 + 10px); }
    :is(#chairman-vision-and-growth, #internal-values-launch) .audit-focus-icon-card::after { top: calc(50% + var(--chairman-icon-size) / 2 + 10px); }
}/* Internal environment: editable values wheel and stacked value cards. */
#internal-organisational-values .values-launch__circle { display: block; width: 100%; height: auto; font-family: inherit; }
:is(#internal-organisational-values, #enterprise-partnerships, #enterprise-awareness, #enterprise-intelligence, #enterprise-scaling, #sustainability-vision) .values-launch__card { border-radius: 24px; background: rgba(255,255,255,.75); box-shadow: 0 12px 32px rgba(24,66,143,.07); }
#internal-organisational-values .values-launch__label { color: var(--card-accent); font-size: 18px; margin: 0 0 8px; }
@media (max-width: 575.98px) {
    #internal-organisational-values .values-launch__card .card-body { gap: 16px !important; padding: var(--nssf-card-padding) !important; }
}
/* Let the four-card stack determine the desktop wheel height. */
#internal-organisational-values .values-launch__wheel-column { position: relative; }
#internal-organisational-values .values-launch__circle { transform-origin: center; animation: values-wheel-arrive 900ms ease-out both, values-wheel-pulse 5s ease-in-out 900ms infinite; }
#internal-organisational-values .values-launch__circle linearGradient stop:last-child { animation: values-gradient-glow 5s ease-in-out infinite alternate; }
@media (min-width: 992px) {
    #internal-organisational-values .values-launch__circle { position: absolute; inset: 0; width: 100%; height: 100%; }
}
@keyframes values-wheel-arrive { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
@keyframes values-gradient-glow { from { stop-opacity: 1; } to { stop-opacity: .7; } }
@media (prefers-reduced-motion: reduce) {
    #internal-organisational-values .values-launch__circle,
    #internal-organisational-values .values-launch__circle linearGradient stop:last-child { animation: none; }
}

@keyframes values-wheel-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }
@media (min-width: 992px) {
    #internal-values-launch .internal-values-photo > button { position: absolute; inset: 0; }
    #internal-values-launch .internal-values-photo > button > img { height: 100%; }
}
@media (max-width: 991.98px) {
    #internal-values-launch .internal-values-photo > button { aspect-ratio: 3 / 4; }
}
/* Values wheel: left aligned, with softly fading links into each card. */
@media (min-width: 992px) {
    #internal-organisational-values .values-launch__circle { transform-origin: left center; }
    #internal-organisational-values .values-launch__card { position: relative; overflow: visible; }
    #internal-organisational-values .values-launch__card::before {
        content: "";
        position: absolute;
        right: 100%;
        top: 50%;
        width: clamp(48px, 14vw, 280px);
        height: 1px;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(var(--card-accent-rgb), .015), rgba(var(--card-accent-rgb), .5));
    }
}
/* Soft movement from the values wheel towards the cards. */
@media (min-width: 992px) {
    #internal-organisational-values .values-launch__card::before {
        background-image: linear-gradient(90deg, transparent, rgba(var(--card-accent-rgb), .55), transparent), linear-gradient(90deg, rgba(var(--card-accent-rgb), .015), rgba(var(--card-accent-rgb), .5));
        background-size: 35% 100%, 100% 100%;
        background-repeat: no-repeat;
        animation: values-line-flow 4s ease-in-out infinite;
    }
    #internal-organisational-values .values-launch__card:nth-child(2)::before { animation-delay: .4s; }
    #internal-organisational-values .values-launch__card:nth-child(3)::before { animation-delay: .8s; }
    #internal-organisational-values .values-launch__card:nth-child(4)::before { animation-delay: 1.2s; }
}
@keyframes values-line-flow {
    0% { background-position: -60% 0, 0 0; }
    75%, 100% { background-position: 160% 0, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    #internal-organisational-values .values-launch__card::before { animation: none; background-image: linear-gradient(90deg, rgba(var(--card-accent-rgb), .015), rgba(var(--card-accent-rgb), .5)); background-size: 100% 100%; }
}
/* Centre the engagement image and wording against one another. */
#internal-employee-engagement > .col-lg-3 { align-items: center; }
#internal-employee-engagement > .col-lg-7 > article { display: flex; flex-direction: column; justify-content: center; }
#internal-employee-engagement > .col-lg-7 > article > .h-100 { height: auto !important; }
/* Image-only lightboxes; captions stay in the blue dropdown buttons. */
:is(#internal-landing-lightbox, #internal-values-photo-lightbox, #internal-tree-lightbox) .modal-content { background: transparent; box-shadow: none; border: 0; }
:is(#internal-landing-lightbox, #internal-values-photo-lightbox, #internal-tree-lightbox) .modal-body { padding: 0 !important; position: relative; }
:is(#internal-landing-lightbox, #internal-values-photo-lightbox, #internal-tree-lightbox) .btn-close { position: absolute; right: 12px; top: 12px; z-index: 2; margin: 0 !important; background-color: white; border-radius: 50%; padding: 10px; opacity: 1; }
.page-internal-environment .internal-landing-caption-button { margin: 0 0 24px; z-index: 3; }
/* Shared report image lightbox: image only, with one circular close control. */
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-dialog {
    width: fit-content;
    max-width: calc(100vw - 64px);
    margin: 30px auto;
    min-height: calc(100% - 60px);
    align-items: center;
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-content {
    position: relative;
    width: fit-content;
    max-height: none;
    overflow: visible;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-header { display: contents; }
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-body {
    flex: none;
    position: static !important;
    padding: 0 !important;
    overflow: visible;
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-body figure { margin: 0; }
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-body img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: calc(100vw - 64px) !important;
    max-height: calc(100dvh - 100px) !important;
    object-fit: contain;
    margin: 0 auto !important;
    border-radius: 20px !important;
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) :is(.modal-title, .modal-body p, figcaption, .modal-footer) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%);
    white-space: nowrap;
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .btn-close {
    position: absolute !important;
    top: 12px !important;
    right: -18px !important;
    z-index: 5 !important;
    width: 18px;
    height: 18px;
    padding: 9px !important;
    margin: 0 !important;
    border-radius: 50%;
    background-color: #fff !important;
    filter: none !important;
    opacity: 1;
    box-shadow: 0 2px 10px rgba(0,0,0,.1);
}
:is(.modal:has(.modal-body img), .report-graphic-lightbox) .btn-close:focus-visible { outline: 3px solid #00a8bc; outline-offset: 3px; }
@media (max-width: 575.98px) {
    :is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-dialog { max-width: calc(100vw - 40px); }
    :is(.modal:has(.modal-body img), .report-graphic-lightbox) .modal-body img { max-width: calc(100vw - 40px) !important; border-radius: 14px !important; }
    :is(.modal:has(.modal-body img), .report-graphic-lightbox) .btn-close { right: -12px !important; }
}
/* A distinct glass surface for the internal environment conclusion. */
.page-internal-environment .internal-conclusion-card {
    background: linear-gradient(125deg, rgba(236, 244, 250, .85), rgba(255, 255, 255, .72));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 12px 32px rgba(24, 66, 143, .12), inset 0 1px 0 rgba(255, 255, 255, .95);
}
/* Eight SDGs: compact desktop spacing and two per row on mobile. */
.page-navigating-our-report .sdg-goal--09 { animation-delay: -2s; }
.page-navigating-our-report .sdg-journey > .sdg-goal-col { min-width: 0; }
@media (min-width: 992px) {
    .page-navigating-our-report .sdg-goal { width: clamp(88px, 8vw, 140px); height: clamp(88px, 8vw, 140px); }
    .page-navigating-our-report .sdg-goal__image { width: clamp(54px, 5vw, 88px); height: clamp(54px, 5vw, 88px); }
}
@media (max-width: 991.98px) {
    .page-navigating-our-report .sdg-journey > .sdg-goal-col { flex: 0 0 50%; width: 50%; margin-left: 0; }
    .page-navigating-our-report .sdg-goal { width: 110px; height: 110px; }
    .page-navigating-our-report .sdg-goal__image { width: 68px; height: 68px; }
    .page-navigating-our-report .sdg-goal__halo-outer { inset: -7px; }
}
/* Mandate on short desktop screens: retain the full-size design and let it scroll. */
@media (min-width: 768px) and (max-height: 800px) {
    .page-our-business #our-mandate > .publication-spread__content { height: auto; min-height: 100%; }
    .page-our-business #our-mandate .report-section { height: auto; min-height: 100%; padding-bottom: 60px; }
    .page-our-business #our-mandate .report-section__container { flex-shrink: 0; }
    .page-our-business #our-mandate .report-section__container > * { flex-shrink: 0; }
    .page-our-business #our-mandate .business-mandate-grid { margin-top: 0; }
    .page-our-business #our-mandate .report-section__container > .flex-grow-1 { margin-top: 40px; }
}
/* Mandate: matching start positions for icons, headings and body copy. */
.page-our-business #our-mandate .business-mandate-card > .card-body {
    justify-content: flex-start !important;
}
.page-our-business #our-mandate .business-mandate-card__blob { flex-shrink: 0; }

/* Contents read down each column, with natural spacing for wrapped labels. */
/* Progress cards grow with their copy; the spread scrolls to its Up next link. */
#operating-context-progress > .publication-spread__content {
    height: auto;
    min-height: 100%;
}
#operating-context-progress .report-section {
    height: auto;
    min-height: 100%;
    padding-bottom: 60px;
}
#operating-context-progress .report-section__container,
#operating-context-progress .report-section__container > * { flex-shrink: 0; }
#operating-context-progress .business-highlight-card { aspect-ratio: auto; }
#operating-context-progress .business-highlight-card .card-body {
    gap: 20px;
}
#operating-context-progress .business-highlight-card .business-highlight-card__blob { flex-shrink: 0; }
#operating-context-progress .business-highlight-card__meta span { font-size: clamp(22px, 2vw, 32px); }
#operating-context-progress .business-highlight-card strong {
    margin-top: 0;
    font-size: clamp(30px, 3vw, 56px);
    line-height: 1.2;
}
#operating-context-progress .business-highlight-card strong > .operating-number-box {
    white-space: normal;
    margin-top: 10px;
}
#operating-context-progress .business-highlight-card strong > small {
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1.25;
    font-weight: 700;
}

.contents-mega-menu__topics--split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: column;
    column-gap: 1.5rem;
}
[aria-labelledby="contents-report-overview"] .contents-mega-menu__topics--split,
[aria-labelledby="contents-our-strategy"] .contents-mega-menu__topics--split {
    grid-template-rows: repeat(4, auto);
}
[aria-labelledby="contents-our-business"] .contents-mega-menu__topics--split {
    grid-template-rows: repeat(6, auto);
}
[aria-labelledby="contents-our-sustainability"] .contents-mega-menu__topics--split {
    grid-template-rows: repeat(6, auto);
}
@media (max-width: 1199.98px) {
    [aria-labelledby="contents-our-sustainability"] .contents-mega-menu__topics--split {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        grid-auto-flow: row;
    }
}
[aria-labelledby="contents-our-governance"] .contents-mega-menu__topics--split {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-flow: row;
}
.contents-mega-menu__topics--split > :is(a, .contents-stakeholder-group) {
    min-width: 0;
    margin-bottom: 0.25rem;
}
.offcanvas.contents-mega-menu .contents-mega-menu__body {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--nssf-teal) 60%, transparent) transparent;
}
.offcanvas.contents-mega-menu .contents-mega-menu__body::-webkit-scrollbar {
    width: 4px;
    height: 0;
}
.offcanvas.contents-mega-menu .contents-mega-menu__body::-webkit-scrollbar-track {
    background: transparent;
}
.offcanvas.contents-mega-menu .contents-mega-menu__body::-webkit-scrollbar-thumb {
    min-height: 3rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--nssf-blue), var(--nssf-teal));
}
.offcanvas.contents-mega-menu .contents-mega-menu__body::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--nssf-teal), var(--nssf-blue));
}
.offcanvas.contents-mega-menu .contents-mega-menu__body::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}
.offcanvas.contents-mega-menu .contents-mega-menu__body > .container-fluid {
    height: auto;
    min-height: 100%;
}
.offcanvas.contents-mega-menu .contents-mega-menu__navigation > .row {
    height: auto;
    grid-template-rows: none;
    grid-auto-rows: auto;
    --bs-gutter-y: 0;
    column-gap: 1.625rem;
    row-gap: 1.5rem;
}
.offcanvas.contents-mega-menu .contents-mega-menu__chapter {
    height: 100%;
    min-height: 24rem;
    overflow: hidden;
    border: 0;
    box-shadow: 0 12px 30px rgba(24, 66, 143, .12);
    background:
        radial-gradient(
            circle at calc(100% - 1.25rem) calc(100% + 1.25rem),
            color-mix(in srgb, var(--chapter-colour) 12%, transparent) 0 4.5rem,
            transparent 4.6rem
        ),
        #fff;
}
.offcanvas.contents-mega-menu .contents-mega-menu__chapter::before {
    right: .75rem;
    left: .75rem;
    border-radius: 0 0 999px 999px;
}
.offcanvas.contents-mega-menu .contents-mega-menu__chapter:hover {
    border-color: transparent;
}
@media (min-width: 1200px) {
    .offcanvas.contents-mega-menu .contents-mega-menu__navigation > .row > :nth-child(-n+3) .contents-mega-menu__chapter {
        min-height: 18rem;
    }
}

/* East Africa summary: square map and responsive country cards. */
#regional-overview .east-africa-story {
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(24,66,143,.08);
}
#regional-overview .east-africa-story__map {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    background: #f5fafc;
    border-radius: 18px;
    overflow: hidden;
}
#regional-overview .east-africa-story__map img { width: 100%; height: 100%; object-fit: contain; }
#regional-overview .east-africa-story__period { white-space: nowrap; font-size: 14px; letter-spacing: 0; }
#regional-overview .east-africa-story__number { animation: east-africa-number-glow 4s ease-in-out infinite; }
#regional-overview .nssf-theme-turquoise .east-africa-story__number { animation-delay: .4s; }
#regional-overview .nssf-theme-green .east-africa-story__number { animation-delay: .8s; }
@keyframes east-africa-number-glow {
    0%, 100% { transform: scale(1); box-shadow: 0 3px 10px rgba(24,66,143,.08); }
    50% { transform: scale(1.025); box-shadow: 0 6px 18px rgba(24,66,143,.22); }
}
@media (prefers-reduced-motion: reduce) {
    #regional-overview .east-africa-story__number { animation: none; }
}
#regional-overview .east-africa-story__indicator .card-body {
    display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 16px;
}
#regional-overview .east-africa-story__indicator .nssf-icon-blob { width: 72px; height: 72px; flex-shrink: 0; margin-bottom: 20px; }
#regional-overview .east-africa-story__indicator .nssf-icon-blob i { font-size: 28px; }
#regional-overview .east-africa-story__number {
    display: inline-block; padding: 6px 12px; border-radius: 8px; background: #18428f; color: white;
    font-size: clamp(30px, 3vw, 48px); line-height: 1.15;
}
.page-external-environment #regional-overview > .publication-spread__content { height: auto; min-height: 100%; }
.page-external-environment #regional-overview .report-section { height: auto; min-height: 100%; padding-bottom: 60px; }
.page-external-environment #regional-overview .report-section__container { flex-shrink: 0; padding-top: 0; }

/* Retirement stages: full-width copy, larger portraits and closing navigation. */
.page-retirement-journey .retirement-stage .retirement-stage__content { width: 100%; max-width: none; }
.page-retirement-journey .retirement-stage .retirement-stage__content :is(.report-section__text, .retirement-stage__list, .retirement-stage__belief, .retirement-stage__links) { max-width: none; }
.page-retirement-journey .retirement-stage .retirement-stage__visual { width: 200px; height: 200px; }
.page-retirement-journey .retirement-stage__closing { display: flex; align-items: center; gap: 32px; margin-top: 40px; }
.page-retirement-journey .retirement-stage__closing .retirement-intro-panel__guide { flex: 1; max-width: none; }
.page-retirement-journey .retirement-stage__closing .report-section__next { flex-shrink: 0; margin: 0; padding: 0; }
@media (max-width: 991.98px) {
    .page-retirement-journey .retirement-stage__closing { flex-direction: column; align-items: stretch; }
    .page-retirement-journey .retirement-stage__closing .report-section__next { align-self: flex-end; }
}
@media (max-width: 767.98px) {
    .page-retirement-journey .retirement-stage .retirement-stage__visual { width: 140px; height: 140px; }
}

/* Employee communication: proportional gender representation bars. */
#employee-communication .employee-gender-chart {
    border-radius: 20px;
    background: transparent;
}
#employee-communication .employee-gender-bar {
    display: grid;
    min-height: 48px;
    overflow: hidden;
    border-radius: 999px;
}
#employee-communication .employee-gender-bar--managers { grid-template-columns: 71fr 29fr; }
#employee-communication .employee-gender-bar--employees { grid-template-columns: 53fr 47fr; }
#employee-communication .employee-gender-bar > span {
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: left center;
    animation: employeeGenderReveal 900ms ease-out both;
}
#employee-communication .employee-gender-bar > span:nth-child(2) { animation-delay: 180ms; }
@keyframes employeeGenderReveal {
    from { opacity: 0; transform: scaleX(0.15); }
    to { opacity: 1; transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    #employee-communication .employee-gender-bar > span { animation: none; }
}

/* Employee learning: seven programmes inside the shared employee outer card. */
#employee-training-development > .publication-spread__content { height: auto; min-height: 100%; }
#employee-training-development .report-section { height: auto; min-height: 100%; padding-bottom: 60px; }
#employee-training-development .report-section__container { flex-shrink: 0; }
#employee-training-development .employee-health-outer {
    width: 100%; border: 0; border-radius: 24px;
    background: linear-gradient(135deg, rgba(24,66,143,.035), rgba(255,255,255,.82) 48%, rgba(101,45,145,.035));
    box-shadow: 0 12px 32px rgba(24,66,143,.065);
}
#employee-training-development .employee-learning-body { padding: 24px; }
#employee-training-development :is(.report-section__title, .report-section__text, .employee-learning-copy) { max-width: none; }
#employee-training-development .employee-learning-body { color: var(--nssf-blue); }
#employee-training-development .report-section__text { color: var(--nssf-blue); }
.employee-learning-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.employee-learning-card {
    --learning-colour: #18428f; --learning-tint: rgba(24,66,143,.07);
    display: flex; align-items: center; gap: 24px; padding: 28px;
    border-radius: 20px; background: linear-gradient(135deg, #fff, var(--learning-tint));
    border: 0;
    box-shadow: 0 8px 24px rgba(24,66,143,.08);
}
.employee-learning-card--teal { --learning-colour: #008c9c; --learning-tint: rgba(0,168,188,.08); }
.employee-learning-card--purple { --learning-colour: #652d91; --learning-tint: rgba(101,45,145,.07); }
.employee-learning-icon { display: grid; place-items: center; flex: 0 0 60px; height: 60px; border-radius: 50%; color: var(--learning-colour); background: var(--learning-tint); }
.employee-learning-copy { min-width: 0; }
@media screen and (prefers-reduced-motion: no-preference) {
    .employee-learning-icon > :is(i, svg) { animation: nssf-report-icon-float 3.6s ease-in-out infinite; }
    .employee-learning-card:nth-child(2n) .employee-learning-icon > :is(i, svg) { animation-delay: -1.2s; }
    .employee-learning-card:nth-child(3n) .employee-learning-icon > :is(i, svg) { animation-delay: -2.4s; }
}
.employee-learning-card:last-child { grid-column: 1 / -1; }
.employee-learning-outcome { padding: 24px; border-left: 4px solid #652d91; border-radius: 0 16px 16px 0; background: rgba(101,45,145,.055); }
@media (max-width: 1199.98px) {
    .employee-learning-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
    #employee-training-development .report-section__container { padding-left: 30px; padding-right: 30px; }
    #employee-training-development .report-section__title { font-size: 25px; }
    #employee-training-development .employee-learning-body { padding: 20px; }
    .employee-learning-card { flex-direction: column; align-items: flex-start; padding: 20px; gap: 16px; }
    .employee-learning-icon { flex-basis: auto; width: 52px; height: 52px; }
}

/* Shared white-glass content card. Existing nssf-theme-* classes supply accents. */
#business-purpose-in-action .purpose-value-link h3 { color: var(--card-accent); }
#business-purpose-in-action .purpose-value-link article::after { display: none; }
@media (min-width: 1200px) {
    #business-purpose-in-action .report-section__container > .row { container-type: inline-size; }
    #business-purpose-in-action .purpose-value-list { padding-left: 40px; padding-right: max(0px, calc(20.833333cqw - 24px - 14.5rem)); }
    #business-purpose-in-action .purpose-value-link::before { content: ""; position: absolute; right: 100%; top: 50%; width: 180px; height: 1px; background: linear-gradient(to right, transparent, rgba(var(--card-accent-rgb), .55)); }
}
:root { --nssf-card-padding: 24px; }
.responsible-investment-label { width: 96px; white-space: nowrap; }
.responsible-card-stack { gap: 40px; }
.responsible-review-cards { --bs-gutter-y: 0; row-gap: 40px; }
.responsible-assessment-row .shared-value-card-connector,
.responsible-assessment-row .card.rounded-3 { background: var(--card-accent) !important; }
.responsible-assessment-row :is(.report-section__card-title, .material-process-icon, .material-process-heading-icon),
.responsible-assessment-row :is(.material-process-icon, .material-process-heading-icon) > :is(i, svg) { color: var(--card-accent) !important; }
.responsible-investment-steps > article:not(:last-child)::before {
    content: "";
    position: absolute;
    left: calc(25% - 62px);
    top: 100%;
    width: 1px;
    height: 40px;
    background: var(--card-accent);
}
@media (max-width: 991.98px) {
    .responsible-investment-steps > article:not(:last-child)::before { left: auto; right: 62px; }
}
.page-business-model-detail .business-model-legend { background: linear-gradient(110deg, #03314d, #18428f); }
.business-capital-toggle__sign::before { content: "−"; }
.business-capital-toggle.collapsed .business-capital-toggle__sign::before { content: "+"; }
.business-capital-connected-row > div:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 58px;
    right: -12px;
    width: 24px;
    height: 1px;
    background: var(--card-accent);
    pointer-events: none;
}
@media (max-width: 991.98px) {
    .business-capital-connected-row > div:not(:last-child)::after {
        top: auto;
        bottom: -24px;
        left: 40px;
        right: auto;
        width: 1px;
        height: 24px;
    }
}
.page-business-model-detail .business-capital-divider {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--card-accent) 35%, var(--card-accent) 65%, transparent);
}
.page-business-model-detail .business-legend-link {
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    flex-shrink: 0;
}
.page-business-model-detail .business-stakeholder-legend::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 32px;
    height: 40px;
    width: 1px;
    background: linear-gradient(var(--nssf-teal), var(--nssf-blue));
}
.page-business-model-detail [id^="business-value-"] .row > .col-12:has(> article) {
    position: relative;
}
.page-business-model-detail [id^="business-value-"] .row > .col-12:has(> article):not(:last-child)::after {
    content: "";
    position: absolute;
    left: 44px;
    bottom: -24px;
    width: 1px;
    height: 24px;
    background: linear-gradient(var(--nssf-blue), var(--nssf-teal));
    pointer-events: none;
}
@media (max-width: 767.98px) {
    .page-business-model-detail .business-legend-link { width: 1px; height: 16px; margin-left: 32px; }
}
@media (min-width: 768px) {
    :root { --nssf-card-padding: 30px; }
}
.nssf-white-glass-card {
    --bs-card-spacer-x: var(--nssf-card-padding);
    --bs-card-spacer-y: var(--nssf-card-padding);
    position: relative;
    isolation: isolate;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: transparent;
    color: var(--nssf-blue);
    box-shadow: none;
}
.nssf-white-glass-card > .card-body {
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(24,66,143,.12);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.nssf-white-glass-card > .card-body,
.nssf-shimmer-surface,
#strategy-values .card.shadow-sm,
[aria-labelledby="strategic-investments-heading"] .assurance-capital {
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(252,252,252,.98), rgba(255,255,255,.96));
    background-size: 250% 250%;
    -webkit-backdrop-filter: blur(6px) saturate(140%);
    backdrop-filter: blur(6px) saturate(140%);
}
.nssf-white-glass-card :is(.report-section__text, .report-section__title) { max-width: none; }
.text-gradient-purple-blue {
    background: linear-gradient(90deg, var(--nssf-purple), var(--nssf-blue));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.nssf-white-glass-card .report-section__card-title:has(> .nssf-icon-blob) {
    color: var(--card-accent, var(--nssf-blue));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.nssf-white-glass-card .report-section__card-title > .nssf-icon-blob--sm {
    flex-shrink: 0;
    margin: .55rem;
}
.nssf-report-row .nssf-white-glass-card > .card-body {
    justify-content: flex-start;
}
/* One reporting-universe layout for review before applying to other report types. */
.reporting-universe-pilot::after { content: none; }
.reporting-universe-compact .reporting-universe-purpose-link .report-section__card-title {
    color: var(--card-accent) !important;
}
.reporting-universe-compact .nssf-icon-blob--sm {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    margin: .55rem;
}
.reporting-universe-purpose-link::after {
    content: "";
    position: absolute;
    pointer-events: none;
    left: 42px;
    top: 100%;
    width: 1px;
    height: var(--bs-gutter-y);
    background: var(--card-accent);
}
.reporting-universe-cover-link::after {
    content: "";
    position: absolute;
    pointer-events: none;
    left: 42px;
    top: 100%;
    width: 1px;
    height: var(--bs-gutter-y);
    background: var(--card-accent);
}
@media (min-width: 992px) {
    .reporting-universe-cover-link::after {
        left: calc(100% - var(--bs-gutter-x) / 2);
        top: 50%;
        width: var(--bs-gutter-x);
        height: 1px;
    }
}
.reporting-universe-purpose::after {
    content: "";
    position: absolute;
    pointer-events: none;
    top: 50%;
    left: calc(100% - var(--bs-gutter-x) / 2);
    width: var(--bs-gutter-x);
    height: 1px;
    background: linear-gradient(90deg, var(--card-accent), rgba(var(--card-accent-rgb), .25));
}
@media (max-width: 767.98px) {
    .reporting-universe-purpose::after {
        top: 100%;
        left: 42px;
        width: 1px;
        height: 30px;
        background: linear-gradient(var(--card-accent), rgba(var(--card-accent-rgb), .25));
    }
    .reporting-universe-audience::after { height: 30px !important; }
}
.nssf-report-row.reporting-universe-pilot > [class*="col-"] { padding-top: 0; padding-bottom: 0; }
.reporting-universe-audience span.rounded-pill { background: rgba(var(--card-accent-rgb), .13); color: var(--nssf-blue); font-weight: 700; }
.reporting-universe-audience .text-turquoise { color: var(--card-accent) !important; }
.reporting-universe-audience .report-section__card-title { color: var(--card-accent); }
.reporting-universe-audience > .card > .d-flex {
    flex-direction: column; align-items: flex-start !important;
    gap: 12px !important; padding: 16px 24px !important;
}
.reporting-universe-audience .report-section__text { width: 100%; }
@media (min-width: 1200px) {
    .reporting-universe-audience > .card > .d-flex { flex-wrap: nowrap !important; gap: 12px !important; padding-inline: 16px !important; }
    .reporting-universe-audience .text-turquoise { flex-shrink: 0; }
    .reporting-universe-audience .report-section__text { gap: 6px !important; flex: 1 1 auto; min-width: 0; }
    .reporting-universe-audience span.rounded-pill { flex: 0 1 auto; text-align: center; }
    .reporting-universe-audience span.rounded-pill { padding-inline: 10px !important; }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
    .reporting-universe-audience > .card > .d-flex { gap: 12px !important; padding-inline: 16px !important; }
    .reporting-universe-audience .report-section__text { flex-wrap: wrap !important; gap: 6px !important; }
    .reporting-universe-audience span.rounded-pill { padding-inline: 10px !important; font-size: 14px; letter-spacing: 0; white-space: normal; }
}
.reporting-universe-audience::after {
    content: ""; position: absolute; left: 42px;
    top: 100%; width: 1px;
    height: var(--bs-gutter-y);
    background: linear-gradient(var(--card-accent), rgba(var(--card-accent-rgb),.25));
}
@media (min-width: 1200px) {
    .nssf-theme-green .reporting-universe-audience > .card > .d-flex { padding-inline: 10px !important; }
    .nssf-theme-green .reporting-universe-audience .report-section__text { gap: 4px !important; flex-wrap: nowrap !important; }
    .nssf-theme-green .reporting-universe-audience span.rounded-pill { padding-inline: 12px !important; letter-spacing: -.01em; white-space: nowrap; }
}
@media (min-width: 768px) {
    .page-report-overview-main .reporting-universe-pilot > .col-md-5 { flex: 0 0 41.666667%; width: 41.666667%; }
    .page-report-overview-main .reporting-universe-pilot > .col-md-7 { flex: 0 0 58.333333%; width: 58.333333%; }
}
.nssf-side-accent {
    --card-accent: var(--split-pill-colour, var(--process-colour, var(--nssf-blue)));
}
.nssf-white-glass-card::after,
.nssf-side-accent::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 3;
    inset: var(--card-accent-inset, 24px 0 24px auto);
    width: var(--card-accent-width, 2px);
    border-radius: 999px;
    background: linear-gradient(180deg, transparent, var(--card-accent, var(--nssf-blue)) 35%, var(--card-accent, var(--nssf-blue)) 65%, transparent);
}
.nssf-white-glass-card[data-accent-position="top"]::after,
.nssf-white-glass-card[data-accent-position="bottom"]::after,
.nssf-side-accent[data-accent-position="bottom"]::after {
    inset: 0 24px auto;
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--card-accent, var(--nssf-blue)) 35%, var(--card-accent, var(--nssf-blue)) 65%, transparent);
}
@media screen and (prefers-reduced-motion: no-preference) {
    #ambition-to-execution .commitment-card,
    .operating-milestone-card,
    .process-card.border-0 { background-size: 250% 250%; }
    .nssf-white-glass-card > .card-body,
    .nssf-shimmer-surface,
    #ambition-to-execution .commitment-card,
    .operating-milestone-card,
    .process-card.border-0,
    #strategy-values .card.shadow-sm,
    [aria-labelledby="strategic-investments-heading"] .assurance-capital { animation: nssf-white-glass-shimmer 14s ease-in-out infinite; }
}
@keyframes nssf-white-glass-shimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Report-wide card spacing. One responsive token controls all content insets.
   Zero-padding bodies remain structural: their enclosing card owns the inset.
   Portrait/overlapping-icon layouts keep the clearance their artwork requires. */
.report-section .card {
    --bs-card-spacer-x: var(--nssf-card-padding);
    --bs-card-spacer-y: var(--nssf-card-padding);
}
.report-section .card-body:not(.p-0):not(.leadership-profile__body, .risk-landscape__body),
.report-section .five-year-review__card .card-body,
.report-section :is(.nssf-split-pill__panel, .employee-learning-card) {
    padding: var(--nssf-card-padding) !important;
}
.report-section :is(.process-card, .assurance-capital, .integrity-card):not(.future-finance-image) {
    padding: var(--nssf-card-padding) !important;
}
.report-section :is(.process-card, .assurance-capital, .integrity-card) > .card-body:not(.leadership-profile__body) {
    padding: 0 !important;
}
.report-section .business-benefit-card > .card-body {
    padding-top: max(92px, var(--nssf-card-padding)) !important;
}

/* The icon's outer halo extends 1rem beyond its box. Reserve that space
   for inline card icons; timeline/rail icons retain their external placement. */
.report-section .card-body > .nssf-icon-blob {
    flex-shrink: 0;
    margin: 0 1rem 2rem;
}

/* Connect stacked content cards without adding another card surface. */
.materiality-process-connected > [class*="col-"] { position: relative; }
@media (min-width: 768px) {
    .materiality-process-connected > [class*="col-"]:not(:last-child)::after {
        content: ""; position: absolute; top: 50%; right: calc(var(--bs-gutter-x) * -.5);
        width: var(--bs-gutter-x); height: 2px; pointer-events: none;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}
@media (max-width: 767.98px) {
    .materiality-process-connected > [class*="col-"]:not(:last-child)::after {
        content:""; position:absolute; top:100%; left:50%;
        width:2px; height:70px; transform:translateX(-50%); pointer-events:none;
        background:linear-gradient(180deg,var(--nssf-blue),var(--nssf-teal));
    }
}
@media (min-width: 1200px) {
    .fy2026-connected-cards > .col-12 > .card > .card-body { position: relative; }
    .fy2026-connected-cards > .col-12 > .card > .card-body::before {
        content: ""; position: absolute; z-index: 0;
        left: calc(var(--nssf-card-padding) + 3.5rem);
        top: 0; bottom: -40px; width: 1px;
        background: var(--nssf-blue); pointer-events: none;
    }
    .fy2026-connected-cards > .col-12:first-child > .card > .card-body::before { top: 50%; }
    .fy2026-connected-cards > .col-12:last-child > .card > .card-body::before { bottom: 50%; }
    .fy2026-connected-cards .nssf-icon-blob { z-index: 1; }
}
@media (min-width: 992px) {
    #materiality .nssf-blob-card--circle { width: min(100%, 18.5rem); height: auto !important; }
}
.framework-reference .five-year-review__card { background: linear-gradient(135deg, rgba(24,66,143,.035), rgba(0,174,199,.035)); }
.framework-reference .five-year-review__table tr > :first-child { position: static; width: auto; min-width: 0; text-align: left; --review-column-colour: var(--nssf-blue); --review-column-rgb: 24,66,143; }
.framework-reference .five-year-review__table > :not(caption) > * > * { border: 0; }
.framework-reference .five-year-review__table > tbody > tr > td { background-image: linear-gradient(90deg, transparent, rgba(24,66,143,.22) 25%, rgba(24,66,143,.22) 75%, transparent); background-size: 100% 1px; background-repeat: no-repeat; background-position: bottom; }
.framework-reference .five-year-review__table > tbody > tr:last-child > td { background-image: none; }
/* Shared theme-word emphasis: a separate fading rule, matching the ESG headings. */
.theme-word-accent {
    position: relative; display: inline-block; font-weight: 700;
    text-transform: uppercase; text-decoration: none !important;
}
.theme-word-accent::after {
    content: ""; position: absolute; left: 0; bottom: -.18em;
    width: min(100%, 48px); height: 1px;
    background: linear-gradient(90deg, currentColor, transparent);
    pointer-events: none;
}
/* Balance the visible masked image and text against the landing arrows. */
@media (min-width: 992px) {
    body.page-chapter.page-navigating-our-report .topic-intro .report-section__container,
    body.page-chapter .topic-intro:has(#managing-directors-statement-heading, #chairmans-statement-heading) .report-section__container {
        --landing-balance: clamp(14px, calc(2.35vw - 10px), 28px);
        padding-left: calc(var(--report-content-gutter) + var(--landing-balance)) !important;
        padding-right: calc(var(--report-content-gutter) - var(--landing-balance)) !important;
    }
}
@media (min-width: 1600px) {
    body.page-chapter.page-navigating-our-report .topic-intro .report-section__container,
    body.page-chapter .topic-intro:has(#managing-directors-statement-heading, #chairmans-statement-heading) .report-section__container { --landing-balance: clamp(28px, calc(10vw - 132px), 60px); }
}
/* Use the same landing inset for card-wrapped copy and photo lightboxes. */
@media (min-width: 992px) {
    body.page-chapter .publication-spread .report-section .editorial-landing .editorial-landing__content { padding-left: 0 !important; }
    .page-chapter .report-section__container:has(> .editorial-landing) { padding-inline: 0 !important; }
}
@media (min-width: 992px) {
    .page-chapter .editorial-landing__visual:has(> button > .editorial-landing__image) { height: auto; aspect-ratio: var(--image-frame-ratio, 932 / 572); }
    .page-chapter .editorial-landing__visual > button > .editorial-landing__image {
        width: 77.489% !important; height: auto !important; aspect-ratio: 1362.82 / 1080;
        margin-inline: auto; object-fit: cover;
    }
}
/* Balance shared editorial landing compositions against their navigation arrows. */
@media (min-width: 992px) and (max-width: 1599.98px) {
    .page-chapter .editorial-landing { position: relative; left: 42px; }
}
@media (min-width: 1600px) {
    .page-chapter .editorial-landing { position: relative; left: clamp(42px, calc(9vw - 95px), 90px); }
}
.nssf-card-connector {
    width: 1px;
    height: 40px;
    flex-shrink: 0;
    margin-left: calc(var(--nssf-card-padding) + 40px);
    background: linear-gradient(var(--card-accent, var(--nssf-blue)), var(--nssf-teal));
}

.nssf-white-glass-card[data-accent-position="bottom"]::after,
.nssf-side-accent[data-accent-position="bottom"]::after { inset: auto 24px 0; }

.nssf-white-glass-card .resilience-card__body h2 { color: var(--card-accent); }

/* Shared top-risk pages: consistent card insets and small labels. */
.page-top-risks .report-section { --nssf-card-padding: 30px; }
.page-top-risks :is(.report-section__eyebrow, .risk-card__detail h4, .risk-card__capital > span) { font-size: 11px; }

/* In-flow portrait halos reserve their full visible footprint inside cards. */
.nssf-portrait-blob { width: clamp(100px, 10vw, 160px); height: clamp(100px, 10vw, 160px); }
.nssf-portrait-blob img { width: 75%; height: 75%; border-radius: 50%; object-fit: cover; }
.page-top-risks .risk-card__header { position: relative; }
.page-top-risks .risk-card__header::after { content: ""; position: absolute; bottom: 0; left: 30px; right: 30px; height: 1px; background: var(--nssf-divider-gradient); }

/* A tonal highlight makes rotation visible on a complete ring. */
.stewardship-donut[data-donut-full="true"]::before {
    background: conic-gradient(currentColor 0deg 235deg, color-mix(in srgb, currentColor 35%, white) 285deg, currentColor 335deg 360deg);
}

/* Governance chapter entrance: shared video window with chapter colours. */
.report-hero--our-governance .report-hero__media::after {
    background: linear-gradient(180deg, rgba(115, 41, 15, .80) 0%, rgba(190, 66, 20, .74) 30%, rgba(242, 101, 36, .70) 62%, rgba(24, 66, 143, .70) 82%, rgba(0, 104, 172, .68) 100%);
}
.report-hero--our-governance .report-hero__media::before {
    background: rgba(242, 101, 36, .32);
}

/* Stronger backdrop for the committees landing, preserving the video window. */
#committees-video-landing .report-hero__media::after {
    background: linear-gradient(180deg, rgba(115, 41, 15, .96) 0%, rgba(190, 66, 20, .94) 30%, rgba(242, 101, 36, .92) 62%, rgba(24, 66, 143, .94) 82%, rgba(0, 104, 172, .94) 100%);
}

/* Liquid metric: decorative fill behind stationary boxed figures. */
.liquid-metric {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: rgba(var(--card-accent-rgb), .08);
}
.liquid-metric__number { background: var(--card-accent); }
.liquid-metric__fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(var(--card-accent-rgb), .10), rgba(var(--card-accent-rgb), .35));
    transform-origin: left;
}
@media (prefers-reduced-motion: no-preference) {
    .liquid-metric__fill { animation: nssf-liquid-fill 9s ease-in-out infinite; }
}
@keyframes nssf-liquid-fill {
    0%, 100% { transform: scaleX(.04); }
    65%, 85% { transform: scaleX(1); }
}
/* Desktop story rails: reserve room for the full halo and align the connectors. */
@media (min-width: 992px) {
    .strategy-story-row__visual .nssf-icon-blob {
        position: absolute;
        left: 1.5rem;
        top: 50%;
        transform: translateY(-50%);
    }
    .strategy-story-row__visual::before,
    .strategy-story-row__visual::after {
        left: 4rem;
    }
    .strategy-story-row:last-child .strategy-story-row__visual::after {
        bottom: 0;
    }
    .strategy-story-row .card > .card-body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: left;
    }
    .strategy-story-row .card > .card-body > :last-child {
        margin-bottom: 0 !important;
    }
}
/* Paired governance cards share an image connection without changing card width. */
#governance-leadership-stewardship .governance-linked-card { flex: none; }
#governance-leadership-stewardship .governance-linked-card::after { left: 0; right: auto; }
@media (min-width: 992px) {
    #governance-leadership-stewardship .audit-focus-row {
        display: grid;
        grid-template-columns: calc(25% - 30px) calc(16.666667% - 33.333333px) calc(58.333333% - 16.666667px);
        gap: 24px 40px;
        margin-left: 0;
        margin-right: 0;
    }
    #governance-leadership-stewardship .audit-focus-row > :nth-child(-n+2) {
        width: auto;
        padding: 0;
        margin-top: 0;
        grid-row: 1;
        min-width: 0;
    }
    #governance-leadership-stewardship .audit-focus-row > :nth-child(3),
    #governance-leadership-stewardship .governance-linked-cards { display: contents !important; }
    #governance-leadership-stewardship .governance-linked-card { grid-column: 3; min-width: 0; }
    #governance-leadership-stewardship .governance-linked-card:first-child { grid-row: 1; }
    #governance-leadership-stewardship .governance-linked-card + .governance-linked-card { grid-row: 2; }
    #governance-leadership-stewardship .governance-linked-card::before {
        content: "";
        position: absolute;
        left: -20px;
        top: -12px;
        bottom: -12px;
        width: 20px;
        border-left: 1px solid var(--nssf-teal);
        background: linear-gradient(var(--nssf-teal), var(--nssf-teal)) center / 100% 1px no-repeat;
        pointer-events: none;
    }
    #governance-leadership-stewardship .governance-linked-card:first-child::before { top: 50%; background-position: top; }
    #governance-leadership-stewardship .governance-linked-card:last-child::before { bottom: 50%; background-position: bottom; }
    #governance-leadership-stewardship .governance-linked-card:only-child::before { height: 1px; border: 0; }
}
/* This list has its heading outside the rail, so start at the first connector. */
#governance-approach-values::before { top: 30px; }
/* Short links between the committee role and its impact card. */
@media (min-width: 992px) {
    .arc-composition-person::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 100%;
        width: 24px;
        height: 1px;
        background: var(--nssf-teal);
        pointer-events: none;
    }
}
/* A continuous rail connects the matters considered rows. */
@media (min-width: 992px) {
    .arc-matters-rail { position: relative; padding-left: 64px; }
    .arc-matters-rail::before {
        content: ""; position: absolute; left: 16px; top: 0; bottom: 0;
        width: 1px; background: linear-gradient(#c6d4e6, var(--nssf-teal), var(--nssf-purple));
    }
    .arc-matters-rail > .arc-composition-pair { position: relative; }
    .arc-matters-rail > .arc-composition-pair::before {
        content: ""; position: absolute; left: -36px; top: calc(50% + 12px);
        width: 48px; height: 1px; background: var(--nssf-grey); padding: 0; margin: 0;
    }
}

/* Continue between participation cards and finish at the last card edge. */
:is(#sustainability-participation-cards, #chairman-progress-reflections, #chairman-governance-paragraphs) .stakeholder-detail-row:not(:last-child) .stakeholder-detail-row__rail::before {
    bottom: -104px;
}
:is(#sustainability-participation-cards, #chairman-progress-reflections, #chairman-governance-paragraphs) .stakeholder-detail-row:last-child .stakeholder-detail-row__rail::before {
    bottom: 0;
}

/* Link the impact highlights without extending beyond the final icon. */
@media (min-width: 992px) {
    #cio-shared-value .report-section__container > .row > :first-child { position: relative; }
    #cio-shared-value .report-section__container > .row > :first-child::after {
        content: "";
        position: absolute;
        left: calc(100% - var(--bs-gutter-x) / 2);
        top: 50%;
        width: var(--bs-gutter-x);
        height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
        pointer-events: none;
    }
    #serving-with-impact .sustainability-impact-caption { position: relative; }
    #serving-with-impact .sustainability-impact-caption::before {
        content: "";
        position: absolute;
        left: calc(min(5rem, var(--report-blob-size, 5rem)) / 2 - 1px);
        top: -41px;
        width: 1px;
        height: 40px;
        background: linear-gradient(var(--impact-colour), rgba(var(--impact-rgb), .3));
        pointer-events: none;
    }
}
@media (min-width: 768px) {
    .sustainability-impact-path > .col:not(:last-child) > div::before {
        content: ""; position: absolute; left: 96px; right: -40px; top: 56px;
        height: 1px; background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
    }
}

/* Join the impact text and metric cards with the section's green accent. */
@media (min-width: 992px) {
    .sustainability-impact-cards > div:first-child { position: relative; }
    .sustainability-impact-cards > div:first-child::after {
        content: "";
        position: absolute;
        left: calc(100% - 12px);
        top: 50%;
        width: 24px;
        height: 1px;
        background: var(--nssf-green);
    }
}

/* Keep the impact pair on the approved NSSF chapter green. */
.sustainability-impact-cards .nssf-theme-green {
    --card-accent: var(--nssf-green);
    --card-accent-rgb: 108, 190, 69;
}
.sustainability-impact-cards .bg-green { background: var(--nssf-green); }
.sustainability-impact-cards .text-green { color: var(--nssf-green) !important; }

/* Soft translucent captions echo the connected icon halos. */
.sustainability-impact-caption {
    border: 1px solid rgba(var(--impact-rgb), .14);
    border-radius: 24px 20px 26px 18px;
    background: linear-gradient(135deg, rgba(var(--impact-rgb), .09), rgba(255,255,255,.65));
    box-shadow: 0 8px 24px rgba(var(--impact-rgb), .06);
    backdrop-filter: blur(8px);
}
.sustainability-impact-caption__text {
    position: relative;
}
.sustainability-impact-caption__text::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 1px;
    background: linear-gradient(var(--impact-colour), rgba(var(--impact-rgb), .08));
}

.sustainability-priorities-gradient {
    background: linear-gradient(120deg, #003b71, var(--nssf-blue));
    border-radius: 24px;
}

/* Equal-height impact captions with independently rotating blob outlines. */
.sustainability-impact-path > .col { display: flex; }
.sustainability-impact-path > .col > div {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.sustainability-impact-path .sustainability-impact-caption {
    flex: 1;
    display: flex;
    align-items: center;
}
.sustainability-impact-path .nssf-icon-blob { flex-shrink: 0; }
.sustainability-impact-path .nssf-icon-blob::before {
    animation: sustainability-blob-rotate 24s linear infinite;
}
.sustainability-impact-path .nssf-icon-blob::after {
    animation: sustainability-blob-rotate 32s linear infinite reverse;
}
@keyframes sustainability-blob-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .sustainability-impact-path .nssf-icon-blob::before,
    .sustainability-impact-path .nssf-icon-blob::after { animation: none; }
}

/* Rotate the full impact blob; counter-rotate its symbol for readability. */
.sustainability-impact-path .nssf-icon-blob {
    animation: sustainability-blob-rotate 10s linear infinite;
    transform-origin: center;
}
.sustainability-impact-path .nssf-icon-blob > i,
.sustainability-impact-path .nssf-icon-blob > .svg-inline--fa {
    animation: sustainability-blob-rotate 10s linear infinite reverse;
}
.sustainability-impact-path .nssf-icon-blob::before {
    animation-duration: 8s;
}
.sustainability-impact-path .nssf-icon-blob::after {
    animation-duration: 12s;
}
@media (prefers-reduced-motion: reduce) {
    .sustainability-impact-path .nssf-icon-blob,
    .sustainability-impact-path .nssf-icon-blob > i,
    .sustainability-impact-path .nssf-icon-blob > .svg-inline--fa {
        animation: none;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .sustainability-people-cards > .col > div::before { display: none; }
}

/* Align headings and paragraph starts across the three people cards. */
@media (min-width: 992px) {
    .sustainability-people-cards .card-body > h2 {
        min-height: 2.4em;
    }
}

/* Full-width stacked resilience cards retain their rotating blobs. */
.sustainability-people-cards > .col > div::before { display: none; }
.sustainability-people-cards .card-body > h2 { min-height: 0; }

/* A shared side spine links the three blobs to their full-width cards. */
@media (min-width: 768px) {
    .sustainability-people-cards > .col > div {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        column-gap: 24px;
        align-items: start;
    }
    .sustainability-people-cards .nssf-icon-blob {
        margin: 24px 16px 0;
    }
    .sustainability-people-cards > .col > div::before {
        display: block;
        content: "";
        position: absolute;
        left: 72px;
        right: auto;
        top: 80px;
        bottom: -104px;
        width: 1px;
        height: auto;
        background: linear-gradient(var(--nssf-blue), var(--nssf-teal), var(--nssf-purple));
    }
    .sustainability-people-cards > .col:last-child > div::before {
        bottom: 16px;
    }
    .sustainability-people-cards > .col > div::after {
        content: "";
        position: absolute;
        left: 72px;
        top: 80px;
        width: 80px;
        height: 1px;
        background: var(--nssf-teal);
    }
}
@media (max-width: 767.98px) {
    .sustainability-people-cards > .col > div::after {
        content: "";
        position: absolute;
        left: 56px;
        top: 96px;
        height: 40px;
        width: 1px;
        background: var(--nssf-teal);
    }
}

/* Override the horizontal highlight connector for this vertical card stack. */
@media (min-width: 768px) {
    #resilience-partnership-people .sustainability-people-cards > .col > div::before {
        display: block;
        left: 72px;
        right: auto;
        top: 80px;
        bottom: -104px;
        width: 1px;
        height: auto;
        background: linear-gradient(var(--nssf-blue), var(--nssf-teal), var(--nssf-purple));
    }
    #resilience-partnership-people .sustainability-people-cards > .col:last-child > div::before {
        display: none;
    }
}

/* Chairman highlights: open rotating rings and larger rotating symbols. */
#chairman-vision-and-growth .stewardship-donut {
    background: transparent;
}
#chairman-vision-and-growth .stewardship-donut[data-donut-full="true"]::before {
    background: conic-gradient(currentColor 0deg 340deg, transparent 340deg 360deg);
    animation: stewardship-donut-turn 12s linear infinite;
}
#chairman-vision-and-growth .stewardship-donut strong > i,
#chairman-vision-and-growth .stewardship-donut strong > .svg-inline--fa {
    font-size: 36px;
    width: 36px;
    height: 36px;
    animation: stewardship-donut-turn 12s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    #chairman-vision-and-growth .stewardship-donut::before,
    #chairman-vision-and-growth .stewardship-donut strong > i,
    #chairman-vision-and-growth .stewardship-donut strong > .svg-inline--fa { animation: none; }
}

.chairman-infinity-pulse {
    display: inline-block;
    animation: chairman-infinity-pulse 2s ease-in-out infinite;
}
@keyframes chairman-infinity-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.15); opacity: .75; }
}
@media (prefers-reduced-motion: reduce) {
    .chairman-infinity-pulse { animation: none; }
}

@media (max-width: 767.98px) {
    .strategy-purpose-card .nssf-icon-blob {
        width: 56px;
        height: 56px;
        margin: 16px 16px 8px;
    }
    .strategy-purpose-card .nssf-icon-blob i,
    .strategy-purpose-card .nssf-icon-blob .svg-inline--fa {
        width: 24px;
        height: 24px;
        font-size: 24px;
    }
}

/* Mobile inline card icons sit beside the first line, not midway down the copy. */
@media (max-width: 767.98px) {
    .report-section .card-body:has(> p, > .flex-grow-1, > .w-100) > :is(.nssf-icon-size, .nssf-icon-blob, i, .svg-inline--fa, span.flex-shrink-0) {
        align-self: flex-start !important;
    }
}

/* Stakeholder mobile pages scroll with the document, without nested scroll traps. */
@media (max-width: 767.98px) {
    .page-stakeholder .publication-spread { height: auto; overflow: visible; }
    .page-stakeholder .publication-spread__content { height: auto; min-height: 0; }
    .stakeholder-detail .stakeholder-detail__sdgs {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px !important;
    }
    .stakeholder-detail .stakeholder-detail__sdgs .sdg-goal { justify-self: center; }
}

/* Match the mobile icon rail inset to the card text. */
@media (max-width: 767.98px) {
    .nssf-split-pill__rail.employee-card-rail { padding-inline: 1.25rem; }
}
/* Compact governance icon rails and warm mobile navigation glass. */
@media (max-width: 767.98px) {
    .page-our-governance .nssf-split-pill__rail { min-height: 0; height: auto; }
    .page-our-governance .bottom-navigation__bar {
        background: linear-gradient(120deg, #fff9f3, #ffe4d3);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .page-our-governance .bottom-navigation__bar::after { background: none; }
    .page-our-governance .bottom-navigation__item,
    .page-our-governance .bottom-navigation__label,
    .page-our-governance .bottom-navigation__title,
    .page-our-governance .bottom-navigation__icon { color: var(--nssf-blue); }
    .page-our-governance .bottom-navigation__icon { border-color: rgba(24,66,143,.25); }
}

/* Governance mobile content follows the document scroll. */
@media (max-width: 767.98px) {
    .page-our-governance .publication-spread { height: auto; overflow: visible; }
    .page-our-governance .publication-spread__content { height: auto; min-height: 0; }
    #governance-looking-ahead .card-body > .nssf-icon-blob { width: 56px; height: 56px; margin: 12px; }
    #governance-looking-ahead .card-body > .nssf-icon-blob :is(i, svg) { width: 26px; height: 26px; font-size: 26px; }
}



/* A flowing line behind the highlight cards; only the icon symbols rotate. */
#chairman-governance-highlights { isolation: isolate; }
#chairman-governance-highlights > .col:not(:last-child)::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 1px;
    background: var(--nssf-divider-gradient);
    background-size: 250% 100%;
}
@media (prefers-reduced-motion: no-preference) {
    #chairman-governance-highlights .nssf-icon-blob > :is(i, svg) {
        animation: stewardship-donut-turn 18s linear infinite;
        transform-origin: center;
    }
    #chairman-governance-highlights > .col::before {
        animation: nssf-white-glass-shimmer 8s ease-in-out infinite;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    #chairman-governance-highlights > .col:nth-child(3n)::before { display: none; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    #chairman-governance-highlights > .col:nth-child(2n)::before { display: none; }
}
@media (max-width: 575.98px) {
    #chairman-governance-highlights > .col:not(:last-child)::before {
        width: 1px;
        height: 100%;
        background: linear-gradient(var(--nssf-blue), var(--nssf-teal), var(--nssf-purple));
    }
}
/* Soft highlight shadows follow each icon's existing brand colour. */
#chairman-governance-highlights > .col > .nssf-shimmer-surface {
    box-shadow: 0 6px 24px rgba(var(--card-accent-rgb), .12);
}

/* Inclusion cards retain the shared white shimmer with softly tinted shadows. */
#chairman-inclusion .nssf-white-glass-card > .card-body {
    box-shadow: 0 6px 24px rgba(var(--card-accent-rgb), .12);
}

/* Short connectors from inclusion icons to their adjacent paragraphs. */
#chairman-inclusion .card-body > .nssf-icon-blob .inclusion-icon-connector {
    position: absolute;
    left: 100%;
    top: 50%;
    width: 24px;
    height: 1px;
    background: var(--card-accent);
    pointer-events: none;
}

/* Compact inline icons leave readable text width on small phones. */
@media (max-width: 575.98px) {
    #chairman-inclusion .card-body > .nssf-icon-blob {
        width: 48px;
        height: 48px;
        min-width: 48px;
    }
    #chairman-inclusion .card-body > .nssf-icon-blob > :is(i, svg) {
        width: 24px;
        height: 24px;
        font-size: 24px;
    }
}

/* Circular member journey, matching the supplied seven-stage design. */
.journey-wheel-label { color: #fff; text-align: left; font-family: "Manrope", sans-serif; line-height: 1.2; display: flex; flex-direction: column; justify-content: center; height: 100%; }
.journey-wheel-label i, .journey-wheel-label svg { display: block; height: 42px; font-size: 38px; margin: 0 auto 7px; }
.journey-wheel-label strong { display: block; font-size: 20px; margin-bottom: 4px; }
.journey-wheel-label span { display: block; font-size: 16px; }

/* Preserve the shared original orbit styling and the approved placement. */
.journey-belief-orbit { aspect-ratio: 1; min-height: 0; }
.journey-belief-orbit .business-coming-soon__orbit { height: auto; aspect-ratio: 1; }
/* Match both journey graphics to the original orbit's 33rem diameter. */
#business-member-journey .journey-wheel {
    width: min(calc(100% - 32px), 33rem);
    margin-inline: auto !important;
}
#business-member-journey .journey-belief-orbit {
    width: min(100%, 35rem);
    margin-inline: auto;
}
#business-member-journey .journey-belief-orbit .business-coming-soon__orbit {
    width: min(calc(100% - 32px), 33rem);
}

/* Stage icons sit inside the ring, aligned with their matching segments. */
.journey-wheel-centre-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; font-size: 45px; line-height: 1; }
.journey-wheel-centre-icon svg { width: 45px; height: 45px; }

/* A travelling dot and rotating gradient replace the journey arrow. */
.journey-ring-motion { transform-origin: 400px 400px; animation: journey-ring-turn 18s linear infinite; }
@keyframes journey-ring-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .journey-ring-motion { animation: none; } }

/* Thrive is the first segment using the wider, left-aligned copy treatment. */
.journey-wheel-label--thrive { text-align: left; display: flex; flex-direction: column; justify-content: center; height: 100%; }
.journey-wheel-label--thrive span { font-size: 16px; }



/* Honour the explicit zero top margin on the journey row. */
#business-member-journey .report-section__heading + .row.mt-0 {
    margin-top: 0 !important;
}

/* Fine animated links bridge only the gap between the two wheels. */
.journey-wheel-connector { position: absolute; height: 16px; pointer-events: none; padding: 0; z-index: 0; }
.journey-wheel-connector::before, .journey-wheel-connector::after {
    content: ""; position: absolute; inset-inline: 0; height: 2px;
    background: linear-gradient(90deg, rgba(24,66,143,.25), rgba(0,191,233,.6), rgba(118,189,67,.35), rgba(24,66,143,.25));
    background-size: 200% 100%; animation: journey-link-flow 6s linear infinite;
}
.journey-wheel-connector::before { top: 0; transform: rotate(-1deg); }
.journey-wheel-connector::after { bottom: 0; transform: rotate(1deg); animation-delay: -3s; }
@keyframes journey-link-flow { to { background-position: -200% 0; } }
@media (max-width: 991.98px) { .journey-wheel-connector { display: none; } }
@media (prefers-reduced-motion: reduce) { .journey-wheel-connector::before, .journey-wheel-connector::after { animation: none; } }

.journey-lightbox-graphic { width: min(calc(100vw - 64px), calc(100dvh - 100px)); background: white; border-radius: 50%; }

/* Balance the visually fuller Support, Protect and Grow symbols. */
.journey-wheel-centre-icon--compact { font-size: 35px; }
.journey-wheel-centre-icon--compact svg { width: 35px; height: 35px; }

.risk-radar-graphic { width: min(100%, 38.5rem); }
.risk-radar-lightbox-graphic { width: min(calc(100vw - 64px), calc(100dvh - 100px)); }

.risk-radar-expand { width: 40px; height: 40px; right: 10%; bottom: 10%; }
.risk-radar-low { color: #76bd43; }
.risk-radar-medium { color: #f7a000; }
.risk-radar-high { color: #ed1c24; }
.risk-radar-2025 { color: #18428f; }
.risk-radar-2026 { color: #e0ba00; }

/* Respect the heatmap row's explicit zero top margin. */
#risk-heatmap .report-section__heading + .risk-heatmap__row.mt-0 { margin-top: 0 !important; }

/* Vertical connectors behind the member value card rows. */
.members-value-cards { isolation: isolate; }
.members-value-cards::before,
.members-value-cards::after {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 40px;
    width: 3px;
    z-index: -1;
    background: linear-gradient(#18428f, #00aec3, #70389b);
    opacity: .6;
}
.members-value-cards::before { left: 25%; }
.members-value-cards::after { right: 25%; }
@media (max-width: 991.98px) {
    .members-value-cards::before { left: 50%; }
    .members-value-cards::after { content: none; }
}

.members-value-cards .nssf-report-row::after {
    height: 3px;
    background: linear-gradient(90deg, rgba(var(--card-accent-rgb), .2), rgba(var(--card-accent-rgb), .65), rgba(var(--card-accent-rgb), .2));
}

/* Strategy colours for the shared service-performance orbit. */
.members-service-performance {
    background: radial-gradient(circle at 78% 24%, rgba(101,45,145,.12), transparent 30%), radial-gradient(circle at 16% 82%, rgba(24,66,143,.08), transparent 28%), #fff;
}
.members-service-performance .business-coming-soon__orbit,
.members-service-performance .business-coming-soon__orbit::before,
.members-service-performance .business-coming-soon__orbit::after { border-color: rgba(101,45,145,.55); }
.members-service-performance .business-coming-soon__orbit span {
    background: linear-gradient(135deg, #18428f, #652d91);
    box-shadow: 0 0 0 .65rem rgba(101,45,145,.09), 0 10px 24px rgba(101,45,145,.18);
}
.members-service-performance .business-coming-soon__message {
    border-color: rgba(101,45,145,.28);
    background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(237,227,245,.6));
}
.members-service-performance .business-coming-soon__message-icon { --card-accent: #652d91; --card-accent-rgb: 101,45,145; }

.members-snapshot-number { background: var(--card-accent); }

/* Keep the Smartlife caption action above the decorative orbit. */
.member-smartlife-frame { z-index: 2; }
.member-smartlife-caption { z-index: 10; }
.member-smartlife-caption > .btn { width: 54px; height: 54px; }

/* Related snapshot cards use a consistent 20px gutter. */
#members-value-snapshot .nssf-report-row {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 20px;
}

.members-measure-previous {
    --card-accent: var(--nssf-blue-bright);
}

[aria-label="Member service measures"] .members-snapshot-number { padding-inline: .5em; }

@media (max-width: 575.98px) {
    [aria-label="Member service measures"] .members-snapshot-number { font-size: 18px !important; padding-inline: .4em; }
}

.members-service-recovery .stakeholder-detail-row__rail::before { bottom: 0; }

.members-value-created-cards { --bs-gutter-x: 20px; --bs-gutter-y: 20px; }
.members-value-created-cards .nssf-white-glass-card::after { content: none; }



/* Reuse the shared spines for the testimonial's horizontal connections. */
:is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) header .nssf-card-connector {
    height: 1px;
    background: linear-gradient(90deg, var(--card-accent), var(--nssf-teal));
}
:is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) .nssf-report-row::after {
    top: 50%;
    left: 45%;
    right: 25%;
    height: 1px;
    background: linear-gradient(90deg, var(--card-accent), var(--nssf-teal));
}
@media (max-width: 991.98px) {
    :is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) .nssf-report-row::after { content: none; }
}

/* Keep the testimonial portrait and its full orbit within the available column. */
:is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) .business-coming-soon__orbit {
    width: min(29rem, calc(100% - 24px));
    height: auto;
    aspect-ratio: 1;
}
:is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) .business-coming-soon__message {
    width: min(350px, calc(100% - 96px));
    height: auto;
    aspect-ratio: 1;
}
@media (max-width: 1199.98px) {
    :is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) .nssf-report-row::after { content: none; }
}
@media (max-width: 767.98px) {
    :is(#members-customer-voices-heading, #members-benefits-voices-heading, #members-voices-4-heading, #members-voices-5-heading, #members-voices-6-heading) { font-size: 25px; }
}

:is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) blockquote p { font-size: 24px; }

@media (max-width: 1366px) {
    :is(#members-customer-voices, #members-benefits-voices, #members-voices-4, #members-voices-5, #members-voices-6) blockquote p { font-size: 18px; }
}

/* Literacy cards meet the image orbit with fine, centre-aligned connectors. */
#members-literacy-reach .nssf-report-row::after {
    top: 50%;
    left: 16.666667%;
    right: 16.666667%;
    height: 1px;
    background: var(--nssf-blue);
}
#members-literacy-reach .nssf-card-connector { background: var(--nssf-blue); }
@media (min-width: 992px) {
    #members-literacy-reach .nssf-card-connector + .nssf-report-row::before {
        content: "";
        position: absolute;
        z-index: -2;
        top: 0;
        bottom: 50%;
        left: 50%;
        width: 1px;
        background: var(--nssf-blue);
        pointer-events: none;
    }
}
@media (max-width: 991.98px) {
    #members-literacy-reach .nssf-report-row::after {
        top: 40px;
        bottom: 40px;
        left: 50%;
        right: auto;
        width: 1px;
        height: auto;
    }
}

/* Join the employer photograph to the full-width story rail below it. */
#members-regional-employers figure::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 50%;
    height: 40px;
    border-right: 1px solid var(--nssf-blue);
    border-bottom: 0;
    pointer-events: none;
}

/* Keep CSI labels beside their badges on smaller screens. */
@media (max-width: 1799.98px) {
    #members-csi .members-csi-metrics {
        padding: 20px !important;
    }
    #members-csi .members-csi-metrics .report-section__text {
        font-size: 14px;
    }
    #members-csi .members-csi-metrics .members-snapshot-number {
        font-size: 18px !important;
        padding: 8px !important;
    }
}

/* Tablet reading space: avoid desktop-sized insets squeezing paired columns. */
@media (max-width: 767.98px) {
    .page-cfo-highlights .assurance-journey {
        padding-left: 20px;
    }
    .page-cfo-highlights .assurance-journey .nssf-split-pill::before {
        width: 20px;
    }
    :is(.page-cfo-highlights, .page-financial-operational-highlights) .revenue-highlight__amount {
        font-size: 24px !important;
    }
    #advancing-sustainability-and-esg .esg-performance-amount strong {
        font-size: 36px;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .page-chapter .publication-spread .report-section__container {
        padding-left: 50px;
        padding-right: 50px;
    }
}

/* Laptop refinement: retain mobile and large-desktop layouts. */
@media (min-width: 768px) and (max-width: 1440px) {
    #supplier-partnerships .stakeholder-number-box { font-size: 72px !important; }
}
@media (min-width: 992px) and (max-width: 1440px) {
    .page-chapter .report-hero--video-window .report-hero__content {
        width: 55%;
        padding-left: 70px;
        padding-right: 40px;
    }
}
@media (min-width: 1200px) and (max-width: 1440px) {
    .page-chapter .publication-spread .report-section__container {
        padding-left: 70px;
        padding-right: 70px;
    }
    .page-chapter .publication-spread .business-funding-journey {
        padding-left: 40px;
    }
    .page-chapter .publication-spread .business-funding-journey .nssf-split-pill::before {
        width: 40px;
    }
    .page-chapter .publication-spread .business-funding-journey .nssf-white-glass-card > .card-body {
        padding: 24px;
    }
}

/* Regional employer image-to-card connector; the final card has no trailing divider. */
#members-regional-employers .members-regional-layout {
    --bs-gutter-x: 40px;
}
#members-regional-employers .members-regional-primary {
    padding-left: 0;
}
#members-regional-employers .members-regional-primary > .assurance-journey__line {
    display: none;
}
#members-regional-employers .members-regional-primary .nssf-split-pill--blue::before {
    display: block;
}
/* Compact stakeholder disclosure within the existing contents columns. */
#members-looking-ahead .assurance-journey > .assurance-journey__line {
    top: 0 !important;
    bottom: 0 !important;
}
#members-looking-ahead .assurance-journey > .assurance-journey__item:last-child {
    margin-bottom: 0;
}
.contents-stakeholder-group {
    display: inline-block;
    width: 100%;
    break-inside: avoid-column;
    page-break-inside: avoid;
    margin-bottom: .25rem;
}
.contents-mega-menu__topics .contents-stakeholder-toggle {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr) 1.4rem;
    align-items: center;
    gap: .25rem;
    width: 100%;
    padding: .2rem 0;
    border: 0;
    background: transparent;
    color: var(--nssf-text);
    font-family: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}
.contents-stakeholder-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    color: var(--chapter-colour);
    background: transparent;
    font-weight: 700;
}
.contents-stakeholder-badge { width: auto; height: auto; font-size: 1rem; }
.contents-stakeholder-links { padding: .35rem 0; }
.contents-stakeholder-links[hidden] { display: none !important; }
.contents-mega-menu__topics .contents-stakeholder-links a {
    grid-template-columns: 1rem minmax(0, 1fr);
    align-items: center;
    padding: .3rem 0;
}
.contents-mega-menu__topics > a {
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: .25rem;
    padding-block: .16rem;
    line-height: 1.3;
}
.contents-mega-menu__topics { row-gap: .2rem; }
.contents-mega-menu__topics .contents-stakeholder-toggle {
    padding-block: .16rem;
    line-height: 1.3;
}
.contents-stakeholder-toggle:hover,
.contents-stakeholder-toggle:focus-visible { color: var(--chapter-colour); }
.contents-stakeholder-toggle:focus-visible { outline: 2px solid var(--chapter-colour); outline-offset: 2px; }
/* Corrections: keep stakeholder connectors above the labels. */
@media (min-width: 1200px) {
    #strategy-values .member-journey__row > [class*="col-"] { min-width: 0; }
    #strategy-values .member-journey__track {
        top: 128px;
        transform: none;
    }
}
.page-navigating-our-report .sdg-goal--03 { --sdg-colour: #4c9f38; }
.page-navigating-our-report .sdg-goal--04 { --sdg-colour: #c5192d; }
/* White graph surfaces retain the shared process-card shadow. */
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon {
    background: radial-gradient(circle at 78% 24%, rgba(242,101,36,.12), transparent 30%), radial-gradient(circle at 16% 82%, rgba(242,101,36,.06), transparent 28%), #fff;
}
.board-commitment-flow { position: relative; isolation: isolate; }
.board-commitment-flow::before {
    content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; right: 32px; width: 1px;
    background: linear-gradient(#18428f, #00a9ba, #87939f, #f26524);
}
.board-progress-cards { grid-auto-rows: 1fr; }
.vision-aspiration-ring { position: relative; width: 160px; aspect-ratio: 1; display: grid; place-items: center; }
.vision-aspiration-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.vision-aspiration-ring circle { fill: none; stroke-width: 9; }
.vision-aspiration-ring__track { stroke: currentColor; opacity: .12; }
.vision-aspiration-ring__value { stroke: currentColor; }
.vision-aspiration-ring strong { position: relative; }
.page-mindful-governance .nssf-icon-blob--sm { scale: .8; }
#board-attendance-table .board-attendance-table {
 width:100%; min-width:0; table-layout:fixed; border-collapse:separate; border-spacing:32px 0;
 --bs-table-color:var(--nssf-blue); --bs-table-bg:transparent;
}
#board-attendance-table .board-attendance-table > :not(caption) > * > * {
 padding:16px 12px; border-bottom:1px solid rgba(24,66,143,.1); box-shadow:none; white-space:normal; overflow-wrap:anywhere;
}
#board-attendance-table .board-attendance-table thead th {
 color:var(--nssf-teal); background:linear-gradient(135deg,rgba(0,168,188,.14),rgba(0,168,188,.02));
 border-top:1px solid rgba(0,168,188,.3); border-radius:16px 16px 0 0;
}
#board-attendance-table .board-attendance-table tr > :nth-child(even) {
 border-inline:1px solid rgba(0,168,188,.3); background-color:rgba(0,168,188,.025);
}
#board-attendance-table .board-attendance-table tbody tr:last-child > * {
 border-bottom:1px solid rgba(0,168,188,.3); border-radius:0 0 16px 16px;
}
@media(max-width:991.98px){
 #board-attendance-table .board-attendance-table,#board-attendance-table .board-attendance-table tbody {display:block;}
 #board-attendance-table .board-attendance-table thead {display:none;}
 #board-attendance-table .board-attendance-table tr {display:block;border:1px solid rgba(0,168,188,.3);border-radius:16px;margin-bottom:20px;overflow:hidden;}
 #board-attendance-table .board-attendance-table tr > * {display:block;width:100%;border-inline:0;border-radius:0;}
 #board-attendance-table .board-attendance-table th {background:linear-gradient(135deg,rgba(0,168,188,.14),rgba(0,168,188,.02));}
 #board-attendance-table .board-attendance-table td::before {content:attr(data-label);display:block;color:var(--nssf-teal);font-weight:600;padding-bottom:8px;}
 #board-attendance-table .board-attendance-table tbody tr:last-child > * {border-radius:0;}
}
.board-profile-name { background: linear-gradient(135deg, var(--profile-start, var(--nssf-blue)), var(--profile-end, var(--nssf-purple))); }
.board-profile-name .report-section__title { background: none; color: #fff; -webkit-text-fill-color: #fff; }
.page-our-board .card-body > figure {
    position: relative;
    z-index: 2;
}
.board-profile-pill {
    background: linear-gradient(120deg, rgba(var(--profile-start-rgb, 24, 66, 143), .16), rgba(var(--profile-end-rgb, 101, 45, 145), .20));
    box-shadow: 0 4px 14px rgba(24, 66, 143, .08);
}
/* Compact governance hierarchy, with assurance and direction rails. */
.governance-chart { position: relative; padding-inline: 88px; }
.governance-chart__core { position: relative; display: grid; gap: 40px; isolation: isolate; }
.governance-chart__core::before {
    content: ""; position: absolute; z-index: -1; inset: 20px auto 20px 50%;
    width: 1px; background: var(--nssf-teal);
}
.governance-chart__bar { position: relative; box-shadow: 0 4px 24px rgba(24,66,143,.12); }
.governance-chart__group { position: relative; display: grid; gap: 24px; }
.governance-chart__group--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.governance-chart__group--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.governance-chart__group::before {
    content: ""; position: absolute; top: -20px; left: 0; right: 0;
    height: 1px; background: var(--nssf-teal);
}
.governance-chart__group > .card::before {
    content: ""; position: absolute; top: -24px; left: 50%; height: 24px;
    width: 1px; background: var(--nssf-teal);
}
.governance-chart__group > .card:nth-child(-n+4)::before { top: -20px; height: 20px; }
.governance-chart__audit > .card-body::after {
    content: ""; position: absolute; top: 50%; left: 100%; width: 72px;
    border-top: 1px dashed var(--nssf-teal);
}
.governance-chart__rail, .governance-chart__direction {
    position: absolute; top: 0; bottom: 0; display: flex; align-items: center;
    justify-content: center; color: var(--nssf-blue); font-size: 12px;
}
.governance-chart__rail { width: 32px; border: 1px solid var(--nssf-teal); border-radius: 8px; }
.governance-chart__rail span { writing-mode: vertical-rl; }
.governance-chart__rail--external { left: 0; }
.governance-chart__rail--external span { transform: rotate(180deg); }
.governance-chart__rail--internal { right: 0; border-style: dashed; }
.governance-chart__direction { width: 24px; flex-direction: column; gap: 12px; }
.governance-chart__direction span { writing-mode: vertical-rl; }
.governance-chart__direction--accountability { left: 44px; }
.governance-chart__direction--accountability span { transform: rotate(180deg); }
.governance-chart__direction--delegation { right: 44px; }
@media (max-width: 1199.98px) {
    .governance-chart__group--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .governance-chart__group > .card:nth-child(n+3)::before { top: -24px; height: 24px; }
}
@media (max-width: 767.98px) {
    .governance-chart { padding-inline: 0; display: flex; flex-direction: column; gap: 24px; }
    .governance-chart__core { order: 2; }
    .governance-chart__group--four, .governance-chart__group--three { grid-template-columns: 1fr; }
    .governance-chart__rail, .governance-chart__direction { position: static; width: 100%; min-height: 32px; }
    .governance-chart__rail span, .governance-chart__direction span { writing-mode: horizontal-tb; transform: none; }
    .governance-chart__direction { flex-direction: row; }
    .governance-chart__rail--external, .governance-chart__direction--accountability { order: 0; }
    .governance-chart__direction--delegation, .governance-chart__rail--internal { order: 3; }
    .governance-chart__audit > .card-body::after { display: none; }
    .governance-chart__group > .card:nth-child(n+2)::before { top: -24px; height: 24px; }
}
.board-responsibility-cards .nssf-theme-green {
    --card-accent: var(--nssf-green);
    --card-accent-rgb: 108, 190, 69;
}
.board-responsibility-cards :is(.text-blue, .text-orange, .text-purple, .text-green, .text-grey) {
    color: var(--card-accent);
}
.board-responsibility-cards .nssf-gradient-line,
.page-board-responsibility .board-responsibility-connector {
    height: 1px;
    background: var(--nssf-divider-gradient);
}
@media (min-width: 992px) {
    .board-responsibility-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: auto auto auto;
    }
    .board-responsibility-cards > .col,
    .board-responsibility-cards > .col > .card,
    .board-responsibility-cards > .col > .card > .card-body {
        display: grid !important;
        grid-template-rows: subgrid;
        grid-row: span 3;
        width: 100%;
    }
    .board-responsibility-cards .card-body > .d-flex {
        align-items: flex-start !important;
    }
    .board-responsibility-cards > .col > .card > .card-body {
        justify-content: stretch !important;
    }
}
@media (min-width: 992px) {
    .page-mindful-governance .board-value-icon { --board-icon-centre: 4rem; }
}
.vision-aspiration-cards > .col { position: relative; }
.vision-aspiration-cards > .col::after {
    content: ""; position: absolute; top: 100%; left: 50%; width: 1px; height: 40px;
    background: var(--nssf-blue);
}
.vision-aspiration-cards > .col:nth-child(2)::after { background: var(--nssf-teal); }
.vision-aspiration-cards > .col:nth-child(3)::after { background: #f26524; }
@media (max-width: 767.98px) {
    .vision-aspiration-cards > .col:not(:last-child)::after { height: 24px; }
}
.vision-aspiration-ring.text-turquoise strong { background-color: var(--nssf-teal); }
#vision-2035-aspirations .performance-aspiration-card {
    background: linear-gradient(135deg, var(--nssf-blue), #f26524);
}
.board-commitment-flow .card { background-color: #fff; }
.board-value-icon { --board-icon-centre: 2.5rem; }
#responsible-investment-monitoring .board-value-icon::before { left: calc(var(--board-icon-centre) + 30px); z-index: 0; }
#responsible-investment-monitoring .board-value-icon::after { top: calc(50% + 30px); z-index: 0; }
.board-value-icon::before {
    content: ""; position: absolute; z-index: 2; top: 50%; left: var(--board-icon-centre); right: 0; height: 1px; background: #87939f;
}
.board-value-icon::after {
    content: ""; position: absolute; z-index: 2; top: 50%; bottom: -40px; left: var(--board-icon-centre); width: 1px; background: #87939f;
}
:is(#board-strategic-focus, .board-commitments-section) > .publication-spread__content { height: auto; min-height: 100%; }
:is(#board-strategic-focus, .board-commitments-section) .report-section { height: auto; min-height: 100%; }
@media (max-width: 767.98px) {
    .board-progress-cards { grid-auto-rows: auto; }
    .board-value-icon .nssf-icon-blob { width: 40px; height: 40px; min-width: 40px; }
    .board-value-icon { --board-icon-centre: 20px; }
}
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__orbit,
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__orbit::before,
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__orbit::after { border-color: rgba(242,101,36,.55); }
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__orbit span {
    background: linear-gradient(135deg, #f26524, #ffad70);
    box-shadow: 0 0 0 .65rem rgba(242,101,36,.09);
}
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__message {
    border-color: rgba(242,101,36,.28);
    background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(255,237,225,.7));
    box-shadow: 0 28px 60px rgba(242,101,36,.13);
}
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__message::before {
    border-color: rgba(242,101,36,.18);
    background: rgba(242,101,36,.04);
}
:is(#board-focus-commitments, #governance-framework, #governance-assessment-validation, #board-meetings, #executive-committee-overview) .business-coming-soon__message-icon {
    --card-accent: #f26524;
    --card-accent-rgb: 242,101,36;
}
.page-financial-operational-highlights .process-card.bg-white {
    background-image: none;
}
.page-financial-operational-highlights .report-section .process-card.bg-white.p-0 {
    padding: 0 !important;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    :is(#shared-value-initiatives, #shared-value-enterprise) .members-snapshot-number {
        font-size: 16px !important;
    }
}

#governance-adapting-framework .audit-focus-gradient { background: linear-gradient(135deg, var(--card-accent), var(--trend-gradient-end, var(--nssf-blue))); }
#governance-adapting-framework .audit-focus-row.nssf-theme-blue { --trend-gradient-end: var(--nssf-orange); }
#governance-adapting-framework .audit-focus-icon-card::after { background: var(--card-accent); }
#governance-adapting-framework .card { min-height: 0; }
@media (min-width: 992px) {
    #governance-adapting-framework .card { min-height: 150px; }
}

#patrick-ayota { --profile-start: var(--nssf-teal); --profile-end: var(--nssf-blue); --profile-start-rgb: 0, 168, 188; --profile-end-rgb: 24, 66, 143; }
#silver-mugisha { --profile-start: var(--nssf-purple); --profile-end: var(--nssf-teal); --profile-start-rgb: 101, 45, 145; --profile-end-rgb: 0, 168, 188; }
#annet-nakawunde-mulindwa { --profile-start: var(--nssf-orange); --profile-end: var(--nssf-blue); --profile-start-rgb: 242, 101, 36; --profile-end-rgb: 24, 66, 143; }
#sam-lyomoki { --profile-start: var(--nssf-blue); --profile-end: var(--nssf-orange); --profile-start-rgb: 24, 66, 143; --profile-end-rgb: 242, 101, 36; }
#peninnah-tukamwesiga { --profile-start: var(--nssf-purple); --profile-end: var(--nssf-orange); --profile-start-rgb: 101, 45, 145; --profile-end-rgb: 242, 101, 36; }
#aggrey-david-kibenge { --profile-start: var(--nssf-teal); --profile-end: var(--nssf-purple); --profile-start-rgb: 0, 168, 188; --profile-end-rgb: 101, 45, 145; }
#annet-birungi { --profile-start: var(--nssf-orange); --profile-end: var(--nssf-purple); --profile-start-rgb: 242, 101, 36; --profile-end-rgb: 101, 45, 145; }
#abwoli-kunihira-agnes { --profile-start: var(--nssf-purple); --profile-end: var(--nssf-blue); --profile-start-rgb: 101, 45, 145; --profile-end-rgb: 24, 66, 143; }
#ramathan-ggoobi { --profile-start: var(--nssf-blue); --profile-end: var(--nssf-teal); --profile-start-rgb: 24, 66, 143; --profile-end-rgb: 0, 168, 188; }
#richard-bigirwa { --profile-start: var(--nssf-teal); --profile-end: var(--nssf-orange); --profile-start-rgb: 0, 168, 188; --profile-end-rgb: 242, 101, 36; }

/* Consistent attendance badges across the two committee tables. */
.attendance-value {
 display:inline-flex; align-items:center; justify-content:center;
 width:84px; min-height:34px; border-radius:9px; color:var(--nssf-blue);
 background:linear-gradient(120deg,rgba(0,168,188,.16),rgba(24,66,143,.08));
}
.attendance-value--rate {background:linear-gradient(120deg,rgba(101,45,145,.13),rgba(0,168,188,.1));}
.attendance-value:empty {background:none;}

#board-attendance-table .board-attendance-table thead th {vertical-align:top;}
#board-attendance-table .attendance-heading {min-height:78px;}

/* Six matching committee columns, split by director group. */
#board-attendance-table .board-attendance-table {
 --bs-table-color:var(--nssf-blue); --bs-table-striped-color:var(--nssf-blue);
 --bs-table-hover-color:var(--nssf-blue); --bs-table-active-color:var(--nssf-blue);
}
#board-attendance-table .board-attendance-table > :not(caption) > * > * {color:var(--nssf-blue);}
#board-attendance-table .board-attendance-table thead th {
 background-image:linear-gradient(135deg,rgba(255,255,255,.96),rgba(235,246,250,.7),rgba(255,255,255,.96));
 vertical-align:top;
}

#board-attendance-table .board-attendance-table tfoot > tr > * {
 border-top:1px solid rgba(0,168,188,.3); font-weight:600;
}
@media(min-width:992px){
 #board-attendance-table .board-attendance-table td > .d-flex {gap:8px!important;}
 #board-attendance-table .attendance-value {width:70px;}
}@media(min-width:992px){
 #board-attendance-table .board-attendance-table > :not(caption) > * > * {border-inline:1px solid rgba(0,168,188,.3);}
 #board-attendance-table .board-attendance-table tbody tr > * {background-color:rgba(255,255,255,.8);}
 #board-attendance-table .board-attendance-table:has(tfoot) tbody tr:last-child > * {border-radius:0;border-bottom:1px solid rgba(24,66,143,.1);}
 #board-attendance-table .board-attendance-table tfoot tr:last-child > * {border-radius:0 0 16px 16px;border-bottom:1px solid rgba(0,168,188,.3);}
}
/* Keep column gaps inside the report content edges. */
@media (min-width: 992px) {
 #board-attendance-table .board-attendance-table {
  width: calc(100% + 64px);
  margin-inline: -32px;
 }
}
#board-attendance-table #attendance-first-group[hidden] { display: none !important; }
@media (min-width: 992px) {
 #board-attendance-table #attendance-first-group tr:last-child > * { border-radius: 0; }
}

/* Match the summary cards to the five committee columns, after Directors. */
@media (min-width: 992px) {
 #board-attendance-table .attendance-overall-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 32px;
  margin-inline: 0;
 }
 #board-attendance-table .attendance-overall-cards > .col {
  width: auto;
  padding: 0;
  margin-top: 0;
 }
 #board-attendance-table .attendance-overall-cards > .col:first-child {
  grid-column: auto;
 }
}

#board-attendance-table .attendance-toggle {
 width:44px; height:44px; padding:0; color:#fff;
 background:linear-gradient(135deg,var(--nssf-blue),var(--nssf-purple));
 box-shadow:0 4px 12px rgba(24,66,143,.18);
}
#board-attendance-table .attendance-toggle:hover,
#board-attendance-table .attendance-toggle:focus-visible {color:#fff;filter:brightness(1.12);}
#board-attendance-table .board-attendance-table .attendance-group-break > tr,
#board-attendance-table .board-attendance-table .attendance-group-break > tr > td {
 border:0; border-radius:0; background:transparent; padding:0; margin:0;
}
#board-attendance-table .attendance-group-break td::before {display:none;}
@media(min-width:992px){
 #board-attendance-table #attendance-first-group tr:last-child > * {border-radius:0 0 16px 16px;}
 #board-attendance-table #attendance-second-group tr:first-child > * {
  border-top:1px solid rgba(0,168,188,.3); border-radius:16px 16px 0 0;
 }
}

#board-attendance-table .attendance-heading-toggle-row,
#board-attendance-table .attendance-heading-toggle-row tr,
#board-attendance-table .attendance-heading-toggle-row td {height:0;}
#board-attendance-table .attendance-heading-toggle-row .attendance-toggle {
 position:absolute; left:50%; top:0; transform:translate(-50%,-50%); z-index:3;
}
#board-attendance-table .attendance-heading-toggle-row tr {overflow:visible;}

#board-attendance-table .attendance-overall-title {
 background:linear-gradient(135deg,var(--nssf-blue),var(--nssf-purple));
}
#board-attendance-table .attendance-overall-title h3 {
 color:#fff; -webkit-text-fill-color:#fff; background:none; text-align:left; position:relative; z-index:1;
}
#board-attendance-table .attendance-overall-value {
 display:grid; grid-template-rows:1fr auto; align-content:center; color:var(--nssf-blue);
}
#board-attendance-table .attendance-overall-value > div {color:var(--nssf-blue);}
#board-attendance-table .attendance-overall-value {
 --bs-border-color: rgba(0,168,188,.3);
 background-image: linear-gradient(135deg,rgba(255,255,255,.96),rgba(235,246,250,.7),rgba(255,255,255,.96));
 background-size:250% 250%;
}

#board-attendance-table .attendance-overall-percent {
 width:84px; min-height:34px;
 background:linear-gradient(135deg,var(--nssf-blue),var(--nssf-purple));
 color:#fff;
}



.board-tenure-bar {display:grid;grid-template-columns:90px minmax(0,1fr) 24px;gap:16px;align-items:center;color:var(--nssf-blue);}
.board-tenure-bar .progress {height:18px;background:rgba(24,66,143,.07);}
.board-tenure-bar .progress-bar {background:linear-gradient(90deg,var(--nssf-blue),var(--nssf-teal));}

.page-board-skills .board-tenure-heading {
 color:var(--nssf-blue); -webkit-text-fill-color:var(--nssf-blue);
}
.page-board-skills .publication-spread__content,
.page-board-skills .report-section {background:#fff;}

.page-board-skills .report-section__next {background:none;}

.page-board-skills .board-tenure-average {
 background:linear-gradient(135deg,var(--nssf-blue),var(--nssf-orange));
}
.page-board-skills .board-tenure-bar .progress-bar {
 background:linear-gradient(90deg,var(--nssf-blue),var(--nssf-orange));
}

.page-board-skills .board-tenure-number {background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);}
.page-board-skills .board-tenure-connector {width:1px;height:20px;background:rgba(255,255,255,.65);margin-left:24px;}

/* Keep the new Board pages on the standard white surface and footer rhythm. */

:is(.page-board-skills,.page-board-performance-evaluation) .report-section:not(.report-section--full-bleed) {
 min-height:100%; height:auto; padding-bottom:60px; background:#fff;
}
:is(.page-board-skills,.page-board-performance-evaluation) .report-section__container {padding-bottom:0;}
.page-board-performance-evaluation .commitment-values::before { top:30px; }
@media(min-width:768px){
 :is(.page-board-skills,.page-board-performance-evaluation) .report-section__container > .report-section__next {
  margin-top:auto!important;
 }
}


@media (min-width:768px) {
 .page-chapter.page-our-board .report-section > .report-section__next {
  margin-right:0;
 }
}

@media (min-width:768px) {
 .page-our-board .report-section:not(.topic-intro) {
  padding-bottom:60px;
 }
 .page-our-board .report-section:not(.topic-intro) .report-section__container {
  padding-bottom:0;
 }
}

/* Match the approved white quote-icon treatment on the tenure card. */
.page-board-skills .board-tenure-average .nssf-icon-blob {
 color:#fff; background:#fff;
 border-color:rgba(255,255,255,.5);
 --card-accent:var(--nssf-purple);
 --card-accent-rgb:101,45,145;
}
.page-board-skills .board-tenure-average .nssf-icon-blob::before,
.page-board-skills .board-tenure-average .nssf-icon-blob::after {
 background:rgba(255,255,255,.18);
 border-color:rgba(255,255,255,.5);
}
.page-board-skills .board-tenure-average .nssf-icon-blob :is(i,svg) {
 color:var(--nssf-purple);
 --fa-primary-color:var(--nssf-purple);
 --fa-secondary-color:var(--nssf-purple);
}

.board-skill-dot {width:13px;height:13px;border-radius:50%;margin-top:5px;}

#board-experience-skills svg g {transform-origin:120px 120px;}
.board-skills-legend > .d-grid {position:relative;padding-left:28px;}
.board-skills-legend > .d-grid::before {
 content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;
 background:linear-gradient(var(--nssf-blue),var(--nssf-teal),var(--nssf-purple),var(--nssf-green));
}
.board-skills-branch {position:relative;}
.board-skills-branch::before {content:"";position:absolute;left:-28px;top:11px;width:28px;height:1px;background:var(--nssf-blue);}
@media(min-width:992px){
 .board-skills-donut {position:relative;}
 .board-skills-donut::after {content:"";position:absolute;left:calc(100% - 12px);top:50%;width:24px;height:1px;background:var(--nssf-blue);}
}

#board-experience-skills .board-skills-donut > svg {
 display:block; height:auto; aspect-ratio:240 / 225; overflow:visible; opacity:1;
}

.board-gender-timeline {display:grid;grid-template-columns:4fr 6fr;gap:32px;}
.board-gender-people {display:flex;justify-content:space-around;border-top:2px solid currentColor;}
.board-gender-people > span {position:relative;display:inline-flex;}
.board-gender-people > span::before {content:"";position:absolute;top:-26px;left:50%;width:8px;height:8px;border-radius:50%;background:currentColor;transform:translateX(-50%);}
@media(max-width:767.98px){.board-gender-timeline {grid-template-columns:1fr;gap:32px;}}

#board-professional-development .nssf-card-connector {margin-left:2.5rem;}
@media(max-width:767.98px){
 #board-professional-development .nssf-card-connector {margin-left:20px;}
}

@media(min-width:992px){
 #board-training .board-training-date::after {
  content:"";position:absolute;left:calc(100% - 24px);top:50%;width:48px;height:1px;
  background:var(--nssf-blue);z-index:2;
 }
}

@media(min-width:992px){
 #board-training .board-training-blob::after {
  content:"";position:absolute;left:50%;right:-24px;top:50%;
  height:1px;background:var(--nssf-blue);
 }
}
@media(max-width:991.98px){
 #board-training .board-training-blob::after,
 #board-training .board-training-date::after {
  content:"";position:absolute;left:50%;top:100%;width:1px;height:48px;
  background:var(--nssf-blue);
 }
}

@media(min-width:992px){
 #board-training .board-training-blob::before {
  content:"";position:absolute;left:50%;top:50%;bottom:-40px;
  width:1px;background:var(--nssf-blue);z-index:2;
 }
 #board-training .board-training-blob::after {z-index:2;}
}
.board-training-rows {gap:40px;}
@media(min-width:992px){
 #board-training .board-training-rows .board-training-blob::before {top:0;bottom:-40px;background:var(--card-accent);}
 #board-training .board-training-rows > .row:first-child .board-training-blob::before {top:50%;}
 #board-training .board-training-rows > .row:last-child .board-training-blob::before {bottom:50%;}
 #board-training .board-training-rows .board-training-blob::after,
 #board-training .board-training-rows .board-training-date::after {background:var(--card-accent);}
}

/* Connect the review cards using the same 40px spacing as the surrounding blocks. */
#board-renewal .board-review-cards {
 --bs-gutter-x:40px;
 --bs-gutter-y:40px;
}
#board-renewal .board-review-cards > .col {position:relative;}
@media(min-width:768px){
 #board-renewal .board-review-cards > .col:nth-child(odd)::after {
  content:"";position:absolute;top:50%;left:calc(100% - 20px);width:40px;height:1px;background:var(--nssf-blue);
 }
 #board-renewal .board-review-cards > .col::before {
  content:"";position:absolute;top:100%;left:50%;height:40px;width:1px;background:var(--nssf-blue);
 }
}
@media(max-width:767.98px){
 #board-renewal .board-review-cards > .col::after {
  content:"";position:absolute;top:100%;left:50%;height:40px;width:1px;background:var(--nssf-blue);
 }
}
/* Connect the executive portrait, qualifications and supporting cards across their existing gaps. */
@media (min-width: 992px) {
    .executive-profile-qualifications::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 100%;
        width: var(--bs-gutter-x);
        height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
        pointer-events: none;
    }
    .executive-profile-details { position: relative; }
    .executive-profile-details > div { position: relative; }
    .executive-profile-details > div::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 1px;
        height: 40px;
        background: linear-gradient(var(--nssf-teal), var(--nssf-blue));
        pointer-events: none;
    }
}

/* Fine links between Patrick's pills; never draw through the pill surfaces. */
@media (min-width: 992px) {
    .executive-profile-pills > div { position: relative; }
    .executive-profile-pills > div::before {
        content: "";
        position: absolute;
        right: 100%;
        top: 50%;
        width: var(--pill-connector-width, 1rem);
        height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
        pointer-events: none;
    }
}

@media (min-width: 992px) {
    .executive-profile-detail-stack { position: relative; }
    .executive-profile-detail-stack::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 1px;
        height: 40px;
        background: linear-gradient(var(--nssf-teal), var(--nssf-blue));
        pointer-events: none;
    }
}

/* Keep the committee video landing within the report phone typography. */
@media (max-width: 767.98px) {
    #committees-video-landing .report-hero__title { font-size: 25px; }
    #committees-video-landing .report-hero__content { padding: 30px; }
}

/* King V transition: existing divider animation with travelling footsteps. */
.king-transition { position: relative; }
.king-transition__pill { position: relative; z-index: 2; box-shadow: 0 5px 16px rgba(24,66,143,.14); }
.king-transition__track { position: absolute; top: 2px; left: 0; right: 0; height: 48px; }
.king-transition__track .nssf-animated-divider { position: absolute; top: 24px; background: linear-gradient(90deg,var(--nssf-blue),var(--nssf-teal),var(--nssf-purple),var(--nssf-orange)); }
.king-transition__walker { position: absolute; top: 10px; z-index: 1; color: var(--nssf-orange); font-size: 24px; animation: king-journey-walk 12s linear infinite; }
@keyframes king-journey-walk { from { left: 0; } to { left: calc(100% - 30px); } }
@media (max-width: 991.98px) {
    .king-transition__track { top: 0; bottom: 0; left: 12px; right: auto; width: 2px; height: auto; }
    .king-transition__track .nssf-animated-divider { top: 0; width: 2px; height: 100%; }
    .king-transition__walker { display: none; }
    .king-transition > ol > li { width: 100%; }
    .king-transition > ol > li > div { padding-left: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .king-transition__walker, .king-transition .nssf-animated-divider::after { animation: none; }
    .king-transition__walker { left: 48%; }
}

.king-transition__drop { width: 1px; height: 24px; flex-shrink: 0; margin-left: 40px; background: linear-gradient(var(--nssf-teal),var(--nssf-purple)); }

.king-transition__stages > li { --king-stage-colour: var(--card-accent); }
.king-transition__stages > li:nth-child(2) { --king-stage-colour: var(--bs-info, #0dcaf0); }
.king-transition__stages > li:nth-child(4) { --king-stage-colour: #f7941d; }
.king-transition__stages .card { --card-accent: var(--king-stage-colour); }
.king-transition__stages .card .fw-bold { color: var(--king-stage-colour); }
.king-transition__stages .king-transition__drop { background: var(--king-stage-colour); }

#king-review-figures .king-review-number { width: 56px; height: 56px; background: var(--assurance-colour); }

/* Connect the review divider to the first visible row of coloured blobs. */
#king-review-figures .assurance-capital__visual::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 100%;
    width: 1px;
    height: var(--review-connector-height, 0px);
    background: linear-gradient(to bottom, var(--nssf-orange), var(--assurance-colour));
}

#king-review-figures > .nssf-white-glass-card::after { content: none; }

/* Compact feature banners for the four governance outcomes only. */
@media (min-width: 992px) {
    .governance-outcome-banner .performance-aspiration-card {
        min-height: 220px;
    }
    .governance-outcome-banner .shared-value-feature-image {
        height: auto;
        min-height: 220px;
    }
}

/* Legitimacy outcome: orange and blue feature surfaces. */
#legitimacy .performance-aspiration-card {
    background: linear-gradient(135deg, var(--nssf-orange), var(--nssf-blue));
}

/* Align the Principle 3 narrative spine with the surrounding content edge. */
:is(#principle-3, #principle-6) .commitment-values::before { left: 0; top: 30px; }
:is(#principle-3, #principle-6) .commitment-value::before { left: 0; width: 72px; }


/* Principle 4 uses full-width reporting cards without journey connectors. */
:is(#principle-4, #principle-5) .nssf-split-pill::before,
.member-story-answer::before { display: none; }

/* Continue the callout connector through the gaps between reporting cards. */
#principle-4-reporting-cards > .card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50px;
    height: 1.5rem;
    width: 1px;
    background: #87939f;
}

@media (min-width: 992px) {
    :is(#principle-4-reporting-cards, #principle-5-board-cards) { grid-auto-rows: 1fr; }
}

@media (min-width: 992px) {
    #principle-5-board-cards { grid-auto-rows: auto; grid-template-rows: auto auto 1fr 1fr; }
}

/* Link the last skills badge to its supporting wording. */
#principle-5-specialist-skills::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    height: 1.5rem;
    width: 1px;
    background: #87939f;
}
@media (min-width: 768px) {
    #principle-5-specialist-skills::before { left: 75%; }
}
@media (min-width: 1200px) {
    #principle-5-specialist-skills::before { left: 90%; }
}

#principle-5-composition-cards .card::after { content: none; }
@media (min-width: 768px) {
    #principle-5-composition-cards > div:nth-child(odd)::after {
        content: ""; position: absolute; top: 50%; left: calc(100% - 12px);
        width: 24px; height: 1px; background: #87939f;
    }
}
@media (min-width: 1200px) {
    #principle-5-composition-cards > div:not(:last-child)::after {
        content: ""; position: absolute; top: 50%; left: calc(100% - 12px);
        width: 24px; height: 1px; background: #87939f;
    }
}

/* Continue the requirements divider between the four evidence cards. */
#principle-6-evidence-cards > div:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: calc(50px + var(--bs-gutter-x) * .5);
    width: 1px;
    height: var(--bs-gutter-y);
    background: #87939f;
}

/* Risk page: outer containers have no side accent; inner cards retain theirs. */
#principle-8 .risk-card__body > div > .nssf-white-glass-card::after,
#principle-8 .risk-card__body > .row > .col-10 > .nssf-white-glass-card::after { content: none; }

/* Vision and purpose connect from their own centres to the advisor bar. */
#audit-strategy-diagram .governance-chart__core::before { display: none; }
@media (min-width: 992px) {
    #audit-vision-purpose > div { position: relative; }
    #audit-vision-purpose > div::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        width: 1px;
        height: 40px;
        background: var(--nssf-teal);
    }
}

#audit-compact-summary table th { color: var(--nssf-blue) !important; }

/* Thin gradient separators across the capital table. */
#audit-compact-summary table tr {
    background: linear-gradient(90deg, var(--nssf-cyan), var(--nssf-green)) left bottom / 100% 1px no-repeat;
}

#audit-compact-summary table {
    --bs-table-bg: transparent;
}
#audit-compact-summary table > :not(caption) > * > * {
    background-color: transparent;
    box-shadow: none;
}

/* Connect the six value cards across their desktop row. */
@media (min-width: 1200px) {
    #audit-value-cards .row > .col {
        position: relative;
    }
    #audit-value-cards .row > .col:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        left: calc(100% - var(--bs-gutter-x) / 2);
        width: var(--bs-gutter-x);
        height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal));
        pointer-events: none;
    }
}

#audit-nssf-impact .audit-impact-spine {
    position: relative;
    border-left: 1px solid rgba(255, 255, 255, .65);
    padding: 8px 0 8px 16px;
}
#audit-nssf-impact .audit-impact-spine::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 0;
    width: 16px;
    height: 1px;
    background: rgba(255, 255, 255, .65);
}

#audit-nssf-impact .nssf-icon-blob {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
}
#audit-nssf-impact .nssf-icon-blob i { font-size: clamp(24px, 2.5vw, 42px); }
#audit-nssf-impact .audit-impact-spine::before {
    top: calc(8px + (100% - 16px) / 2);
}
#audit-nssf-impact .audit-impact-spine { height: auto !important; padding-bottom: 0; }
#audit-nssf-impact .audit-impact-copy { container-type: inline-size; }
#audit-nssf-impact .audit-impact-you { display: block; font-size: 43cqw; line-height: 1; }

#audit-nssf-impact .audit-impact-spine {
    padding-left: 8px;
}
#audit-nssf-impact .audit-impact-spine::before {
    width: 8px;
    top: calc(50% + 4px);
}

#audit-nssf-impact .audit-impact-believe {
    font-size: 14.5cqw;
    line-height: 1.2;
    white-space: nowrap;
}
#audit-nssf-impact .audit-impact-you {
    text-underline-offset: .1em;
    text-decoration-thickness: 2px !important;
}

#audit-nssf-impact .audit-impact-you {
    border-bottom: 5px solid currentColor;
    padding-bottom: .08em;
}

#audit-nssf-impact .audit-impact-you {
    line-height: .85;
    padding-bottom: 0;
}

/* Keep the impact mark readable at every viewport size. */
#audit-nssf-impact > .row {
    display: grid;
    grid-template-columns: clamp(56px, 5vw, 88px) minmax(0, 1fr);
    gap: clamp(20px, 2vw, 32px);
    margin: 0;
}
#audit-nssf-impact > .row > [class*="col-"] {
    width: auto;
    padding: 0;
    margin: 0;
    min-width: 0;
}
@media (max-width: 1199.98px) {
    #audit-strategy-diagram .governance-chart__group--three {
        grid-template-columns: minmax(0, 1fr);
    }
}

#audit-nssf-impact .audit-impact-believe { font-size: clamp(16px, 14.5cqw, 44px); }
#audit-nssf-impact .audit-impact-you { font-size: clamp(46px, 43cqw, 132px); }

/* Preserve the eight-stakeholder desktop row without splitting words. */
@media (min-width: 1200px) {
    #strategy-values .member-journey__body.card-body {
        padding: 30px 0 0 !important;
    }
    #strategy-values .member-journey__title {
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
    #strategy-values .member-journey__row {
        --bs-gutter-x: 12px;
    }
}

/* Retain the five-card sustainability composition on smaller desktops. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    #strategy-sustainability-drivers .row-cols-xl-5 { --bs-gutter-x: 16px; }
    #strategy-sustainability-drivers .row-cols-xl-5 .card-body {
        padding: 16px !important;
        justify-content: flex-start !important;
    }
    #strategy-sustainability-drivers .row-cols-xl-5 .card-body > .d-flex {
        min-height: 48px;
    }
    #strategy-sustainability-drivers .row-cols-xl-5 .report-section__card-title {
        font-size: 14px;
        overflow-wrap: normal;
    }
    #strategy-sustainability-drivers .row-cols-xl-5 .nssf-icon-size {
        width: 30px;
        height: 30px;
        font-size: 20px;
    }
}

/* Preserve the large-desktop Vision 2035 composition on smaller desktops. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    #strategy-value-framework .row.g-4 { --bs-gutter-x: 16px; }
    #strategy-value-framework .nssf-split-pill__rail { padding: 12px 8px; }
    #strategy-value-framework .nssf-split-pill__panel { padding: 20px 12px; }
    #strategy-value-framework .strategy-number-block { font-size: 26px; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    #strategy-purpose-vision .row { --bs-gutter-x: 16px; }
    #strategy-purpose-vision .business-timeline-card__surface.card-body {
        padding: 20px !important;
    }
}

/* Shared desktop navigation: edge controls and content-aligned Up next. */
@media (min-width: 1200px) {
    .page-chapter .publication-spread-control--previous { left: 20px !important; }
    .page-chapter .publication-spread-control--next { right: 26px !important; }
    .page-chapter:not(.page-navigating-our-report) .report-section:not(.report-section--full-bleed) > .report-section__next {
        margin-right: var(--report-content-gutter) !important;
        padding-top: 40px;
    }
}
@media (min-width: 1200px) and (max-width: 1440px) {
    .page-chapter:not(.page-navigating-our-report) .report-section:not(.report-section--full-bleed) > .report-section__next {
        margin-right: 70px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1440px) {
    .page-chapter .publication-spread-control {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px;
        min-height: 30px;
        font-size: 12px;
    }
    .page-chapter .publication-spread-control :is(i, svg) { font-size: 12px; }
}

/* Compact the Vision 2035 content without changing its desktop arrangement. */
@media (min-width: 1200px) and (max-width: 1440px) {
    #strategy-value-framework .nssf-split-pill__rail { padding: 10px 6px; }
    #strategy-value-framework .nssf-split-pill__panel { padding: 18px 12px !important; }
    #strategy-value-framework .process-card { padding: 22px !important; }
}

/* Optional image crop: set --image-x and --image-y per image. */
img.image-position-custom {
    object-position: var(--image-x, 50%) var(--image-y, 50%) !important;
}

/* Match the crop box to the landing mask so percentage positioning is effective. */
.editorial-landing__visual:has(> .editorial-landing__image) {
    height: auto;
    aspect-ratio: var(--image-frame-ratio, 932 / 572);
}
.editorial-landing__visual > img.editorial-landing__image {
    object-position: var(--image-x, 0%) var(--image-y, 50%) !important;
    width: 77.489% !important;
    height: auto !important;
    aspect-ratio: 1362.82 / 1080;
    margin-inline: auto;
    object-fit: cover;
}

/* Approved desktop reading style, shared across report pages. */
@media (min-width: 1200px) {
    body.page-chapter,
    .page-chapter .report-section__text:not(.lead),
    .page-chapter .report-section__body,
    .page-chapter .report-section p:not(.lead):not(.report-section__eyebrow) {
        font-weight: 400;
        line-height: 1.6;
    }
}

/* Vision 2035 cards: content-sized number rails inside padded Bootstrap rows. */
#strategy-value-framework .nssf-split-pill__rail {
    flex: 0 0 auto;
    width: auto;
    padding: 0 16px 0 0 !important;
    align-items: stretch;
    justify-content: center;
}
#strategy-value-framework .nssf-split-pill__rail .strategy-number-block {
    align-self: center;
    flex-shrink: 0;
    width: 96px;
    min-width: 96px;
    height: 96px;
    padding: 12px;
    background: var(--split-pill-colour);
}
#strategy-value-framework .nssf-split-pill__rail .nssf-split-pill__icon {
    align-self: center;
    width: 96px;
    min-width: 96px;
}
#strategy-value-framework .nssf-split-pill__panel {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    padding: 0 !important;
}
#strategy-value-framework .nssf-split-pill__title {
    line-height: 1.2;
    text-transform: none;
}

/* Join the first branch to the existing timeline spine in both progress sections. */
:is(#reflecting-foundations, #reflecting-saving) .commitment-values::before {
    top: 30px;
}

/* Extend each heading connector through the gap to the first timeline branch. */
:is(#reflecting-foundations, #reflecting-saving) .board-value-icon::after {
    bottom: -70px;
}

/* Tablet governance diagrams: keep narrative cards wide enough to read. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    :is(#principle-3, #principle-8) .governance-chart__group--three {
        grid-template-columns: 1fr;
    }
}
.committee-impact-legend::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 32px;
    width: 1px;
    height: 40px;
    background: var(--nssf-blue);
    pointer-events: none;
}
#arc-milestones-priorities .committee-impact-legend::after { left: 160px; }
@media (max-width: 767.98px) {
    #arc-milestones-priorities .committee-impact-legend::after { left: 160px; height: 132px; }
}
@media (max-width: 991.98px) {
    .remuneration-policy-connector { height: 24px; justify-content: center; }
    .remuneration-policy-connector > span { width: 1px !important; height: 24px !important; }
}
.remuneration-linked-block::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -40px;
    height: 40px;
    width: 1px;
    background: linear-gradient(var(--nssf-blue), var(--nssf-teal));
    pointer-events: none;
}
/* Keep the ministerial icon and its fine connector on the same centre line. */
#remuneration-ministerial-appointees .strategy-story-row__visual::before {
    height: 1px;
}
#remuneration-ministerial-appointees .strategy-story-row__visual::after {
    width: 1px;
}
@media (min-width: 768px) {
    #remuneration-ministerial-appointees .strategy-story-row__visual .nssf-icon-blob {
        position: absolute;
        left: 50%;
        top: 50%;
        margin: 0;
        transform: translate(-50%, -50%);
    }
    #remuneration-ministerial-appointees .strategy-story-row__visual::before {
        display: block;
        left: 50%;
    }
    #remuneration-ministerial-appointees .strategy-story-row__visual::after {
        left: 50%;
        top: 50%;
        bottom: -40px;
    }
    #remuneration-ministerial-appointees .remuneration-linked-block::before {
        content: none;
    }
}
#governance-gri-index .strategy-story-row__visual::before,
#governance-gri-index .gri-disclosure-cards .nssf-report-row::after {
    height: 1px;
}
#governance-gri-index .strategy-story-row__visual::after {
    width: 1px;
}
#governance-gri-index .strategy-story-row__visual::before,
#governance-gri-index .strategy-story-row__visual::after {
    background: rgba(var(--card-accent-rgb), .5);
}
#governance-gri-index .gri-disclosure-cards { align-self: stretch; }
@media (min-width: 992px) {
    #governance-gri-index .strategy-story-row__visual .nssf-icon-blob {
        left: 4rem;
        margin: 0;
        transform: translate(-50%, -50%);
    }
}
@media (min-width: 992px) {
    #governance-gri-index .gri-disclosure-cards .nssf-report-row::after {
        content: none;
    }
    #governance-gri-index .gri-disclosure-cards .nssf-report-row > .col-lg-4:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        right: calc(var(--bs-gutter-x) / -2);
        width: var(--bs-gutter-x);
        height: 1px;
        background: rgba(24, 66, 143, .4);
        pointer-events: none;
        z-index: 2;
    }
}
@media (min-width: 992px) {
    #governance-gri-index .strategy-story-row:last-child .strategy-story-row__visual::after {
        bottom: calc(-40px - .35rem);
    }
}
.governance-conclusion-panel {
    background: linear-gradient(135deg, rgba(242,101,36,.055), rgba(245,248,251,.98), #fff);
}
.governance-conclusion-panel::before {
    background: linear-gradient(145deg, rgba(242,101,36,.12), rgba(24,66,143,.05));
}
.governance-conclusion-panel .regional-overview-panel__word {
    color: rgba(24,66,143,.045);
}
/* Shared footer clearance, including Up next inside a container or wrapper. */
.page-chapter .report-section:not(.report-section--full-bleed):has(.report-section__next) {
    padding-bottom: 60px !important;
}
.page-chapter .report-section .report-section__next {
    margin-bottom: 0 !important;
}
/* Respect explicit zero-padding links, including the centred mobile treatment. */
.page-chapter .report-section a.report-section__next.pt-0 {
    --up-next-padding-top: 0px;
    padding-top: 0 !important;
}
.stakeholder-detail .committee-stacked-impact .stakeholder-detail-row__rail::before {
    bottom: 0;
}

/* Material matters: shared header space aligns the body copy in matching cards. */
@media (min-width: 992px) {
  .page-material-matters .material-card-heading { min-height: 6rem; }
}
.page-material-matters .report-section__container { flex-shrink: 0; }


/* Compact member interview questions on laptop screens; retain natural wrapping. */
@media (min-width: 992px) and (max-width: 1440px) {
    .page-member-story .member-story-question { font-size: 13px; line-height: 1.5; }
}

/* Consistent white active navigation across report chapters. */
.page-chapter .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__number {
    color: var(--nssf-blue) !important;
    background: #fff !important;
    border-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(255,255,255,.18), 0 0 16px rgba(255,255,255,.3);
}
.page-chapter .publication-sidebar .chapter-sidebar__link.is-active,
.page-chapter .publication-sidebar .chapter-sidebar__link.is-active .chapter-sidebar__title,
.page-chapter .report-toolbar__topic-number,
.page-chapter .report-toolbar__topic-name { color: #fff !important; }
.page-chapter .publication-sidebar .chapter-sidebar__list::before { background: rgba(255, 255, 255, .35) !important; }
.page-chapter .report-toolbar__topic-divider { background: #fff !important; }

/* Large plain icon circle for the materiality process preview. */
.material-process-icon { width: 200px; height: 200px; border-radius: 50%; border: 0; color: var(--nssf-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.material-process-icon > i { font-size: 100px; line-height: 1; }
@media (max-width: 991.98px) { .material-process-icon { width: 120px; height: 120px; } .material-process-icon > i { font-size: 48px; } }

/* The process icon card is the circle itself. Override shared small icon sizing. */
:is(.page-material-matters, .page-responsible-investments) .material-process-icon { box-shadow: 0 4px 24px rgba(24,66,143,.12); border: 0; }
:is(.page-material-matters, .page-responsible-investments) .material-process-icon > i { font-size: 100px !important; width: auto !important; height: auto !important; line-height: 1 !important; }
:is(.page-material-matters, .page-responsible-investments) .material-process-icon > i::before,
:is(.page-material-matters, .page-responsible-investments) .material-process-icon > i::after { font-size: inherit !important; }
@media (max-width: 991.98px) { :is(.page-material-matters, .page-responsible-investments) .material-process-icon > i { font-size: 64px !important; } }

/* Font Awesome replaces the icon element with SVG; size that rendered icon too. */
:is(.page-material-matters, .page-responsible-investments) .material-process-icon > svg { width: 100px !important; height: 100px !important; font-size: 100px !important; flex-shrink: 0; }
@media (max-width: 991.98px) { :is(.page-material-matters, .page-responsible-investments) .material-process-icon > svg { width: 64px !important; height: 64px !important; font-size: 64px !important; } }

.material-process-walk { position: relative; height: 64px; margin-left: 4.166667%; color: var(--nssf-teal); }
.material-process-walk::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: linear-gradient(var(--nssf-blue),var(--nssf-teal),var(--nssf-purple)); }
.material-process-walk > :is(i,svg) { position: absolute; left: -10px; width: 20px; height: 24px; font-size: 20px; animation: material-footsteps 2.8s linear infinite; }
@keyframes material-footsteps { 0% { top: 0; opacity: 0; transform: rotate(90deg); } 20%,80% { opacity: 1; } 100% { top: 40px; opacity: 0; transform: rotate(90deg); } }
@media (prefers-reduced-motion: reduce) { .material-process-walk > :is(i,svg) { animation: none; top: 20px; transform: rotate(90deg); } }

/* One continuous spine behind the four materiality steps. */
.material-process-flow::before { content: ""; position: absolute; top: 0; bottom: 0; left: 4.166667%; width: 1px; background: linear-gradient(var(--nssf-blue),var(--nssf-teal),var(--nssf-green),var(--nssf-purple)); }
.material-process-flow-foot { position: absolute; top: 0; bottom: 0; left: 4.166667%; width: 22px; padding: 0; pointer-events: none; }
.material-process-flow-foot > :is(i,svg) { position: absolute; left: -10px; width: 20px; height: 24px; color: var(--nssf-teal); animation: material-process-walk-down 12s linear infinite; }
@keyframes material-process-walk-down { from { top: 0; transform: rotate(90deg); } to { top: calc(100% - 24px); transform: rotate(90deg); } }
@media (prefers-reduced-motion: reduce) { .material-process-flow-foot > :is(i,svg) { animation: none; transform: rotate(90deg); } }

/* Step 02 follows the supplied sketch: one spine through heading and card gaps. */
.material-double-stack { position: relative; isolation: isolate; }
.material-double-stack::before { content: ""; position: absolute; left: 60px; top: 24px; bottom: 60px; width: 1px; background: var(--nssf-teal); z-index: -1; }
.material-double-heading { position: relative; z-index: 1; }
.material-double-card > .card { background: #fff; border-radius: 20px; }
@media (min-width: 992px) {
 .material-double-row { --material-double-offset: 62px; isolation: isolate; }
 .material-double-row > :nth-child(1), .material-double-row > :nth-child(2) { transform: translateY(var(--material-double-offset)); }
 .material-double-row::before { content: ""; position: absolute; left: 4.166667%; right: calc(66.666667% - 72px); top: calc(50% + var(--material-double-offset)); height: 1px; background: var(--nssf-teal); z-index: 0; }
 .material-double-row > [class*="col-"] { position: relative; z-index: 1; }
 .position-relative:has(> .material-double-row) > .position-absolute { display: none !important; }
}

/* Plain heading icons use the same accent as their process number. */
.material-process-heading-icon { color: var(--process-step-colour, var(--nssf-blue)); display: inline-flex; align-items: center; }
:is(.page-material-matters, .page-responsible-investments) .material-process-heading-icon > :is(i,svg) { width: 28px !important; height: 28px !important; font-size: 28px !important; }

.material-assessment-footpath { position: relative; height: 22px; color: #fff; }
.material-assessment-footpath::before { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: rgba(255,255,255,.4); }
.material-assessment-footpath > :is(i,svg) { position: absolute; width: 22px; height: 22px; font-size: 22px; animation: material-assessment-walk 14s linear infinite; }
@keyframes material-assessment-walk { from { left: 0; } to { left: calc(100% - 22px); } }
@media (prefers-reduced-motion: reduce) { .material-assessment-footpath > :is(i,svg) { animation: none; } }

.material-matter-timeline .row::before { content: ""; position: absolute; top: 67px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg,var(--nssf-green),var(--nssf-orange),var(--nssf-blue),var(--nssf-purple),var(--nssf-teal)); }
.material-matter-stop { position: relative; }
.material-matter-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--matter-colour); flex-shrink: 0; }
@media(max-width:575.98px) { .material-matter-timeline { overflow-x: auto; } .material-matter-timeline > .row { min-width: 520px; } }

.material-matter-timeline .row > .material-matter-walker { position: absolute; top: 56px; left: 10%; width: 22px; height: 22px; padding: 0; margin: 0; z-index: 2; color: var(--nssf-teal); pointer-events: none; animation: material-matter-walk 12s linear infinite; }
.material-matter-walker > :is(i,svg) { width: 22px !important; height: 22px !important; font-size: 22px !important; }
@keyframes material-matter-walk { from { left: 10%; } to { left: calc(90% - 22px); } }
@media(prefers-reduced-motion:reduce) { .material-matter-timeline .row > .material-matter-walker { animation: none; } }

/* Link the timeline to the left edge of the first assessment card below. */
.material-timeline-side-link { position: absolute; left: 18px; top: 100%; height: 64px; width: 20px; border-left: 1px solid var(--nssf-green); border-bottom: 1px solid var(--nssf-green); pointer-events: none; z-index: 0; }

/* Lettered chapter stops mask the rail, like the numbered stops. */
.page-chapter .cio-topic-part { position: relative; z-index: 1; background: linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)), var(--topic-part-colour, var(--nssf-red)); }
.page-chapter .cio-topic-part:is(:hover, :focus-visible, [aria-current="page"]) { background: #fff; }

/* Equal collaboration cards, centred beside the advert on desktop. */
@media (min-width: 992px) {
    .regional-collaboration-cards { display: grid; grid-auto-rows: 1fr; gap: 40px; }
    .regional-collaboration-cards > .strategy-story-row { margin-top: calc(-1 * var(--bs-gutter-y)) !important; margin-bottom: 0 !important; }
    .regional-collaboration-cards .card > .card-body { padding: 40px; justify-content: flex-start; }
}
/* Join the EAC recommendations to the introductory card above. */
.eac-recommendations > .assurance-journey__line { top: -40px; left: 24px; z-index: 0; }
.eac-recommendations .nssf-white-glass-card::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    width: 56px;
    height: 1px;
    background: var(--card-accent);
}
#international-diplomatic-engagements .risk-card__body > .mt-40 { position: relative; z-index: 1; }

/* Continue the relevance icon rail into the first benefit card. */
.eac-relevance-cards::before {
    content: "";
    position: absolute;
    left: calc(50px + var(--bs-gutter-x) * .5);
    top: -40px;
    height: calc(40px + var(--bs-gutter-y));
    width: 1px;
    background: var(--nssf-grey);
    pointer-events: none;
}
@media (min-width: 992px) {
    #remuneration-components .nssf-report-row::after {
        height: 1px;
        background: linear-gradient(90deg, var(--nssf-blue), var(--nssf-teal), var(--nssf-purple));
    }
}
/* Run the policy-step divider behind the cards at their vertical centre. */
.policy-steps-connected::before {
    content: ""; position: absolute;
    left: calc(30px + var(--bs-gutter-x) * .5);
    top: -40px; height: calc(50% + 40px); width: 1px;
    background: var(--nssf-teal);
}
.policy-steps-connected::after {
    content: ""; position: absolute;
    left: calc(30px + var(--bs-gutter-x) * .5); right: calc(var(--bs-gutter-x) * .5);
    top: calc(50% + var(--bs-gutter-y) * .5); height: 1px;
    background: linear-gradient(90deg, var(--nssf-teal), var(--nssf-purple));
    z-index: 0;
}
.policy-steps-connected > .col-12 { position: relative; z-index: 1; }

/* Match shared landing image dimensions when the image is a lightbox button. */
.editorial-landing__visual.summit-landing-visual {
    height: auto;
    aspect-ratio: var(--image-frame-ratio, 932 / 572);
}
.summit-landing-visual > button > img.editorial-landing__image {
    object-position: var(--image-x, 0%) var(--image-y, 50%) !important;
    width: 77.489% !important;
    height: auto !important;
    aspect-ratio: 1362.82 / 1080;
    margin-inline: auto;
    object-fit: cover;
}
/* Enterprise growth philosophy: existing layered blobs enlarged for shout-outs. */
.enterprise-growth-blob.nssf-icon-blob {
    width: 210px;
    height: 210px;
    flex-shrink: 0;
}
.enterprise-growth-blobs { position: relative; }
.enterprise-growth-route { display: none; }
@media (min-width: 1200px) {
    .enterprise-growth-blobs { padding-block: 24px; }
    .enterprise-growth-blobs > .enterprise-growth-route {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: visible;
        pointer-events: none;
        z-index: 2;
    }
}
@media (prefers-reduced-motion: reduce) {
    .enterprise-growth-route__dot { display: none; }
}
.enterprise-growth-blob.nssf-icon-blob i,
.enterprise-growth-blob.nssf-icon-blob .svg-inline--fa {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 2.75rem;
}
/* Join the paragraph rail exactly from the first branch to the last. */
@media (min-width: 768px) {
    #enterprise-growth-values::before { content: none; }
    #enterprise-growth-values .commitment-value:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 24px;
        top: 30px;
        bottom: -30px;
        width: 1px;
        background: rgba(var(--card-accent-rgb), .42);
    }
}
.enterprise-growth-route__line { stroke-width: 1px; vector-effect: non-scaling-stroke; }

.enterprise-awareness-orbit {
    position: relative;
    aspect-ratio: 1;
    margin: 40px 24px;
    border-radius: 50%;
    background: conic-gradient(var(--nssf-blue) 0deg 117deg, transparent 117deg 123deg, var(--nssf-teal) 123deg 237deg, transparent 237deg 243deg, var(--nssf-green) 243deg 357deg, transparent 357deg);
    padding: 22px;
}
.enterprise-awareness-orbit__centre {
    width: 100%; height: 100%; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: white;
}
.enterprise-awareness-orbit__icon {
    position: absolute; left: var(--orbit-x); top: var(--orbit-y);
    transform: translate(-50%, -50%);
}
.enterprise-awareness-card { position: relative; }
@media (min-width: 992px) {
    .enterprise-awareness-card::before {
        content: ""; position: absolute; right: 100%; top: 50%;
        width: clamp(48px, 14vw, 280px); height: 1px;
        background: linear-gradient(90deg, transparent, rgba(var(--card-accent-rgb), .45));
    }
}
.enterprise-awareness-centre {
    transform-box: fill-box;
    transform-origin: center;
    animation: enterprise-awareness-pulse 4s ease-in-out infinite;
}
@keyframes enterprise-awareness-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
    .enterprise-awareness-centre { animation: none; }
}
.enterprise-awareness-wheel__ring {
    transform-origin: 250px 250px;
    animation: enterprise-awareness-rotate 120s linear infinite;
}
@keyframes enterprise-awareness-rotate {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .enterprise-awareness-wheel__ring { animation: none; }
}
.value-card.nssf-side-accent { --card-accent: var(--value-colour); box-shadow: 0 4px 24px rgba(24,66,143,.12); }

/* Chairman and MD landings: match the Navigating our report image frame. */
@media (min-width: 992px) {
    :is([aria-labelledby="chairmans-statement-heading"], [aria-labelledby="managing-directors-statement-heading"]) .topic-intro__visual {
        width: min(100%, 820px);
        height: auto;
        aspect-ratio: 3 / 2;
    }
}
/* Smartlife highlights: keep an 80px gap above the figures. */
@media (min-width: 992px) {
    #products-and-services .business-highlight-card { aspect-ratio: auto; }
    #products-and-services .business-highlight-card .card-body { justify-content: flex-start; gap: 18px; }
    #products-and-services .business-highlight-card .business-product-number-box { margin-top: 62px; }
}
/* Products highlights use the Operating Context shimmer-card treatment. */
@media (min-width: 992px) {
    #products-and-services .business-highlight-card .card-body { gap: 20px; }
    #products-and-services .business-highlight-card .business-highlight-card__blob { flex-shrink: 0; }
    #products-and-services .business-highlight-card .business-highlight-card__meta > span:first-child { font-size: clamp(22px, 2vw, 32px) !important; }
    #products-and-services .business-highlight-card strong.business-product-number-box {
        margin-top: 0;
        min-height: 84px;
        font-size: clamp(30px, 3vw, 56px);
        line-height: 1.2;
    }
}
.summit-landing-caption-button { margin: 0 0 24px; z-index: 3; }

/* Business model: three connected full-width stages. */
#business-inputs .business-value-flow__row { flex: 0 0 auto; align-content: start; }
#business-inputs .business-flow-step { position: relative; width: 100%; flex: 0 0 100%; }
#business-inputs .business-value-flow__card.card {
    border-radius: 20px;
    background: linear-gradient(135deg, #fff, #fcfcfc, #fff);
    background-size: 250% 250%;
    box-shadow: 0 4px 24px rgba(24,66,143,.12);
}
#business-inputs .business-flow-step:not(:last-child)::after {
    content: "↓";
    position: absolute; left: 50%; top: 100%;
    height: 48px; display: grid; place-items: center;
    color: var(--nssf-blue); font-size: 28px;
    transform: translateX(-50%);
}
@media (min-width: 992px) {
    #business-inputs .business-value-flow__list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-template-rows: repeat(2, auto);
        grid-auto-flow: column;
        gap: 20px 32px;
    }
}
#business-inputs .business-flow-step:not(:last-child)::after { content: none; }
#business-inputs .business-value-flow__card.card { position: relative; overflow: hidden; }
#business-inputs .business-value-flow__body.card-body { border-left: 0; }
#business-inputs .business-value-flow__card::before {
    content: ""; position: absolute; left: 0; top: 24px; bottom: 24px;
    width: 2px;
    background: linear-gradient(transparent, var(--value-flow-colour) 25%, var(--value-flow-colour) 75%, transparent);
}
#business-inputs .business-flow-connector {
    position: absolute; top: 100%; left: 50%;
    transform: translateX(-50%); height: var(--bs-gutter-y); width: 36px;
    display: flex; align-items: center; justify-content: center; z-index: 2;
}
#business-inputs .business-flow-connector::before {
    content: ""; position: absolute; top: 0; bottom: 0; left: 50%;
    width: 1px; background: var(--nssf-teal); z-index: -1;
}
#business-inputs .business-flow-connector__circle {
    width: 32px; height: 32px; background: #e3f5f8;
    color: var(--nssf-teal); font-size: 17px;
    --fa-primary-color: var(--nssf-teal);
    --fa-secondary-color: var(--nssf-blue);
}
#material-assessment .material-timeline-side-link { border-bottom: 0; }



@media (min-width: 992px) {
    #regional-collaboration .regional-collaboration-cards { grid-template-rows: auto 1fr 1fr; }
}

/* Corrections 18 September: distinguish targets and prevent clipped milestones. */
#members-performance-measures dl > div:nth-child(4) .members-snapshot-number,
#members-performance-measures dl > div:nth-child(6) .members-snapshot-number {
    background: #eef2f7 !important; color: var(--nssf-blue) !important; border: 1px dashed var(--nssf-blue);
}
#operating-context-progress .business-highlight-card .card-body { padding: 30px; }
#operating-context-progress .business-highlight-card strong { flex-shrink: 0; }
#operating-context-progress .business-highlight-card { height: auto !important; overflow: visible; }
#material-themes .material-themes__heading { flex-grow: 0; }

/* The existing material-matter timeline, with duotone icons replacing MM labels. */
.sustainability-highlight-timeline .row::before { left: calc(var(--bs-gutter-x) * .5); right: calc(var(--bs-gutter-x) * .5); background: linear-gradient(90deg,var(--nssf-blue),var(--nssf-green),var(--nssf-teal),var(--nssf-purple)); }
.sustainability-highlight-icon { width: 64px; height: 40px; background: var(--matter-colour); color: white; font-size: 24px; }

.sustainability-highlight-timeline .report-section__card-title { color: var(--matter-colour); text-align: center; }
.sustainability-highlight-timeline .row > .material-matter-walker { animation-name: sustainability-highlight-walk; }
@keyframes sustainability-highlight-walk { from { left: calc(var(--bs-gutter-x) * .5); } to { left: calc(100% - var(--bs-gutter-x) * .5 - 22px); } }

/* Sustainability's five image cards reuse the theme panels and divider. */

.sustainability-pillar-heading .report-section__text { font-size: 14px; line-height: 1.6; white-space: nowrap; }
@media (min-width: 1200px) and (max-width: 1599.98px) {
    .sustainability-pillar-heading .report-section__text { font-size: 14px; }
    .sustainability-pillar-heading .theme-belief-card__title { font-size: 22px; }
}
.sustainability-pillar-row .nssf-split-pill::before { content: none; }
@media (min-width: 1200px) {
    #sustainability-through-our-theme .strategy-story-row:last-child .strategy-story-row__visual::after { bottom: -40px; }
    .sustainability-pillar-row { position: relative; }
    .sustainability-pillar-row > .col { position: relative; }
    .sustainability-pillar-row > .col:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -12px; width: 24px; height: 1px; background: var(--card-accent); pointer-events: none; }
}


.sustainability-pillar-heading .theme-belief-card__title { white-space: nowrap; font-size: clamp(18px, 1.1vw, 20px); }

.sustainability-pillar-heading::after { content: ""; display: block; width: 48px; height: 1px; flex-shrink: 0; background: linear-gradient(90deg, currentColor, transparent); }

.sustainability-pillar-summary::before { content: ""; position: absolute; left: 64px; top: -40px; height: 40px; width: 1px; background: var(--nssf-blue); pointer-events: none; }

#sustainability-vision .enterprise-awareness-card .report-section__card-title { color: var(--card-accent); }

/* Sustainability operations reuses the Board focus orbit with the green palette. */
#sustainability-operations .business-coming-soon { background: radial-gradient(circle at 78% 24%, rgba(108,190,69,.12), transparent 30%), radial-gradient(circle at 16% 82%, rgba(108,190,69,.08), transparent 28%), #fff; }
#sustainability-operations .business-coming-soon__orbit,
#sustainability-operations .business-coming-soon__orbit::before,
#sustainability-operations .business-coming-soon__orbit::after { border-color: rgba(108,190,69,.55); }
#sustainability-operations .business-coming-soon__orbit span { background: linear-gradient(135deg,#3f9f3a,#a8df72); box-shadow: 0 0 0 .65rem rgba(108,190,69,.09); }
#sustainability-operations .business-coming-soon__message { border-color: rgba(108,190,69,.28); background: linear-gradient(145deg,rgba(255,255,255,.9),rgba(234,247,225,.7)); box-shadow: 0 28px 60px rgba(108,190,69,.13); }
#sustainability-operations .business-coming-soon__message::before { border-color: rgba(108,190,69,.18); background: rgba(108,190,69,.06); box-shadow: 0 18px 46px rgba(108,190,69,.10); }
#sustainability-operations .business-coming-soon__message-icon { --card-accent: #3f9f3a; --card-accent-rgb: 63,159,58; }

@media (min-width: 992px) {
    #sustainability-governance .external-outlook__visuals { align-items: flex-start; }
    #sustainability-governance .external-outlook__visuals::before { left: 0; transform: translateX(18px); }
}

/* This journey's heading sits outside the shared spine wrapper. */
#investing-in-ugandas-future .commitment-values::before { top: 0; }

@media (min-width: 992px) {
    #sustainability-governance .external-outlook__item--first::before { width: 250px; }
}

#sustainability-governance .external-outlook__layout > :first-child { position: relative; z-index: 2; }
#sustainability-governance .external-outlook__layout > :last-child { position: relative; z-index: 1; }

/* Consistent metric boxes in sustainability scorecards, coloured by column. */
.sustainability-scorecard-value { display: flex; align-items: center; justify-content: center; width: fit-content; min-width: 80px; min-height: 32px; padding: 6px 12px; margin: 0 0 8px; font-size: 14px; font-weight: 700; line-height: 1.2; background: var(--nssf-blue); }
.sustainability-scorecard td:nth-child(3) .sustainability-scorecard-value { background: #008da3; }
.sustainability-scorecard td:nth-child(4) .sustainability-scorecard-value { background: #3f9f3a; }

/* SDG paired cards: shared goal colours and compact original icon blobs. */
.sustainability-sdg-icon-card::after { content: none; }
.sustainability-sdg-row .sdg-goal { width: 112px; height: 112px; }
.sustainability-sdg-row .sdg-goal__image { width: 76px; height: 76px; }
@media (min-width: 768px) {
    .sustainability-sdg-row > :first-child { position: relative; }
    .sustainability-sdg-row > :first-child::after { content: ""; position: absolute; top: 50%; left: calc(100% - var(--bs-gutter-x) / 2); width: var(--bs-gutter-x); height: 1px; background: var(--sdg-colour); }
}

/* Connect the advancement pill to the start of the first card. */
#audit-purposeful-advancement .audit-advancement-list::before { top: 0; }
#audit-purposeful-advancement .audit-advancement-pill::after { content: ""; position: absolute; top: 100%; left: 80px; height: 40px; width: 1px; background: var(--nssf-blue); }
@media (max-width: 767.98px) {
    #audit-purposeful-advancement .audit-advancement-pill::after { left: 24px; }
}

#esg-oversight .nssf-report-row::after { background: var(--nssf-blue); height: 1px; }

.committee-icon-label__tooltip { display: none; position: absolute; bottom: calc(100% + 10px); right: 0; width: 240px; padding: 10px 14px; border-radius: 12px; background: var(--nssf-blue); color: white; font-size: 14px; line-height: 1.4; z-index: 10; box-shadow: 0 4px 16px rgba(24,66,143,.2); }
.committee-icon-label:hover .committee-icon-label__tooltip,
.committee-icon-label:focus .committee-icon-label__tooltip { display: block; }
@media (min-width: 1200px) {
    #esg-oversight .nssf-report-row::after { background: linear-gradient(90deg,var(--nssf-blue) 0%,var(--nssf-blue) 40%,var(--nssf-purple) 40%,var(--nssf-purple) 60%,var(--nssf-blue) 60%); }
}

/* Link the outer responsibility-group cards. */
.esg-oversight-groups > article:not(:last-child)::before { content: ""; position: absolute; top: 100%; left: 48px; width: 1px; height: 24px; background: var(--nssf-blue); }

.esg-oversight-groups > article::after { content: none; }

/* Shared report reading size; headings, leads and numeric labels keep their own scale. */
body.page-chapter { --nssf-body-font-size: 14.5px; }
.page-chapter .report-section__text:not(.lead),
.page-chapter .report-section__body,
.page-chapter .five-year-review__table,
.page-chapter .audit-progress-table,
.page-chapter .business-timeline-card__list {
    font-size: var(--nssf-body-font-size);
}
/* Performance reference tables: red and blue, with subtle row dividers. */
.page-performance-reference .five-year-review__card { background: linear-gradient(135deg, rgba(171,18,28,.035), rgba(24,66,143,.035)); }
.page-performance-reference .five-year-review__table tr > :first-child { --review-column-colour: #ab121c; --review-column-rgb: 171,18,28; color: #ab121c; }
.page-performance-reference .five-year-review__table tr > :last-child { --review-column-colour: var(--nssf-blue); --review-column-rgb: 24,66,143; color: var(--nssf-blue); }
.page-performance-reference .five-year-review__table > :not(caption) > * > * { border: 0; border-bottom: 1px solid rgba(24,66,143,.12); }
.page-performance-reference .report-section__eyebrow { color: var(--nssf-blue); }
.page-performance-reference .five-year-review__table tbody > tr > * {
    border-bottom: 0;
    background-image: linear-gradient(90deg, transparent, rgba(24,66,143,.18) 25%, rgba(24,66,143,.18) 75%, transparent);
    background-size: 100% 1px;
    background-position: left bottom;
    background-repeat: no-repeat;
}
.page-performance-reference .five-year-review__table tbody > tr:last-child > * { background-image: none; }

/* Contact page reuses the report orbit with the performance chapter red. */
#contact-us .business-coming-soon__orbit,
#contact-us .business-coming-soon__orbit::before,
#contact-us .business-coming-soon__orbit::after { border-color: rgba(171,18,28,.62); }
#contact-us .business-coming-soon__orbit span { background: #ab121c; box-shadow: 0 0 0 .65rem rgba(171,18,28,.09), 0 10px 24px rgba(171,18,28,.18); }
#contact-us .business-coming-soon__message { border-color: rgba(171,18,28,.28); background: white; box-shadow: 0 28px 60px rgba(171,18,28,.12), 0 0 0 14px rgba(255,255,255,.3); }
#contact-us .business-coming-soon__message::before { border-color: rgba(171,18,28,.12); background: rgba(171,18,28,.06); box-shadow: 0 18px 46px rgba(171,18,28,.1); }
#contact-us .business-coming-soon__message .report-section__title { background: none; -webkit-text-fill-color: currentColor; color: #ab121c; }

#contact-us .business-coming-soon__message-icon { --card-accent: #ab121c; --card-accent-rgb: 171,18,28; }
/* Closing belief cards share the existing card-to-card connector. */
@media (min-width: 768px) {
    .theme-beliefs-connected > [class*="col-"]:first-child::after {
        background: linear-gradient(90deg, var(--nssf-green), var(--nssf-teal));
    }
    .theme-beliefs-connected > [class*="col-"]:nth-child(2)::after {
        background: linear-gradient(90deg, var(--nssf-teal), var(--nssf-purple));
    }
}
/* Keep the paired stakeholder links at the section foot. */
.page-navigating-our-report .stakeholders-grid > .report-section__container:has(.report-inline-link) {
    flex: 0 0 auto;
}
/* Align the first material-matter card with the final card in the adjoining stack. */
@media (min-width: 992px) {
    .page-navigating-our-report #material-themes .material-theme--vision { margin-top: auto !important; }
    .page-navigating-our-report #material-themes .material-themes__heading { padding-bottom: 40px; }
}
/* Match the line height of the paired footer links. */
@media (min-width: 992px) {
    .page-navigating-our-report .stakeholders-grid .report-inline-link { line-height: 1; }
}
/* Stakeholder links sit directly at the section foot; cards centre in the space above. */
.page-navigating-our-report .report-section__footer-links {
    padding-inline: var(--report-content-gutter); flex: 0 0 auto;
}
@media (min-width: 992px) {
    .page-navigating-our-report .stakeholders-grid > .report-section__container {
        display: flex; flex-direction: column; flex: 1 0 auto;
    }
    .page-navigating-our-report .stakeholders-grid > .report-section__container > .row {
        margin-top: auto; margin-bottom: auto;
    }
}
/* Bring the gap between stakeholder rows level with the page arrows. */
@media (min-width: 992px) {
    .page-navigating-our-report .stakeholders-grid > .report-section__container > .row {
        position: relative; top: -30px;
    }
}
@media (min-width: 992px) {
    .page-navigating-our-report .board-committees .report-inline-link { line-height: 1; }
}

@media (min-width: 992px) {
    .page-chapter .report-section__footer-links .report-inline-link { line-height: 1; }
}
/* Narrow Looking ahead panels only on large desktops, not laptops. */
@media (min-width: 1600px) {
    .looking-ahead-desktop-column { flex: 0 0 auto; width: 75%; }
}
/* Performance cards connect across each two-card row. */
.performance-pairs > [class*="col-"]:nth-child(even)::after { content: none; }
@media (max-width: 991.98px) {
    .performance-pairs > [class*="col-"]::after { content: none; }
}
/* Keep stewardship icons and labels left-aligned with a compact gap. */
.page-chapter .business-principle > .card-body {
    display: flex; align-items: flex-start; gap: 6px !important; text-align: left !important;
}
.page-chapter .business-principle .business-principle__title { text-align: left !important; }
/* Compact stewardship cards around their icon and label. */
.page-chapter .business-stewardship .business-principle { min-height: 0; }
.page-chapter .business-stewardship .business-principle > .card-body { padding: 16px 12px !important; }
/* Stewardship icons sit above their labels on the same left edge. */
.page-chapter .business-stewardship .business-principle > .card-body {
    flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px !important;
}
/* Compact financial amounts stay on one line within each half-card. */
@media (min-width: 992px) {
    #nssf-at-a-glance .business-financial-stats > div { container-type: inline-size; }
    #nssf-at-a-glance .business-financial-stats strong.business-number-box {
        font-size: clamp(14px, 12cqi, 20px); padding: 8px 6px; white-space: nowrap; line-height: 1.1;
    }
    #nssf-at-a-glance :is(.business-workforce-stat, .business-membership-stats, .business-network-stats) strong.business-number-box {
        font-size: 32px; line-height: 1.1;
    }
}

/* Main report heading size: change these two values to update the report. */
@media (min-width: 992px) {
    body.page-chapter { --report-heading-size: 40px; }
    #main-content .report-heading { font-size: var(--report-heading-size) !important; }
}
@media (min-width: 992px) and (max-width: 1599.98px) {
    body.page-chapter { --report-heading-size: 25px; }
}

/* Keep milestone comparisons compact and consistent across each card row. */
@media (min-width: 992px) {
    .operating-milestone-card > .card-body { container-type: inline-size; }
    .operating-milestone-card .operating-milestone-card__value {
        display: flex; align-items: center; gap: 6px;
        font-size: clamp(18px, 8cqi, 26px); white-space: nowrap;
    }
    .operating-milestone-card .operating-number-box { padding: 8px 10px; }
    .operating-milestone-card .nssf-icon-blob {
        width: 64px; height: 64px; min-width: 64px; min-height: 64px;
    }
    .operating-milestone-card .nssf-icon-blob :is(i, .svg-inline--fa) { font-size: 24px; }
}

/* Coverage metrics: compact paired desktop cards with connectors in the gaps. */
@media (min-width: 992px) {
    #expanding-social-security .vision-coverage-metrics { --report-number-size: 24px; }
    #expanding-social-security .vision-coverage-metrics .risk-card__detail { min-height: 0; }
    #expanding-social-security .vision-coverage-metrics > div { position: relative; }
    #expanding-social-security .vision-coverage-metrics > div:nth-child(odd)::after {
        content: ""; position: absolute; top: 50%; right: calc(-.5 * var(--bs-gutter-x));
        width: var(--bs-gutter-x); height: 1px; background: var(--nssf-blue);
        pointer-events: none;
    }
    #expanding-social-security .vision-coverage-metrics > div:nth-child(n+3)::before {
        content: ""; position: absolute; top: calc(-1 * var(--bs-gutter-y)); left: 50%;
        width: 1px; height: var(--bs-gutter-y); background: var(--nssf-blue);
        pointer-events: none;
    }
    #expanding-social-security .vision-coverage-metrics .card-body > .mb-3 { min-height: 2.4em; }
    #expanding-social-security .vision-coverage-metric { display: flex; align-items: center; gap: 20px; }
    #expanding-social-security .vision-coverage-metric > p:first-child { flex-shrink: 0; }
    #expanding-social-security .vision-coverage-metric > p:last-child { font-weight: 700; }
    #expanding-social-security .vision-coverage-metric .vision-number-box { font-size: 24px; line-height: 1.2; }
}

/* Preserve the supplied materiality positions in one compact full-width diagram. */
.material-assessment-matrix { height: auto; min-width: 1000px; }
.material-assessment-matrix a, .material-assessment-matrix a text { text-decoration: none !important; }

/* Mobile landing photographs: retain their natural composition and full available width. */
@media (max-width: 991.98px) {
    .page-chapter .editorial-landing__visual {
        height: auto;
        aspect-ratio: auto;
    }
    .page-chapter .editorial-landing__visual > button:has(> .editorial-landing__image) {
        display: block;
        height: auto !important;
    }
    .page-chapter .editorial-landing__visual > img.editorial-landing__image,
    .page-chapter .editorial-landing__visual > button > img.editorial-landing__image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto;
    }
}

/* A neutral white glass navigation card works over every mobile chapter colour. */
@media (max-width: 991.98px) {
    :is(.page-home, .page-chapter) .bottom-navigation__bar {
        background: rgba(255, 255, 255, .14);
        border-color: rgba(255, 255, 255, .4);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    :is(.page-home, .page-chapter) .bottom-navigation__bar::before { background: rgba(255, 255, 255, .2); }
    :is(.page-home, .page-chapter) .bottom-navigation__bar::after { background: none; }
    :is(.page-home, .page-chapter) :is(.bottom-navigation__item, .bottom-navigation__label, .bottom-navigation__title, .bottom-navigation__icon) { color: #fff; }
    :is(.page-home, .page-chapter) .bottom-navigation__icon { border-color: rgba(255, 255, 255, .4); }
}

/* Mobile topic letters follow the same horizontal direction as topic numbers. */
@media (max-width: 991.98px) {
    .page-chapter .publication-sidebar .cio-topic-parts {
        flex-direction: row !important;
        flex-wrap: nowrap;
        padding: 0 0 0 12px;
    }
    .page-chapter .publication-sidebar .cio-topic-parts > li { flex-shrink: 0; }
    /* Supply missing Bootstrap vertical gutters when separate cards stack. */
    .page-chapter .report-section .row:not(.editorial-landing):not(.g-1, .g-2, .g-3, .g-4, .g-5, .gy-1, .gy-2, .gy-3, .gy-4, .gy-5):has(> [class*="col-"] > .card):has(> [class*="col-"] ~ [class*="col-"] > .card) {
        --bs-gutter-y: 40px;
    }
    .page-chapter .report-section .card + .card { margin-top: 40px; }
}

/* Expanded mobile topic groups must reserve space for their letters. */
@media (max-width: 991.98px) {
    .page-chapter .publication-sidebar .chapter-sidebar__item:has(> .cio-topic-parts:not(.d-none)) {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        padding: 0 12px !important;
    }
}
/* Compact intentional line breaks in sustainability contents labels. */
[aria-labelledby="contents-our-sustainability"] .contents-mega-menu__topics a > span:last-child,
.contents-card a[href$="message-from-our-chairman.php"],
.contents-card a[href$="message-from-our-managing-director.php"] { white-space: pre-line; }

/* Keep the remaining mandate and committee card stacks separated on phones. */
@media (max-width: 991.98px) {
    .page-chapter .business-mandate-grid,
    .page-chapter .committee-reference-row,
    .page-chapter .row:has(> div > .arc-composition-person) {
        row-gap: 40px !important;
        --bs-gutter-y: 0;
    }
    .page-chapter .business-mandate-grid > div,
    .page-chapter .committee-reference-row > div,
    .page-chapter .row:has(> div > .arc-composition-person) > div {
        margin-top: 0 !important;
    }
}

/* Fine fading separators keep contents entries distinct without enlarging cards. */
.contents-mega-menu__topics > a,
.contents-mega-menu__topics > .contents-stakeholder-group,
.contents-card__topics > .contents-card__topic {
    background-image: linear-gradient(90deg, color-mix(in srgb, var(--chapter-colour, var(--nssf-blue)) 30%, transparent), transparent);
    background-size: 100% 1px;
    background-position: left bottom;
    background-repeat: no-repeat;
}

/* A little breathing room above contents entries and their dividers. */
.contents-mega-menu__topics > a,
.contents-mega-menu__topics > .contents-stakeholder-group > .contents-stakeholder-toggle {
    padding-top: 6px;
}
.contents-card__topics > .contents-card__topic { padding-top: 6px; }

/* Matching CFO metric badges use the same compact size at every viewport. */
.page-chapter.page-cfo-highlights strong.rounded-3:is(.revenue-highlight__amount, .text-36) {
    font-size: 24px !important;
    line-height: 1.2;
}
.page-chapter.page-cfo-highlights strong.rounded-3:is(.revenue-highlight__amount, .text-36) > span {
    font-size: inherit !important;
}

.page-chapter.page-cfo-highlights { --report-number-size: 24px; }
/* Site-wide link treatment approved by Lisa: bold, without underlines. */
body a:not(.ways-nav__card),
body a:not(.ways-nav__card):link,
body a:not(.ways-nav__card):visited,
body a:not(.ways-nav__card):hover,
body a:not(.ways-nav__card):focus,
body a:not(.ways-nav__card):active {
    font-weight: 700 !important;
    text-decoration: none !important;
}
body a:not(.ways-nav__card) :is(span, strong, em, b, u, p) {
    font-weight: 700 !important;
    text-decoration: none !important;
}
.footer-navigation a::after {
    display: none;
}

/* Contents entries are navigation labels, using a consistent regular weight. */
body .contents-mega-menu__topics a,
body .contents-mega-menu__topics a:is(:link, :visited, :hover, :focus, :active),
body .contents-mega-menu__topics a :is(span, strong, em, b, u, p),
body .contents-mega-menu__topics .contents-stakeholder-toggle,
body .contents-mega-menu__topics .contents-stakeholder-toggle span {
    font-weight: 400 !important;
}

/* Download chapters expand independently into a full-width selection grid. */
#downloadsPanel .downloads-overview-grid {
    display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: none;
    align-items: start; gap: 24px;
}
#downloadsPanel .downloads-overview-card {
    width: 100%; min-height: 0; height: auto; padding: 24px;
    border-radius: 12px; box-shadow: 0 8px 24px rgba(24,66,143,.06);
}
#downloadsPanel .downloads-overview-card__header { display: flex; align-items: center; gap: 12px; margin: 0; }
#downloadsPanel .downloads-overview-card__topics {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 24px; margin-top: 20px;
}
#downloadsPanel .downloads-overview-card__topics[hidden] { display: none; }
#downloadsPanel .downloads-overview-topic { min-width: 0; margin: 0; }
#downloadsPanel .downloads-overview-topic__title { overflow-wrap: normal; word-break: normal; }
@media (max-width: 1599.98px) {
    #downloadsPanel .downloads-overview-card__topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    #downloadsPanel .downloads-overview-card { padding: 16px; }
    #downloadsPanel .downloads-overview-card__topics { grid-template-columns: minmax(0, 1fr); }
    #downloadsPanel [data-download-toggle] span { display: none; }
}
/* Downloads card copy uses brand blue, without outer card outlines. */
#downloadsPanel .downloads-overview-card { border: 0 !important; }
#downloadsPanel .downloads-overview-card__title,
#downloadsPanel .downloads-overview-topic__title,
#downloadsPanel .downloads-overview-topic__pages,
#downloadsPanel [data-download-toggle] {
    color: var(--nssf-blue) !important;
}

/* Thin connectors sit behind the ESG image and wording cards. */
#esg-embedding .esg-embedding-connector { display: none; }
@media (min-width: 992px) {
    #esg-embedding .esg-embedding-connector {
        display: block; position: absolute; top: calc(50% + 12px);
        left: 12px; right: 12px; width: auto; height: 1px;
        padding: 0; margin: 0; z-index: 0;
        background: linear-gradient(90deg, var(--nssf-green), var(--nssf-teal));
    }
}

#esg-embedding .esg-embedding-row .nssf-split-pill::before { display: none; }
#esg-embedding .esg-embedding-number { background-color: var(--esg-card-colour); }
#esg-embedding .esg-embedding-row .report-section__card-title { color: var(--esg-card-colour); }
#esg-embedding .esg-embedding-connector { background: var(--esg-card-colour); }
/* Lisa: all number boxes are borderless; retain their fills and rounded corners. */
body :is([class*="number-box"], [class*="number-block"], .members-snapshot-number,
    .esg-embedding-number, .revenue-highlight__amount, strong.rounded-3,
    .report-number-box, .metric-box, .number-shoutout) {
    border: 0 !important;
}

/* Join the ESG rows and closing card with a thin line in the intervening gaps. */
#esg-embedding .esg-connected-block + .esg-connected-block::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 40px;
    top: -40px;
    left: 12.5%;
    background: linear-gradient(var(--nssf-teal), var(--nssf-blue));
    pointer-events: none;
    z-index: 0;
}
#esg-embedding .esg-connected-block > article { position: relative; z-index: 1; }
@media (max-width: 991.98px) {
    #esg-embedding .esg-connected-block + .esg-connected-block::before { left: 50%; }
}

/* Compact report search results, with the match preview kept to one line. */
#searchPanel .report-search__results { gap: 8px; }
#searchPanel .report-search__result { padding: 10px 14px; gap: 3px; }
#searchPanel .report-search__result-type { display: none; }
#searchPanel .report-search__result-excerpt {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255,255,255,.8);
}

/* Opening report cover: HTML wording follows the supplied artwork. */
#home-strategy a[aria-label="Explore Vision 2035"] .text-blue { color:var(--nssf-blue) !important; }
#home-strategy a[aria-label="Read the introduction to strategy"] { padding-block:0; }
#home-strategy a[aria-label="Read the introduction to strategy"]::before { height:100%; }
#home-overview .row > .col > a.card.border-white { border-color:rgba(255,255,255,.4) !important; }
#home-overview a.card[href="our-theme.php"] { border-color:var(--nssf-blue) !important; }
#home-cover { padding:0 !important; background:#0b0ba8; overflow:auto; }
.report-cover__art { position:relative; width:100%; container-type:inline-size; }
.report-cover__image { display:block; width:100%; height:auto; }
.report-cover__heading { position:absolute; left:10%; top:11%; width:40%; color:white; font-family:"Manrope", Arial, sans-serif; font-weight:600; font-size:1.7cqw; line-height:1.25; letter-spacing:0.01em; }
#home-cover h1 { font-family:inherit; font-size:inherit; font-weight:600; color:white; line-height:inherit; letter-spacing:inherit; text-transform:uppercase; }
.report-cover__heading > p:first-child,
#home-cover .report-cover__heading h1 { font-size:1em; line-height:1.35; }
.report-cover__heading > p:last-child { font-size:1em; line-height:1.35; }
#home-cover .report-cover__heading,
#home-cover .report-cover__heading > :is(p, h1) { letter-spacing:0.01em; }
.report-cover__theme { position:absolute; left:51%; top:76%; width:39%; color:white; font-size:1.65cqw; line-height:1.3; }
#home-cover .report-cover__theme > h2 { font-size:inherit; line-height:inherit; font-weight:400; letter-spacing:inherit; color:inherit; }
#home-cover .report-cover__theme strong { font-weight:700; }
.report-cover__footer { position:absolute; left:10%; right:10%; bottom:4%; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.report-cover__footer a { color:white; font-size:1cqw; }
.report-cover__footer img { width:22%; height:auto; }
.report-cover__message { display:contents; }
@media(max-width:767.98px) {
 .report-cover__heading { left:30px; right:30px; top:7%; width:auto; font-size:clamp(20px, 6cqw, 30px); text-align:left; }
 #home-cover h1 { font-size:inherit; }
 .report-cover__theme { left:8%; top:72%; width:84%; font-size:4.3cqw; }
 .report-cover__footer { left:8%; right:8%; bottom:7%; align-items:center; }
 .report-cover__footer a { font-size:2.8cqw; }
 .report-cover__footer img { width:50%; }
}

@media(min-width:768px) {
 #home-cover { display:flex; align-items:stretch; overflow:hidden; }
 .report-cover__art { width:100%; height:100%; flex-shrink:0; }
 .report-cover__art picture { display:block; width:100%; height:100%; }
 .report-cover__image { width:100%; height:100%; object-fit:cover; object-position:center; }
 .report-cover__heading { left:9.3%; top:calc(50% - max(22.87%, 9.73cqw)); width:25.5%; font-size:1.45cqw; transform:translateY(-50%); text-align:left; }
 #home-cover h1 { white-space:normal; }
 .report-cover__message { position:absolute; left:66.3%; top:20%; width:25.3%; height:38%; display:flex; flex-direction:column; justify-content:space-between; gap:20px; }
 .report-cover__theme { position:static; width:100%; font-size:1.85cqw; line-height:1.2; font-weight:400; letter-spacing:0.01em; }
 .report-cover__footer { position:static; display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:20px; }
 .report-cover__footer img { width:33%; height:auto; }
 .report-cover__footer a { font-size:clamp(10px,.7cqw,13px); }
}

/* Keep the desktop cover artwork and its text on the same uncropped canvas. */
@media (min-width: 992px) {
 #home-cover { container-type:size; align-items:center; justify-content:center; }
 #home-cover .report-cover__art {
  width:min(100%, calc(100cqh * 1845 / 785));
  height:auto;
  aspect-ratio:1845 / 785;
 }
 #home-cover .report-cover__image { object-fit:contain; }
 #home-cover .report-cover__heading { left:6%; }
}

/* Portrait tablets use the approved mobile cover composition. */
@media (min-width:768px) and (max-width:1199.98px) and (orientation:portrait) {
 #home-cover { display:flex; container-type:size; align-items:center; justify-content:center; overflow-y:auto; }
 #home-cover .report-cover__art { width:min(100%, calc(100cqh * 9 / 16)); height:auto; aspect-ratio:9 / 16; }
 #home-cover .report-cover__art picture { height:auto; }
 #home-cover .report-cover__image { height:auto; object-fit:contain; }
 #home-cover .report-cover__heading { left:8%; right:8%; top:7%; width:auto; font-size:clamp(16px, 6cqw, 30px); transform:none; text-align:left; }
 #home-cover .report-cover__message { display:contents; }
 #home-cover .report-cover__theme { position:absolute; left:8%; top:72%; width:84%; font-size:4.3cqw; line-height:1.3; }
 #home-cover .report-cover__footer { position:absolute; left:8%; right:8%; bottom:7%; display:flex; align-items:center; }
 #home-cover .report-cover__footer a { font-size:2.8cqw; }
 #home-cover .report-cover__footer img { width:50%; }
}

/* Remaining homepage chapters reuse the report's cards and orbit treatments. */
#home-governance .report-section__container > .row .report-section__card-title,
#home-governance .report-section__container > .row .text-blue { color:var(--nssf-blue) !important; }
#home-governance .business-coming-soon__message { gap:8px; }
#home-governance .report-section__container > .row .card-body.gap-4 { gap:16px !important; }
#home-governance .business-coming-soon__message .report-section__text { font-size:14px; line-height:1.4; }
.home-chapter-preview { background:linear-gradient(135deg,#fff,rgba(var(--preview-rgb),.1)); }
.home-chapter-preview > .report-section__container > :is(header.card,div.card) {
 background:linear-gradient(110deg,#fff,rgba(var(--preview-rgb),.18));
 border-color:rgba(var(--preview-rgb),.35); border-radius:24px;
}
.home-chapter-preview header .report-section__title,
.home-chapter-preview header .report-section__eyebrow { color:rgb(var(--preview-rgb)); }
.home-chapter-preview .purpose-scope__item { --purpose-colour:rgb(var(--preview-rgb)); --purpose-rgb:var(--preview-rgb); }
.home-chapter-preview .report-section__container > .row > div { min-width:0; }
.home-chapter-preview .report-section__container > .row > div > a.card { min-height:300px; }
.home-chapter-preview .report-section__card-title { font-size:22px; line-height:1.35; overflow-wrap:normal; }
.home-chapter-preview .business-coming-soon__visual { min-height:0; aspect-ratio:1; height:auto; align-self:center; }
.home-chapter-preview .business-coming-soon__orbit { width:92%; height:92%; border-color:rgba(var(--preview-rgb),.65); }
.home-chapter-preview .business-coming-soon__orbit::before,
.home-chapter-preview .business-coming-soon__orbit::after { border-color:rgba(var(--preview-rgb),.35); }
.home-chapter-preview .business-coming-soon__message {
 width:76%; height:76%; padding:18px; gap:16px;
 border-color:rgba(var(--preview-rgb),.35);
 background:linear-gradient(135deg,#fff,rgba(var(--preview-rgb),.12));
}
.home-chapter-preview .business-coming-soon__message .report-section__card-title { font-size:20px; }
.home-chapter-preview .business-coming-soon__orbit span { background:rgb(var(--preview-rgb)); }
.home-chapter-preview .business-timeline__item { gap:20px; justify-content:center; }
.home-chapter-preview .business-timeline-marker { flex:0 0 90px; }
.home-chapter-preview .pub-button { white-space:normal; }
@media(max-width:767.98px) {
 .home-chapter-preview .business-coming-soon__visual { margin-block:24px; }
}

/* Chapter-specific preview compositions retain their existing component shapes. */
:is(#home-sustainability,#home-performance) .row .report-section__card-title,
:is(#home-sustainability,#home-performance) .row .text-blue { color:var(--nssf-blue) !important; }
:is(#home-sustainability,#home-performance) .row .report-section__text { font-size:14px; line-height:1.5; }
:is(#home-sustainability,#home-performance) .row .card-img-top { height:150px; }
#home-sustainability .business-stewardship { background:linear-gradient(135deg,rgba(108,190,69,.22),#fff); min-height:0; }
#home-performance .business-stewardship { background:linear-gradient(135deg,rgba(171,18,28,.18),#fff); min-height:0; }
:is(#home-sustainability,#home-performance) .row .pub-button { font-size:12px; }
@media(min-width:992px) and (max-width:1599.98px) {
 :is(#home-sustainability,#home-performance) .row .card-img-top { height:100px; }
 :is(#home-sustainability,#home-performance) .row .card-body { gap:12px !important; }
 :is(#home-sustainability,#home-performance) .row .report-section__card-title { font-size:18px; }
}

/* Blue feature cards contrast with grey, white and chapter-coloured previews. */
:is(#home-sustainability,#home-performance) .row a.card.bg-blue {
 background:linear-gradient(135deg,#063461,var(--nssf-blue)) !important;
}
:is(#home-sustainability,#home-performance) .row a.card.bg-blue :is(.report-section__card-title,.report-section__text,.text-blue) {
 color:#fff !important;
}
:is(#home-sustainability,#home-performance) .row a.card.bg-blue .bg-blue {
 background:rgba(255,255,255,.16) !important;
}
:is(#home-sustainability,#home-performance) .row a.card.bg-blue .pub-button {
 background:#fff; color:var(--nssf-blue) !important;
}
:is(#home-sustainability,#home-performance) .row a.card.bg-blue .pub-button i { color:inherit; }

/* Performance preview: consistent card starts and balanced outer clearance. */
@media(min-width:1200px) {
 #home-performance > .report-section__container { height:100%; }
 #home-performance .report-section__container > .row { flex-grow:1; }
 #home-performance .row .card-body { display:grid !important; grid-template-rows:80px 60px 1fr auto; gap:16px !important; }
 #home-performance .row .card-body > :first-child { align-self:center; }
 #home-performance .row .pub-button { justify-self:start; }
 #home-performance .row .nssf-glass-card { padding-block:0; }
 #home-performance .row .nssf-glass-card::before { height:100%; }
}

@media(min-width:1200px) {
 #home-performance .row .process-card .card-body { position:relative; top:-2px; }
}

/* Centre the performance card row in its desktop space without stretching cards. */
@media(min-width:1600px) {
 #home-performance .report-section__container > .row { margin-top:0 !important; padding-top:60px; align-items:center !important; }
 #home-performance .report-section__container > .row > div { height:400px; margin-top:0; }
}

/* Governance: the connector follows the space between its icon and card. */
#home-governance .business-timeline__item { display:flex; justify-content:flex-end; gap:20px; }
#home-governance .business-timeline__item::before { display:none; }
#home-governance .business-timeline-marker { flex:1 0 100px; --card-accent:#f26524; --card-accent-rgb:242,101,36; }
#home-governance .business-timeline-marker::after { top:48px; bottom:-20px; left:73px; }
#home-governance .business-timeline__item > article { flex-shrink:0; }
/* Keep chapter-preview content equally clear of the navigation and footer. */
@media (min-width: 768px) {
 body.page-home :is(#home-business, #home-strategy, #home-governance, #home-sustainability, #home-performance) > .report-section__container {
  flex: 1 0 auto !important;
  height: auto !important;
  margin-block: 0 !important;
 }
}
@media (min-width: 1200px) {
 body.page-home :is(#home-business, #home-strategy, #home-governance, #home-sustainability, #home-performance) > .report-section__container > .row {
  flex-grow: 1 !important;
  flex-shrink: 0;
 }
 #home-governance .business-coming-soon__visual { align-self: flex-end; }
}
@media (min-width: 992px) and (max-width: 1599.98px) {
 body.page-home .home-publication-content > :is(#home-business, #home-strategy, #home-governance, #home-sustainability, #home-performance) { padding-block: 24px !important; }
 body.page-home.is-report-fullscreen .home-publication-content > :is(#home-business, #home-strategy, #home-governance, #home-sustainability, #home-performance) { padding-block: 40px !important; }
}
@media (max-width: 767.98px) {
 #home-business .report-section__container > .row.sm-mb-30 { margin-bottom: 0 !important; }
}
@media (min-width: 1600px) {
 #home-performance .report-section__container > .row { align-items: flex-end !important; }
}
@media(max-width:767.98px) {
 #home-governance .business-timeline-marker { flex:0 0 100px; }
}

/* Mobile strategy previews share one content edge and one card gap. */
@media(max-width:767.98px) {
 :is(#home-strategy,#home-governance,#home-sustainability,#home-performance) .report-section__container > .row { margin-top:0 !important; }
 #home-strategy .row .process-card { margin-left:0; margin-right:0; }
}

/* Compact audience labels only on phones. */
@media(max-width:767.98px) {
 .reporting-universe-audience .report-section__text > .rounded-pill { font-size:12px; line-height:1.5; letter-spacing:0.01em; }
}

/* Mobile report rhythm: one 30px space, with explicit client utilities retained. */
@media(max-width:767.98px) {
 body.page-chapter:not(.page-navigating-our-report) .report-section:not(.report-section--full-bleed) { --report-content-rhythm:30px; }
 body.page-chapter .report-section :is(.mt-40,.mt-50,.mt-60,.mt-80,.mt-100,.sm-mt-40) { margin-top:30px !important; }
 body.page-chapter .report-section :is(.mb-40,.mb-50,.mb-60,.mb-80,.mb-100) { margin-bottom:30px !important; }
 body.page-chapter .report-section :is(.pt-40,.pt-50,.pt-60,.pt-80,.pt-100) { padding-top:30px !important; }
 body.page-chapter .report-section :is(.pb-40,.pb-50,.pb-60,.pb-80,.pb-100) { padding-bottom:30px !important; }
 body.page-chapter .report-section .row:not(.g-0,.gy-0,.g-1,.g-2,.g-3,.gy-1,.gy-2,.gy-3,.editorial-landing) {
   --bs-gutter-y:0; row-gap:30px !important;
 }
 body.page-chapter .report-section .row:not(.g-0,.gy-0,.g-1,.g-2,.g-3,.gy-1,.gy-2,.gy-3,.editorial-landing) > [class*="col-"] {
   margin-top:0 !important; margin-bottom:0 !important;
 }
 body.page-chapter .report-section .card + .card { margin-top:30px; }
 /* Remove doubled header spacing; the following wrapper supplies the 30px gap. */
 body.page-chapter .report-section__container > .row:has(.report-section__heading) + :is(.mt-40,.mt-50,.mt-60) { margin-top:30px !important; }
 body.page-chapter .report-section__container > .row:has(.report-section__heading) + :is(.pt-40,.pt-50,.pt-60) { padding-top:30px !important; }
 /* The mobile navigation strip already contributes 15px above its line. */
 body.page-chapter .report-section:not(.report-section--full-bleed):has(.report-section__next) { padding-bottom:15px !important; }
 body.page-chapter .report-section .report-section__next,
 body.page-chapter .report-section a.report-section__next.pt-0 { padding-top:30px !important; --up-next-padding-top:30px; }
 body.page-chapter .report-section__container:has(.report-section__next) { padding-bottom:0 !important; }
 body.page-chapter .report-section .sm-mt-30 { margin-top:30px !important; }
 body.page-chapter .report-section .sm-pt-30 { padding-top:30px !important; }
 /* Stacked materiality connectors follow the shared mobile gap. */
 .materiality-process-connected > [class*="col-"]:not(:last-child)::after { height:30px; }
}

@media(max-width:767.98px) {
 body.page-chapter .report-section .report-section__heading { margin-bottom:0 !important; }
 body.page-chapter:not(.page-navigating-our-report) .report-section:not(.report-section--full-bleed) .report-section__heading + * { margin-top:30px !important; }
 body.page-chapter .report-section :is(.mt-5,.my-5) { margin-top:30px !important; }
 body.page-chapter .report-section :is(.mb-5,.my-5) { margin-bottom:30px !important; }
 body.page-chapter .report-section .row > .col { margin-top:0 !important; margin-bottom:0 !important; }
 body.page-chapter .report-section :is(.strategy-story-row,.future-finance-pillars,.executive-skills-row,.board-review-cards,.responsible-review-cards) { row-gap:30px !important; --bs-gutter-y:0; }
 body.page-chapter .report-section :is(.strategy-story-row,.future-finance-pillars,.executive-skills-row) > [class*="col-"] { margin-top:0 !important; }
 body.page-chapter .report-section .report-section__title:has(+ .report-section__text) { margin-bottom:0 !important; }
 body.page-chapter .report-section .report-section__title + .report-section__text { margin-top:30px !important; }
 body.page-chapter .materiality-process-connected > .report-section__title { margin-bottom:0 !important; }
}

@media(max-width:767.98px) {
 body.page-chapter .report-section .nssf-blob-grid { margin-bottom:0 !important; }
 body.page-chapter .report-section .report-section__title + .nssf-blob-grid { margin-top:0 !important; }
 body.page-chapter .report-section .row:is(.gx-4,.gx-5).gy-0 { row-gap:30px !important; }
 body.page-chapter .report-section .row:is(.gx-4,.gx-5).gy-0 > [class*="col-"] { margin-top:0 !important; }
 body.page-chapter #audit-scope .audit-scope-outer { margin-top:30px !important; }
 body.page-chapter #sustainability-goals .sdg-journey { margin-top:30px !important; }
 body.page-chapter #regulators-inclusion-capability .report-section__container > .report-section__title { margin-bottom:10px !important; }
 body.page-chapter #regulators-stewardship .row.g-0 { row-gap:30px !important; }
 body.page-chapter #regulators-stewardship .row.g-0 > [class*="col-"],
 body.page-chapter #material-themes .row.g-0 > [class*="col-"] { margin-top:0 !important; }
 body.page-chapter .report-section .row > .sm-mt-30 { margin-top:30px !important; }
}

@media(max-width:767.98px) {
 body.page-chapter .report-section .row:is(.gx-4,.gx-5).gy-0 > [class*="col-"] { margin-bottom:0 !important; }
 body.page-chapter .recognition-intro { margin-top:0 !important; }
 body.page-chapter .sustainability-goals__heading { margin-bottom:0 !important; }
}

/* Ways to navigate uses the report's blue for all supporting copy. */
#waysToNavigatePanel :is(.ways-nav__eyebrow,.ways-nav__intro,.ways-nav__card-title,.ways-nav__card-description,.ways-nav__footer,.ways-nav__empty) { color:var(--nssf-blue); }


#waysToNavigatePanel details > summary { list-style:none; }
#waysToNavigatePanel details > summary::-webkit-details-marker { display:none; }
#waysToNavigatePanel details[open] > summary .fa-chevron-down { transform:rotate(180deg); }



/* Inherit body typography instead of maintaining separate panel text settings. */
#waysToNavigatePanel :is(.ways-nav__card,.ways-nav__card-content,.ways-nav__card-description,.ways-nav__intro,.ways-nav__footer) {
 font:inherit;
 letter-spacing:inherit;
}



/* Icons and capitals: two full-width connected panels. */
body.page-navigating-our-report .connected-concepts__layout {
 display:flex; flex-direction:column; gap:40px; margin:0; --bs-gutter-y:0;
}
body.page-navigating-our-report .connected-concepts__layout > :is(.connected-concepts__intro,.connected-concepts__main) {
 width:100%; flex:0 0 auto; padding:24px; margin:0;
 border:0; box-shadow:var(--nssf-shadow-sm); border-radius:24px;
 background:linear-gradient(120deg,#fff,rgba(0,168,188,.045));
}
body.page-navigating-our-report .connected-concepts__intro-content { width:100%; margin:0; max-width:none; }
body.page-navigating-our-report .connected-concepts__intro::after {
 content:""; position:absolute; top:100%; left:50%; height:40px; width:2px;
 background:linear-gradient(var(--nssf-blue),var(--nssf-teal));
}
body.page-navigating-our-report .connected-concepts__heading { margin-bottom:24px; }
body.page-navigating-our-report .connected-concepts__intro-text,
body.page-navigating-our-report .connected-concepts__description { max-width:none; }
body.page-navigating-our-report .concept-journey__row > div { transform:none; }
body.page-navigating-our-report .concept-journey { margin-top:0; }
@media(min-width:768px) {
 body.page-navigating-our-report .connected-concepts .concept-card { min-height:210px; }
 body.page-navigating-our-report .connected-concepts .concept-card__content { width:210px; min-height:210px; padding:20px; }
 body.page-navigating-our-report .connected-concepts .concept-card__blob { width:230px; height:230px; }
}
@media(max-width:767.98px) {
 body.page-navigating-our-report .connected-concepts__layout { gap:30px !important; }
 body.page-navigating-our-report .connected-concepts__intro::after { height:30px; }
 body.page-navigating-our-report .connected-concepts__layout > :is(.connected-concepts__intro,.connected-concepts__main) { padding:20px; }
}

/* Keep the three capital-circle halos close to their shapes. */
body.page-navigating-our-report .connected-concepts .concept-card__blob span:first-child { width:106%; height:106%; }
body.page-navigating-our-report .connected-concepts .concept-card__blob span:last-child { width:112%; height:112%; }
body.page-navigating-our-report .connected-concepts .concept-card__content::before { box-shadow:0 3px 10px rgba(0,52,98,.05); }

/* Centre the overview composition within the space above Up next. */
@media(min-width:992px) {
 body.page-our-business.is-report-fullscreen #organisational-overview .report-section__container { justify-content:safe center !important; }
 body.page-our-business.is-report-fullscreen #organisational-overview .report-section__container > .row { flex-grow:0 !important; --bs-gutter-y:0; }
 /* Keep the chapter rail scrollable without the native scrollbar crowding its icons. */
 .publication-sidebar .chapter-sidebar__navigation { scrollbar-width:none; }
 .publication-sidebar .chapter-sidebar__navigation::-webkit-scrollbar { display:none; }
}

/* Full-screen desktop reading: centre compact compositions, top-align overflow. */
@media(min-width:992px) {
 body.page-chapter.is-report-fullscreen .report-section:not(.report-section--full-bleed) > .report-section__container:not(:has(.report-section__next)) {
   justify-content:safe center !important;
 }
 body.page-chapter.is-report-fullscreen .report-section:not(.report-section--full-bleed) > .report-section__container:not(:has(.report-section__next)) > :not(.report-section__next) {
   flex-grow:0 !important;
 }
}

@media(min-width:992px) {
 body.page-chapter.is-report-fullscreen :is(#strategy-saving-future,#we-believe-in-you,#trade-offs-introduction,#sustainability-vision) .report-section__container {
   justify-content:safe center !important;
 }
}

/* Approved fs-2 size for laptop and desktop screens. */
@media (min-width: 1200px) {
    .fs-2 { font-size: 1.4rem !important; }
}

/* Board and Exco portrait names use the approved compact heading size. */
#main-content .board-profile-name .report-heading { font-size: 24px !important; letter-spacing: 0.01em; }

.board-profile-name > .d-flex { gap: 0.5rem !important; }

/* Keep 24px Board and Exco names readable on laptop portrait cards. */
@media (min-width: 1200px) {
  .page-our-board .row > .col-lg-4:has(.board-profile-name) { width: max(33.333333%, 560px); }
  .page-our-board .row > .col-lg-4:has(.board-profile-name) + .col-lg-8 { width: calc(100% - max(33.333333%, 560px)); }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .page-our-board .row > .col-lg-4:has(.board-profile-name),
  .page-our-board .row > .col-lg-4:has(.board-profile-name) + .col-lg-8 { width: 100%; }
}

/* Matching Finance and ESG introduction photos use consistent 3:2 proportions. */
:is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-image { position: relative; inset: auto; }
:is(#future-of-finance-function, #advancing-sustainability-and-esg) .future-finance-image img { position: static; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* Portrait-tablet homepage: use the full content width and a compact chapter rail. */
@media (min-width:768px) and (max-width:1199.98px) and (orientation:portrait) {
 body.page-home .home-publication-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
 body.page-home .home-report-sidebar { position:relative; width:100%; height:auto; padding:12px 30px; border:0; }
 body.page-home .home-report-sidebar__inner,
 body.page-home .home-report-sidebar .chapter-sidebar,
 body.page-home .home-report-sidebar .chapter-sidebar__inner { position:static; width:100%; height:auto; padding:0; }
 body.page-home .home-report-sidebar::before,
 body.page-home .home-report-sidebar::after,
 body.page-home .home-report-sidebar .chapter-sidebar::after,
 body.page-home .home-report-sidebar .chapter-sidebar__eyebrow,
 body.page-home .home-report-sidebar .chapter-sidebar__indicator,
 body.page-home .home-report-sidebar .chapter-sidebar__list::before { display:none; }
 body.page-home .home-report-sidebar .chapter-sidebar__navigation { width:100%; overflow-x:auto; }
 body.page-home .home-report-sidebar .chapter-sidebar__list { display:flex; flex-direction:row; justify-content:space-between; width:100%; gap:8px; }
 body.page-home .home-report-sidebar .chapter-sidebar__item { flex:0 0 auto; }
 body.page-home .home-report-sidebar .chapter-sidebar__link { display:flex; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border-radius:50%; }
 body.page-home .home-report-sidebar .chapter-sidebar__title { display:none; }
 body.page-home #home-overview .report-hero__content { width:100%; max-width:none; padding:40px; min-height:100%; }
 body.page-home #home-overview .report-hero__content > .mt-auto { margin-top:40px !important; }
 body.page-home #home-overview .report-hero__content > .d-flex { flex-wrap:wrap; }
 body.page-home #home-performance .report-section__container > .row { flex-grow:1; align-items:stretch !important; }
 body.page-home #home-performance .row .card-body { display:grid !important; grid-template-rows:80px auto 1fr auto; gap:16px !important; }
 body.page-home #home-performance .row .pub-button { justify-self:start; }
 body.page-chapter .report-section__text { overflow-wrap:anywhere; }
}
@media (min-width:768px) and (max-width:1199.98px) and (orientation:portrait) {
 body.page-home #home-performance .row .card { margin:0; padding:0 !important; width:100%; }
 body.page-home #home-performance .row .card-body { padding:24px !important; }
}
/* Tablet landing compositions centre as a group; round navigation stays round. */
@media (min-width:768px) and (max-width:1199.98px) {
 body.page-chapter .report-section .editorial-landing { align-items:center; align-content:center; padding-block:40px; }
 body.page-home .home-report-sidebar .chapter-sidebar__link { border:0; background:transparent; box-shadow:none; border-radius:50%; }
 body.page-home .home-report-sidebar .chapter-sidebar__link::before,
 body.page-home .home-report-sidebar .chapter-sidebar__link::after { display:none; }
}
@media (min-width:768px) and (max-width:1199.98px) and (orientation:portrait) {
 body.page-chapter .editorial-landing > [class*="col-"] { flex:0 0 100% !important; width:100% !important; }
 body.page-chapter .editorial-landing { left:0; row-gap:30px; }
 body.page-chapter .report-section :is(h1,h2,h3,h4,h5,h6) { overflow-wrap:anywhere; }
}
/* Keep the cover organisation name together within the portrait composition. */
@media (max-width:767.98px), (max-width:1199.98px) and (orientation:portrait) {
 #home-cover .report-cover__heading { font-size:4.2cqw; }
 #home-cover .report-cover__heading > p:first-child { white-space:nowrap; }
}

/* Up next: preserve desktop spacing; give phone and portrait tablet a clear gap. */
.report-next-destination,
.report-next-wording { display: contents; }
@media (max-width: 1199.98px) {
    body.page-chapter .report-section a.report-section__next:is(.report-section__next, .pt-0, .p-0) {
        --up-next-padding-top: 40px;
        padding-top: 40px !important;
        width: 100%;
        max-width: none;
        min-width: 0;
        display: block;
        text-align: center;
        align-self: center !important;
        white-space: normal;
    }
    body.page-chapter .report-section a.report-section__next > span {
        display: block;
        white-space: nowrap;
    }
    body.page-chapter .report-section a.report-section__next .report-next-destination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
    }
    .report-next-destination .report-next-wording {
        display: block;
        min-width: 0;
        width: auto;
        flex: 0 1 auto;
        overflow-wrap: anywhere;
    }
    body.page-chapter .report-section a.report-section__next .report-next-destination > :is(i, svg) {
        flex: 0 0 auto;
        width: 1.25em;
        height: 1em;
        margin: 0;
    }
}

/* Give narrow portrait-tablet cards enough room for their existing labels. */
@media (min-width: 768px) and (max-width: 991.98px) and (orientation: portrait) {
    #arc-declaration-priorities .committee-reference-row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
    }
    #material-partnerships .row-cols-md-2 > .col {
        flex: 0 0 100%;
        width: 100%;
    }
}

/* Keep short landscape screens readable instead of shrinking the canvas to zero. */
@media (min-width: 768px) and (max-height: 600px) {
    body:is(.page-home, .page-chapter) { height: auto; min-height: 100svh; }
    body:is(.page-home, .page-chapter) > main { flex: 1 0 auto; height: auto; overflow: visible; }
    body.page-home .home-publication-layout,
    body.page-chapter .publication-shell { min-height: 480px; height: 480px; flex: 0 0 auto; }
}
/* Narrow landscape tablets use the same uncropped cover canvas as desktop. */
@media (min-width: 768px) and (max-width: 991.98px) and (orientation: landscape) {
    #home-cover { container-type: size; align-items: center; justify-content: center; }
    #home-cover .report-cover__art { width: min(100%, calc(100cqh * 1845 / 785)); height: auto; aspect-ratio: 1845 / 785; }
    #home-cover .report-cover__image { object-fit: contain; }
    #home-cover .report-cover__heading { left: 6%; }
}
/* Long words can wrap within the narrowest phone cards. */
@media (max-width: 359.98px) {
    body.page-chapter .report-section :is(.report-section__text, .report-section__card-title, .material-theme__label, .business-capital-toggle p) { overflow-wrap: anywhere; }
    #material-partnerships .row-cols-md-2 > .col .card-body { padding-inline: 16px; }
}

@media (max-width: 767.98px) {
    .shared-value-feature-card { min-height: 0; height: auto; }
    .shared-value-feature-card .card-body { min-height: 0; height: auto; }
    body.page-chapter .business-capital-toggle { flex-wrap: wrap; }
    body.page-chapter .business-capital-toggle > .report-section__text { flex: 1 1 100px; min-width: 0; }
    .page-governance-framework .report-section__card-title { flex-wrap: wrap; }
}
@media (max-width: 359.98px) {
    .shared-value-feature-card .row > .col-3,
    .shared-value-feature-card .row > .col-9 { width: 100%; }
    body.page-chapter .report-section li.d-flex > span { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 359.98px) {
    .audit-impact-believe { flex-wrap: wrap; gap: 0.25em; justify-content: flex-start !important; }
}
@media (min-width: 992px) and (max-width: 1599.98px) {
    .sustainability-pillar-heading .theme-belief-card__title { overflow-wrap: anywhere; white-space: normal; }
}
@media (max-width: 359.98px) {
    #material-partnerships .row-cols-md-2 .report-section__text > .text-nowrap { white-space: normal !important; }
}
@media (max-width: 767.98px) {
    #sustainability-journey-progress .card-body > .d-flex:has(> .nssf-animated-divider) { flex-wrap: wrap; justify-content: center !important; }
    #sustainability-journey-progress .card-body > .d-flex > .text-center:has(> h3) { flex: 1 1 100% !important; min-width: 0; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .report-section__footer-links > .d-flex { flex-direction: column !important; }
    .report-capitals__footer > [class*="col-"] { width: 100%; }
}
@media (max-width: 359.98px) {
    :is(#cio-equities, #cio-equities-strategy) .card-body > .d-flex:has(> .members-snapshot-number) { flex-wrap: wrap; }
    :is(#cio-equities, #cio-equities-strategy) .card-body > .d-flex > .text-center { flex-basis: 100%; }
}
/* Grid gaps supply card spacing; stacked rows must grow with their own text. */
@media (max-width: 1199.98px) {
    body.page-chapter .report-section .d-grid.gap-4 > .card + .card { margin-top: 0; }
    body.page-chapter .business-funding-journey .d-grid > .card.h-100,
    body.page-chapter .business-funding-journey .nssf-split-pill > .row.h-100 { height: auto !important; }
}

/* Shared phone and portrait-tablet rhythm for separate heading/card blocks. */
@media (max-width: 767.98px), (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    body:is(.page-chapter, .page-home) .report-section :is(.mt-40, .mt-50, .mt-60, .mt-80, .mt-100, .sm-mt-40) { margin-top: 30px !important; }
    body:is(.page-chapter, .page-home) .report-section .row:has(> [class*="col"] > :is(.card, .nssf-split-pill)),
    body:is(.page-chapter, .page-home) .report-section .future-finance-pillars {
        --bs-gutter-y: 0 !important;
        row-gap: 30px !important;
    }
    body:is(.page-chapter, .page-home) .report-section .row:has(> [class*="col"] > :is(.card, .nssf-split-pill)) > [class*="col"],
    body:is(.page-chapter, .page-home) .report-section .future-finance-pillars > [class*="col"] { margin-top: 0 !important; margin-bottom: 0 !important; }
    body:is(.page-chapter, .page-home) .report-section .d-grid:has(> .card) { row-gap: 30px !important; }
    body:is(.page-chapter, .page-home) .report-section .d-grid > .card + .card { margin-top: 0 !important; }
    body:is(.page-chapter, .page-home) .report-section .report-section__title + :is(.row, .card, .assurance-journey, .nssf-blob-grid) { margin-top: 30px !important; }
}
@media (max-width: 1199.98px) {
    .member-story-answer > .row.h-100 { height: auto !important; }
}
.page-chapter h3.col.para-lead.d-flex > span:not(.nssf-icon-blob) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
    .page-chapter .nssf-split-pill__rail { min-height: 0; height: auto; }
}
@media (max-width: 767.98px), (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    body.page-chapter .report-section__container > .report-section__title + div,
    body.page-chapter .report-section__container > .row:has(.report-section__heading) + .row:has(.card) { margin-top: 30px !important; }
}
@media (max-width: 359.98px) {
    #business-member-journey .business-coming-soon__message { gap: 8px; padding: 12px; }
}
@media (max-width: 767.98px), (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    body.page-chapter .executive-skills-row > [class*="col-"] { padding-block: 0; }
    body.page-chapter .strategic-pathway__row .card { margin-top: 0; }
    body.page-chapter .report-section :is(.mb-40, .mb-50, .mb-60, .mb-80):not(p, h1, h2, h3, h4, h5, h6) { margin-bottom: 30px !important; }
}
@media (max-width: 1199.98px) {
    .page-chapter .business-stat-card.flex-row:has(> h3.col) { flex-wrap: wrap; }
    .page-chapter .business-stat-card > h3.col { flex: 1 1 160px; }
    .page-chapter .business-stat-card > .members-snapshot-number { flex: 0 0 auto; }
}
@media (max-width: 767.98px), (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    body.page-chapter .nssf-report-row > [class*="col-"] { padding-top: 0; padding-bottom: 0; }
}
@media (max-width: 359.98px) {
    #members-digital-enhancements h3.d-flex:has(> .text-nowrap) { flex-wrap: wrap; gap: 4px !important; }
}
@media (max-width: 1199.98px) {
    .page-chapter .external-outlook__item > .card.h-100 { height: auto !important; }
}
@media (max-width: 767.98px), (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    body.page-chapter .report-section .row.g-4 > [class*="col-"] > .card.sm-mt-30 { margin-top: 0 !important; }
}

/* Match the introduction's navy-to-turquoise tint before playback. */
.report-video-play {
    background: linear-gradient(180deg, rgba(0,27,61,.86) 0%, rgba(0,52,98,.82) 34%, rgba(24,66,143,.78) 68%, rgba(0,91,146,.74) 86%, rgba(0,191,234,.68) 100%), var(--report-video-cover, url('../images/md-video-cover.webp')) center / cover no-repeat;
    padding: 0;
    cursor: pointer;
    z-index: 1;
}
.report-video-play[hidden] { display: none !important; }
.report-video-play__icon {
    width: 112px;
    height: 112px;
    flex-shrink: 0;
    background: var(--nssf-blue);
    color: white;
    box-shadow: 0 4px 20px rgba(24,66,143,.2);
    font-size: 26px;
}
.report-video-play:focus-visible { outline: 3px solid var(--nssf-turquoise, #00b7d6); outline-offset: -6px; }

/* Give the member service comparison cards more room on laptops and desktops. */
@media (min-width: 992px) {
    .page-chapter #members-value-snapshot [aria-label="Member service measures"] {
        --bs-gutter-x: 32px;
        --bs-gutter-y: 32px;
    }
}
