@charset "utf-8";

:root {
    --v2-ink: #173a45;
    --v2-muted: #587079;
    --v2-blue: #197ca5;
    --v2-blue-dark: #0d5778;
    --v2-aqua: #dff3f2;
    --v2-coral: #e97b5f;
    --v2-cream: #fbf8f0;
    --v2-white: #ffffff;
    --v2-border: #dce7e8;
    --v2-shadow: 0 20px 60px rgba(22, 58, 69, .12);
    --v2-display-serif: Cambria, "Times New Roman", "Liberation Serif", serif;
}

body.site-theme--warm {
    --v2-ink: #49352d;
    --v2-muted: #745f55;
    --v2-blue: #b85f42;
    --v2-blue-dark: #7d3f2e;
    --v2-aqua: #f5e5d8;
    --v2-coral: #d78a45;
    --v2-cream: #fffaf3;
    --v2-border: #eadfd4;
}

body.site-theme--heritage {
    --v2-ink: #243e39;
    --v2-muted: #5d6d63;
    --v2-blue: #a4742d;
    --v2-blue-dark: #6f4d1c;
    --v2-aqua: #e8eee5;
    --v2-coral: #a94b3f;
    --v2-cream: #fbf7ed;
    --v2-border: #dfdfd2;
}

body.site-header--solid #wrapper {
    width: 100%;
    margin-top: 0;
}

body.site-header--solid .site-header {
    padding-left: max(22px, calc((100vw - 1140px) / 2));
    padding-right: max(22px, calc((100vw - 1140px) / 2));
    border-radius: 0;
}

body.site-header--solid #container,
body.site-header--solid #container2,
body.site-header--solid .site-footer {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

body.site-cards--compact [class*="card"],
body.site-cards--compact [class*="panel"] {
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(22, 58, 69, .08);
}

body.site-motion--off *,
body.site-motion--off *::before,
body.site-motion--off *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Locations, launch programme, benefactors and sponsor identity */
.home-video__copy small {
    display: block;
    margin-top: 18px;
    color: #70848a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}

.home-launch-banner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
    margin: 0 clamp(24px, 5vw, 60px);
    padding: 34px clamp(28px, 5vw, 54px);
    border-radius: 0 0 22px 22px;
    background: #123f4d;
    color: #fff;
}

.home-launch-banner > div > span {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #f6d895;
    color: #704a08;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
}

.home-launch-banner .home-eyebrow {
    color: #9fd8e5;
}

.home-launch-banner h2 {
    max-width: 790px;
    margin: 4px 0 13px;
    color: #fff;
    font-family: var(--v2-display-serif);
    font-size: clamp(28px, 3.2vw, 43px);
    font-weight: 500;
    line-height: 1.12;
}

.home-launch-banner address {
    color: #c9dcdf;
    font-style: normal;
}

.home-launch-banner address a {
    color: #fff;
}

.site-footer__inner {
    grid-template-columns: 1fr .62fr 1.35fr;
    gap: 55px;
}

.site-footer__sponsor {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    color: #aec3c8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
}

.site-footer__brand .site-footer__sponsor img {
    width: 100px;
    height: 50px;
    padding: 3px 7px;
    object-fit: contain;
    border-radius: 8px;
}

.site-footer__locations address {
    display: grid;
    gap: 3px;
    margin: 0 0 17px;
    padding: 0 0 17px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-style: normal;
}

.site-footer__locations address strong {
    color: #fff;
    font-size: 14px;
}

.site-footer__locations address small {
    color: #9fd3df;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.site-footer__locations address span {
    color: #c7d8dc;
}

.meal-locations {
    background: #f5faf9;
}

.meal-location-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 34px;
}

.meal-location-card {
    position: relative;
    padding: 30px;
    border: 1px solid #dce7e6;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(21, 66, 77, .08);
}

.meal-location-card--coming {
    background: linear-gradient(145deg, #fffaf0, #fff);
}

.meal-location-card__status,
.launch-status {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: #e4f3ee;
    color: #1f6b54;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.meal-location-card--coming .meal-location-card__status,
.launch-status {
    background: #fff0d3;
    color: #8b5d0b;
}

.launch-status--active {
    background: #e4f3ee;
    color: #1f6b54;
}

.meal-location-card h3 {
    margin: 18px 0 11px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 28px;
    font-weight: 500;
}

.meal-location-card address {
    min-height: 48px;
    color: var(--v2-muted);
    font-style: normal;
    line-height: 1.6;
}

.meal-location-card a {
    color: var(--v2-blue);
}

.meal-location-card .text-link {
    display: flex;
    margin-top: 20px;
}

.launch-page,
.donor-page {
    overflow: hidden;
    margin: -28px -10px -10px;
    border-radius: 18px;
    background: #fff;
}

.launch-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
    gap: clamp(36px, 7vw, 90px);
    padding: clamp(58px, 8vw, 105px) clamp(30px, 8vw, 105px);
    background:
        radial-gradient(circle at 84% 5%, rgba(20, 143, 177, .16), transparent 28%),
        linear-gradient(135deg, #e8f7f7, #fff8ed);
}

.launch-hero__copy h1,
.donor-hero h1 {
    max-width: 780px;
    margin: 19px 0 24px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(45px, 6.2vw, 78px);
    font-weight: 500;
    line-height: 1.02;
}

.launch-hero__copy > p:last-of-type,
.donor-hero > div > p:last-child {
    max-width: 700px;
    color: var(--v2-muted);
    font-size: 18px;
    line-height: 1.7;
}

.launch-contact {
    align-self: center;
    padding: 30px;
    border: 1px solid rgba(16, 86, 105, .15);
    border-radius: 24px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 24px 70px rgba(16, 62, 74, .13);
}

.launch-contact h2 {
    margin: 9px 0 24px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 30px;
    line-height: 1.15;
}

.launch-contact dl,
.launch-contact dl div {
    margin: 0;
}

.launch-contact dl div {
    padding: 13px 0;
    border-top: 1px solid #e4eceb;
}

.launch-contact dt {
    color: #6d8187;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.launch-contact dd {
    margin: 5px 0 0;
    color: var(--v2-ink);
    font-size: 15px;
    line-height: 1.55;
}

.launch-contact a {
    color: var(--v2-blue);
}

.launch-sponsor {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e4eceb;
    color: #60777e;
    font-size: 12px;
    font-weight: 700;
}

.launch-sponsor img {
    width: 100px;
    height: 50px;
    object-fit: contain;
}

.launch-progress {
    padding: 76px clamp(30px, 8vw, 105px);
}

.launch-progress header {
    max-width: 780px;
}

.launch-progress h2,
.launch-placeholder h2,
.donor-privacy h2 {
    margin: 8px 0 22px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(36px, 4vw, 55px);
    font-weight: 500;
    line-height: 1.1;
}

.launch-progress ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 38px 0 0;
    padding: 0;
    list-style: none;
}

.launch-progress li {
    min-height: 250px;
    padding: 28px;
    border: 1px solid #dfe9e8;
    border-radius: 18px;
    background: #f9fbfb;
}

.launch-progress li > span {
    color: #d1912e;
    font-family: var(--v2-display-serif);
    font-size: 38px;
}

.launch-progress h3 {
    margin: 28px 0 12px;
    color: var(--v2-ink);
    font-size: 20px;
}

.launch-progress li p,
.launch-placeholder p {
    color: var(--v2-muted);
    line-height: 1.7;
}

.launch-placeholder {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(40px, 8vw, 100px);
    padding: 76px clamp(30px, 8vw, 105px);
    background: #f5f2eb;
}

.launch-placeholder__visual {
    display: grid;
    place-content: center;
    aspect-ratio: 4 / 3;
    border: 1px dashed #b8cbc9;
    border-radius: 24px;
    background:
        radial-gradient(circle, transparent 40%, rgba(11, 105, 136, .08) 41%, transparent 42%),
        #fff;
    color: var(--v2-blue-dark);
    text-align: center;
}

.launch-placeholder__visual span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.launch-placeholder__visual strong {
    margin-top: 9px;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 33px;
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
}

.launch-media {
    display: grid;
    gap: 16px;
}

.launch-media figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #dfe9e7;
}

.launch-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.launch-media figcaption {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    padding: 10px 13px;
    border-radius: 10px;
    background: rgba(13, 53, 63, .82);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
}

.donor-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 45px;
    padding: clamp(58px, 8vw, 100px) clamp(30px, 8vw, 105px);
    background: linear-gradient(135deg, #edf8f7, #fffaf1);
}

.donor-hero > img {
    width: 200px;
    height: 100px;
    padding: 10px;
    object-fit: contain;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(21, 66, 77, .12);
}

.donor-records {
    padding: 64px clamp(24px, 7vw, 96px);
    background: #f6f7f4;
}

.donor-record {
    max-width: 1040px;
    margin: 0 auto 30px;
    overflow: hidden;
    border: 1px solid #dfe6e4;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(27, 65, 74, .08);
}

.donor-record > header {
    padding: 28px 34px;
    border-bottom: 1px solid #e7ecea;
    background: #123f4d;
    color: #fff;
}

.donor-record > header span {
    color: #a9d9e3;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.donor-record > header h2 {
    margin: 9px 0 0;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0;
}

.donor-record > header p {
    margin: 9px 0 0;
    color: #c4dade;
}

.donor-record__content {
    padding: 34px;
    color: #36565e;
    font-size: 15px;
    line-height: 1.65;
}

.donor-record__content table {
    width: 100%;
    border-collapse: collapse;
}

.donor-record__content tr {
    border-bottom: 1px solid #e4e9e7;
}

.donor-record__content td,
.donor-record__content th {
    padding: 11px 10px;
    vertical-align: top;
    text-align: left;
}

.donor-record__content td:last-child {
    min-width: 180px;
    color: #123f4d;
    font-weight: 700;
}
.donor-record__content--empty {
    color: #647a80;
    font-style: italic;
}
.donor-record__content--empty p {
    margin: 0;
}

.donor-empty {
    max-width: 800px;
    margin: auto;
    padding: 50px;
    border-radius: 16px;
    background: #fff;
    color: var(--v2-muted);
    text-align: center;
}

.donor-privacy {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 50px;
    padding: 64px clamp(30px, 8vw, 105px);
}

.donor-privacy p {
    max-width: 760px;
    color: var(--v2-muted);
    line-height: 1.7;
}

.donation-locations {
    padding: 36px clamp(28px, 7vw, 80px);
    background: #f2f8f7;
}

.donation-locations > header h2 {
    margin: 8px 0 25px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 500;
}

.donation-locations > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.donation-locations address {
    display: grid;
    gap: 7px;
    padding: 24px;
    border: 1px solid #d9e6e4;
    border-radius: 16px;
    background: #fff;
    font-style: normal;
}

.donation-locations address > span {
    color: #24725c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.donation-locations address strong {
    color: var(--v2-ink);
    font-size: 18px;
}

.donation-locations address p {
    margin: 0;
    color: var(--v2-muted);
}

.donation-locations address a {
    color: var(--v2-blue);
}

@media (max-width: 920px) {
    .site-footer__inner,
    .launch-hero,
    .launch-placeholder,
    .donor-privacy {
        grid-template-columns: 1fr;
    }
    .launch-progress ol {
        grid-template-columns: 1fr;
    }
    .launch-progress li {
        min-height: 0;
    }
    .donor-privacy .home-actions {
        justify-content: flex-start;
    }
    .home-launch-banner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .launch-page,
    .donor-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .meal-location-grid,
    .donation-locations > div {
        grid-template-columns: 1fr;
    }
    .launch-hero,
    .launch-progress,
    .launch-placeholder,
    .donor-hero,
    .donor-records,
    .donor-privacy {
        padding-right: 24px;
        padding-left: 24px;
    }
    .donor-hero {
        grid-template-columns: 1fr;
    }
    .donor-hero > img {
        width: 160px;
        height: 80px;
    }
    .donor-record__content {
        overflow-x: auto;
        padding: 22px;
    }
    .donor-record__content table {
        min-width: 660px;
    }
    .site-footer__sponsor {
        align-items: flex-start;
        flex-direction: column;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: var(--v2-cream);
    color: var(--v2-ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.65;
}

body,
button,
input,
textarea {
    font-size: 16px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #f2a900;
    outline-offset: 3px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 100000;
    padding: 10px 16px;
    background: var(--v2-white);
    color: var(--v2-ink);
    box-shadow: var(--v2-shadow);
    transform: translateY(-150%);
}

.skip-link:focus {
    transform: translateY(0);
}

#wrapper {
    width: min(1180px, calc(100% - 40px));
    margin: 20px auto 50px;
}

.site-header {
    position: relative;
    z-index: 500;
    display: grid;
    grid-template-columns: 190px 1fr auto;
    align-items: center;
    gap: 24px;
    min-height: 76px;
    padding: 0 22px;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(220, 231, 232, .85);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(22, 58, 69, .08);
}

.site-header > *,
.home-hero > *,
.home-section > * {
    min-width: 0;
}

.site-brand {
    display: inline-flex;
    align-items: center;
}

.site-brand img {
    width: 174px;
    height: auto;
}

.site-nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0;
}

.site-nav li {
    position: relative;
    list-style: none;
}

.site-nav a,
.site-nav button {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: var(--v2-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.site-nav a:hover,
.site-nav button:hover,
.site-nav a[aria-current="page"] {
    color: var(--v2-blue);
}

.has-submenu > ul {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    display: none;
    width: 220px;
    padding: 8px;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    box-shadow: var(--v2-shadow);
}

.has-submenu > button[aria-expanded="true"] + ul {
    display: block;
}

.has-submenu > ul a {
    border-radius: 9px;
}

.has-submenu > ul a:hover {
    background: var(--v2-aqua);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.language-link {
    color: var(--v2-blue-dark);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.header-cta,
.button-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.header-cta {
    background: var(--v2-coral);
    color: var(--v2-white);
    white-space: nowrap;
}

.header-cta:hover,
.button-v2:hover {
    transform: translateY(-2px);
}

.nav-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    background: var(--v2-white);
}

.nav-toggle__lines,
.nav-toggle__lines::before,
.nav-toggle__lines::after {
    position: relative;
    display: block;
    width: 20px;
    height: 2px;
    margin: auto;
    background: var(--v2-ink);
}

.nav-toggle__lines::before,
.nav-toggle__lines::after {
    position: absolute;
    left: 0;
    content: "";
}

.nav-toggle__lines::before { top: -6px; }
.nav-toggle__lines::after { top: 6px; }

#container2 {
    width: auto;
    height: auto;
    margin-top: 26px;
}

#container > #main {
    float: none;
    width: 100%;
    box-sizing: border-box;
}

.home-v2 {
    overflow: hidden;
    background: var(--v2-white);
    border-radius: 28px;
    box-shadow: var(--v2-shadow);
}

.home-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr);
    align-items: center;
    gap: clamp(34px, 5vw, 70px);
    min-height: 590px;
    padding: 64px clamp(28px, 5vw, 70px);
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 30%, rgba(255,255,255,.6), transparent 25%),
        linear-gradient(135deg, #e6f6f4 0%, #d8eef5 50%, #f8e5d9 100%);
}

.home-hero::after {
    position: absolute;
    right: -90px;
    bottom: -140px;
    width: 420px;
    height: 420px;
    border: 70px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    content: "";
}

.home-hero__content {
    position: relative;
    z-index: 2;
    max-width: 670px;
}

.home-eyebrow {
    margin-bottom: 14px;
    color: var(--v2-blue-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
}

.home-hero h1 {
    margin: 0 0 22px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(44px, 6vw, 78px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.home-hero__intro {
    max-width: 610px;
    margin-bottom: 30px;
    color: #355760;
    font-size: clamp(18px, 2vw, 22px);
}

.home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.button-v2--primary {
    background: var(--v2-blue-dark);
    color: var(--v2-white);
    box-shadow: 0 10px 24px rgba(13, 87, 120, .22);
}

.button-v2--ghost {
    border: 1px solid rgba(23, 58, 69, .28);
    color: var(--v2-ink);
}

.home-hero__mark {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
}

.sponsor-orbit {
    position: relative;
    display: grid;
    place-items: center;
    width: min(440px, 100%);
    aspect-ratio: 1;
    isolation: isolate;
}

.sponsor-orbit::before {
    position: absolute;
    width: 74%;
    height: 74%;
    background: radial-gradient(circle, rgba(255,255,255,.9), rgba(255,255,255,.3) 58%, transparent 70%);
    border-radius: 50%;
    content: "";
    animation: sponsor-breathe 5s ease-in-out infinite;
}

.sponsor-orbit__globe {
    position: absolute;
    z-index: 2;
    width: 150px;
    height: 150px;
    overflow: hidden;
    background: linear-gradient(145deg, #4ab4dc, #167da9 68%, #0d5778);
    border: 5px solid rgba(255,255,255,.92);
    border-radius: 50%;
    box-shadow: 0 18px 45px rgba(13,87,120,.28);
    animation: sponsor-float 4.5s ease-in-out infinite;
}

.sponsor-orbit__globe::before,
.sponsor-orbit__globe::after,
.sponsor-orbit__latitude,
.sponsor-orbit__longitude {
    position: absolute;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 50%;
    content: "";
}

.sponsor-orbit__globe::before { inset: 18% -10%; }
.sponsor-orbit__globe::after { inset: 38% -10%; }
.sponsor-orbit__latitude { inset: -5% 29%; }
.sponsor-orbit__longitude { inset: -5% 12%; }

.sponsor-orbit__path {
    position: absolute;
    z-index: 3;
    width: 90%;
    height: 38%;
    border: 12px solid transparent;
    border-radius: 50%;
    transform: rotate(-13deg);
}

.sponsor-orbit__path--blue {
    border-top-color: #178dbc;
    border-left-color: #178dbc;
    filter: drop-shadow(0 8px 8px rgba(23,141,188,.16));
    animation: sponsor-orbit-blue 7s ease-in-out infinite;
}

.sponsor-orbit__path--red {
    width: 84%;
    height: 31%;
    border-right-color: #df2538;
    border-bottom-color: #df2538;
    filter: drop-shadow(0 8px 8px rgba(223,37,56,.14));
    transform: rotate(-16deg);
    animation: sponsor-orbit-red 7s ease-in-out infinite;
}

.sponsor-orbit__wordmark {
    position: relative;
    z-index: 5;
    display: flex;
    width: min(290px, 68%);
    padding: 15px 22px;
    background: rgba(255,255,255,.95);
    border-radius: 999px;
    box-shadow: 0 14px 40px rgba(22,58,69,.18);
    animation: sponsor-wordmark 5s ease-in-out infinite;
}

.sponsor-orbit__wordmark img {
    width: 100%;
    height: auto;
}

.sponsor-caption {
    position: absolute;
    bottom: -6px;
    z-index: 6;
    max-width: 310px;
    margin: 0;
    color: var(--v2-blue-dark);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    text-align: center;
}

.home-hero__visual {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.impact-slider {
    position: relative;
    overflow: hidden;
    min-height: 470px;
    background: #0d5778;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 26px;
    box-shadow: 0 24px 60px rgba(17, 69, 84, .22);
    isolation: isolate;
}

.impact-slider__viewport,
.impact-slide {
    position: absolute;
    inset: 0;
}

.impact-slide {
    margin: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .7s ease, visibility .7s ease;
}

.impact-slide.is-active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.impact-slide::after {
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(5, 37, 48, .84));
    content: "";
}

.impact-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.impact-slide:nth-child(1) img {
    object-position: 50% 48%;
}

.impact-slide figcaption {
    position: absolute;
    right: 30px;
    bottom: 76px;
    left: 30px;
    z-index: 2;
    max-width: 450px;
    color: #fff;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: clamp(20px, 2.4vw, 29px);
    font-weight: 650;
    line-height: 1.2;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .4);
}

.impact-slider__controls {
    position: absolute;
    right: 20px;
    bottom: 18px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.impact-slider__arrow,
.impact-slider__toggle {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .64);
    background: rgba(10, 54, 69, .72);
    border-radius: 50%;
    color: #fff;
    font: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(6px);
}

.impact-slider__toggle {
    font-size: 12px;
    font-weight: 800;
}

.impact-slider__dots {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 4px;
}

.impact-slider__dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    background: rgba(255, 255, 255, .55);
    border-radius: 50%;
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
}

.impact-slider__dots button[aria-current="true"] {
    width: 24px;
    background: #fff;
    border-radius: 999px;
}

.impact-slider button:hover {
    background-color: rgba(13, 87, 120, .94);
}

@keyframes sponsor-breathe {
    0%, 100% { opacity: .7; transform: scale(.94); }
    50% { opacity: 1; transform: scale(1.03); }
}

@keyframes sponsor-float {
    0%, 100% { transform: translateY(4px) rotate(-2deg); }
    50% { transform: translateY(-8px) rotate(2deg); }
}

@keyframes sponsor-orbit-blue {
    0%, 100% { transform: rotate(-13deg) scale(1); }
    50% { transform: rotate(-8deg) scale(1.035); }
}

@keyframes sponsor-orbit-red {
    0%, 100% { transform: rotate(-16deg) scale(1); }
    50% { transform: rotate(-21deg) scale(.98); }
}

@keyframes sponsor-wordmark {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

.home-section {
    padding: 90px clamp(24px, 7vw, 90px);
}

.origin-story {
    display: grid;
    grid-template-columns: minmax(360px, 1.08fr) minmax(0, .92fr);
    align-items: center;
    gap: clamp(35px, 8vw, 100px);
    background: var(--v2-white);
}

.origin-story__visual {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    margin: 0;
    border-radius: 24px;
    box-shadow: 0 20px 48px rgba(23, 58, 69, .15);
}

.origin-story__visual::after {
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(6, 40, 51, .82));
    content: "";
}

.origin-story__visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.origin-story__visual figcaption {
    position: absolute;
    right: 26px;
    bottom: 24px;
    left: 26px;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    color: #fff;
}

.origin-story__visual figcaption span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.origin-story__visual figcaption strong {
    max-width: 440px;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 22px;
    line-height: 1.3;
}

.origin-story h2 {
    margin: 0;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 500;
    line-height: 1.15;
}

.origin-story > div:last-child > p {
    margin-bottom: 20px;
    color: var(--v2-muted);
    font-size: 18px;
}

.origin-story__copy .text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.section-heading {
    max-width: 720px;
    margin-bottom: 44px;
}

.section-heading h2,
.home-video h2,
.transparency-cta h2 {
    margin: 0 0 14px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 500;
    line-height: 1.15;
}

.section-heading > p:last-child,
.home-video__copy > p:last-child,
.transparency-cta > div > p:last-child {
    color: var(--v2-muted);
    font-size: 18px;
}

.section-heading--split {
    display: grid;
    grid-template-columns: 1fr .7fr;
    align-items: end;
    gap: 60px;
    max-width: none;
}

.activity-timeline .section-heading--split > :only-child,
.activity-gallery__heading > :only-child {
    grid-column: 1 / -1;
}

.values-intro {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
    margin-bottom: 46px;
}

.values-intro .section-heading {
    margin-bottom: 0;
}

.values-intro__photo {
    position: relative;
    overflow: hidden;
    min-height: 330px;
    margin: 0;
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(23, 58, 69, .14);
}

.values-intro__photo::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(7, 43, 54, .78));
    content: "";
}

.values-intro__photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.values-intro__photo figcaption {
    position: absolute;
    right: 24px;
    bottom: 22px;
    left: 24px;
    z-index: 2;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.value-card {
    min-height: 220px;
    padding: 30px;
    background: var(--v2-cream);
    border: 1px solid #eee8dc;
    border-radius: 18px;
}

.value-card__number {
    color: var(--v2-coral);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

.value-card h3,
.activity-card h3 {
    margin: 26px 0 12px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 25px;
    line-height: 1.25;
}

.value-card p,
.activity-card p {
    color: var(--v2-muted);
}

.home-activities {
    background: #f2f8f8;
}

.home-programs {
    background: var(--v2-cream);
}

.programs-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 40px;
    margin-bottom: 42px;
}

.programs-heading .section-heading {
    margin-bottom: 0;
}

.program-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px 16px;
    max-width: 410px;
    margin: 0;
    padding: 0;
}

.program-legend li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #5b7178;
    font-size: 12px;
    list-style: none;
}

.program-legend__dot,
.program-card__status > span {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    background: var(--v2-blue);
    border-radius: 50%;
}

.program-legend__dot--recorded {
    background: var(--v2-coral);
}

.program-legend__dot--future {
    background: transparent;
    border: 1px solid #8ba0a5;
}

.program-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.program-card {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    background: var(--v2-white);
    border: 1px solid #ebe5d8;
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(23, 58, 69, .07);
}

.program-card::after {
    content: none;
}

.program-card--1 {
    border-color: #cde3e4;
}

.program-card--3 {
    background: #f8f6f0;
    border-style: dashed;
}

.program-card__visual {
    position: relative;
    overflow: hidden;
    height: 230px;
    background: #e8f1f1;
}

.program-card__visual::after {
    position: absolute;
    inset: 55% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(7, 48, 61, .28));
    content: "";
    pointer-events: none;
}

.program-card__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-card--1 .program-card__visual img {
    object-position: 50% 44%;
}

.program-card__aspiration {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.96), rgba(223,243,242,.75) 34%, transparent 35%),
        linear-gradient(145deg, #e8f5f3, #f6eee3);
}

.program-card__aspiration > span {
    position: absolute;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(25, 124, 165, .25);
    border-radius: 50%;
}

.program-card__aspiration > span:nth-child(2) {
    width: 132px;
    height: 132px;
    border-color: rgba(233, 123, 95, .26);
}

.program-card__aspiration > span:nth-child(3) {
    width: 72px;
    height: 72px;
    background: rgba(255, 255, 255, .9);
    border: 0;
    box-shadow: 0 10px 28px rgba(23, 58, 69, .12);
}

.program-card__aspiration strong {
    position: relative;
    z-index: 2;
    max-width: 120px;
    color: var(--v2-blue-dark);
    font-size: 11px;
    letter-spacing: .12em;
    line-height: 1.4;
    text-align: center;
}

.program-card__body {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    min-height: 270px;
    padding: 28px 30px 30px;
}

.program-card__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    margin: 0;
    color: var(--v2-coral);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.4;
}

.program-card--1 .program-card__status {
    color: var(--v2-blue-dark);
}

.program-card--2 .program-card__status > span {
    background: var(--v2-coral);
}

.program-card--3 .program-card__status {
    color: #647b81;
}

.program-card--3 .program-card__status > span {
    background: transparent;
    border: 1px solid #8ba0a5;
}

.program-card h3 {
    margin: 18px 0 12px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 28px;
    font-weight: 500;
}

.program-card__text {
    margin: 0 0 22px;
    color: var(--v2-muted);
}

.program-card__body .text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
}

.activity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.activity-card {
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 20px;
    min-height: 230px;
    padding: 28px;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-radius: 18px;
}

.activity-card__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: start;
    width: 62px;
    height: 72px;
    background: var(--v2-aqua);
    border-radius: 12px;
    color: var(--v2-blue-dark);
}

.activity-card__date span {
    font-size: 18px;
    font-weight: 800;
}

.activity-card__date small {
    font-size: 12px;
}

.activity-card h3 {
    margin-top: 0;
}

.activity-card h3 a {
    color: inherit;
    text-decoration: none;
}

.text-link {
    color: var(--v2-blue-dark);
    font-weight: 700;
}

.home-video {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    align-items: center;
    gap: 60px;
}

.video-consent {
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        radial-gradient(circle at 70% 20%, rgba(255,255,255,.35), transparent 20%),
        linear-gradient(135deg, var(--v2-blue-dark), var(--v2-blue));
    border-radius: 22px;
    box-shadow: var(--v2-shadow);
}

.video-consent iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.video-consent__button {
    position: relative;
    display: grid;
    align-items: center;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: inherit;
    background: #123d4b;
    color: var(--v2-ink);
    font-weight: 700;
    cursor: pointer;
}

.video-consent__button::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 35, 44, .05), rgba(7, 35, 44, .55));
    content: "";
    transition: background .25s ease;
}

.video-consent__button:hover::after {
    background: linear-gradient(180deg, rgba(7, 35, 44, 0), rgba(7, 35, 44, .42));
}

.video-consent__preview {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.video-consent__button:hover .video-consent__preview {
    transform: scale(1.025);
}

.video-consent__action {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 19px 9px 9px;
    background: rgba(255, 255, 255, .95);
    border-radius: 999px;
    box-shadow: 0 12px 32px rgba(5, 30, 38, .25);
}

.video-consent__play {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding-left: 3px;
    background: var(--v2-coral);
    border-radius: 50%;
    color: var(--v2-white);
}

.transparency-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 50px;
    margin: 0 clamp(24px, 5vw, 60px) 60px;
    padding: 54px;
    background: var(--v2-blue-dark);
    border-radius: 22px;
}

.transparency-cta h2,
.transparency-cta .home-eyebrow,
.transparency-cta > div > p:last-child {
    color: var(--v2-white);
}

.button-v2--light {
    background: var(--v2-white);
    color: var(--v2-blue-dark);
}

.button-v2--outline-light {
    border: 1px solid rgba(255,255,255,.6);
    color: var(--v2-white);
}

.site-footer {
    position: static;
    width: 100%;
    height: auto;
    margin-top: 0;
    background: #102f38;
    color: #dce9ec;
    line-height: 1.6;
}

.site-footer__inner {
    display: grid;
    grid-template-columns: 1.2fr .7fr 1fr;
    gap: 70px;
    width: min(1140px, calc(100% - 40px));
    margin: auto;
    padding: 65px 0 45px;
}

.site-footer__brand img {
    width: 190px;
    padding: 10px;
    background: var(--v2-white);
    border-radius: 12px;
}

.site-footer h2 {
    margin-bottom: 14px;
    color: var(--v2-white);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.site-footer a {
    display: block;
    margin: 7px 0;
    color: #dce9ec;
}

.site-footer__bottom {
    width: min(1140px, calc(100% - 40px));
    margin: auto;
    padding: 18px 0 28px;
    border-top: 1px solid rgba(255,255,255,.14);
    font-size: 13px;
}

.content-eyebrow {
    margin-bottom: 8px;
    color: var(--v2-blue-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

.founder-story {
    max-width: 820px;
    margin: 0 auto;
    padding: 10px 20px 50px;
}

.founder-story h1 {
    margin: 0 0 18px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(38px, 6vw, 64px);
    font-weight: 500;
    line-height: 1.12;
}

.founder-story__notice {
    margin: 0 0 30px;
    padding: 12px 16px;
    background: var(--v2-aqua);
    border-left: 4px solid var(--v2-blue);
    color: var(--v2-blue-dark);
    font-size: 14px;
}

.founder-story__original {
    color: #354f57;
    /* Arial renders the combining Vietnamese diacritics in the author-supplied
       text reliably; the wording itself remains untouched. */
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 1.9;
}

.founder-story__legacy {
    font-size: 18px;
}

.founder-page {
    overflow: hidden;
    margin: -28px -10px -10px;
    background: #fff;
    border-radius: 18px;
}

.founder-page .founder-story {
    padding-top: 64px;
    padding-bottom: 70px;
}

.founder-signature {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    width: fit-content;
    margin: 38px 0 0 auto;
    padding: 20px 0 0 62px;
    border-top: 1px solid var(--v2-border);
    color: var(--v2-blue-dark);
}

.founder-signature span {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.founder-signature strong {
    color: var(--v2-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 28px;
    line-height: 1.2;
}

.founder-book {
    display: grid;
    grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(42px, 8vw, 100px);
    padding: 76px clamp(30px, 8vw, 100px);
    background: linear-gradient(135deg, #edf7f6 0%, #f7efe7 100%);
}

.founder-book__cover {
    position: relative;
    max-width: 360px;
    margin: auto;
    padding: 18px;
}

.founder-book__cover::before {
    position: absolute;
    inset: 40px -18px -18px 38px;
    background: rgba(14, 95, 123, .13);
    border-radius: 8px;
    content: "";
    transform: rotate(4deg);
}

.founder-book__cover img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 22px 45px rgba(18, 55, 66, .24);
}

.founder-book__copy h2,
.founder-media__heading h2 {
    margin: 0 0 18px;
    color: var(--v2-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.08;
}

.founder-book__copy > p:not(.content-eyebrow) {
    max-width: 640px;
    color: #3d5b64;
    font-size: 18px;
    line-height: 1.75;
}

.founder-book__author {
    margin-bottom: 20px;
}

.founder-book__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 0;
}

.founder-book__facts div {
    min-width: 150px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, .7);
    border: 1px solid rgba(16, 83, 105, .12);
    border-radius: 12px;
}

.founder-book__facts dt {
    color: #607982;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.founder-book__facts dd {
    margin: 5px 0 0;
    color: var(--v2-ink);
    font-weight: 700;
}

.founder-other-books {
    grid-column: 1 / -1;
    margin-top: 18px;
    padding-top: 58px;
    border-top: 1px solid rgba(23, 58, 69, .13);
}

.founder-other-books__heading {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    align-items: end;
    gap: 36px;
    margin-bottom: 30px;
}

.founder-other-books__heading .content-eyebrow {
    margin-bottom: 7px;
}

.founder-other-books__heading h3 {
    max-width: 680px;
    margin: 0;
    color: var(--v2-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.founder-other-books__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.founder-related-book {
    display: grid;
    grid-template-columns: minmax(130px, 180px) minmax(0, 1fr);
    align-items: center;
    gap: 25px;
    min-width: 0;
    padding: 22px;
    background: rgba(255, 255, 255, .76);
    border: 1px solid rgba(23, 58, 69, .12);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(23, 58, 69, .08);
}

.founder-related-book__cover {
    overflow: hidden;
    aspect-ratio: 2 / 3;
    background: #e8eeee;
    border-radius: 7px;
    box-shadow: 0 14px 26px rgba(19, 53, 64, .2);
}

.founder-related-book__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.founder-related-book__type {
    margin: 0 0 10px;
    color: var(--v2-coral);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.founder-related-book h4 {
    margin: 0 0 9px;
    color: var(--v2-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

.founder-related-book__copy > p:not(.founder-related-book__type) {
    margin: 0 0 14px;
    color: #536d75;
    font-size: 15px;
    line-height: 1.5;
}

.founder-related-book__copy strong {
    color: var(--v2-blue-dark);
    font-size: 14px;
}

.founder-media {
    padding: 78px clamp(30px, 7vw, 86px) 90px;
}

.founder-media__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 50px;
    align-items: end;
    margin-bottom: 38px;
}

.founder-media__heading > p {
    max-width: 540px;
    margin: 0 0 7px;
    color: #526e76;
    font-size: 16px;
    line-height: 1.65;
}

.founder-video {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(19, 66, 80, .08);
}

.founder-video--featured {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    align-items: center;
    margin-bottom: 24px;
}

.founder-video--featured .video-consent {
    min-height: 390px;
    border-radius: 0;
}

.founder-video__copy {
    padding: 24px;
}

.founder-video__source {
    margin: 0 0 9px;
    color: var(--v2-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.founder-video h3 {
    margin: 0;
    color: var(--v2-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.founder-series {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.founder-series .video-consent {
    min-height: 190px;
    border-radius: 0;
}

.meal-page {
    overflow: hidden;
    margin: -28px -10px -10px;
    background: var(--v2-white);
    border-radius: 18px;
}

.meal-hero {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: 50px;
    min-height: 500px;
    padding: 65px clamp(30px, 7vw, 78px);
    background: linear-gradient(135deg, #e7f6f4, #f8eee5);
}

.meal-hero h1 {
    margin: 0 0 20px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(48px, 7vw, 76px);
    font-weight: 500;
    line-height: 1.05;
}

.meal-hero__lead {
    margin-bottom: 28px;
    color: #365b64;
    font-size: 20px;
}

.meal-symbol {
    position: relative;
    min-height: 310px;
}

.meal-symbol__bowl {
    position: absolute;
    right: 8%;
    bottom: 40px;
    width: 84%;
    height: 125px;
    overflow: hidden;
    background: linear-gradient(180deg, var(--v2-white), #d7e8e9);
    border: 4px solid rgba(255,255,255,.9);
    border-radius: 15px 15px 150px 150px;
    box-shadow: 0 25px 45px rgba(22,58,69,.2);
}

.meal-symbol__bowl::before {
    position: absolute;
    top: -18px;
    left: 2%;
    width: 96%;
    height: 42px;
    background: #b9dcda;
    border: 7px solid var(--v2-white);
    border-radius: 50%;
    content: "";
}

.meal-symbol__care {
    position: absolute;
    right: calc(50% - 24px);
    bottom: 78px;
    z-index: 3;
    color: var(--v2-coral);
    font-size: 42px;
}

.meal-symbol__steam {
    position: absolute;
    bottom: 170px;
    width: 36px;
    height: 110px;
    border-left: 5px solid rgba(25,124,165,.42);
    border-radius: 50%;
    animation: meal-steam 3.8s ease-in-out infinite;
}

.meal-symbol__steam--1 { left: 30%; }
.meal-symbol__steam--2 { left: 50%; animation-delay: -.9s; }
.meal-symbol__steam--3 { left: 68%; animation-delay: -1.8s; }

@keyframes meal-steam {
    0%, 100% { opacity: .25; transform: translateY(8px) skewX(-5deg); }
    50% { opacity: .75; transform: translateY(-12px) skewX(8deg); }
}

.meal-section {
    padding: 75px clamp(30px, 7vw, 78px);
}

.meal-section h2,
.meal-story h2,
.meal-cta h2 {
    margin: 0 0 15px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(34px, 5vw, 50px);
    font-weight: 500;
    line-height: 1.15;
}

.meal-groups {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.meal-group {
    min-height: 145px;
    padding: 28px;
    background: var(--v2-cream);
    border: 1px solid #ece5d7;
    border-radius: 16px;
}

.meal-group span {
    color: var(--v2-coral);
    font-size: 12px;
    font-weight: 800;
}

.meal-group h3 {
    margin-top: 28px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 24px;
    font-weight: 500;
}

.meal-story {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    align-items: center;
    gap: clamp(35px, 8vw, 90px);
    padding: 75px clamp(30px, 7vw, 78px);
    background: #eff7f7;
}

.meal-story__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 280px;
}

.meal-story__visual strong {
    position: relative;
    z-index: 2;
    color: #d52335;
    font-size: 20px;
    line-height: 1.1;
    text-align: center;
}

.meal-story__circle {
    position: absolute;
    width: 230px;
    height: 230px;
    border: 35px solid rgba(25,124,165,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(25,124,165,.2), inset 0 0 0 1px rgba(25,124,165,.2);
}

.meal-story p,
.meal-path p {
    margin-bottom: 20px;
    color: var(--v2-muted);
    font-size: 18px;
}

.meal-path {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(35px, 8vw, 90px);
}

.meal-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
    margin: 0 30px 30px;
    padding: 48px;
    background: var(--v2-blue-dark);
    border-radius: 20px;
}

.meal-cta h2,
.meal-cta p {
    color: var(--v2-white);
}

.meal-cta p {
    max-width: 610px;
}

/* Transparency overview */
.transparency-page {
    overflow: hidden;
    margin: -28px -10px -10px;
    background: var(--v2-white);
    border-radius: 18px;
}

.transparency-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    align-items: center;
    gap: 60px;
    min-height: 520px;
    padding: 70px clamp(34px, 7vw, 88px);
    background: linear-gradient(135deg, #e8f6f4, #e0eff4 54%, #f5e9df);
}

.transparency-hero h1 {
    max-width: 760px;
    margin: 0 0 22px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(48px, 6.5vw, 76px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.transparency-hero > div:first-child > p:last-child {
    max-width: 680px;
    margin: 0;
    color: #3c5d65;
    font-size: 19px;
    line-height: 1.75;
}

.transparency-hero__symbol {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 340px;
}

.transparency-hero__ring {
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(25, 124, 165, .26);
    border-radius: 50%;
}

.transparency-hero__ring::before,
.transparency-hero__ring::after {
    position: absolute;
    border: 1px solid rgba(25, 124, 165, .18);
    border-radius: 50%;
    content: "";
}

.transparency-hero__ring::before { inset: 28px; }
.transparency-hero__ring::after { inset: 57px; }

.transparency-hero__check {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 108px;
    height: 108px;
    background: var(--v2-blue-dark);
    border: 9px solid rgba(255,255,255,.88);
    border-radius: 50%;
    color: var(--v2-white);
    font-size: 48px;
    box-shadow: 0 20px 45px rgba(19, 77, 96, .22);
}

.transparency-hero__symbol strong {
    position: absolute;
    right: 0;
    bottom: 10px;
    color: rgba(13, 87, 120, .16);
    font-size: 28px;
    letter-spacing: .14em;
    line-height: 1.1;
    text-align: right;
}

.transparency-principles {
    padding: 82px clamp(34px, 7vw, 88px);
}

.transparency-principles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.transparency-principles__grid article {
    min-height: 265px;
    padding: 28px;
    background: #f8fbfa;
    border: 1px solid var(--v2-border);
    border-radius: 18px;
}

.transparency-principles__grid article > span {
    color: var(--v2-coral);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .1em;
}

.transparency-principles__grid h3 {
    margin: 38px 0 11px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 27px;
    font-weight: 500;
    line-height: 1.2;
}

.transparency-principles__grid p {
    margin: 0;
    color: #536e76;
}

.transparency-documents {
    padding: 80px clamp(34px, 7vw, 88px) 90px;
    background: #f1f7f5;
}

.transparency-documents__heading h2 {
    margin: 0 0 34px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(42px, 5.5vw, 62px);
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.08;
}

.transparency-documents__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.document-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    min-height: 275px;
    padding: 28px;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-top: 5px solid #9bb4b9;
    border-radius: 16px;
}

.document-card--available { border-top-color: #3e9972; }
.document-card--verify { border-top-color: #d79343; }

.document-card__status {
    color: #698087;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.document-card--available .document-card__status { color: #267557; }
.document-card--verify .document-card__status { color: #9b651e; }

.document-card h3 {
    margin: 24px 0 10px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 29px;
    font-weight: 500;
}

.document-card p {
    margin: 0 0 20px;
    color: #536e76;
}

.document-card .text-link {
    margin-top: auto;
}

.transparency-notice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    margin-top: 28px;
    padding: 30px;
    background: #deefed;
    border-radius: 16px;
}

.transparency-notice > span {
    color: var(--v2-coral);
    font-family: var(--v2-display-serif);
    font-size: 66px;
    line-height: .8;
}

.transparency-notice h3 {
    margin: 0 0 8px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 27px;
    font-weight: 500;
}

.transparency-notice p {
    margin: 0;
    color: #49666e;
}

.transparency-page__cta {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 45px;
    margin: 16px;
    padding: 46px clamp(28px, 6vw, 66px);
    background: var(--v2-blue-dark);
    border-radius: 22px;
    color: var(--v2-white);
}

.transparency-page__cta h2 {
    margin: 0 0 10px;
    color: var(--v2-white);
    font-family: var(--v2-display-serif);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    line-height: 1.15;
}

.transparency-page__cta p {
    margin: 0;
    color: #d8ebef;
    font-size: 17px;
}

/* Foundation account verification page */
.account-page {
    max-width: 1040px;
    margin: -8px auto 15px;
}

.account-hero {
    padding: 20px 10px 42px;
}

.account-hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(46px, 6vw, 68px);
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.06;
}

.account-hero > p:last-child {
    max-width: 790px;
    color: var(--v2-muted);
    font-size: 18px;
}

.account-warning {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    margin-bottom: 28px;
    padding: 24px 26px;
    background: #fff4df;
    border: 1px solid #ebcd91;
    border-radius: 16px;
}

.account-warning > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: #b97720;
    border-radius: 50%;
    color: #fff;
    font-size: 23px;
    font-weight: 800;
}

.account-warning h2 {
    margin: 0 0 5px;
    color: #754c16;
    font-size: 19px;
}

.account-warning p {
    margin: 0;
    color: #725b39;
}

.account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.account-card {
    overflow: hidden;
    background: #f9fcfb;
    border: 1px solid var(--v2-border);
    border-radius: 20px;
    box-shadow: 0 14px 38px rgba(23, 58, 69, .08);
}

.account-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 22px 24px;
    background: var(--v2-blue-dark);
    color: #fff;
}

.account-card > header span {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .09em;
}

.account-card > header strong {
    color: rgba(255,255,255,.22);
    font-family: var(--v2-display-serif);
    font-size: 34px;
    line-height: 1;
}

.account-card dl {
    margin: 0;
    padding: 7px 24px 0;
}

.account-card dl > div {
    padding: 17px 0;
    border-bottom: 1px solid var(--v2-border);
}

.account-card dt {
    margin-bottom: 4px;
    color: #6a8289;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-card dd {
    margin: 0;
    color: var(--v2-ink);
    font-size: 16px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.account-card__number dd {
    color: var(--v2-blue-dark);
    font-size: 25px;
    letter-spacing: .04em;
}

.account-copy {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 18px 24px 23px;
    padding: 9px 14px;
    background: var(--v2-white);
    border: 1px solid #a9c2c7;
    border-radius: 999px;
    color: var(--v2-blue-dark);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.account-copy.is-copied {
    background: #e0f2e7;
    border-color: #7fbe94;
    color: #246740;
}

.account-checklist {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 55px;
    margin-top: 58px;
    padding: 44px;
    background: #e8f5f3;
    border-radius: 20px;
}

.account-checklist h2 {
    margin: 0;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 36px;
    font-weight: 500;
    line-height: 1.15;
}

.account-checklist ol {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.account-checklist li {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 15px;
}

.account-checklist li > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: var(--v2-white);
    border-radius: 50%;
    color: var(--v2-coral);
    font-size: 12px;
    font-weight: 800;
}

.account-checklist li p {
    margin: 0;
    color: #405e67;
}

.account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

/* Activity archive and verified photo library */
.activity-page {
    overflow: hidden;
    margin: -28px -10px -10px;
    background: var(--v2-white);
    border-radius: 18px;
}

.activity-hero {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    align-items: center;
    gap: clamp(42px, 6vw, 84px);
    min-height: 590px;
    padding: 70px clamp(34px, 7vw, 88px);
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .7), transparent 25%),
        linear-gradient(135deg, #e6f6f4 0%, #deeff4 56%, #f7e9df 100%);
}

.activity-hero__copy {
    position: relative;
    z-index: 2;
}

.activity-hero h1 {
    margin: 0 0 22px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(48px, 6.5vw, 76px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.activity-hero__copy > p:not(.content-eyebrow) {
    max-width: 600px;
    margin: 0 0 26px;
    color: #3b5c65;
    font-size: 19px;
    line-height: 1.75;
}

.activity-hero__note {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    background: rgba(255, 255, 255, .68);
    border: 1px solid rgba(20, 100, 126, .18);
    border-radius: 999px;
    color: var(--v2-blue-dark);
    font-size: 13px;
    font-weight: 800;
}

.activity-hero__note::before {
    width: 9px;
    height: 9px;
    background: var(--v2-coral);
    border-radius: 50%;
    content: "";
}

.activity-hero__collage {
    position: relative;
    min-height: 420px;
}

.activity-hero__photo {
    position: absolute;
    overflow: hidden;
    margin: 0;
    background: #cfdfe0;
    border: 8px solid rgba(255, 255, 255, .92);
    border-radius: 24px;
    box-shadow: 0 24px 50px rgba(22, 58, 69, .2);
}

.activity-hero__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.activity-hero__photo--large {
    top: 0;
    right: 0;
    width: 84%;
    height: 330px;
    transform: rotate(2.5deg);
}

.activity-hero__photo--small {
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 52%;
    height: 190px;
    transform: rotate(-4deg);
}

.activity-hero__year {
    position: absolute;
    right: 10px;
    bottom: -12px;
    color: rgba(13, 87, 120, .13);
    font-family: var(--v2-display-serif);
    font-size: clamp(76px, 10vw, 130px);
    font-weight: 700;
    letter-spacing: -.07em;
    line-height: 1;
}

.activity-section {
    padding: 86px clamp(34px, 7vw, 88px);
}

.activity-records {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 38px;
}

.activity-record {
    display: grid;
    grid-template-rows: 270px 1fr;
    overflow: hidden;
    min-width: 0;
    background: #fbfcfa;
    border: 1px solid var(--v2-border);
    border-radius: 22px;
}

.activity-record--opening {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    grid-template-rows: none;
}

.activity-record__image {
    min-width: 0;
    overflow: hidden;
    background: #dce8e8;
}

.activity-record__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.activity-record:hover .activity-record__image img {
    transform: scale(1.025);
}

.activity-record__body {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    min-height: 280px;
    padding: 30px;
}

.activity-record__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    margin-bottom: 17px;
    color: var(--v2-blue-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
}

.activity-record__meta span:first-child {
    color: var(--v2-coral);
}

.activity-record h3 {
    margin: 0 0 13px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(28px, 3vw, 39px);
    font-weight: 500;
    line-height: 1.16;
}

.activity-record p {
    margin: 0 0 22px;
    color: #536d75;
    font-size: 16px;
    line-height: 1.7;
}

.activity-record .text-link {
    margin-top: auto;
}

.activity-gallery-section {
    padding: 80px clamp(34px, 7vw, 88px) 92px;
    background: #f2f7f5;
}

.activity-gallery__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    align-items: end;
    gap: 50px;
    margin-bottom: 30px;
}

.activity-gallery__heading h2 {
    max-width: 680px;
    margin: 0;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(42px, 5.5vw, 62px);
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.08;
}

.activity-gallery__heading > p {
    margin: 0 0 7px;
    color: #526e76;
    line-height: 1.7;
}

.activity-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 28px;
}

.activity-filters button {
    min-height: 42px;
    padding: 8px 17px;
    background: transparent;
    border: 1px solid #a9c4c8;
    border-radius: 999px;
    color: var(--v2-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.activity-filters button:hover,
.activity-filters button.is-active {
    background: var(--v2-blue-dark);
    border-color: var(--v2-blue-dark);
    color: var(--v2-white);
}

.activity-filters--archive {
    margin-top: 30px;
}

.activity-filter-empty {
    margin: 28px 0 0;
    padding: 22px 24px;
    background: #f7faf9;
    border: 1px dashed #a9c4c8;
    border-radius: 14px;
    color: #526e76;
    text-align: center;
}

.activity-record[hidden],
.activity-gallery__item[hidden] {
    display: none;
}

.hue-activities__all {
    display: inline-flex;
    margin-top: 30px;
}

.activity-gallery {
    display: grid;
    grid-auto-flow: dense;
    grid-auto-rows: 270px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.activity-gallery__item {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
    margin: 0;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(23, 58, 69, .07);
}

.activity-gallery__item--wide {
    grid-column: span 2;
}

.activity-gallery__item[hidden] {
    display: none;
}

.activity-gallery__item button {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #d5e2e2;
    border: 0;
    cursor: zoom-in;
}

.activity-gallery__item button::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(10, 48, 61, .35));
    content: "";
    opacity: 0;
    transition: opacity .25s ease;
}

.activity-gallery__item button:hover::after {
    opacity: 1;
}

.activity-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.activity-gallery__item button:hover img {
    transform: scale(1.035);
}

.activity-gallery__item button > span {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .9);
    border-radius: 50%;
    color: var(--v2-ink);
    font-size: 18px;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .25s ease, transform .25s ease;
}

.activity-gallery__item button:hover > span,
.activity-gallery__item button:focus-visible > span {
    opacity: 1;
    transform: translateY(0);
}

.activity-gallery__item figcaption {
    min-height: 63px;
    padding: 13px 15px;
    color: #526c74;
    font-size: 13px;
    line-height: 1.4;
}

.activity-cta {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 45px;
    margin: 16px;
    padding: 46px clamp(28px, 6vw, 66px);
    background: var(--v2-blue-dark);
    border-radius: 22px;
    color: var(--v2-white);
}

.activity-cta h2 {
    margin: 0 0 10px;
    color: var(--v2-white);
    font-family: var(--v2-display-serif);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    line-height: 1.15;
}

.activity-cta p {
    max-width: 650px;
    margin: 0;
    color: #d8ebef;
    font-size: 17px;
}

.activity-lightbox {
    width: min(1050px, calc(100% - 30px));
    max-width: none;
    max-height: calc(100vh - 30px);
    padding: 18px;
    overflow: visible;
    background: #102f39;
    border: 0;
    border-radius: 18px;
    color: var(--v2-white);
    box-shadow: 0 30px 100px rgba(0, 0, 0, .45);
}

.activity-lightbox::backdrop {
    background: rgba(8, 28, 34, .84);
    backdrop-filter: blur(4px);
}

.activity-lightbox figure {
    margin: 0;
}

.activity-lightbox figure img {
    display: block;
    width: 100%;
    max-height: calc(100vh - 150px);
    object-fit: contain;
    background: #0a222a;
    border-radius: 10px;
}

.activity-lightbox figcaption {
    padding: 13px 55px 2px;
    text-align: center;
}

.activity-lightbox__close,
.activity-lightbox__nav button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: rgba(255, 255, 255, .94);
    border: 0;
    border-radius: 50%;
    color: var(--v2-ink);
    font: inherit;
    font-size: 25px;
    cursor: pointer;
}

.activity-lightbox__close {
    position: absolute;
    top: -13px;
    right: -10px;
    z-index: 2;
}

.activity-lightbox__nav {
    position: absolute;
    top: 50%;
    right: 28px;
    left: 28px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}

.activity-lightbox__nav button {
    pointer-events: auto;
}

.donation-page {
    max-width: 860px;
    margin: -10px auto 20px;
}

.donation-page--workflow {
    max-width: 1040px;
}

.donation-header {
    padding: 20px 10px 42px;
}

.donation-header h1 {
    max-width: 720px;
    margin: 0 0 18px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(42px, 6vw, 66px);
    font-weight: 500;
    line-height: 1.08;
}

.donation-header > p:last-child {
    max-width: 720px;
    color: var(--v2-muted);
    font-size: 19px;
}

.donation-account {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 22px;
    margin-bottom: 55px;
    padding: 28px;
    background: var(--v2-aqua);
    border: 1px solid #cce5e4;
    border-radius: 18px;
}

.contribution-process {
    margin-bottom: 28px;
    padding: 30px;
    background: #e7f4f2;
    border: 1px solid #c7e2df;
    border-radius: 18px;
}

.contribution-process > .content-eyebrow {
    margin-bottom: 18px;
}

.contribution-process ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contribution-process li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    min-width: 0;
    padding: 18px;
    background: rgba(255,255,255,.7);
    border-radius: 13px;
}

.contribution-process li > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    background: var(--v2-blue-dark);
    border-radius: 50%;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.contribution-process h2 {
    margin: 2px 0 6px;
    color: var(--v2-ink);
    font-size: 17px;
    line-height: 1.25;
}

.contribution-process p {
    margin: 0;
    color: #526e76;
    font-size: 13px;
    line-height: 1.55;
}

.contribution-receipt {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    margin-bottom: 34px;
    padding: 26px;
    background: #e4f5e9;
    border: 1px solid #9ed0aa;
    border-radius: 16px;
}

.contribution-receipt > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    background: #2c7a49;
    border-radius: 50%;
    color: #fff;
    font-size: 23px;
}

.contribution-receipt h2 {
    margin: 0 0 5px;
    color: #1e6239;
    font-size: 21px;
}

.contribution-receipt p {
    margin: 0 0 10px;
    color: #416d50;
}

.contribution-receipt strong {
    display: inline-block;
    padding: 7px 11px;
    background: rgba(255,255,255,.72);
    border-radius: 7px;
    color: #185a33;
    letter-spacing: .04em;
}

.donation-account__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    background: var(--v2-blue-dark);
    border-radius: 50%;
    color: var(--v2-white);
    font-size: 22px;
}

.donation-account h2 {
    margin: 0 0 8px;
    color: var(--v2-ink);
    font-size: 22px;
}

.donation-account p {
    margin-bottom: 8px;
    color: var(--v2-muted);
}

.donation-form-section {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 45px;
}

.donation-form-intro h2 {
    margin: 0 0 12px;
    color: var(--v2-ink);
    font-family: var(--v2-display-serif);
    font-size: 34px;
    font-weight: 500;
    line-height: 1.15;
}

.donation-form-intro > p:last-child {
    color: var(--v2-muted);
}

.donation-form-wrap {
    padding: 30px;
    background: #f7faf9;
    border: 1px solid var(--v2-border);
    border-radius: 18px;
}

.donation-form {
    display: grid;
    gap: 18px;
}

.contribution-fieldset {
    display: grid;
    gap: 16px;
    min-width: 0;
    margin: 0;
    padding: 0 0 22px;
    border: 0;
    border-bottom: 1px solid var(--v2-border);
}

.contribution-fieldset legend {
    margin-bottom: 14px;
    padding: 0;
    color: var(--v2-ink);
    font-size: 15px;
    font-weight: 800;
}

.contribution-fieldset legend > span {
    color: #c92e3e;
}

.purpose-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.purpose-options label {
    position: relative;
    cursor: pointer;
}

.purpose-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.purpose-options label > span {
    display: grid;
    place-items: center;
    min-height: 76px;
    padding: 12px;
    background: var(--v2-white);
    border: 1px solid #b7cdd0;
    border-radius: 11px;
    color: var(--v2-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.purpose-options input:checked + span {
    background: var(--v2-blue-dark);
    border-color: var(--v2-blue-dark);
    color: #fff;
    box-shadow: 0 8px 22px rgba(13, 87, 120, .18);
}

.purpose-options input:focus-visible + span {
    outline: 3px solid #f2a900;
    outline-offset: 3px;
}

.form-checkbox {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: start;
    gap: 11px;
    color: #3f5f68;
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
}

.form-checkbox input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--v2-blue-dark);
}

.form-checkbox--confirmation {
    padding: 15px;
    background: #fff6e6;
    border: 1px solid #e8c98e;
    border-radius: 10px;
    color: #6f5229;
}

.form-checkbox--confirmation strong {
    color: #c92e3e;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.form-field label {
    display: block;
    margin-bottom: 6px;
    color: var(--v2-ink);
    font-size: 14px;
    font-weight: 700;
}

.form-field label span {
    color: #c92e3e;
}

.form-field input,
.form-field textarea,
.form-field select {
    width: 100%;
    margin: 0;
    padding: 11px 13px;
    background: var(--v2-white);
    border: 1px solid #b9cdcf;
    border-radius: 9px;
    color: var(--v2-ink);
    font: inherit;
}

.form-field textarea {
    min-height: 150px;
    resize: vertical;
}

.form-field small {
    display: block;
    margin-top: 6px;
    color: #6b7f85;
    font-size: 12px;
}

.form-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.form-privacy {
    color: var(--v2-muted);
    font-size: 13px;
}

.form-alert {
    margin-bottom: 20px;
    padding: 14px 16px;
    border-radius: 10px;
}

.form-alert--success {
    background: #e5f5e9;
    border: 1px solid #a7d8b2;
    color: #185f2c;
}

.form-alert--error {
    background: #fff0ee;
    border: 1px solid #e8b3ab;
    color: #8b2832;
}

.form-alert ul {
    margin: 8px 0 0 20px;
}

/* The legacy/source Vietnamese text contains a mix of composed and combining
   diacritics. Use a Vietnamese-safe system font for display headings to avoid
   separated or overlapping marks on Windows browsers. */
html[lang="vi"] .home-hero h1,
html[lang="vi"] .section-heading h2,
html[lang="vi"] .origin-story h2,
html[lang="vi"] .value-card h3,
html[lang="vi"] .program-card h3,
html[lang="vi"] .activity-card h3,
html[lang="vi"] .home-video h2,
html[lang="vi"] .transparency-cta h2,
html[lang="vi"] .founder-story h1,
html[lang="vi"] .founder-book h2,
html[lang="vi"] .founder-other-books h3,
html[lang="vi"] .founder-related-book h4,
html[lang="vi"] .founder-media h2,
html[lang="vi"] .founder-video h3,
html[lang="vi"] .meal-hero h1,
html[lang="vi"] .meal-section h2,
html[lang="vi"] .meal-story h2,
html[lang="vi"] .meal-cta h2,
html[lang="vi"] .meal-group h3,
html[lang="vi"] .activity-hero h1,
html[lang="vi"] .activity-section h2,
html[lang="vi"] .activity-record h3,
html[lang="vi"] .activity-gallery__heading h2,
html[lang="vi"] .activity-cta h2,
html[lang="vi"] .launch-hero h1,
html[lang="vi"] .launch-contact h2,
html[lang="vi"] .hue-activities h2,
html[lang="vi"] .transparency-hero h1,
html[lang="vi"] .transparency-principles h2,
html[lang="vi"] .transparency-principles h3,
html[lang="vi"] .transparency-documents h2,
html[lang="vi"] .document-card h3,
html[lang="vi"] .transparency-notice h3,
html[lang="vi"] .transparency-page__cta h2,
html[lang="vi"] .account-hero h1,
html[lang="vi"] .account-checklist h2,
html[lang="vi"] .donation-header h1,
html[lang="vi"] .donation-form-intro h2 {
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-weight: 650;
    letter-spacing: -.025em;
}

@media (max-width: 1080px) {
    .site-header {
        grid-template-columns: 1fr auto auto;
    }
    .nav-toggle {
        display: block;
        grid-column: 2;
        grid-row: 1;
    }
    .site-nav {
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        padding: 8px 0 18px;
        border-top: 1px solid var(--v2-border);
    }
    .site-nav.is-open {
        display: block;
    }
    .site-nav > ul {
        align-items: stretch;
        flex-direction: column;
    }
    .site-nav a,
    .site-nav button {
        width: 100%;
        justify-content: space-between;
        box-sizing: border-box;
    }
    .has-submenu > ul {
        position: static;
        width: auto;
        margin: 0 0 8px 18px;
        box-shadow: none;
    }
    .home-hero {
        grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
        gap: 30px;
    }
    .value-grid,
    .activity-grid,
    .program-grid {
        grid-template-columns: 1fr;
    }
    .activity-card {
        min-height: 0;
    }
    .programs-heading {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 22px;
    }
    .program-legend {
        justify-content: flex-start;
        max-width: none;
    }
    .program-card {
        display: grid;
        grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
        min-height: 0;
    }
    .program-card__visual {
        height: 100%;
        min-height: 300px;
    }
    .program-card__body {
        min-height: 300px;
    }
    .meal-hero {
        grid-template-columns: 1fr .7fr;
    }
    .donation-form-section {
        grid-template-columns: 1fr;
    }
    .founder-series {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .activity-hero {
        grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
        gap: 32px;
    }
    .activity-record--opening {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
    }
    .activity-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .transparency-hero {
        grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    }
}

@media (max-width: 760px) {
    #wrapper {
        width: min(100% - 20px, 1180px);
        margin-top: 10px;
        padding: 0;
    }
    .site-header {
        grid-template-columns: 1fr auto;
        gap: 10px;
        min-height: 66px;
        padding: 0 14px;
        border-radius: 14px;
    }
    .site-brand img {
        width: 150px;
    }
    .nav-toggle {
        grid-column: 2;
    }
    .site-header__actions {
        grid-column: 1 / -1;
        flex-wrap: wrap;
        justify-content: space-between;
        padding-bottom: 12px;
    }
    .header-cta {
        max-width: 100%;
    }
    .home-v2 {
        border-radius: 18px;
    }
    .home-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 58px 24px 40px;
    }
    .home-hero h1 {
        font-size: clamp(38px, 12vw, 50px);
        overflow-wrap: break-word;
    }
    .home-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .home-actions .button-v2 {
        width: 100%;
    }
    .home-hero__mark {
        min-height: 260px;
    }
    .home-hero__visual {
        margin-top: 8px;
    }
    .impact-slider {
        min-height: 390px;
        border-radius: 20px;
    }
    .impact-slide figcaption {
        right: 20px;
        bottom: 72px;
        left: 20px;
    }
    .impact-slider__controls {
        right: 14px;
        bottom: 14px;
    }
    .sponsor-orbit {
        width: min(360px, 100%);
    }
    .sponsor-orbit__globe {
        width: 120px;
        height: 120px;
    }
    .sponsor-orbit__path {
        border-width: 9px;
    }
    .home-section {
        padding: 64px 24px;
    }
    .section-heading--split,
    .home-video,
    .origin-story,
    .values-intro,
    .transparency-cta,
    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .values-intro__photo {
        min-height: 300px;
    }
    .activity-card {
        grid-template-columns: 1fr;
    }
    .program-card {
        display: block;
    }
    .program-card__visual {
        height: 225px;
        min-height: 0;
    }
    .program-card__body {
        min-height: 290px;
        padding: 25px 24px 27px;
    }
    .transparency-cta {
        margin: 0 14px 14px;
        padding: 36px 24px;
    }
    .site-footer__inner {
        padding-top: 48px;
    }
    .meal-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .meal-hero,
    .meal-story,
    .meal-path,
    .meal-cta {
        grid-template-columns: 1fr;
    }
    .meal-hero,
    .meal-section,
    .meal-story {
        padding: 54px 24px;
    }
    .meal-symbol {
        min-height: 260px;
    }
    .meal-groups {
        grid-template-columns: 1fr;
    }
    .meal-group {
        min-height: 0;
    }
    .meal-cta {
        margin: 0 14px 14px;
        padding: 34px 24px;
    }
    .donation-page {
        padding: 0 5px;
    }
    .donation-header {
        padding-top: 5px;
    }
    .donation-account {
        grid-template-columns: 1fr;
    }
    .contribution-process {
        padding: 22px 16px;
    }
    .contribution-process ol,
    .purpose-options {
        grid-template-columns: 1fr;
    }
    .contribution-process li {
        padding: 15px;
    }
    .contribution-receipt {
        grid-template-columns: 1fr;
        padding: 22px 18px;
    }
    .donation-form-wrap {
        padding: 22px 16px;
    }
    .form-row {
        grid-template-columns: 1fr;
    }
    .founder-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .founder-page .founder-story {
        padding: 54px 24px 58px;
    }
    .founder-signature {
        margin-top: 30px;
        padding-left: 36px;
    }
    .founder-book {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 58px 24px;
    }
    .founder-book__cover {
        width: min(310px, 88%);
    }
    .founder-other-books {
        margin-top: 4px;
        padding-top: 42px;
    }
    .founder-other-books__heading {
        grid-template-columns: 1fr;
        gap: 5px;
    }
    .founder-other-books__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .founder-related-book {
        grid-template-columns: 1fr;
        align-content: start;
        gap: 17px;
        padding: 12px;
    }
    .founder-related-book__cover {
        width: 100%;
    }
    .founder-related-book h4 {
        font-size: 18px;
    }
    .founder-related-book__copy > p:not(.founder-related-book__type) {
        font-size: 13px;
    }
    .origin-story__visual {
        min-height: 320px;
        border-radius: 18px;
    }
    .founder-media {
        padding: 58px 24px 66px;
    }
    .founder-media__heading,
    .founder-video--featured,
    .founder-series {
        grid-template-columns: 1fr;
    }
    .founder-media__heading {
        gap: 14px;
    }
    .founder-video--featured .video-consent {
        min-height: 220px;
    }
    .activity-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .activity-hero {
        grid-template-columns: 1fr;
        gap: 28px;
        min-height: 0;
        padding: 54px 24px 46px;
    }
    .activity-hero h1 {
        font-size: clamp(40px, 12vw, 54px);
        overflow-wrap: break-word;
    }
    .activity-hero__copy > p:not(.content-eyebrow) {
        font-size: 17px;
    }
    .activity-hero__collage {
        min-height: 310px;
    }
    .activity-hero__photo {
        border-width: 5px;
        border-radius: 17px;
    }
    .activity-hero__photo--large {
        width: 88%;
        height: 235px;
    }
    .activity-hero__photo--small {
        width: 56%;
        height: 140px;
    }
    .activity-hero__year {
        right: 2px;
        bottom: -4px;
        font-size: 76px;
    }
    .activity-section,
    .activity-gallery-section {
        padding: 58px 24px 64px;
    }
    .activity-records,
    .activity-gallery {
        grid-template-columns: 1fr;
    }
    .activity-record--opening {
        grid-column: auto;
        grid-template-columns: 1fr;
        grid-template-rows: 240px 1fr;
    }
    .activity-record {
        grid-template-rows: 220px 1fr;
    }
    .activity-record__body {
        min-height: 0;
        padding: 24px;
    }
    .activity-record__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .activity-gallery__heading,
    .activity-cta {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .activity-gallery {
        grid-auto-rows: 270px;
    }
    .activity-gallery__item--wide {
        grid-column: auto;
    }
    .activity-filters {
        flex-wrap: nowrap;
        margin-right: -24px;
        padding-right: 24px;
        overflow-x: auto;
        scrollbar-width: thin;
    }
    .activity-filters button {
        flex: 0 0 auto;
    }
    .activity-cta {
        margin: 0 14px 14px;
        padding: 36px 24px;
    }
    .activity-lightbox {
        width: calc(100% - 20px);
        padding: 10px;
    }
    .activity-lightbox__close {
        top: 6px;
        right: 6px;
    }
    .activity-lightbox__nav {
        right: 18px;
        left: 18px;
    }
    .activity-lightbox figcaption {
        padding-right: 30px;
        padding-left: 30px;
        font-size: 13px;
    }
    .transparency-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .transparency-hero {
        grid-template-columns: 1fr;
        gap: 26px;
        min-height: 0;
        padding: 54px 24px 46px;
    }
    .transparency-hero h1 {
        font-size: clamp(40px, 12vw, 54px);
        overflow-wrap: break-word;
    }
    .transparency-hero > div:first-child > p:last-child {
        font-size: 17px;
    }
    .transparency-hero__symbol {
        min-height: 250px;
    }
    .transparency-hero__ring {
        width: 220px;
        height: 220px;
    }
    .transparency-hero__symbol strong {
        font-size: 20px;
    }
    .transparency-principles,
    .transparency-documents {
        padding: 58px 24px 64px;
    }
    .transparency-principles__grid,
    .transparency-documents__grid {
        grid-template-columns: 1fr;
    }
    .transparency-principles__grid article {
        min-height: 0;
    }
    .transparency-principles__grid h3 {
        margin-top: 25px;
    }
    .document-card {
        min-height: 0;
    }
    .transparency-notice {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 24px;
    }
    .transparency-page__cta {
        grid-template-columns: 1fr;
        gap: 24px;
        margin: 0 14px 14px;
        padding: 36px 24px;
    }
    .account-page {
        padding: 0 5px;
    }
    .account-hero {
        padding-top: 5px;
    }
    .account-warning,
    .account-grid,
    .account-checklist {
        grid-template-columns: 1fr;
    }
    .account-warning {
        gap: 13px;
    }
    .account-checklist {
        gap: 28px;
        padding: 28px 22px;
    }
    .account-card > header,
    .account-card dl {
        padding-right: 20px;
        padding-left: 20px;
    }
    .account-copy {
        margin-right: 20px;
        margin-left: 20px;
    }
    .account-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .account-actions .button-v2 {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
    .sponsor-orbit *,
    .sponsor-orbit::before {
        animation: none !important;
    }
    .impact-slide,
    .impact-slider__dots button {
        transition: none !important;
    }
    .meal-symbol__steam {
        animation: none !important;
    }
}

/* Charitable activity archive */
.archive-page,
.archive-detail {
    --archive-ink: #143d49;
    --archive-blue: #006188;
    --archive-pale: #e8f5f6;
    --archive-sand: #f7f2e9;
    color: var(--archive-ink);
    margin: -28px -12px -16px;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
}
.archive-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    align-items: end;
    gap: 54px;
    padding: 76px clamp(34px, 6vw, 82px) 66px;
    background:
        radial-gradient(circle at 92% 8%, rgba(0, 113, 155, .1), transparent 30%),
        linear-gradient(130deg, #edf9fa 0%, #fff 58%, #f8f2e9 100%);
}
.archive-hero h1,
.archive-detail__header h1 {
    max-width: 830px;
    margin: 20px 0 22px;
    color: var(--archive-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(48px, 5.2vw, 76px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}
.archive-hero > div > p:last-child {
    max-width: 720px;
    margin: 0;
    color: #42636d;
    font-size: 19px;
    line-height: 1.72;
}
.archive-hero__note {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;
    padding: 25px;
    border: 1px solid rgba(20, 61, 73, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 20px 50px rgba(30, 76, 86, .08);
}
.archive-hero__note > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--archive-blue);
    color: #fff;
    font-family: var(--v2-display-serif);
    font-size: 22px;
    font-style: italic;
}
.archive-hero__note strong {
    display: block;
    margin: 2px 0 8px;
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.archive-hero__note p {
    margin: 0;
    color: #526b72;
    font-size: 14px;
    line-height: 1.65;
}
.archive-filters {
    display: flex;
    gap: 10px;
    padding: 30px clamp(34px, 6vw, 82px);
    overflow-x: auto;
    border-top: 1px solid #edf0ed;
    border-bottom: 1px solid #edf0ed;
    background: #fff;
    scrollbar-width: thin;
}
.archive-filters button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 11px;
    min-height: 46px;
    padding: 9px 12px 9px 18px;
    border: 1px solid #cddadd;
    border-radius: 999px;
    background: #fff;
    color: var(--archive-ink);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
}
.archive-filters button strong {
    display: grid;
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    place-items: center;
    border-radius: 999px;
    background: var(--archive-pale);
    color: var(--archive-blue);
    font-size: 12px;
}
.archive-filters button:hover,
.archive-filters button:focus-visible,
.archive-filters button[aria-pressed="true"] {
    border-color: var(--archive-blue);
    background: var(--archive-blue);
    color: #fff;
}
.archive-filters button[aria-pressed="true"] strong {
    background: #fff;
}
.archive-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    padding: 48px clamp(34px, 6vw, 82px) 80px;
    background: #fbfaf7;
}
.archive-card {
    display: grid;
    grid-template-columns: minmax(190px, .78fr) minmax(0, 1.22fr);
    min-height: 310px;
    overflow: hidden;
    border: 1px solid #e5e5df;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(26, 54, 58, .06);
}
.archive-card[hidden] {
    display: none;
}
.archive-card__media {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(0, 97, 136, .88), rgba(20, 61, 73, .95)),
        var(--archive-blue);
}
.archive-card__media::before,
.archive-card__media::after {
    position: absolute;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    content: "";
}
.archive-card__media::before {
    width: 170px;
    height: 170px;
    right: -65px;
    bottom: -55px;
}
.archive-card__media::after {
    width: 105px;
    height: 105px;
    right: -30px;
    bottom: -24px;
}
.archive-card__media img {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.archive-card:hover .archive-card__media img {
    transform: scale(1.035);
}
.archive-card__category {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    max-width: calc(100% - 36px);
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: var(--archive-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.archive-card__body {
    display: flex;
    min-width: 0;
    padding: 28px;
    flex-direction: column;
    align-items: flex-start;
}
.archive-card__body time,
.archive-detail__header time {
    color: #6e8187;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
}
.archive-card__body h2 {
    margin: 14px 0 13px;
    color: var(--archive-ink);
    font-family: var(--v2-display-serif);
    font-size: clamp(24px, 2.1vw, 32px);
    font-weight: 400;
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
}
.archive-card__body p {
    display: -webkit-box;
    margin: 0 0 18px;
    overflow: hidden;
    color: #597078;
    font-size: 14px;
    line-height: 1.62;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}
.archive-card__body small {
    margin: -7px 0 18px;
    color: #7c6a49;
    font-size: 12px;
    line-height: 1.5;
}
.archive-card__body .archive-card__pending {
    color: #7c6a49;
    font-weight: 700;
}
.archive-card__link,
.archive-card__status {
    margin-top: auto;
    color: var(--archive-blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.archive-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid transparent;
}
.archive-card__link:hover {
    border-bottom-color: currentColor;
}
.archive-card__status {
    padding: 8px 11px;
    border-radius: 8px;
    background: var(--archive-sand);
}
.archive-empty {
    margin: 0;
    padding: 70px 30px;
    background: #fbfaf7;
    color: #60767c;
    text-align: center;
}
.archive-detail__header {
    padding: 54px clamp(34px, 8vw, 118px) 50px;
    background:
        radial-gradient(circle at 90% 10%, rgba(0, 113, 155, .11), transparent 29%),
        linear-gradient(130deg, #edf9fa, #fff 68%);
}
.archive-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 42px;
    color: var(--archive-blue);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}
.archive-detail__header h1 {
    max-width: 900px;
    font-size: clamp(46px, 6vw, 82px);
}
.archive-detail__language {
    max-width: 650px;
    margin: 22px 0 0;
    padding: 12px 15px;
    border-left: 3px solid #c69947;
    background: #fff8e9;
    color: #705c37;
    font-size: 14px;
}
.archive-detail__lead {
    max-width: 1080px;
    height: min(54vw, 610px);
    margin: 0 auto;
    overflow: hidden;
    background: #e4eeee;
}
.archive-detail__lead img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.archive-detail__content {
    max-width: 820px;
    margin: 0 auto;
    padding: 62px 30px 70px;
    color: #304f58;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.78;
}
.archive-detail__content p,
.archive-detail__content div {
    max-width: 100%;
}
.archive-detail__content p {
    margin: 0 0 1.25em;
}
.archive-detail__content img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 28px auto;
    border-radius: 14px;
}
.archive-detail__content a {
    color: var(--archive-blue);
    overflow-wrap: anywhere;
}
.archive-detail__pending {
    max-width: 820px;
    margin: 60px auto 70px;
    padding: 25px 28px;
    border: 1px solid #e4d8bf;
    border-radius: 14px;
    background: #fff8e9;
    color: #705c37;
    font-size: 16px;
    line-height: 1.7;
}
.archive-related {
    padding: 58px clamp(34px, 8vw, 118px) 74px;
    border-top: 1px solid #e6ebea;
    background: #f8f5ee;
}
.archive-related h2 {
    margin: 0 0 28px;
    color: var(--archive-ink);
    font-family: var(--v2-display-serif);
    font-size: 38px;
    font-weight: 400;
}
.archive-related > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.archive-related a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px 14px;
    min-height: 138px;
    padding: 23px;
    border: 1px solid #e0ddd4;
    border-radius: 16px;
    background: #fff;
    color: var(--archive-ink);
    text-decoration: none;
}
.archive-related time {
    grid-column: 1 / -1;
    color: #718489;
    font-size: 12px;
    font-weight: 800;
}
.archive-related strong {
    font-family: var(--v2-display-serif);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.15;
}
.archive-related a > span {
    color: var(--archive-blue);
}
.archive-detail__missing {
    min-height: 540px;
    padding: 90px clamp(34px, 8vw, 118px);
    background: linear-gradient(135deg, #edf9fa, #fff);
}
.archive-detail__missing h1 {
    margin: 20px 0;
    font-family: var(--v2-display-serif);
    font-size: clamp(44px, 6vw, 72px);
    font-weight: 400;
}
.archive-detail__missing p:not(.section-eyebrow) {
    max-width: 620px;
    margin-bottom: 30px;
    color: #526b72;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 1040px) {
    .archive-hero {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .archive-hero__note {
        max-width: 680px;
    }
    .archive-grid {
        grid-template-columns: 1fr;
    }
    .archive-card {
        grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    }
}

@media (max-width: 680px) {
    .archive-page,
    .archive-detail {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .archive-hero {
        gap: 30px;
        padding: 54px 24px 42px;
    }
    .archive-hero h1 {
        font-size: clamp(42px, 12vw, 58px);
    }
    .archive-hero > div > p:last-child {
        font-size: 17px;
    }
    .archive-hero__note {
        grid-template-columns: 36px 1fr;
        gap: 13px;
        padding: 20px;
    }
    .archive-hero__note > span {
        width: 36px;
        height: 36px;
    }
    .archive-filters {
        padding: 20px 24px;
    }
    .archive-grid {
        gap: 20px;
        padding: 30px 20px 54px;
    }
    .archive-card {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }
    .archive-card__media {
        min-height: 230px;
    }
    .archive-card__body {
        min-height: 270px;
        padding: 24px;
    }
    .archive-card__body h2 {
        font-size: 30px;
    }
    .archive-detail__header {
        padding: 42px 24px 38px;
    }
    .archive-detail__back {
        margin-bottom: 32px;
    }
    .archive-detail__header h1 {
        font-size: clamp(42px, 13vw, 58px);
        overflow-wrap: normal;
        word-break: normal;
    }
    .archive-detail__lead {
        height: 68vw;
    }
    .archive-detail__content {
        padding: 44px 24px 54px;
        font-size: 16px;
    }
    .archive-detail__pending {
        margin: 42px 24px 54px;
    }
    .archive-related {
        padding: 44px 24px 54px;
    }
    .archive-related h2 {
        font-size: 33px;
    }
    .archive-related > div {
        grid-template-columns: 1fr;
    }
    .archive-detail__missing {
        padding: 68px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .archive-card__media img {
        transition: none;
    }
}

/* Community stories */
.community-share-page {
    --share-ink: #143d49;
    --share-blue: #006188;
    --share-coral: #ef7a5c;
    margin: -28px -12px -16px;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    color: var(--share-ink);
}
.community-share-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(400px, .75fr);
    align-items: end;
    gap: 60px;
    padding: 76px clamp(34px, 6vw, 82px) 66px;
    background:
        radial-gradient(circle at 90% 8%, rgba(239, 122, 92, .12), transparent 27%),
        linear-gradient(130deg, #edf9fa 0%, #fff 60%, #faf1e9 100%);
}
.community-share-hero h1,
.community-share-compose h2,
.community-share-list h2 {
    margin: 20px 0 22px;
    color: var(--share-ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    word-break: normal;
}
.community-share-hero h1 {
    max-width: 820px;
    font-size: clamp(50px, 5.5vw, 78px);
}
.community-share-hero > div > p:last-child {
    max-width: 720px;
    margin: 0;
    color: #45636d;
    font-size: 19px;
    line-height: 1.72;
}
.community-share-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(20, 61, 73, .12);
    border-radius: 20px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 24px 60px rgba(29, 64, 71, .08);
}
.community-share-stats div {
    min-width: 0;
    padding: 24px 18px;
    border-left: 1px solid #e4ebeb;
}
.community-share-stats div:first-child {
    border-left: 0;
}
.community-share-stats dt {
    min-height: 35px;
    color: #60777e;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.community-share-stats dd {
    margin: 8px 0 0;
    color: var(--share-blue);
    font-family: var(--v2-display-serif);
    font-size: 36px;
    line-height: 1;
}
.community-share-compose {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(460px, 1.2fr);
    gap: clamp(40px, 7vw, 90px);
    padding: 70px clamp(34px, 7vw, 98px);
    background: #f8f5ee;
}
.community-share-compose__intro {
    align-self: start;
    position: sticky;
    top: 30px;
}
.community-share-compose h2,
.community-share-list h2 {
    font-size: clamp(40px, 4.2vw, 58px);
}
.community-share-compose__intro > p:last-child {
    max-width: 490px;
    margin: 0;
    color: #526b72;
    font-size: 17px;
    line-height: 1.72;
}
.community-share-form {
    position: relative;
    padding: 34px;
    border: 1px solid #e1e5df;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(28, 59, 63, .07);
}
.community-share-form__website {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}
.community-share-form > label {
    display: block;
    margin: 0 0 9px;
    color: var(--share-ink);
    font-size: 14px;
    font-weight: 800;
}
.community-share-form > label:not(:first-of-type) {
    margin-top: 24px;
}
.community-share-form > label span {
    color: #b64935;
}
.community-share-form input[type="text"],
.community-share-form textarea {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    border: 1px solid #cbd9da;
    border-radius: 12px;
    background: #fbfdfd;
    color: #193f49;
    font: inherit;
    font-size: 16px;
}
.community-share-form input[type="text"] {
    height: 52px;
    padding: 0 16px;
}
.community-share-form textarea {
    min-height: 170px;
    padding: 15px 16px;
    resize: vertical;
    line-height: 1.55;
}
.community-share-form input:focus,
.community-share-form textarea:focus {
    border-color: var(--share-blue);
    outline: 3px solid rgba(0, 97, 136, .13);
}
.community-share-form__privacy {
    margin: 12px 0 24px;
    color: #6b7d82;
    font-size: 12px;
    line-height: 1.55;
}
.community-share-form .button-v2 {
    min-width: 175px;
    border: 0;
    cursor: pointer;
}
.community-share-alert {
    margin: 0 0 24px;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.55;
}
.community-share-alert--success {
    border: 1px solid #a9d2bf;
    background: #eef9f2;
    color: #205b43;
}
.community-share-alert--error {
    border: 1px solid #e9b9ae;
    background: #fff2ef;
    color: #7e3326;
}
.community-share-alert ul {
    margin: 0;
    padding-left: 20px;
}
.community-share-list {
    padding: 72px clamp(34px, 7vw, 98px) 84px;
    background: #fff;
}
.community-share-list > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 38px;
}
.community-share-list > header > div {
    max-width: 760px;
}
.community-share-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.community-share-filters a {
    padding: 9px 13px;
    border: 1px solid #d7e3e2;
    border-radius: 999px;
    color: #49656d;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
.community-share-filters a[aria-current="page"] {
    border-color: var(--share-blue);
    background: var(--share-blue);
    color: #fff;
}
.community-share-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.community-share-card {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 18px;
    min-width: 0;
    padding: 26px;
    border: 1px solid #e1e8e7;
    border-radius: 18px;
    background: #fbfdfc;
}
.community-share-card__avatar {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: var(--share-blue);
    color: #fff;
    font-family: var(--v2-display-serif);
    font-size: 23px;
    text-transform: uppercase;
}
.community-share-card h3 {
    margin: 2px 0 5px;
    color: var(--share-ink);
    font-size: 16px;
    overflow-wrap: anywhere;
}
.community-share-card time {
    color: #75878c;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.community-share-card__language {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eaf3f3;
    color: #44656d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.community-share-card p {
    margin: 18px 0 0;
    color: #49656d;
    font-size: 15px;
    line-height: 1.72;
    overflow-wrap: anywhere;
}
.community-share-empty {
    padding: 35px;
    border-radius: 16px;
    background: #f5f8f7;
    color: #60767c;
    text-align: center;
}
.community-share-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    margin-top: 32px;
}
.community-share-pagination a {
    color: var(--share-blue);
    font-weight: 700;
    text-decoration: none;
}
.community-share-pagination a:last-child {
    text-align: right;
}
.community-share-pagination strong {
    color: #60767c;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (max-width: 1040px) {
    .community-share-hero,
    .community-share-compose {
        grid-template-columns: 1fr;
    }
    .community-share-stats {
        max-width: 680px;
    }
    .community-share-compose__intro {
        position: static;
    }
}

@media (max-width: 680px) {
    .community-share-page {
        margin: -28px -12px -16px;
        border-radius: 12px;
    }
    .community-share-hero {
        gap: 34px;
        padding: 54px 24px 44px;
    }
    .community-share-hero h1 {
        font-size: clamp(42px, 12vw, 58px);
        overflow-wrap: normal;
        word-break: normal;
    }
    .community-share-hero > div > p:last-child {
        font-size: 17px;
    }
    .community-share-stats {
        grid-template-columns: 1fr;
        width: 100%;
    }
    .community-share-stats div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 15px;
        padding: 17px 20px;
        border-top: 1px solid #e4ebeb;
        border-left: 0;
    }
    .community-share-stats div:first-child {
        border-top: 0;
    }
    .community-share-stats dt {
        min-height: 0;
    }
    .community-share-stats dd {
        margin: 0;
        font-size: 30px;
    }
    .community-share-compose {
        gap: 32px;
        padding: 52px 20px;
    }
    .community-share-compose h2,
    .community-share-list h2 {
        font-size: 40px;
    }
    .community-share-form {
        padding: 24px 20px;
    }
    .community-share-form .button-v2 {
        width: 100%;
    }
    .community-share-list {
        padding: 54px 20px 62px;
    }
    .community-share-list > header {
        display: block;
    }
    .community-share-filters {
        justify-content: flex-start;
        margin-top: 24px;
    }
    .community-share-grid {
        grid-template-columns: 1fr;
    }
    .community-share-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
        padding: 22px 18px;
    }
    .community-share-card__avatar {
        width: 42px;
        height: 42px;
        font-size: 19px;
    }
    .community-share-pagination {
        gap: 10px;
    }
    .community-share-pagination strong {
        text-align: center;
    }
}
/* Executive Board */
.board-v2 {
    overflow: hidden;
    margin: -28px -10px -10px;
    background: #f8f7f2;
    border-radius: 18px;
}

.board-v2 h1,
.board-v2 h2,
.board-v2 h3 {
    font-family: "Segoe UI", Arial, sans-serif;
}

.board-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    align-items: center;
    gap: 60px;
    min-height: 530px;
    padding: 76px clamp(34px, 7vw, 88px);
    background: linear-gradient(135deg, #e5f5f3 0%, #dceef4 56%, #f2e8df 100%);
}

.board-hero__copy h1 {
    max-width: 720px;
    margin: 0 0 24px;
    color: var(--v2-ink);
    font-size: clamp(52px, 7vw, 86px);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1.02;
}

.board-hero__copy > p:last-child {
    max-width: 690px;
    margin: 0;
    color: #3c5d65;
    font-size: 19px;
    line-height: 1.75;
}

.board-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 350px;
}

.board-hero__orbit {
    position: absolute;
    border: 1px solid rgba(22, 121, 159, .24);
    border-radius: 50%;
}

.board-hero__orbit--outer {
    width: 340px;
    height: 340px;
}

.board-hero__orbit--inner {
    width: 250px;
    height: 250px;
}

.board-hero__mark {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: 24px;
    width: 270px;
    padding: 38px 26px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    box-shadow: 0 24px 60px rgba(25, 67, 79, .14);
    backdrop-filter: blur(8px);
}

.board-hero__mark img {
    width: 100%;
    height: auto;
}

.board-hero__mark strong {
    color: var(--v2-blue-dark);
    font-size: 11px;
    letter-spacing: .12em;
    line-height: 1.4;
    text-align: center;
}

.board-directory {
    padding: 88px clamp(34px, 7vw, 88px) 96px;
}

.board-directory__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
    align-items: end;
    gap: 50px;
    margin-bottom: 38px;
}

.board-directory__heading h2,
.board-focus__copy h2 {
    margin: 0;
    color: var(--v2-ink);
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 620;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.board-directory__heading > p {
    margin: 0;
    color: var(--v2-muted);
    font-size: 17px;
    line-height: 1.65;
}

.board-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.board-card {
    position: relative;
    display: flex;
    min-height: 225px;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 28px;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(25, 61, 70, .06);
}

.board-card--lead {
    grid-column: span 2;
    min-height: 260px;
    background: var(--v2-blue-dark);
    border-color: var(--v2-blue-dark);
}

.board-card__number {
    position: absolute;
    top: 20px;
    right: 24px;
    color: rgba(21, 78, 94, .14);
    font-size: 54px;
    font-weight: 800;
    line-height: 1;
}

.board-card--lead .board-card__number {
    color: rgba(255, 255, 255, .14);
}

.board-card__role {
    max-width: 88%;
    margin: 0 0 12px;
    color: #08749b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase;
}

.board-card h3 {
    max-width: 94%;
    margin: 0;
    color: var(--v2-ink);
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 620;
    line-height: 1.28;
}

.board-card--lead .board-card__role {
    color: #9edfe7;
}

.board-card--lead h3 {
    color: var(--v2-white);
    font-size: clamp(28px, 3.5vw, 42px);
}

.board-directory__empty {
    padding: 32px;
    background: var(--v2-white);
    border: 1px solid var(--v2-border);
    border-radius: 16px;
}

.board-focus {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
    align-items: stretch;
    background: #e5f0ee;
}

.board-focus__image {
    min-height: 510px;
    margin: 0;
    overflow: hidden;
}

.board-focus__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.board-focus__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px clamp(34px, 6vw, 76px);
}

.board-focus__copy > p:not(.content-eyebrow) {
    margin: 24px 0 0;
    color: #47656d;
    font-size: 18px;
    line-height: 1.7;
}

.board-focus__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

@media (max-width: 980px) {
    .board-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .board-hero__visual {
        min-height: 300px;
    }

    .board-directory__heading,
    .board-focus {
        grid-template-columns: 1fr;
    }

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

    .board-focus__image {
        min-height: 430px;
    }
}

@media (max-width: 640px) {
    .board-v2 {
        margin: -20px -4px -4px;
        border-radius: 12px;
    }

    .board-hero,
    .board-directory,
    .board-focus__copy {
        padding: 52px 22px;
    }

    .board-hero {
        gap: 24px;
    }

    .board-hero__copy h1 {
        font-size: clamp(43px, 14vw, 61px);
    }

    .board-hero__visual {
        min-height: 250px;
    }

    .board-hero__orbit--outer {
        width: 245px;
        height: 245px;
    }

    .board-hero__orbit--inner {
        width: 185px;
        height: 185px;
    }

    .board-hero__mark {
        width: 190px;
        gap: 16px;
        padding: 29px 20px;
    }

    .board-directory__heading {
        gap: 18px;
    }

    .board-grid {
        grid-template-columns: 1fr;
    }

    .board-card--lead {
        grid-column: auto;
    }

    .board-card,
    .board-card--lead {
        min-height: 205px;
        padding: 24px;
    }

    .board-focus__image {
        min-height: 300px;
    }

    .board-focus__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .board-focus__actions .button-v2 {
        justify-content: center;
        text-align: center;
    }
}
