:root {
    --cream: #f8f5ec;
    --cream-deep: #eee8d9;
    --white: #ffffff;
    --charcoal: #202823;
    --charcoal-soft: #3d4841;
    --gray-900: #29312c;
    --gray-700: #5d6962;
    --gray-500: #87918b;
    --gray-300: #d8ddd8;
    --gray-200: #e8ece8;
    --gray-100: #f3f5f2;
    --yellow: #f2b544;
    --yellow-dark: #d99522;
    --green: #245747;
    --green-deep: #163e33;
    --green-soft: #dce9e2;
    --danger: #a93c36;
    --success: #287052;
    --font-sans: "DM Sans", sans-serif;
    --font-display: "Fraunces", Georgia, serif;
    --container: 1240px;
    --container-narrow: 900px;
    --space-1: .5rem;
    --space-2: .75rem;
    --space-3: 1rem;
    --space-4: 1.5rem;
    --space-5: 2rem;
    --space-6: 3rem;
    --space-7: 4.5rem;
    --space-8: 6.5rem;
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 28px;
    --radius-xl: 40px;
    --shadow-sm: 0 8px 24px rgba(32, 40, 35, .07);
    --shadow-md: 0 20px 50px rgba(32, 40, 35, .11);
    --shadow-lg: 0 28px 80px rgba(32, 40, 35, .16);
    --ease: cubic-bezier(.22, 1, .36, 1);
    --header-height: 86px;
}

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

html {
    overflow-x: hidden;
    scroll-padding-top: calc(var(--header-height) + 20px);
    text-rendering: optimizeLegibility;
}

body {
    margin: 0;
    overflow-x: hidden;
    color: var(--charcoal);
    background: var(--cream);
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}

body.nav-open {
    overflow: hidden;
}

img,
svg,
iframe {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

p {
    margin: 0 0 1.25rem;
    color: var(--gray-700);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 1rem;
    color: var(--charcoal);
    font-family: var(--font-display);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.035em;
}

h1 {
    font-size: clamp(3rem, 6vw, 5.8rem);
}

h2 {
    font-size: clamp(2.15rem, 4vw, 3.65rem);
}

h3 {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
}

::selection {
    color: var(--charcoal);
    background: var(--yellow);
}

:focus-visible {
    outline: 3px solid rgba(242, 181, 68, .75);
    outline-offset: 4px;
}

.container {
    width: min(calc(100% - 2.5rem), var(--container));
    max-width: var(--container);
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 9999;
    top: 1rem;
    left: 1rem;
    padding: .75rem 1rem;
    border-radius: var(--radius-sm);
    color: var(--white);
    background: var(--charcoal);
    transform: translateY(-160%);
}

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

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    color: var(--green);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.eyebrow::before {
    width: 24px;
    height: 2px;
    content: "";
    background: var(--yellow);
}

.pill {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 1rem;
    padding: .45rem .75rem;
    border: 1px solid rgba(36, 87, 71, .16);
    border-radius: 999px;
    color: var(--green);
    background: var(--green-soft);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.btn {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .8rem 1.5rem;
    border: 1px solid transparent;
    border-radius: 999px !important;
    font-family: var(--font-sans);
    font-size: .94rem;
    font-weight: 700;
    line-height: 1;
    transition: transform 220ms var(--ease), background-color 220ms ease, border-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn:active {
    transform: translateY(0);
}

.btn-lg {
    min-height: 56px;
    padding-inline: 1.9rem;
}

.btn-sm {
    min-height: 42px;
    padding: .65rem 1.2rem;
}

.btn-accent {
    color: var(--charcoal);
    background: var(--yellow);
    box-shadow: 0 10px 22px rgba(217, 149, 34, .2);
}

.btn-accent:hover,
.btn-accent:focus-visible {
    color: var(--charcoal);
    background: #ffc95c;
    box-shadow: 0 14px 30px rgba(217, 149, 34, .28);
}

.btn-outline-secondary {
    color: var(--charcoal);
    border-color: rgba(32, 40, 35, .28);
    background: transparent;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
    color: var(--white);
    border-color: var(--charcoal);
    background: var(--charcoal);
}

.btn-outline-light {
    color: var(--white);
    border-color: rgba(255, 255, 255, .48);
    background: transparent;
}

.btn-outline-light:hover,
.btn-outline-light:focus-visible {
    color: var(--charcoal);
    border-color: var(--white);
    background: var(--white);
}

/* Header */
.site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
    transition: padding 260ms var(--ease);
}

.site-header::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    border-bottom: 1px solid transparent;
    background: rgba(248, 245, 236, .92);
    backdrop-filter: blur(18px);
    transition: border-color 260ms ease, box-shadow 260ms ease, background-color 260ms ease;
}

.site-header.is-scrolled::before,
.site-header.nav-open::before {
    border-color: rgba(32, 40, 35, .08);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 32px rgba(32, 40, 35, .08);
}

.navbar {
    display: flex;
    min-height: var(--header-height);
    padding: .75rem 0;
    transition: min-height 260ms var(--ease);
}

.navbar > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-header.is-condensed .navbar {
    min-height: 70px;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--charcoal);
}

.brand-mark {
    position: relative;
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    border-radius: 50% 50% 50% 12%;
    background: var(--yellow);
    transform: rotate(-8deg);
}

.brand-mark::before {
    width: 12px;
    height: 20px;
    content: "";
    border: solid var(--green-deep);
    border-width: 0 0 2px 2px;
    border-radius: 0 0 0 12px;
    transform: rotate(28deg);
}

.brand-logo {
    width: 74px;
    height: auto;
    flex: 0 0 auto;
    object-fit: contain;
    transform: translate3d(0, 0, 0);
    transition: transform 420ms var(--ease), filter 320ms ease;
}

.brand-copy {
    display: grid;
    gap: .1rem;
    line-height: 1;
}

.brand-copy strong {
    color: var(--charcoal);
    font-family: var(--font-display);
    font-size: 1.08rem;
    letter-spacing: -.02em;
}

.brand-copy small {
    color: var(--gray-700);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .04em;
}

.navbar-nav {
    display: flex;
    align-items: center;
    gap: .15rem;
}

.navbar .nav-link {
    position: relative;
    padding: .65rem .8rem !important;
    color: var(--charcoal-soft);
    font-size: .9rem;
    font-weight: 600;
}

.navbar .nav-link::after {
    position: absolute;
    right: .8rem;
    bottom: .35rem;
    left: .8rem;
    height: 2px;
    content: "";
    background: var(--yellow-dark);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 220ms var(--ease);
}

.navbar .nav-link:hover,
.navbar .nav-link.is-active {
    color: var(--green-deep);
}

.navbar .nav-link:hover::after,
.navbar .nav-link.is-active::after {
    transform: scaleX(1);
}

.nav-item-action {
    margin-left: .65rem;
}

.navbar-toggler {
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid var(--gray-300);
    border-radius: 50%;
    background: var(--white);
}

.navbar-toggler-icon {
    width: 20px;
    height: 14px;
    background-image: linear-gradient(var(--charcoal), var(--charcoal)), linear-gradient(var(--charcoal), var(--charcoal)), linear-gradient(var(--charcoal), var(--charcoal));
    background-repeat: no-repeat;
    background-position: top, center, bottom;
    background-size: 100% 2px;
}

/* Hero system */
.hero-section,
.page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.hero-section {
    min-height: 760px;
    padding: calc(var(--header-height) + clamp(3.5rem, 7vw, 6rem)) 0 clamp(4.5rem, 7vw, 6.5rem);
    background:
        radial-gradient(circle at 90% 18%, rgba(242, 181, 68, .16), transparent 24rem),
        linear-gradient(135deg, #fbf8f0 0%, #f6f1e4 60%, #edf2ed 100%);
}

.hero-section::before {
    position: absolute;
    z-index: -1;
    top: 16%;
    left: -7rem;
    width: 18rem;
    height: 18rem;
    content: "";
    border: 1px solid rgba(36, 87, 71, .1);
    border-radius: 50%;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(420px, .86fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}

.hero-grid > *,
.program-river-row > *,
.donate-layout > *,
.contact-stage > *,
.asymmetry-showcase > *,
.testimonial-editorial-grid > * {
    min-width: 0;
}

.hero-copy {
    max-width: 650px;
}

.hero-copy h1 {
    max-width: 11ch;
    margin-bottom: 1.35rem;
    font-size: clamp(3.4rem, 6vw, 6rem);
}

.hero-copy > p {
    max-width: 590px;
    margin-bottom: 2rem;
    color: var(--charcoal-soft);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.hero-trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(32, 40, 35, .14);
}

.hero-trust-row article {
    min-width: 0;
}

.hero-trust-row strong,
.hero-trust-row span {
    display: block;
}

.hero-trust-row strong {
    margin-bottom: .4rem;
    color: var(--charcoal);
    font-size: .9rem;
}

.hero-trust-row span {
    color: var(--gray-700);
    font-size: .78rem;
    line-height: 1.55;
}

.hero-stage {
    position: relative;
    padding: 0 0 2.25rem 2.25rem;
}

.hero-stage::before {
    position: absolute;
    z-index: -1;
    right: -2rem;
    bottom: 0;
    width: 78%;
    height: 72%;
    content: "";
    border-radius: var(--radius-xl) 0 var(--radius-xl) var(--radius-xl);
    background: var(--yellow);
}

.hero-photo-card,
.section-photo-card,
.card-media,
.journey-card-media-frame,
.editorial-program-media,
.program-river-media,
.focus-mosaic-media {
    position: relative;
    overflow: hidden;
    margin: 0;
    background: var(--cream-deep);
}

.hero-stage-photo {
    height: clamp(500px, 50vw, 590px);
    border-radius: var(--radius-xl) var(--radius-xl) 10px var(--radius-xl);
    box-shadow: var(--shadow-lg);
}

.hero-stage-photo img,
.section-photo-card img,
.card-media img,
.journey-card-media-frame img,
.editorial-program-media img,
.program-river-media img,
.focus-mosaic-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms var(--ease);
}

.hero-stage-photo::after,
.section-photo-card::after,
.card-media::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(180deg, transparent 55%, rgba(22, 62, 51, .16));
}

.hero-stage-photo figcaption {
    position: absolute;
    z-index: 2;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--radius-md);
    color: var(--white);
    background: rgba(22, 62, 51, .82);
    backdrop-filter: blur(12px);
}

.hero-stage-photo figcaption span,
.hero-stage-photo figcaption strong {
    display: block;
}

.hero-stage-photo figcaption span {
    margin-bottom: .35rem;
    color: #f7d98d;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-stage-photo figcaption strong {
    max-width: 28ch;
    font-family: var(--font-display);
    font-size: 1.2rem;
    line-height: 1.3;
}

.hero-detail-rail {
    display: grid;
    grid-template-columns: .75fr 1.5fr;
    gap: 2rem;
    align-items: center;
    margin-top: clamp(3.5rem, 7vw, 5.5rem);
    padding: 1.5rem 0 0;
    border-top: 1px solid rgba(32, 40, 35, .16);
}

.hero-detail-copy .eyebrow {
    margin-bottom: .55rem;
}

.hero-detail-copy p {
    max-width: 34ch;
    margin: 0;
    color: var(--charcoal-soft);
    font-size: .95rem;
}

.hero-stage-stat-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.hero-stage-stat-list div {
    min-width: 0;
    padding: .35rem 1.4rem;
    border-left: 1px solid rgba(32, 40, 35, .14);
}

.hero-stage-stat-list strong,
.hero-stage-stat-list > div > span {
    color: var(--green-deep);
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1;
}

.hero-stage-stat-list small {
    display: block;
    margin-top: .55rem;
    color: var(--gray-700);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.page-hero {
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    padding: calc(var(--header-height) + 5.5rem) 0 5.5rem;
    color: var(--white);
    background:
        radial-gradient(circle at 85% 20%, rgba(242, 181, 68, .2), transparent 22rem),
        linear-gradient(135deg, var(--green-deep), #255849);
}

.page-hero.has-photo {
    background:
        linear-gradient(90deg, rgba(18, 49, 40, .94) 0%, rgba(18, 49, 40, .78) 48%, rgba(18, 49, 40, .34) 100%),
        var(--hero-image) center / cover no-repeat;
}

.page-hero::after {
    position: absolute;
    z-index: -1;
    right: -7rem;
    bottom: -12rem;
    width: 30rem;
    height: 30rem;
    content: "";
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.page-hero .container {
    position: relative;
    z-index: 1;
}

.page-hero .eyebrow {
    color: #f9d785;
}

.page-hero h1 {
    max-width: 920px;
    color: var(--white);
    font-size: clamp(3rem, 5.8vw, 5.4rem);
}

.page-hero p {
    max-width: 700px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
}

.page-hero .text-center h1,
.page-hero .text-center p,
.page-hero .container.text-center h1,
.page-hero .container.text-center p {
    margin-right: auto;
    margin-left: auto;
}

/* Section rhythm */
.section-space {
    position: relative;
    padding: clamp(5rem, 8vw, 8rem) 0;
}

.section-space + .section-space {
    border-top: 1px solid rgba(32, 40, 35, .06);
}

.bg-soft {
    background: var(--white);
}

.bg-dark-panel,
.section-band-metrics,
.section-band-soft-green {
    color: var(--white);
    background: var(--green-deep);
}

.section-band-soft-green {
    background: var(--green);
}

.section-heading {
    max-width: 780px;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.section-heading-slim {
    max-width: 860px;
}

.section-heading h2 {
    text-wrap: balance;
}

.section-heading p {
    max-width: 680px;
    font-size: 1.05rem;
}

.section-heading.light h2,
.section-heading.light p,
.bg-dark-panel h2,
.bg-dark-panel h3,
.section-band h2,
.section-band h3 {
    color: var(--white);
}

.section-heading.light .eyebrow,
.bg-dark-panel .eyebrow,
.section-band .eyebrow {
    color: #f9d785;
}

.section-heading.light p,
.bg-dark-panel p,
.section-band p {
    color: rgba(255, 255, 255, .72);
}

.section-divider-angle {
    overflow: hidden;
}

/* Images */
.section-photo-card {
    min-height: 480px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.section-photo-card-wide {
    min-height: 430px;
    aspect-ratio: 16 / 7;
}

.section-photo-card-compact {
    min-height: 320px;
    aspect-ratio: 4 / 3;
}

.section-photo-card-tall,
.mission-photo-card,
.impact-photo-card {
    min-height: 620px;
    aspect-ratio: 4 / 5;
}

.section-photo-card:hover img,
.card-media:hover img,
.editorial-program-card:hover img,
.program-river-row:hover img {
    transform: scale(1.035);
}

/* Base card language */
.feature-card,
.story-card,
.news-card,
.quote-card,
.content-card,
.sidebar-card,
.stack-card,
.journey-card,
.timeline-card,
.metric-block,
.donation-form,
.receipt-card,
.glass-card {
    position: relative;
    min-width: 0;
    border: 1px solid rgba(32, 40, 35, .1);
    border-radius: var(--radius-md);
    background: var(--white);
}

.feature-card,
.story-card,
.news-card,
.content-card,
.sidebar-card,
.stack-card,
.journey-card,
.timeline-card {
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.feature-card,
.story-card,
.news-card,
.stack-card,
.journey-card,
.timeline-card {
    transition: transform 300ms var(--ease), box-shadow 300ms var(--ease), border-color 300ms ease;
}

.feature-card:hover,
.story-card:hover,
.news-card:hover,
.stack-card:hover,
.journey-card:hover,
.timeline-card:hover {
    border-color: rgba(36, 87, 71, .24);
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.feature-card h3,
.story-card h3,
.news-card h3,
.stack-card h3,
.content-card h2,
.sidebar-card h3 {
    margin-bottom: .75rem;
}

.feature-card p:last-child,
.story-card p:last-child,
.news-card p:last-child,
.stack-card p:last-child,
.content-card p:last-child {
    margin-bottom: 0;
}

.feature-card small,
.story-card small,
.news-card small,
.stack-card small {
    display: block;
    margin-bottom: .75rem;
    color: var(--green);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.feature-card a,
.story-card a,
.news-card a,
.stack-card a,
.editorial-program-copy a,
.program-river-copy a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: .6rem;
    color: var(--green);
    font-size: .9rem;
    font-weight: 700;
}

.feature-card a::after,
.story-card a::after,
.news-card a::after,
.stack-card a::after,
.editorial-program-copy a::after,
.program-river-copy a::after {
    content: "\2192";
    transition: transform 200ms ease;
}

.feature-card a:hover::after,
.story-card a:hover::after,
.news-card a:hover::after,
.stack-card a:hover::after,
.editorial-program-copy a:hover::after,
.program-river-copy a:hover::after {
    transform: translateX(4px);
}

.feature-card-media {
    overflow: hidden;
    padding: 0 0 1.75rem;
}

.feature-card-media > :not(.card-media) {
    margin-right: 1.75rem;
    margin-left: 1.75rem;
}

.card-media {
    height: 230px;
    margin-bottom: 1.5rem;
}

.glass-card {
    padding: 2rem;
    color: var(--white);
    border-color: rgba(255, 255, 255, .16);
    background: var(--green-deep);
    box-shadow: var(--shadow-md);
}

.glass-card h2,
.glass-card h3,
.glass-card p {
    color: var(--white);
}

.glass-card p {
    color: rgba(255, 255, 255, .72);
}

.muted-card {
    background: var(--gray-100);
}

/* Homepage editorial sections */
.editorial-manifesto {
    padding: clamp(2.25rem, 5vw, 4.5rem);
    border-radius: var(--radius-lg);
    color: var(--white);
    background: var(--green-deep);
}

.editorial-manifesto h3 {
    color: #f9d785;
}

.editorial-manifesto p {
    color: rgba(255, 255, 255, .76);
    font-size: 1.05rem;
}

.editorial-program-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.25rem, 2.5vw, 2rem);
}

.editorial-program-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(32, 40, 35, .1);
    border-radius: var(--radius-lg);
    background: var(--white);
    transition: transform 300ms var(--ease), box-shadow 300ms var(--ease);
}

.editorial-program-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.editorial-program-card.is-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    grid-column: 1 / -1;
    height: clamp(420px, 42vw, 540px);
    min-height: 0;
}

.editorial-program-media {
    height: 240px;
}

.editorial-program-card.is-featured .editorial-program-media {
    height: 100%;
    min-height: 0;
}

.editorial-program-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.75rem;
}

.editorial-program-card.is-featured .editorial-program-copy {
    justify-content: center;
    padding: clamp(2.25rem, 5vw, 4rem);
    background:
        radial-gradient(circle at 100% 0, rgba(242, 181, 68, .18), transparent 15rem),
        var(--green-deep);
}

.editorial-program-card.is-featured .eyebrow,
.editorial-program-card.is-featured h3,
.editorial-program-card.is-featured a {
    color: var(--white);
}

.editorial-program-card.is-featured .eyebrow {
    color: #f9d785;
}

.editorial-program-card.is-featured p {
    color: rgba(255, 255, 255, .72);
}

.editorial-program-card.is-featured .editorial-program-copy a {
    margin-top: .5rem;
}

.editorial-program-copy h3 {
    font-size: 1.65rem;
}

.editorial-program-card.is-featured h3 {
    max-width: 10ch;
    font-size: clamp(2.4rem, 4vw, 4rem);
}

.editorial-program-copy p {
    margin-bottom: 1.5rem;
}

.editorial-program-copy a {
    margin-top: auto;
}

.process-ribbon {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid rgba(255, 255, 255, .22);
}

.process-step {
    position: relative;
    padding: 2.2rem 1.5rem 0 0;
}

.process-step::before {
    position: absolute;
    top: -7px;
    left: 0;
    width: 13px;
    height: 13px;
    content: "";
    border: 3px solid var(--green-deep);
    border-radius: 50%;
    background: var(--yellow);
}

.process-step small,
.process-step span {
    display: block;
}

.process-step small {
    margin-bottom: 1.25rem;
    color: #f9d785;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.process-step span {
    margin-bottom: .65rem;
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.5rem;
}

.process-step p {
    max-width: 25ch;
    margin: 0;
    font-size: .9rem;
}

.editorial-story-stack {
    border-top: 1px solid var(--gray-300);
}

.story-line-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    column-gap: 1.5rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--gray-300);
}

.story-line-item small {
    grid-row: span 2;
    padding-top: .35rem;
    color: var(--green);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.story-line-item h3 {
    margin-bottom: .6rem;
}

.story-line-item p {
    margin: 0;
}

.testimonial-editorial-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 1.5rem;
}

.quote-card {
    padding: clamp(2rem, 4vw, 3.5rem);
    border-color: rgba(255, 255, 255, .14);
    color: var(--white);
    background: rgba(255, 255, 255, .07);
}

.quote-card p,
.quote-card strong,
.quote-card small {
    display: block;
    color: var(--white);
}

.quote-card p {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.5vw, 2.3rem);
    line-height: 1.35;
}

.quote-card small {
    color: rgba(255, 255, 255, .58);
}

.quote-card.is-muted {
    opacity: .62;
}

.quote-card.is-spotlight {
    border-color: rgba(242, 181, 68, .42);
    background: rgba(242, 181, 68, .1);
}

.asymmetry-showcase {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 1.5rem;
}

.asymmetry-column {
    display: grid;
    gap: 1rem;
}

.editorial-note-card {
    display: grid;
    grid-template-columns: 110px 1fr;
    column-gap: 1.5rem;
}

.editorial-note-card small {
    grid-row: span 3;
}

.support-manifesto {
    height: 100%;
    padding: clamp(2rem, 4vw, 3.5rem);
    border-radius: var(--radius-lg);
    color: var(--white);
    background: var(--yellow-dark);
}

.support-manifesto small {
    display: block;
    margin-bottom: 1rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.support-manifesto h3 {
    color: var(--charcoal);
    font-size: clamp(2rem, 3.5vw, 3.1rem);
}

.support-manifesto-links {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.support-manifesto-links a {
    padding-top: 1rem;
    border-top: 1px solid rgba(32, 40, 35, .22);
    font-weight: 700;
}

.donation-plan-strip,
.value-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--gray-300);
    border-bottom: 1px solid var(--gray-300);
}

.donation-plan-column,
.value-column {
    padding: 2rem 1.5rem;
    border-right: 1px solid var(--gray-300);
}

.donation-plan-column:last-child,
.value-column:last-child {
    border-right: 0;
}

.donation-amount {
    display: block;
    margin-bottom: 1rem;
    color: var(--green);
    font-family: var(--font-display);
    font-size: 2rem;
}

.value-columns {
    border-color: rgba(255, 255, 255, .2);
}

.value-column {
    border-color: rgba(255, 255, 255, .2);
}

.value-column small {
    color: #f9d785;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.value-column h3 {
    margin-top: 1rem;
}

.cta-banner {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 300px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    overflow: hidden;
    margin-top: 4rem;
    padding: clamp(2.5rem, 5vw, 4.5rem);
    border-radius: var(--radius-lg);
    color: var(--white);
    background: var(--green-deep);
}

.cta-banner-photo {
    background:
        linear-gradient(90deg, rgba(18, 49, 40, .96), rgba(18, 49, 40, .64)),
        var(--cta-banner-image) center / cover no-repeat;
}

.cta-banner h3 {
    max-width: 650px;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.cta-banner p {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, .75);
}

/* About and program layouts */
.about-intro-grid,
.program-architecture-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items: stretch;
}

.about-intro-grid > *,
.program-architecture-grid > * {
    min-width: 0;
}

.about-intro-photo,
.program-architecture-photo {
    height: 100%;
    min-height: 0;
}

.about-intro-content {
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 5vw, 4.5rem);
}

.about-intro-copy {
    padding: 0 clamp(.5rem, 2vw, 2rem);
}

.about-intro-copy h2 {
    max-width: 13ch;
}

.program-architecture-content {
    display: flex;
    flex-direction: column;
}

.program-architecture-content .section-heading {
    margin-bottom: clamp(2rem, 3vw, 3rem);
}

.program-architecture-content .focus-mosaic {
    flex: 1;
}

.timeline-grid,
.journey-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.timeline-card strong,
.journey-card span {
    display: block;
    margin-bottom: 2rem;
    color: var(--yellow-dark);
    font-family: var(--font-display);
    font-size: 2rem;
}

.people-list {
    border-top: 1px solid var(--gray-300);
}

.people-row {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 2rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid var(--gray-300);
}

.people-row small {
    color: var(--gray-700);
}

.advisory-grid-minimal {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.advisory-card-minimal {
    padding: 1.5rem 0;
    border-top: 3px solid var(--yellow);
}

.program-river {
    display: grid;
    gap: clamp(4rem, 8vw, 7rem);
}

.program-river-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

.program-river-row.is-image-right .program-river-media {
    order: 2;
}

.program-river-media {
    min-height: 480px;
    aspect-ratio: 5 / 4;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.program-river-copy {
    max-width: 500px;
}

.program-river-copy h3 {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.focus-mosaic {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.focus-mosaic-item {
    overflow: hidden;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-md);
    background: var(--white);
}

.focus-mosaic-media {
    height: 150px;
}

.focus-mosaic-item > span,
.focus-mosaic-item > p {
    display: block;
    margin-right: 1.25rem;
    margin-left: 1.25rem;
}

.focus-mosaic-item > span {
    margin-top: 1.15rem;
    margin-bottom: .4rem;
    color: var(--charcoal);
    font-weight: 700;
}

.focus-mosaic-item > p {
    margin-bottom: 1.25rem;
    font-size: .86rem;
}

.metric-block {
    height: 100%;
    padding: 2rem;
    background: var(--white);
}

.metric-block strong {
    color: var(--green);
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 1;
}

.metric-block span {
    display: block;
    margin-top: .75rem;
    color: var(--gray-700);
    font-weight: 600;
}

.panel-stack,
.stack-list {
    display: grid;
    gap: 1rem;
}

/* Donate and contact */
.donate-layout,
.contact-stage {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
}

.contact-stage > * {
    display: flex;
    width: 100%;
    max-width: none;
}

.contact-stage {
    align-items: stretch;
}

.contact-form-surface {
    width: 100%;
    height: 100%;
}

.donate-sidebar {
    display: grid;
    gap: 2rem;
}

.donate-visual-card {
    min-height: 520px;
}

.donate-visual-overlay {
    position: absolute;
    z-index: 2;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    padding: 1.25rem;
    border-radius: var(--radius-md);
    color: var(--white);
    background: rgba(22, 62, 51, .86);
    backdrop-filter: blur(12px);
}

.donate-visual-overlay small,
.donate-visual-overlay strong {
    display: block;
}

.donate-visual-overlay small {
    margin-bottom: .35rem;
    color: #f9d785;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.donate-sidebar-stack {
    display: grid;
    gap: 1rem;
}

.donate-manifesto {
    padding: 2.25rem;
}

.donation-assurance-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.donation-assurance-strip article,
.donate-form-meta article {
    padding: 1.5rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-md);
    background: var(--white);
}

.donation-assurance-strip small {
    color: var(--green);
    font-weight: 700;
    text-transform: uppercase;
}

.donation-assurance-strip p {
    margin: .5rem 0 0;
    font-size: .86rem;
}

.donation-form {
    padding: clamp(2rem, 4vw, 3.5rem);
    box-shadow: var(--shadow-md);
}

.donation-form-premium {
    border-top: 6px solid var(--yellow);
}

.amount-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.amount-chip {
    min-height: 52px;
    padding: .75rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-sm);
    color: var(--charcoal);
    background: var(--gray-100);
    font-weight: 700;
    cursor: pointer;
    transition: border-color 200ms ease, background-color 200ms ease, transform 200ms var(--ease);
}

.amount-chip:hover,
.amount-chip.is-active {
    border-color: var(--yellow-dark);
    background: #fff6dd;
    transform: translateY(-2px);
}

.donate-form-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
}

.donate-form-meta strong,
.donate-form-meta span {
    display: block;
}

.donate-form-meta strong {
    margin-bottom: .35rem;
}

.donate-form-meta span {
    color: var(--gray-700);
    font-size: .83rem;
}

.check-list {
    display: grid;
    gap: .65rem;
    margin: 1.5rem 0 0;
    padding-left: 1.2rem;
    color: rgba(255, 255, 255, .78);
}

.check-list li::marker {
    color: var(--yellow);
}

.contact-story-panel {
    display: flex;
    width: 100%;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-lg);
    background: var(--white);
}

.contact-story-panel .section-photo-card-compact {
    min-height: 250px;
    aspect-ratio: 16 / 10;
}

.contact-detail-list p {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--gray-200);
    margin: 0;
}

.contact-detail-list small {
    color: var(--green);
    font-weight: 700;
}

.social-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.5rem;
}

.social-inline a,
.tag-cloud a {
    display: inline-flex;
    padding: .5rem .75rem;
    border: 1px solid var(--gray-300);
    border-radius: 999px;
    color: var(--charcoal-soft);
    background: var(--white);
    font-size: .78rem;
    font-weight: 700;
    transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
}

.social-inline a:hover,
.tag-cloud a:hover {
    color: var(--white);
    border-color: var(--green);
    background: var(--green);
}

.contact-map-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding: 1rem 1.1rem;
    border-radius: var(--radius-sm);
    color: var(--white);
    background: var(--green-deep);
}

.contact-map-link span {
    color: rgba(255, 255, 255, .68);
    font-size: .78rem;
}

.contact-map-link strong {
    font-size: .86rem;
}

.contact-map-link strong span {
    color: var(--yellow);
    font-size: 1rem;
}

.form-control,
.form-select {
    width: 100%;
    min-height: 54px;
    padding: .9rem 1rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-sm);
    color: var(--charcoal);
    background-color: var(--gray-100);
    box-shadow: none;
    font-family: var(--font-sans);
    transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}

textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--yellow-dark);
    background: var(--white);
    box-shadow: 0 0 0 4px rgba(242, 181, 68, .16);
}

.form-control::placeholder {
    color: var(--gray-500);
}

.form-assurance {
    padding: 1rem;
    border-radius: var(--radius-sm);
    color: var(--gray-700);
    background: var(--gray-100);
    font-size: .8rem;
}

.donation-feedback {
    padding: .9rem 1rem;
    border-radius: var(--radius-sm);
    font-size: .88rem;
}

.donation-feedback.is-info {
    color: var(--green-deep);
    background: var(--green-soft);
}

.donation-feedback.is-danger {
    color: var(--danger);
    background: #fce9e7;
}

.security-honeypot {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    clip: rect(0, 0, 0, 0) !important;
}

/* Blog, breadcrumbs, receipts */
.breadcrumb-shell {
    padding-top: calc(var(--header-height) + 1rem);
    background: var(--green-deep);
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0;
    padding: .75rem 0;
    list-style: none;
    color: rgba(255, 255, 255, .62);
    font-size: .78rem;
}

.breadcrumb-list li:not(:last-child)::after {
    margin-left: .6rem;
    content: "/";
    opacity: .5;
}

.breadcrumb-list a:hover {
    color: var(--white);
}

.sidebar-card {
    background: var(--white);
}

.sidebar-links {
    display: grid;
}

.sidebar-links a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 0;
    border-bottom: 1px solid var(--gray-200);
    color: var(--charcoal-soft);
    font-size: .9rem;
}

.sidebar-links a:hover {
    color: var(--green);
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.mini-story + .mini-story {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--gray-200);
}

.mini-story h4 {
    font-size: 1.05rem;
}

.mini-story p {
    margin: 0;
    font-size: .84rem;
}

.article-body {
    color: var(--charcoal-soft);
    font-size: 1.06rem;
    line-height: 1.9;
}

.receipt-page {
    padding-top: calc(var(--header-height) + 4rem);
}

.receipt-shell {
    max-width: 900px;
    margin: 0 auto;
}

.receipt-card {
    padding: clamp(2rem, 5vw, 4rem);
    box-shadow: var(--shadow-md);
}

.receipt-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gray-300);
}

.receipt-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 2rem 0;
    border-top: 1px solid var(--gray-200);
    border-left: 1px solid var(--gray-200);
}

.receipt-grid > div {
    min-width: 0;
    padding: 1rem;
    border-right: 1px solid var(--gray-200);
    border-bottom: 1px solid var(--gray-200);
}

.receipt-grid span,
.receipt-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

.receipt-grid span {
    margin-bottom: .35rem;
    color: var(--gray-700);
    font-size: .75rem;
    text-transform: uppercase;
}

.receipt-status {
    display: inline-flex;
    padding: .5rem .75rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.receipt-status.is-success {
    color: var(--success);
    background: #e1f2e9;
}

.receipt-status.is-pending {
    color: #8a6414;
    background: #fff2ce;
}

.receipt-status.is-failed {
    color: var(--danger);
    background: #fce9e7;
}

.receipt-note,
.receipt-copy {
    padding: 1.25rem;
    border-radius: var(--radius-sm);
    background: var(--gray-100);
}

.receipt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
}

/* Footer */
.site-footer {
    padding: clamp(4.5rem, 8vw, 7rem) 0 1.5rem;
    color: rgba(255, 255, 255, .72);
    background: #142f27;
}

.footer-cta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.footer-cta .eyebrow {
    color: #f9d785;
}

.footer-cta h2 {
    max-width: 760px;
    margin: 0;
    color: var(--white);
    font-size: clamp(2.2rem, 4.5vw, 4rem);
}

.footer-cta-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .75rem;
}

.footer-grid {
    padding: clamp(3rem, 5vw, 4.5rem) 0;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.3rem;
}

.footer-brand .brand-logo {
    padding: .25rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
}

.site-footer h4,
.site-footer h6 {
    color: var(--white);
}

.site-footer h6 {
    margin-bottom: 1.25rem;
    font-family: var(--font-sans);
    font-size: .74rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-footer p {
    max-width: 480px;
    color: rgba(255, 255, 255, .62);
}

.site-footer .col-sm-6 > a,
.site-footer .col-lg-3 > a:not(.btn) {
    display: block;
    width: fit-content;
    margin-bottom: .55rem;
    color: rgba(255, 255, 255, .7);
    font-size: .9rem;
}

.site-footer a:hover {
    color: var(--white);
}

.footer-contact {
    display: grid;
    gap: .35rem;
    color: rgba(255, 255, 255, .54);
    font-size: .84rem;
}

.footer-text-link {
    color: #f9d785 !important;
    font-weight: 700;
}

.footer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .48);
    font-size: .78rem;
}

.footer-bar > div {
    display: flex;
    gap: 1.25rem;
}

/* Motion */
.js-motion .reveal-on-scroll {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    transition: opacity 560ms var(--ease), transform 560ms var(--ease);
    transition-delay: calc(var(--stagger-index, 0) * 65ms);
    will-change: opacity, transform;
}

.js-motion .reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.js-motion .hero-copy > *,
.js-motion .hero-stage {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition: opacity 700ms var(--ease), transform 700ms var(--ease);
}

.js-motion body.is-ready .hero-copy > *,
.js-motion body.is-ready .hero-stage {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.js-motion .hero-copy > :nth-child(1) { transition-delay: 60ms; }
.js-motion .hero-copy > :nth-child(2) { transition-delay: 120ms; }
.js-motion .hero-copy > :nth-child(3) { transition-delay: 180ms; }
.js-motion .hero-copy > :nth-child(4) { transition-delay: 240ms; }
.js-motion .hero-copy > :nth-child(5) { transition-delay: 300ms; }
.js-motion .hero-stage { transition-delay: 180ms; }

/* Bootstrap-compatible fallbacks */
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.row > * {
    width: 100%;
    max-width: 100%;
    flex-shrink: 0;
    margin-top: var(--bs-gutter-y);
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.g-2 { --bs-gutter-x: .5rem; --bs-gutter-y: .5rem; }
.g-3 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
.g-4 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
.g-5 { --bs-gutter-x: 3rem; --bs-gutter-y: 3rem; }
.col-12 { flex: 0 0 auto; width: 100%; }
.d-flex { display: flex !important; }
.d-grid { display: grid !important; }
.d-none { display: none !important; }
.d-block { display: block !important; }
.flex-wrap { flex-wrap: wrap !important; }
.align-items-center { align-items: center !important; }
.align-items-start { align-items: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.position-relative { position: relative !important; }
.position-fixed { position: fixed !important; }
.top-0 { top: 0 !important; }
.start-50 { left: 50% !important; }
.translate-middle-x { transform: translateX(-50%) !important; }
.z-3 { z-index: 3 !important; }
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.text-center { text-align: center !important; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.overflow-hidden { overflow: hidden !important; }
.rounded-4 { border-radius: var(--radius-md) !important; }
.rounded-pill { border-radius: 999px !important; }
.ratio { position: relative; width: 100%; }
.ratio::before { display: block; padding-top: var(--bs-aspect-ratio); content: ""; }
.ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ratio-4x3 { --bs-aspect-ratio: 75%; }
.visually-hidden {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

@media (min-width: 576px) {
    .col-sm-6 { flex: 0 0 auto; width: 50%; }
}

@media (min-width: 768px) {
    .col-md-auto { flex: 0 0 auto; width: auto; }
    .col-md-4 { flex: 0 0 auto; width: 33.333333%; }
    .col-md-6 { flex: 0 0 auto; width: 50%; }
}

@media (min-width: 992px) {
    .col-lg-2 { flex: 0 0 auto; width: 16.666667%; }
    .col-lg-3 { flex: 0 0 auto; width: 25%; }
    .col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
    .col-lg-5 { flex: 0 0 auto; width: 41.666667%; }
    .col-lg-6 { flex: 0 0 auto; width: 50%; }
    .col-lg-7 { flex: 0 0 auto; width: 58.333333%; }
    .col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
    .navbar-expand-lg .navbar-toggler { display: none; }
    .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
    .navbar-expand-lg .navbar-nav { flex-direction: row; }
}

@media (min-width: 1200px) {
    .col-xl-3 { flex: 0 0 auto; width: 25%; }
    .col-xl-4 { flex: 0 0 auto; width: 33.333333%; }
}

@media (max-width: 1199px) {
    .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .8fr);
        gap: 3rem;
    }

    .hero-trust-row {
        gap: .9rem;
    }

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

    .editorial-program-card.is-featured {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
        height: 470px;
    }
}

@media (max-width: 991.98px) {
    :root {
        --header-height: 76px;
    }

    .navbar-collapse {
        position: fixed;
        top: var(--header-height);
        right: 1rem;
        left: 1rem;
        max-height: calc(100vh - var(--header-height) - 1rem);
        overflow-y: auto;
        padding: 1rem;
        border: 1px solid var(--gray-300);
        border-radius: var(--radius-md);
        background: var(--white);
        box-shadow: var(--shadow-lg);
    }

    .navbar-toggler {
        display: inline-grid !important;
        flex: 0 0 auto;
        margin-left: auto;
        place-items: center;
    }

    .collapse:not(.show) {
        display: none;
    }

    .navbar-nav {
        align-items: stretch !important;
    }

    .navbar .nav-link {
        padding: .85rem 1rem !important;
        border-radius: var(--radius-sm);
        font-size: 1rem;
    }

    .navbar .nav-link:hover,
    .navbar .nav-link.is-active {
        background: var(--gray-100);
    }

    .navbar .nav-link::after {
        display: none;
    }

    .nav-item-action {
        margin: .75rem 0 0;
    }

    .nav-item-action .btn {
        width: 100%;
    }

    .hero-grid,
    .program-river-row,
    .about-intro-grid,
    .program-architecture-grid,
    .donate-layout,
    .contact-stage {
        grid-template-columns: 1fr;
    }

    .hero-section {
        min-height: 0;
        padding-top: calc(var(--header-height) + 3.5rem);
    }

    .hero-copy {
        max-width: 760px;
    }

    .hero-copy h1 {
        max-width: 12ch;
    }

    .hero-stage {
        max-width: 720px;
        padding-left: 1.5rem;
    }

    .hero-stage-photo {
        height: 620px;
    }

    .hero-detail-rail {
        grid-template-columns: 1fr;
    }

    .hero-stage-stat-list div:first-child {
        border-left: 0;
    }

    .page-hero {
        min-height: 480px;
    }

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

    .editorial-program-card.is-featured {
        grid-column: span 2;
    }

    .editorial-program-card.is-featured .editorial-program-media {
        min-height: 430px;
    }

    .process-ribbon,
    .timeline-grid,
    .journey-grid,
    .donation-plan-strip,
    .value-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-step:nth-child(-n+2) {
        margin-bottom: 1.75rem;
    }

    .donation-plan-column:nth-child(2),
    .value-column:nth-child(2) {
        border-right: 0;
    }

    .donation-plan-column:nth-child(-n+2),
    .value-column:nth-child(-n+2) {
        border-bottom: 1px solid var(--gray-300);
    }

    .value-column:nth-child(-n+2) {
        border-bottom-color: rgba(255, 255, 255, .2);
    }

    .program-river-row.is-image-right .program-river-media {
        order: 0;
    }

    .program-river-media {
        min-height: 420px;
    }

    .about-intro-photo,
    .program-architecture-photo {
        min-height: 620px;
    }

    .about-intro-copy {
        padding: 0;
    }

    .donate-layout,
    .contact-stage {
        gap: 3rem;
    }

    .donate-sidebar {
        grid-template-columns: .85fr 1.15fr;
    }

    .donate-visual-card {
        min-height: 100%;
    }

    .footer-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .container {
        width: min(calc(100% - 2rem), var(--container));
    }

    body {
        font-size: .96rem;
    }

    h1 {
        font-size: clamp(2.65rem, 13vw, 4rem);
    }

    h2 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .brand-copy small {
        display: none;
    }

    .hero-section {
        padding-bottom: 4rem;
    }

    .hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2.85rem, 12.5vw, 4.1rem);
        overflow-wrap: normal;
    }

    .hero-actions {
        margin-bottom: 2.5rem;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-trust-row {
        grid-template-columns: 1fr;
    }

    .hero-trust-row article {
        display: grid;
        grid-template-columns: 140px 1fr;
        gap: .75rem;
        padding-bottom: .85rem;
        border-bottom: 1px solid rgba(32, 40, 35, .1);
    }

    .hero-stage {
        padding: 0 0 1.25rem 1rem;
    }

    .hero-stage-photo {
        height: clamp(420px, 125vw, 570px);
        border-radius: var(--radius-lg) var(--radius-lg) 8px var(--radius-lg);
    }

    .hero-stage-photo figcaption {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
    }

    .hero-detail-rail {
        margin-top: 3rem;
    }

    .hero-stage-stat-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1.25rem;
    }

    .hero-stage-stat-list div {
        padding: .25rem 1rem;
    }

    .hero-stage-stat-list div:nth-child(odd) {
        border-left: 0;
    }

    .page-hero {
        min-height: 440px;
        padding: calc(var(--header-height) + 4rem) 0 4rem;
    }

    .page-hero.has-photo {
        background:
            linear-gradient(90deg, rgba(18, 49, 40, .92), rgba(18, 49, 40, .68)),
            var(--hero-image) 60% center / cover no-repeat;
    }

    .section-space {
        padding: 4.5rem 0;
    }

    .section-photo-card,
    .section-photo-card-tall,
    .mission-photo-card,
    .impact-photo-card {
        min-height: 430px;
    }

    .section-photo-card-wide {
        min-height: 300px;
        aspect-ratio: 4 / 3;
    }

    .about-intro-photo,
    .program-architecture-photo {
        min-height: 460px;
        aspect-ratio: 4 / 3;
    }

    .editorial-program-grid,
    .testimonial-editorial-grid,
    .asymmetry-showcase,
    .advisory-grid-minimal,
    .donate-sidebar {
        grid-template-columns: 1fr;
    }

    .editorial-program-card.is-featured {
        grid-column: auto;
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .editorial-program-card.is-featured .editorial-program-media,
    .editorial-program-media {
        height: 280px;
        min-height: 0;
    }

    .editorial-program-card.is-featured .editorial-program-copy {
        min-height: 330px;
        justify-content: flex-start;
    }

    .process-ribbon {
        grid-template-columns: 1fr;
        margin-top: 2.5rem;
        border-top: 0;
    }

    .process-step {
        margin: 0 !important;
        padding: 1.5rem 0 1.5rem 2rem;
        border-left: 1px solid rgba(255, 255, 255, .22);
    }

    .process-step::before {
        top: 2rem;
        left: -7px;
    }

    .process-step small {
        margin-bottom: .4rem;
    }

    .story-line-item,
    .editorial-note-card {
        grid-template-columns: 1fr;
    }

    .story-line-item small,
    .editorial-note-card small {
        grid-row: auto;
        margin-bottom: .6rem;
    }

    .donation-plan-strip,
    .value-columns,
    .timeline-grid,
    .journey-grid {
        grid-template-columns: 1fr;
    }

    .donation-plan-column,
    .value-column {
        border-right: 0;
        border-bottom: 1px solid var(--gray-300);
    }

    .value-column {
        border-bottom-color: rgba(255, 255, 255, .2);
    }

    .cta-banner {
        align-items: flex-start;
        flex-direction: column;
    }

    .program-river-media {
        min-height: 330px;
    }

    .focus-mosaic {
        grid-template-columns: 1fr;
    }

    .people-row {
        grid-template-columns: 1fr;
        gap: .5rem;
    }

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

    .donation-assurance-strip,
    .donate-form-meta {
        grid-template-columns: 1fr;
    }

    .contact-story-panel {
        padding: 1rem;
    }

    .receipt-header {
        flex-direction: column;
    }

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

    .footer-cta-actions {
        width: 100%;
    }

    .footer-cta-actions .btn {
        width: 100%;
    }

    .footer-bar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 479.98px) {
    .container {
        width: min(calc(100% - 1.5rem), var(--container));
    }

    .navbar-brand {
        gap: .55rem;
    }

    .brand-mark {
        width: 34px;
        height: 34px;
    }

    .brand-copy strong {
        font-size: .95rem;
    }

    .hero-copy h1 {
        font-size: clamp(2.65rem, 11.8vw, 3.25rem);
        letter-spacing: -.045em;
    }

    .hero-trust-row article {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .hero-stage-stat-list strong,
    .hero-stage-stat-list > div > span {
        font-size: 1.75rem;
    }

    .section-photo-card,
    .section-photo-card-tall,
    .mission-photo-card,
    .impact-photo-card {
        min-height: 360px;
    }

    .donation-form,
    .receipt-card,
    .editorial-manifesto {
        padding: 1.35rem;
    }
}

/* 2026 redesign system override */
:root {
    --cream: #f7f1e3;
    --cream-deep: #efe4c8;
    --white: #fffdf8;
    --surface: #fffaf0;
    --charcoal: #1f2924;
    --charcoal-soft: #47534c;
    --gray-900: #2f3833;
    --gray-700: #66736c;
    --gray-500: #8b958f;
    --gray-300: #d9ddd3;
    --gray-200: #ebece4;
    --gray-100: #f6f5ef;
    --yellow: #f3b63e;
    --yellow-dark: #dd9f27;
    --green: #255646;
    --green-deep: #173a31;
    --green-soft: #dde8df;
    --danger: #9d3e35;
    --success: #287052;
    --container: 1280px;
    --container-wide: 1380px;
    --container-narrow: 960px;
    --section-space-y: clamp(5.5rem, 8vw, 8rem);
    --section-space-tight: clamp(4.25rem, 6vw, 5.5rem);
    --radius-sm: 14px;
    --radius-md: 24px;
    --radius-lg: 34px;
    --radius-xl: 44px;
    --radius-2xl: 54px;
    --shadow-sm: 0 16px 40px rgba(24, 35, 30, .07);
    --shadow-md: 0 24px 60px rgba(24, 35, 30, .12);
    --shadow-lg: 0 34px 90px rgba(24, 35, 30, .16);
    --header-height: 88px;
}

html {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .12), transparent 26rem),
        linear-gradient(180deg, #fbf7ef 0%, #f7f1e3 100%);
}

body {
    background: transparent;
    color: var(--charcoal);
}

main {
    overflow: clip;
}

.container {
    width: min(calc(100% - 3rem), var(--container));
}

.site-header::before {
    background: rgba(251, 247, 239, .88);
    backdrop-filter: blur(18px) saturate(140%);
}

.site-header.is-scrolled::before,
.site-header.nav-open::before {
    background: rgba(255, 251, 243, .95);
    border-color: rgba(31, 41, 36, .08);
    box-shadow: 0 20px 44px rgba(24, 35, 30, .08);
}

.navbar {
    padding: .9rem 0;
}

.navbar > .container {
    gap: 1.5rem;
}

.navbar-collapse {
    justify-content: flex-end;
}

.navbar-nav {
    gap: .4rem;
}

.navbar .nav-link {
    padding: .78rem .95rem !important;
    border-radius: 999px;
    transition: color 220ms ease, background-color 220ms ease, transform 220ms var(--ease);
}

.navbar .nav-link:hover {
    background: rgba(36, 87, 71, .06);
    transform: translateY(-1px);
}

.navbar .nav-link::after {
    right: .95rem;
    left: .95rem;
    bottom: .45rem;
}

.nav-item-action {
    margin-left: .85rem;
}

.btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 52px;
    padding-inline: 1.6rem;
    font-size: .95rem;
    letter-spacing: -.01em;
}

.btn::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    opacity: 0;
    background: radial-gradient(circle at top, rgba(255, 255, 255, .35), transparent 52%);
    transform: scale(.92);
    transition: opacity 220ms ease, transform 220ms ease;
}

.btn:hover::after,
.btn:focus-visible::after {
    opacity: 1;
    transform: scale(1);
}

.btn-accent {
    border-color: rgba(221, 159, 39, .35);
    box-shadow: 0 16px 30px rgba(221, 159, 39, .24);
}

.btn-outline-secondary {
    background: rgba(255, 253, 248, .72);
}

.btn-outline-light {
    border-color: rgba(255, 255, 255, .34);
    background: rgba(255, 255, 255, .06);
}

.hero-section {
    min-height: 0;
    padding: calc(var(--header-height) + clamp(4rem, 7vw, 6rem)) 0 clamp(4.75rem, 7vw, 6rem);
    background:
        radial-gradient(circle at 88% 16%, rgba(243, 182, 62, .18), transparent 24rem),
        radial-gradient(circle at 15% 14%, rgba(37, 86, 70, .08), transparent 20rem),
        linear-gradient(135deg, #fbf7ef 0%, #f5eddd 58%, #eff3eb 100%);
}

.hero-section::before {
    top: 10%;
    left: auto;
    right: -7rem;
    width: 23rem;
    height: 23rem;
    border-color: rgba(37, 86, 70, .1);
}

.hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: clamp(3rem, 5vw, 5rem);
    align-items: end;
}

.hero-copy {
    max-width: 700px;
}

.hero-copy h1 {
    max-width: 10.4ch;
    margin-bottom: 1.5rem;
    font-size: clamp(3.5rem, 6vw, 6.25rem);
    line-height: .95;
}

.hero-copy > p {
    max-width: 36rem;
    margin-bottom: 2.15rem;
    font-size: clamp(1.08rem, 1.45vw, 1.24rem);
}

.hero-actions {
    gap: .95rem;
}

.hero-trust-row {
    gap: 1rem;
    padding-top: 1.85rem;
}

.hero-trust-row article {
    padding-right: .65rem;
}

.hero-stage {
    padding: 0 0 2.5rem 2.5rem;
}

.hero-stage::before {
    right: -2.25rem;
    bottom: .15rem;
    width: 72%;
    height: 75%;
    border-radius: var(--radius-2xl) 0 var(--radius-2xl) var(--radius-2xl);
    background:
        linear-gradient(180deg, rgba(255, 209, 112, .55), rgba(243, 182, 62, 1)),
        var(--yellow);
    transform: translate3d(var(--hero-shift-x, 0), calc(var(--hero-scroll-depth, 0) * -.18), 0);
}

.hero-stage-photo {
    height: clamp(540px, 48vw, 640px);
    border-radius: var(--radius-2xl) var(--radius-2xl) 14px var(--radius-2xl);
    transform: translate3d(calc(var(--hero-shift-x, 0) * .35), calc(var(--hero-scroll-depth, 0) * -.24), 0);
}

.hero-stage-photo::after,
.section-photo-card::after,
.card-media::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 45%, rgba(23, 58, 49, .22) 100%);
}

.hero-stage-photo figcaption {
    right: 1.4rem;
    bottom: 1.4rem;
    left: auto;
    max-width: 24rem;
    padding: 1.15rem 1.25rem;
    border-radius: 22px;
    background: rgba(23, 58, 49, .88);
    box-shadow: 0 18px 40px rgba(12, 27, 23, .22);
    transform: translate3d(calc(var(--hero-shift-x, 0) * -.18), calc(var(--hero-shift-y, 0) * -.1), 0);
}

.hero-detail-rail {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 2.5rem;
    margin-top: clamp(3rem, 5vw, 4.2rem);
    padding-top: 1.8rem;
}

.hero-stage-stat-list div {
    padding: .55rem 1.4rem;
}

.page-hero {
    min-height: 560px;
    padding: calc(var(--header-height) + 6rem) 0 5.4rem;
}

.page-hero.has-photo {
    background:
        linear-gradient(92deg, rgba(17, 44, 37, .95) 0%, rgba(17, 44, 37, .82) 42%, rgba(17, 44, 37, .3) 100%),
        var(--hero-image) center / cover no-repeat;
}

.page-hero h1 {
    max-width: 15ch;
    text-wrap: balance;
}

.page-hero p {
    max-width: 42rem;
}

.page-hero-status {
    min-height: 500px;
    text-align: center;
}

.page-hero-status .container {
    max-width: 900px;
}

.page-hero-status-success {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .18), transparent 18rem),
        linear-gradient(145deg, #173a31 0%, #285647 62%, #346b58 100%);
}

.page-hero-status-failure,
.page-hero-notfound {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .14), transparent 18rem),
        linear-gradient(145deg, #1e3f35 0%, #274f43 64%, #315f4e 100%);
}

.section-space {
    padding: var(--section-space-y) 0;
}

.section-space + .section-space {
    border-top-color: rgba(31, 41, 36, .05);
}

.bg-soft {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 250, 240, .96));
}

.section-heading {
    max-width: 820px;
    margin-bottom: clamp(2.25rem, 4vw, 3.6rem);
}

.section-heading p {
    max-width: 42rem;
    font-size: 1.02rem;
}

.section-photo-card,
.feature-card,
.story-card,
.news-card,
.content-card,
.sidebar-card,
.stack-card,
.journey-card,
.timeline-card,
.metric-block,
.donation-form,
.receipt-card,
.glass-card,
.contact-story-panel,
.focus-mosaic-item,
.quote-card {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.section-photo-card {
    min-height: 500px;
    border-radius: var(--radius-lg);
}

.section-photo-card-wide {
    min-height: 420px;
    aspect-ratio: 16 / 8;
}

.section-photo-card-compact {
    min-height: 360px;
    aspect-ratio: 16 / 11;
}

.section-photo-card-tall,
.mission-photo-card,
.impact-photo-card {
    min-height: 650px;
}

.feature-card,
.story-card,
.news-card,
.stack-card,
.journey-card,
.timeline-card,
.content-card {
    background: rgba(255, 253, 248, .94);
}

.feature-card:hover,
.story-card:hover,
.news-card:hover,
.stack-card:hover,
.journey-card:hover,
.timeline-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
}

.content-card {
    padding: clamp(1.7rem, 3vw, 2.4rem);
    border-color: rgba(31, 41, 36, .08);
}

.metric-block {
    padding: 1.35rem 1.4rem;
    border-color: rgba(31, 41, 36, .08);
    background: rgba(255, 253, 248, .94);
}

.metric-block strong {
    display: block;
    margin-bottom: .4rem;
    color: var(--green-deep);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2vw, 2.5rem);
    line-height: 1;
}

.metric-block span {
    color: var(--charcoal-soft);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.editorial-manifesto,
.glass-card {
    border-radius: calc(var(--radius-lg) - 2px);
}

.editorial-manifesto {
    background:
        linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(251, 246, 236, .92));
    border: 1px solid rgba(31, 41, 36, .08);
    box-shadow: var(--shadow-sm);
    color: var(--charcoal);
}

.editorial-manifesto h2,
.editorial-manifesto h3,
.editorial-manifesto h4 {
    color: var(--green-deep);
}

.editorial-manifesto p,
.editorial-manifesto li {
    color: var(--charcoal-soft);
}

.home-mission-section .feature-card {
    height: 100%;
}

.editorial-program-grid {
    gap: clamp(1.4rem, 2vw, 1.9rem);
}

.editorial-program-card {
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, .95);
    box-shadow: var(--shadow-sm);
    transition: transform 320ms var(--ease), box-shadow 320ms var(--ease), border-color 320ms ease;
}

.editorial-program-card:hover {
    border-color: rgba(37, 86, 70, .18);
    box-shadow: var(--shadow-md);
    transform: translateY(-6px);
}

.editorial-program-card.is-featured {
    grid-template-columns: minmax(0, 1.24fr) minmax(320px, .76fr);
    min-height: clamp(460px, 42vw, 560px);
    height: auto;
    overflow: hidden;
}

.editorial-program-card.is-featured .editorial-program-media {
    height: 100%;
}

.editorial-program-media {
    height: 258px;
}

.editorial-program-copy {
    padding: 1.55rem 1.55rem 1.65rem;
}

.editorial-program-card.is-featured .editorial-program-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 3rem);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .16), transparent 16rem),
        linear-gradient(180deg, #1b4337, #214d3f);
}

.editorial-program-card.is-featured .eyebrow,
.editorial-program-card.is-featured h3,
.editorial-program-card.is-featured p,
.editorial-program-card.is-featured a {
    color: var(--white);
}

.editorial-program-card.is-featured .eyebrow::before {
    background: #f6cc72;
}

.editorial-program-card.is-featured p {
    color: rgba(255, 255, 255, .78);
}

.editorial-program-card.is-featured h3 {
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: .96;
}

.section-band-metrics {
    background:
        radial-gradient(circle at top left, rgba(243, 182, 62, .15), transparent 18rem),
        linear-gradient(135deg, #173a31 0%, #1d463a 44%, #275849 100%);
}

.process-ribbon {
    gap: 1.15rem;
}

.process-step {
    min-height: 100%;
    padding: 1.8rem 1.4rem 1.7rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;
    background: rgba(255, 255, 255, .05);
    backdrop-filter: blur(6px);
}

.process-step:hover {
    transform: translateY(-4px);
}

.section-story-split .row {
    align-items: stretch !important;
}

.editorial-story-stack {
    display: grid;
    gap: 1rem;
}

.story-line-item {
    padding: clamp(1.55rem, 3vw, 2rem);
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: 22px;
    background: rgba(255, 253, 248, .94);
    box-shadow: var(--shadow-sm);
    transition: transform 280ms var(--ease), box-shadow 280ms ease, border-color 280ms ease;
}

.story-line-item:hover {
    border-color: rgba(37, 86, 70, .16);
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.bg-dark-panel {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .14), transparent 16rem),
        linear-gradient(145deg, #15342b 0%, #1b4337 60%, #1f4b3d 100%);
}

.testimonial-editorial-grid {
    gap: 1rem;
}

.quote-card {
    padding: clamp(1.7rem, 3vw, 2.2rem);
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(8px);
}

.quote-card.is-muted {
    opacity: .72;
}

.quote-card.is-spotlight {
    background: rgba(255, 255, 255, .1);
    transform: translateY(-4px);
}

.asymmetry-showcase {
    gap: 1.35rem;
}

.editorial-note-card,
.support-manifesto {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.support-manifesto {
    height: 100%;
    padding: clamp(2rem, 3vw, 2.6rem);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .2), transparent 13rem),
        linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(248, 243, 231, .98));
    border: 1px solid rgba(31, 41, 36, .08);
    color: var(--charcoal);
}

.support-manifesto small {
    color: var(--green);
}

.support-manifesto h3 {
    color: var(--charcoal);
}

.support-manifesto-links a {
    color: var(--green-deep);
    transition: color 220ms ease, transform 220ms var(--ease), border-color 220ms ease;
}

.support-manifesto-links a:hover,
.support-manifesto-links a:focus-visible {
    color: var(--yellow-dark);
    border-color: rgba(217, 149, 34, .42);
    transform: translate3d(4px, 0, 0);
}

.donation-plan-strip {
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, .9);
    box-shadow: var(--shadow-sm);
}

.donation-plan-column {
    padding: 2rem 1.6rem;
}

.donation-plan-column:hover {
    background: rgba(243, 182, 62, .08);
}

.cta-banner {
    gap: 1.5rem;
    margin-top: 2rem;
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.about-intro-grid,
.program-architecture-grid,
.contact-stage,
.donate-layout {
    gap: clamp(1.5rem, 2.5vw, 2rem);
}

.about-intro-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    align-items: stretch;
}

.about-intro-photo {
    min-height: 100%;
}

.about-intro-content {
    display: grid;
    gap: 1.25rem;
}

.about-intro-copy,
.about-intro-content .editorial-manifesto {
    height: 100%;
}

.about-values-section {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .14), transparent 16rem),
        linear-gradient(145deg, #244f42 0%, #2e624f 100%);
}

.value-columns {
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: rgba(255, 255, 255, .04);
}

.value-column {
    padding: clamp(1.7rem, 3vw, 2.5rem);
}

.timeline-grid {
    gap: 1rem;
}

.timeline-card {
    background:
        linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(248, 243, 231, .92));
}

.people-row {
    padding: 1.4rem 0;
}

.about-leadership-section {
    --leadership-rail: min(100%, 1040px);
}

.about-leadership-section .section-heading,
.about-leadership-section .section-photo-card-wide,
.about-leadership-section .people-list,
.about-leadership-section .advisory-grid-minimal {
    width: var(--leadership-rail);
    max-width: var(--leadership-rail);
    margin-inline: auto;
}

.about-leadership-section .section-heading {
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.about-leadership-section .section-heading h2 {
    max-width: 18ch;
}

.about-leadership-section .section-heading.mt-5 {
    margin-top: clamp(2.75rem, 4vw, 4rem) !important;
}

.about-leadership-section .section-photo-card-wide {
    margin-bottom: clamp(1.75rem, 3vw, 2.4rem) !important;
}

.about-leadership-section .people-list {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(31, 41, 36, .1);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, .82);
    box-shadow: var(--shadow-sm);
}

.about-leadership-section .people-row {
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
    gap: clamp(1.4rem, 3vw, 2.6rem);
    align-items: center;
    padding: clamp(1.35rem, 2.2vw, 1.8rem) clamp(1.35rem, 3vw, 2.2rem);
    border-bottom: 1px solid rgba(31, 41, 36, .1);
    background: transparent;
}

.about-leadership-section .people-row:last-child {
    border-bottom: 0;
}

.about-leadership-section .people-row > div:first-child {
    display: grid;
    gap: .28rem;
}

.about-leadership-section .people-row > div:last-child {
    display: grid;
    max-width: 34rem;
    justify-self: end;
    padding: 1rem 0 1rem clamp(1rem, 2vw, 2rem);
    border-left: 1px solid rgba(31, 41, 36, .1);
}

.about-leadership-section .people-row small {
    color: var(--gray-700);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.45;
}

.about-leadership-section .people-row > div:first-child small {
    color: var(--green);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-leadership-section .people-row h3 {
    margin: 0;
    color: var(--charcoal);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.08;
}

.about-leadership-section .people-role {
    margin: 0;
    color: var(--green-deep);
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.35;
}

.about-leadership-section .people-bio {
    max-width: 56ch;
    margin: 0;
    color: var(--charcoal-soft);
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.65;
}

.programs-river-section .container,
.programs-architecture-section .container,
.program-detail-section .container {
    position: relative;
}

.program-river {
    display: grid;
    gap: clamp(1.5rem, 2.5vw, 2.2rem);
}

.program-river-row {
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    gap: clamp(1.5rem, 2.5vw, 2rem);
    align-items: stretch;
    padding: clamp(1rem, 1.5vw, 1.1rem);
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: calc(var(--radius-lg) + 2px);
    background: rgba(255, 253, 248, .95);
    box-shadow: var(--shadow-sm);
}

.program-river-media {
    min-height: 440px;
    border-radius: calc(var(--radius-lg) - 8px);
}

.program-river-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.25rem, 2vw, 1.8rem);
}

.program-river-copy h3 {
    font-size: clamp(2rem, 3vw, 2.8rem);
}

.program-architecture-grid {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    align-items: stretch;
}

.program-architecture-photo {
    min-height: 100%;
}

.program-architecture-content {
    display: grid;
    gap: 1.2rem;
}

.focus-mosaic {
    gap: 1rem;
}

.focus-mosaic-item {
    padding: 1rem;
    border: 1px solid rgba(31, 41, 36, .08);
    background: rgba(255, 253, 248, .95);
}

.focus-mosaic-media {
    height: 180px;
    margin-bottom: .95rem;
    border-radius: 18px;
}

.program-detail-shell {
    align-items: start;
}

.program-detail-side {
    position: sticky;
    top: calc(var(--header-height) + 1.5rem);
}

.program-detail-cta {
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .22), transparent 12rem),
        linear-gradient(180deg, #183f34, #214d3f);
}

.program-detail-metrics {
    display: grid;
    gap: .95rem;
}

.program-detail-related-heading {
    max-width: 700px;
}

.donate-page-section .container {
    max-width: var(--container-wide);
}

.donate-layout {
    grid-template-columns: minmax(320px, .96fr) minmax(0, 1.14fr);
    align-items: start;
}

.donate-sidebar,
.donate-panel {
    min-width: 0;
}

.donate-sidebar {
    display: grid;
    gap: 1.25rem;
}

.donate-visual-card {
    min-height: 520px;
    border-radius: var(--radius-lg);
}

.donate-visual-overlay {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    padding: 1.2rem 1.25rem;
    border-radius: 22px;
    color: var(--white);
    background: rgba(23, 58, 49, .84);
    backdrop-filter: blur(8px);
}

.donate-form-premium {
    padding: clamp(1.8rem, 3vw, 2.6rem);
    border: 1px solid rgba(31, 41, 36, .09);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .12), transparent 12rem),
        rgba(255, 253, 248, .98);
    box-shadow: var(--shadow-md);
}

.donate-form-meta,
.donation-assurance-strip {
    gap: 1rem;
}

.donate-manifesto h2,
.donate-manifesto p,
.donate-manifesto li {
    color: var(--charcoal);
}

.donate-manifesto p {
    color: var(--charcoal-soft);
}

.donate-manifesto .check-list {
    margin: 1.2rem 0 0;
    padding-left: 1.2rem;
    color: var(--charcoal-soft);
}

.donate-manifesto .check-list li + li {
    margin-top: .7rem;
}

.donate-form-meta article,
.donation-assurance-strip article {
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: 18px;
    background: rgba(255, 253, 248, .94);
    box-shadow: var(--shadow-sm);
}

.amount-chip {
    min-height: 64px;
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: 18px;
    background: rgba(255, 253, 248, .9);
    font-weight: 700;
    transition: transform 220ms var(--ease), border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.amount-chip:hover,
.amount-chip.is-active {
    border-color: rgba(221, 159, 39, .42);
    background: rgba(243, 182, 62, .12);
    box-shadow: 0 16px 36px rgba(221, 159, 39, .14);
    transform: translateY(-2px);
}

.contact-page-section .container {
    max-width: var(--container-wide);
}

.contact-stage {
    grid-template-columns: minmax(320px, .94fr) minmax(0, 1.06fr);
    align-items: stretch;
}

.contact-stage > * {
    display: flex;
}

.contact-story-panel,
.contact-form-surface {
    width: 100%;
}

.contact-story-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: clamp(1.35rem, 2vw, 1.6rem);
    border: 1px solid rgba(31, 41, 36, .08);
    background:
        linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(249, 243, 232, .96));
}

.contact-story-panel h2 {
    margin-top: .35rem;
    margin-bottom: 1.2rem;
}

.contact-detail-list {
    display: grid;
    gap: .7rem;
}

.contact-detail-list p {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: .85rem;
    padding-bottom: .8rem;
    margin: 0;
    border-bottom: 1px solid rgba(31, 41, 36, .08);
}

.social-inline {
    margin-top: 1rem;
}

.contact-map-link {
    margin-top: auto;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(31, 41, 36, .08);
    background: var(--green-deep);
    color: var(--white);
    box-shadow: var(--shadow-sm);
}

.contact-map-link span {
    color: rgba(255, 255, 255, .72);
}

.contact-form-surface {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .12), transparent 12rem),
        rgba(255, 253, 248, .99);
    box-shadow: var(--shadow-md);
}

.form-control,
.form-select {
    min-height: 58px;
    padding: .95rem 1rem;
    border: 1px solid rgba(31, 41, 36, .12);
    border-radius: 18px;
    color: var(--charcoal);
    background: rgba(255, 255, 255, .86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58);
    transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease, transform 220ms ease;
}

textarea.form-control {
    min-height: 170px;
    resize: vertical;
}

.form-control::placeholder,
.form-select {
    color: var(--gray-500);
}

.form-control:hover,
.form-select:hover {
    border-color: rgba(31, 41, 36, .18);
    background: rgba(255, 255, 255, .94);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(221, 159, 39, .5);
    background: var(--white);
    box-shadow: 0 0 0 4px rgba(243, 182, 62, .12);
    transform: translateY(-1px);
}

.donation-feedback {
    padding: .9rem 1rem;
    border-radius: 16px;
    font-size: .92rem;
}

.donation-feedback.is-info {
    color: #6a4c0e;
    background: #fff3d7;
}

.donation-feedback.is-danger {
    color: #8b2c22;
    background: #fde6e1;
}

.receipt-status-section .receipt-card,
.donation-receipt-page .receipt-card {
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .1), transparent 14rem),
        rgba(255, 253, 248, .98);
    box-shadow: var(--shadow-md);
}

.receipt-shell {
    max-width: 960px;
}

.receipt-header {
    gap: 1rem;
}

.receipt-note,
.receipt-copy {
    border-radius: 18px;
    background: rgba(247, 245, 239, .9);
}

.receipt-actions .btn {
    min-width: 180px;
}

.error-shell {
    max-width: 760px;
    margin: 0 auto;
}

.error-shell p {
    max-width: 36rem;
    margin-right: auto;
    margin-left: auto;
    color: rgba(255, 255, 255, .76);
    font-size: 1.04rem;
}

.site-footer {
    position: relative;
    overflow: hidden;
    padding-top: clamp(4.8rem, 8vw, 7rem);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .14), transparent 16rem),
        linear-gradient(180deg, #133127 0%, #0f281f 100%);
}

.site-footer::before {
    position: absolute;
    top: -6rem;
    right: -5rem;
    width: 20rem;
    height: 20rem;
    content: "";
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}

.footer-cta {
    align-items: center;
    gap: 1.5rem;
    padding-bottom: clamp(2.8rem, 5vw, 4rem);
}

.footer-grid {
    padding: clamp(2.8rem, 5vw, 4rem) 0;
}

.footer-bar {
    padding-top: 1.35rem;
}

@media (max-width: 1199px) {
    .container {
        width: min(calc(100% - 2.5rem), var(--container));
    }

    .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr);
    }

    .editorial-program-card.is-featured {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    }

    .program-river-copy h3 {
        font-size: clamp(1.8rem, 3vw, 2.45rem);
    }
}

@media (max-width: 991.98px) {
    :root {
        --header-height: 78px;
    }

    .container {
        width: min(calc(100% - 2rem), var(--container));
    }

    .navbar-collapse {
        top: calc(var(--header-height) - .25rem);
        right: .9rem;
        left: .9rem;
        padding: 1rem;
        border-radius: 24px;
    }

    .hero-grid,
    .about-intro-grid,
    .program-architecture-grid,
    .contact-stage,
    .donate-layout {
        grid-template-columns: 1fr;
    }

    .hero-copy h1,
    .page-hero h1 {
        max-width: 100%;
    }

    .hero-stage {
        max-width: 760px;
    }

    .hero-stage-photo {
        height: clamp(500px, 70vw, 620px);
    }

    .hero-detail-rail {
        gap: 1.4rem;
    }

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

    .editorial-program-card.is-featured {
        grid-column: 1 / -1;
    }

    .program-river-row {
        grid-template-columns: 1fr;
    }

    .program-river-media,
    .about-intro-photo,
    .program-architecture-photo,
    .donate-visual-card {
        min-height: 440px;
    }

    .program-detail-side {
        position: static;
    }

    .donate-sidebar {
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .receipt-shell {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .container {
        width: min(calc(100% - 1.5rem), var(--container));
    }

    .hero-section {
        padding-top: calc(var(--header-height) + 3.3rem);
        padding-bottom: 4rem;
    }

    .hero-copy h1 {
        font-size: clamp(2.9rem, 12vw, 4rem);
    }

    .hero-stage {
        padding-left: 1rem;
    }

    .hero-stage::before {
        width: 82%;
        height: 68%;
    }

    .hero-stage-photo {
        height: clamp(410px, 115vw, 560px);
    }

    .hero-stage-photo figcaption {
        right: 1rem;
        left: 1rem;
        max-width: none;
    }

    .page-hero,
    .page-hero-status {
        min-height: 460px;
        padding: calc(var(--header-height) + 4rem) 0 4rem;
    }

    .section-space {
        padding: clamp(4.2rem, 9vw, 5rem) 0;
    }

    .section-photo-card,
    .program-river-media,
    .about-intro-photo,
    .program-architecture-photo,
    .donate-visual-card {
        min-height: 340px;
    }

    .editorial-program-grid,
    .process-ribbon,
    .testimonial-editorial-grid,
    .donation-plan-strip,
    .timeline-grid,
    .value-columns,
    .donate-sidebar,
    .focus-mosaic {
        grid-template-columns: 1fr;
    }

    .editorial-program-card.is-featured {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .editorial-program-card.is-featured .editorial-program-media,
    .editorial-program-media {
        height: 280px;
    }

    .editorial-program-card.is-featured .editorial-program-copy {
        min-height: 0;
    }

    .hero-stage-stat-list {
        gap: .4rem 0;
    }

    .hero-stage-stat-list div {
        padding-inline: .95rem;
    }

    .contact-detail-list p {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .about-leadership-section .people-list {
        border-radius: 22px;
    }

    .about-leadership-section .people-row {
        grid-template-columns: 1fr;
        gap: .85rem;
        align-items: start;
        padding: 1.25rem;
    }

    .about-leadership-section .people-row > div:last-child {
        padding-top: 0;
        padding-left: 0;
        border-left: 0;
        justify-self: stretch;
    }

    .receipt-card,
    .donate-form-premium,
    .contact-form-surface,
    .contact-story-panel {
        padding: 1.35rem;
    }

    .footer-cta-actions {
        width: 100%;
    }
}

@media (max-width: 479.98px) {
    .container {
        width: min(calc(100% - 1.25rem), var(--container));
    }

    .btn,
    .btn-lg {
        width: 100%;
    }

    .hero-actions,
    .receipt-actions {
        width: 100%;
    }

    .hero-stage-stat-list {
        grid-template-columns: 1fr;
    }

    .hero-stage-stat-list div {
        border-left: 0;
        border-bottom: 1px solid rgba(31, 41, 36, .08);
    }

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

/* Premium motion system */
@keyframes pfFloat {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    50% { transform: translate3d(0, -10px, 0) rotate(.7deg); }
}

@keyframes pfGlowPulse {
    0%, 100% { opacity: .42; transform: scale3d(1, 1, 1); }
    50% { opacity: .72; transform: scale3d(1.05, 1.05, 1); }
}

@keyframes pfRipple {
    0% { opacity: .36; transform: translate3d(-50%, -50%, 0) scale3d(0, 0, 1); }
    100% { opacity: 0; transform: translate3d(-50%, -50%, 0) scale3d(3.4, 3.4, 1); }
}

@keyframes pfSweep {
    0% { transform: translate3d(-130%, 0, 0) rotate(12deg); }
    100% { transform: translate3d(130%, 0, 0) rotate(12deg); }
}

@keyframes pfProgressGrow {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes pfStatusPop {
    0% { opacity: 0; transform: scale3d(.82, .82, 1); }
    65% { opacity: 1; transform: scale3d(1.06, 1.06, 1); }
    100% { opacity: 1; transform: scale3d(1, 1, 1); }
}

.site-header::before {
    backdrop-filter: blur(var(--nav-blur, 14px)) saturate(1.12);
}

.site-header.is-scrolled::before,
.site-header.nav-open::before {
    --nav-blur: 24px;
}

.navbar-brand {
    transition: transform 280ms var(--ease), filter 280ms ease;
}

.navbar-brand:hover {
    filter: drop-shadow(0 8px 18px rgba(36, 87, 71, .13));
    transform: translate3d(0, -1px, 0);
}

.brand-mark {
    transition: transform 420ms var(--ease), box-shadow 320ms ease, border-radius 420ms var(--ease);
    will-change: transform;
}

.navbar-brand:hover .brand-mark,
.footer-brand:hover .brand-mark {
    border-radius: 50% 50% 16% 50%;
    box-shadow: 0 12px 28px rgba(242, 181, 68, .32);
    transform: rotate(8deg) scale3d(1.05, 1.05, 1);
}

.navbar-brand:hover .brand-logo,
.footer-brand:hover .brand-logo {
    filter: drop-shadow(0 12px 22px rgba(36, 87, 71, .18));
    transform: translate3d(0, -1px, 0) scale3d(1.035, 1.035, 1);
}

.navbar .nav-link {
    overflow: hidden;
    border-radius: 999px;
    transition: color 220ms ease, text-shadow 220ms ease, background-color 220ms ease, transform 220ms var(--ease);
}

.navbar .nav-link::before {
    position: absolute;
    inset: .35rem .45rem;
    z-index: -1;
    content: "";
    border-radius: inherit;
    background: radial-gradient(circle at 50% 100%, rgba(242, 181, 68, .18), transparent 70%);
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale3d(.94, .94, 1);
    transition: opacity 260ms ease, transform 260ms var(--ease);
}

.navbar .nav-link:hover,
.navbar .nav-link.is-active {
    text-shadow: 0 8px 24px rgba(36, 87, 71, .2);
    transform: translate3d(0, -1px, 0);
}

.navbar .nav-link:hover::before,
.navbar .nav-link.is-active::before {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

.navbar .nav-link::after {
    height: 3px;
    border-radius: 999px;
    box-shadow: 0 0 16px rgba(242, 181, 68, .55);
    transition: transform 320ms var(--ease), opacity 220ms ease;
}

.site-header .btn-accent {
    position: relative;
    overflow: hidden;
}

.navbar-toggler {
    position: relative;
    overflow: hidden;
    transition: transform 260ms var(--ease), box-shadow 260ms ease, border-color 260ms ease;
}

.navbar-toggler:hover {
    border-color: rgba(36, 87, 71, .26);
    box-shadow: 0 12px 28px rgba(32, 40, 35, .1);
    transform: translate3d(0, -1px, 0);
}

.navbar-toggler-icon {
    position: relative;
    background-position: 50% 0, 50% 50%, 50% 100%;
    transition: background-position 280ms var(--ease), background-size 280ms var(--ease), transform 280ms var(--ease);
}

.site-header.nav-open .navbar-toggler-icon {
    background-position: 50% 50%, 50% 50%, 50% 50%;
    background-size: 100% 2px, 0 2px, 100% 2px;
    transform: rotate(45deg);
}

.site-header.nav-open .navbar-toggler-icon::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: var(--charcoal);
    transform: translateY(-50%) rotate(90deg);
}

.navbar-collapse {
    transition: opacity 260ms ease, transform 320ms var(--ease), filter 320ms ease;
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        display: block !important;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(0, -14px, 0) scale3d(.98, .98, 1);
        transform-origin: top center;
    }

    .navbar-collapse.collapse:not(.show) {
        display: block !important;
    }

    .navbar-collapse.show {
        opacity: 1;
        pointer-events: auto;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    }

    .navbar-collapse .nav-item {
        opacity: 0;
        transform: translate3d(0, 12px, 0);
        transition: opacity 300ms ease, transform 360ms var(--ease);
        transition-delay: calc(var(--stagger-index, 0) * 48ms);
    }

    .site-header.nav-open .navbar-collapse .nav-item {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.hero-section::after,
.page-hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        radial-gradient(circle at calc(18% + var(--hero-shift-x, 0px)) calc(22% + var(--hero-shift-y, 0px)), rgba(255, 255, 255, .48), transparent 18rem),
        radial-gradient(circle at calc(88% - var(--hero-shift-x, 0px)) calc(20% - var(--hero-shift-y, 0px)), rgba(242, 181, 68, .16), transparent 22rem);
    opacity: .88;
    transform: translate3d(0, calc(var(--hero-scroll-depth, 0px) * .25), 0);
}

.hero-stage {
    transform: translate3d(calc(var(--hero-shift-x, 0px) * .28), calc(var(--hero-panel-depth, 0px) * .18), 0);
    will-change: transform;
}

.hero-stage::before,
.site-footer::before {
    animation: pfFloat 7s ease-in-out infinite;
}

.hero-stage-photo figcaption,
.donate-visual-overlay {
    transition: transform 360ms var(--ease), background-color 320ms ease, box-shadow 320ms ease;
}

.hero-stage-photo:hover figcaption,
.donate-visual-card:hover .donate-visual-overlay {
    box-shadow: 0 18px 38px rgba(10, 32, 25, .24);
    transform: translate3d(0, -5px, 0);
}

.home-hero::before,
.home-hero .hero-stage::before {
    display: none;
}

.hero-detail-rail,
.hero-trust-row article {
    transition: transform 320ms var(--ease), opacity 320ms ease;
}

.hero-trust-row article:hover {
    transform: translate3d(0, -3px, 0);
}

.motion-button {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transform: translate3d(var(--button-magnet-x, 0), var(--button-magnet-y, 0), 0);
    will-change: transform;
}

.motion-button::before {
    position: absolute;
    inset: -40% -28%;
    z-index: -1;
    content: "";
    background: linear-gradient(115deg, transparent 34%, rgba(255, 255, 255, .46) 48%, transparent 62%);
    opacity: 0;
    transform: translate3d(-120%, 0, 0) rotate(10deg);
    transition: opacity 180ms ease;
}

.motion-button:hover::before,
.motion-button:focus-visible::before {
    opacity: 1;
    animation: pfSweep 760ms var(--ease);
}

.motion-button::after {
    position: absolute;
    z-index: -1;
    top: var(--ripple-y, 50%);
    left: var(--ripple-x, 50%);
    width: 4rem;
    height: 4rem;
    content: "";
    pointer-events: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) scale3d(0, 0, 1);
}

.motion-button.is-rippling::after {
    animation: pfRipple 620ms ease-out;
}

.btn:hover,
.amount-chip:hover {
    transform: translate3d(var(--button-magnet-x, 0), calc(var(--button-magnet-y, 0) - 2px), 0) scale3d(1.012, 1.012, 1);
}

.btn:active,
.amount-chip:active {
    transform: translate3d(0, 1px, 0) scale3d(.985, .985, 1);
}

.motion-card {
    overflow: hidden;
    isolation: isolate;
    transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translate3d(0, 0, 0);
    transition: transform 320ms var(--ease), box-shadow 320ms ease, border-color 320ms ease, background-color 320ms ease;
    will-change: transform;
}

.motion-card::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background:
        radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 0%), rgba(255, 255, 255, .34), transparent 34%),
        linear-gradient(115deg, transparent 28%, rgba(242, 181, 68, .12), transparent 54%);
    opacity: 0;
    transform: translate3d(-8%, 0, 0);
    transition: opacity 260ms ease, transform 520ms var(--ease);
}

.motion-card:hover::after,
.motion-card:focus-within::after {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.motion-card:hover,
.motion-card:focus-within {
    box-shadow: var(--shadow-md);
}

.motion-image-frame {
    clip-path: inset(0 0 0 0 round inherit);
    transform: translate3d(0, 0, 0);
}

.motion-image-frame img {
    transform: translate3d(0, var(--image-parallax-y, 0), 0) scale3d(1.035, 1.035, 1);
    will-change: transform;
}

.motion-image-frame:hover img {
    transform: translate3d(0, calc(var(--image-parallax-y, 0) - 5px), 0) scale3d(1.075, 1.075, 1);
}

.motion-image-frame::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: "";
    pointer-events: none;
    background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .18), transparent 65%);
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
    transition: opacity 240ms ease;
}

.motion-image-frame:hover::before {
    opacity: 1;
    animation: pfSweep 900ms var(--ease);
}

.js-motion .reveal-on-scroll[data-motion-reveal="fade-up"] {
    transform: translate3d(0, 28px, 0);
}

.js-motion .reveal-on-scroll[data-motion-reveal="slide-left"] {
    transform: translate3d(34px, 0, 0);
}

.js-motion .reveal-on-scroll[data-motion-reveal="scale-in"] {
    transform: scale3d(.94, .94, 1);
}

.js-motion .reveal-on-scroll[data-motion-reveal="mask-up"] {
    clip-path: inset(16% 0 0 0 round 18px);
    transform: translate3d(0, 18px, 0);
}

.js-motion .reveal-on-scroll[data-motion-reveal="soft-rotate"] {
    transform: translate3d(0, 22px, 0) rotate(.8deg);
}

.js-motion .reveal-on-scroll.is-visible {
    clip-path: inset(0 0 0 0 round 0);
}

.js-motion .page-entry-item {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 720ms var(--ease), transform 720ms var(--ease);
    transition-delay: calc(var(--stagger-index, 0) * 90ms + 80ms);
}

.js-motion body.is-ready .page-entry-item {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.js-motion .micro-stagger-item {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition: opacity 420ms ease, transform 420ms var(--ease);
    transition-delay: calc(var(--stagger-index, 0) * 38ms);
}

.js-motion body.is-ready .micro-stagger-item,
.js-motion .receipt-card.is-visible .micro-stagger-item {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.process-ribbon,
.timeline-grid,
.hero-stage-stat-list,
.receipt-grid {
    position: relative;
}

.process-ribbon::after,
.timeline-grid::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, var(--yellow), rgba(255, 255, 255, .45));
    transform: scaleX(0);
    transform-origin: left;
}

.process-ribbon.is-progressing::after,
.timeline-grid.is-progressing::after {
    animation: pfProgressGrow 1100ms var(--ease) forwards;
}

.metric-block strong,
.donation-amount,
.receipt-grid strong {
    transition: color 260ms ease, transform 260ms var(--ease);
}

.metric-block:hover strong,
.donation-plan-column:hover .donation-amount,
.receipt-grid > div:hover strong {
    color: var(--yellow-dark);
    transform: translate3d(0, -2px, 0);
}

.amount-chip {
    position: relative;
}

.amount-chip::before {
    border-radius: inherit;
}

.amount-chip.is-active {
    box-shadow: 0 18px 42px rgba(221, 159, 39, .2), inset 0 0 0 1px rgba(221, 159, 39, .35);
    transform: translate3d(0, -3px, 0) scale3d(1.025, 1.025, 1);
}

.amount-chip.is-active::after {
    background: rgba(242, 181, 68, .26);
    animation: pfStatusPop 420ms var(--ease);
}

.donation-form.is-processing {
    pointer-events: none;
}

.donation-form.is-processing [data-donation-submit] {
    color: transparent;
}

.donation-form.is-processing [data-donation-submit]::after {
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid rgba(32, 40, 35, .24);
    border-top-color: var(--charcoal);
    background: transparent;
    animation: spin 720ms linear infinite;
    opacity: 1;
    transform: translate3d(-50%, -50%, 0);
}

@keyframes spin {
    to { transform: translate3d(-50%, -50%, 0) rotate(360deg); }
}

.field-motion-shell {
    position: relative;
}

.field-motion-shell::before {
    position: absolute;
    z-index: 3;
    top: .45rem;
    left: calc(var(--bs-gutter-x, 1.5rem) * .5 + 1rem);
    max-width: calc(100% - var(--bs-gutter-x, 1.5rem) - 2rem);
    color: var(--green);
    content: attr(data-label);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transform: translate3d(0, 6px, 0);
    transition: opacity 180ms ease, transform 220ms var(--ease);
    white-space: nowrap;
}

.field-motion-shell.is-focused::before,
.field-motion-shell:has(.is-filled)::before {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.field-motion-shell.is-focused .form-control,
.field-motion-shell.is-focused .form-select,
.form-control.is-filled,
.form-select.is-filled {
    padding-top: 1.35rem;
    padding-bottom: .55rem;
}

.form-control.is-invalid-soft,
.form-select.is-invalid-soft {
    border-color: rgba(169, 60, 54, .42);
    box-shadow: 0 0 0 4px rgba(169, 60, 54, .08);
}

.donation-feedback {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 240ms ease, transform 260ms var(--ease);
}

.donation-feedback:not(.d-none) {
    animation: pfStatusPop 420ms var(--ease);
}

.receipt-status {
    position: relative;
    overflow: hidden;
    animation: pfStatusPop 560ms var(--ease) both;
}

.receipt-status::after {
    position: absolute;
    inset: -40%;
    content: "";
    background: radial-gradient(circle, rgba(255, 255, 255, .52), transparent 62%);
    animation: pfGlowPulse 1800ms ease-in-out infinite;
}

.page-hero-status-success::after,
.page-hero-status-failure::after,
.page-hero-notfound::after {
    background:
        radial-gradient(circle at 24% 30%, rgba(255, 255, 255, .12), transparent 15rem),
        radial-gradient(circle at 80% 18%, rgba(242, 181, 68, .2), transparent 18rem);
    animation: pfGlowPulse 5200ms ease-in-out infinite;
}

.social-inline a,
.site-footer a,
.footer-contact span {
    transition: color 220ms ease, transform 220ms var(--ease), border-color 220ms ease, background-color 220ms ease;
}

.social-inline a:hover,
.site-footer a:hover,
.footer-contact span:hover {
    transform: translate3d(4px, -1px, 0);
}

.contact-map-link strong span,
.footer-text-link span,
.feature-card a::after,
.story-card a::after,
.news-card a::after,
.stack-card a::after,
.editorial-program-copy a::after,
.program-river-copy a::after {
    display: inline-block;
}

.contact-map-link:hover strong span,
.footer-text-link:hover span {
    transform: translate3d(4px, -4px, 0);
}

/* Composition audit fixes: layout only, no new features */
.home-hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + clamp(3.2rem, 5vw, 4.8rem));
    padding-bottom: clamp(3.5rem, 5.5vw, 5rem);
}

.home-hero .container,
.home-mission-section .container,
.home-focus-section .container,
.home-process-section .container,
.home-story-section .container,
.home-voices-section .container,
.home-snapshot-section .container,
.home-donate-section .container,
.about-intro-section .container,
.about-values-section .container,
.about-timeline-section .container,
.programs-river-section .container,
.programs-architecture-section .container,
.donate-page-section .container,
.contact-page-section .container {
    max-width: 1160px;
}

.home-hero .hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(420px, .82fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    min-height: 0;
}

.home-hero .hero-copy h1 {
    max-width: 10.5ch;
    font-size: clamp(3.25rem, 5.4vw, 5.35rem);
}

.home-hero .hero-stage-photo {
    height: clamp(460px, 42vw, 560px);
}

.home-hero .hero-detail-rail {
    margin-top: clamp(2.6rem, 4vw, 4rem);
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
}

.section-space.home-mission-section,
.section-space.home-focus-section,
.section-space.home-story-section,
.section-space.home-snapshot-section,
.section-space.home-donate-section,
.section-space.about-intro-section,
.section-space.about-values-section,
.section-space.about-timeline-section,
.section-space.programs-river-section,
.section-space.programs-architecture-section,
.section-space.donate-page-section,
.section-space.contact-page-section {
    padding-block: clamp(4.5rem, 6.4vw, 6.5rem);
}

.home-mission-section .row.g-5 {
    --bs-gutter-x: clamp(2rem, 4vw, 4rem);
    align-items: center !important;
}

.home-mission-section .mission-photo-card {
    min-height: 560px;
}

.home-mission-section .section-heading {
    margin-bottom: 2rem;
}

.home-mission-section .feature-card {
    padding: 1.35rem;
}

.home-focus-section .editorial-program-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.home-focus-section .editorial-program-card:not(.is-featured) {
    min-height: 0;
}

.home-focus-section .editorial-program-card.is-featured {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 0;
    height: clamp(380px, 36vw, 470px);
}

.home-focus-section .editorial-program-media {
    height: 170px;
}

.home-focus-section .editorial-program-card:not(.is-featured) .editorial-program-copy {
    padding: 1.25rem;
}

.home-process-section {
    padding-block: clamp(4.2rem, 6vw, 5.75rem);
}

.home-process-section .section-heading {
    margin-bottom: 2rem;
}

.home-process-section .process-ribbon {
    margin-top: 2rem;
}

.home-process-section .process-step {
    padding: 1.45rem 1.25rem;
}

.home-story-section .row.g-5 {
    --bs-gutter-x: clamp(2rem, 4vw, 4rem);
    align-items: center !important;
}

.home-story-section .impact-photo-card {
    min-height: 560px;
}

.home-story-section .editorial-story-stack {
    gap: .85rem;
}

.home-story-section .story-line-item {
    padding: 1.35rem 1.5rem;
}

.home-voices-section {
    padding-block: clamp(4.5rem, 6vw, 6rem);
}

.home-voices-section .testimonial-editorial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.home-voices-section .quote-card {
    padding: clamp(1.5rem, 2.4vw, 2rem);
}

.home-voices-section .quote-card p {
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    line-height: 1.45;
}

.home-voices-section .quote-card.is-spotlight {
    transform: none;
}

.home-snapshot-section .asymmetry-showcase {
    grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
    align-items: stretch;
}

.home-snapshot-section .news-card {
    padding: 1.35rem 1.5rem;
}

.home-snapshot-section .support-manifesto {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.8rem, 3vw, 2.4rem);
}

.home-donate-section .donation-plan-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-donate-section .donation-plan-column {
    padding: 1.55rem 1.35rem;
}

.home-donate-section .cta-banner {
    align-items: center;
    margin-top: 1.5rem;
}

.about-intro-section .about-intro-grid {
    grid-template-columns: minmax(420px, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
}

.about-intro-section .about-intro-photo {
    min-height: 620px;
}

.about-intro-section .about-intro-content {
    gap: 1.25rem;
}

.about-intro-section .editorial-manifesto,
.about-intro-section .about-intro-copy {
    padding: clamp(1.6rem, 2.6vw, 2.15rem);
}

.about-intro-section .about-intro-copy {
    border: 1px solid rgba(31, 41, 36, .08);
    border-radius: var(--radius-md);
    background: rgba(255, 253, 248, .78);
}

.about-intro-section .about-intro-copy h2 {
    max-width: 15ch;
}

.about-values-section .value-columns,
.about-timeline-section .timeline-grid {
    max-width: 1080px;
    margin-inline: auto;
}

.about-values-section .value-column,
.about-timeline-section .timeline-card {
    padding: 1.55rem;
}

.about-leadership-section {
    --leadership-rail: min(100%, 1040px);
}

.about-leadership-section .section-photo-card-wide {
    min-height: 320px;
    aspect-ratio: 16 / 5.8;
}

.programs-river-section .program-river {
    max-width: 1080px;
    margin-inline: auto;
    gap: 1.4rem;
}

.programs-river-section .program-river-row {
    grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
}

.programs-river-section .program-river-row.is-image-right .program-river-media {
    order: 0;
}

.programs-river-section .program-river-media {
    min-height: 340px;
    aspect-ratio: 5 / 3.8;
}

.programs-river-section .program-river-copy {
    padding: clamp(1rem, 2vw, 1.5rem);
}

.programs-river-section .program-river-copy h3 {
    max-width: 16ch;
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
}

.programs-architecture-section .program-architecture-grid {
    grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
    gap: clamp(1.75rem, 3vw, 2.8rem);
    align-items: start;
}

.programs-architecture-section .program-architecture-photo {
    min-height: 620px;
}

.programs-architecture-section .section-heading {
    margin-bottom: 1.6rem;
}

.programs-architecture-section .focus-mosaic {
    gap: .85rem;
}

.programs-architecture-section .focus-mosaic-item {
    padding: .75rem;
}

.programs-architecture-section .focus-mosaic-media {
    height: 128px;
    margin-bottom: .75rem;
}

.programs-architecture-section .focus-mosaic-item > span,
.programs-architecture-section .focus-mosaic-item > p {
    margin-right: .75rem;
    margin-left: .75rem;
}

.programs-architecture-section .focus-mosaic-item > p {
    font-size: .82rem;
    line-height: 1.55;
}

.program-detail-section .program-detail-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: clamp(1.5rem, 3vw, 2.4rem) !important;
    max-width: 1120px;
    margin-inline: auto;
    align-items: start;
}

.program-detail-section .program-detail-main,
.program-detail-section .program-detail-side {
    width: auto !important;
    max-width: none;
    padding: 0 !important;
}

.program-detail-section .section-photo-card-wide {
    min-height: 320px;
    aspect-ratio: 16 / 7;
}

.program-detail-section .content-card {
    padding: clamp(1.5rem, 2.6vw, 2.1rem);
    margin-top: 1rem !important;
}

.program-detail-section .content-card:first-of-type {
    margin-top: 0 !important;
}

.program-detail-section .program-detail-side {
    top: calc(var(--header-height) + 1rem);
}

.program-detail-section .program-detail-cta {
    padding: 1.55rem;
}

.program-detail-section .program-detail-metrics {
    gap: .75rem;
}

.program-detail-section .metric-block {
    padding: 1.25rem;
}

.donate-page-section .donate-layout {
    grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
    gap: clamp(1.75rem, 3vw, 2.75rem);
    align-items: start;
}

.donate-page-section .donate-visual-card {
    min-height: 0;
    height: 420px;
}

.donate-page-section .donate-sidebar {
    gap: 1rem;
}

.donate-page-section .donate-form-premium {
    padding: clamp(1.5rem, 2.5vw, 2rem);
}

.donate-page-section .donate-manifesto {
    padding: 1.55rem;
}

.donate-page-section .donate-manifesto h2 {
    max-width: 18ch;
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
}

.donate-page-section .donate-manifesto p,
.donate-page-section .donate-manifesto li {
    font-size: .92rem;
    line-height: 1.58;
}

.donate-page-section .donation-assurance-strip {
    grid-template-columns: 1fr;
    gap: .75rem;
}

.donate-page-section .donation-assurance-strip article,
.donate-page-section .donate-form-meta article {
    padding: 1rem;
}

.donate-page-section .donate-form-premium .section-heading {
    margin-bottom: 1.4rem !important;
}

.donate-page-section .donate-form-premium h2 {
    max-width: 18ch;
    font-size: clamp(1.8rem, 2.7vw, 2.55rem);
}

.donate-page-section .form-control,
.donate-page-section .form-select {
    min-height: 52px;
}

.donate-page-section textarea.form-control {
    min-height: 132px;
}

.donate-page-section .amount-chip {
    min-height: 54px;
}

.donate-page-section .donate-form-meta {
    margin-top: 1rem;
}

.contact-page-section .contact-stage {
    grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
    gap: clamp(1.75rem, 3vw, 2.75rem);
    align-items: stretch;
}

.contact-page-section .section-photo-card-compact {
    min-height: 260px;
}

.contact-page-section .contact-story-panel,
.contact-page-section .contact-form-surface {
    padding: clamp(1.4rem, 2.4vw, 2rem);
}

.contact-page-section .contact-form-surface .section-heading {
    margin-bottom: 1.4rem !important;
}

.contact-page-section .contact-form-surface h2 {
    font-size: clamp(1.75rem, 2.6vw, 2.45rem);
}

.receipt-status-section .receipt-shell,
.donation-receipt-page .receipt-shell {
    max-width: 880px;
    margin-inline: auto;
}

.receipt-status-section .receipt-card,
.donation-receipt-page .receipt-card {
    padding: clamp(1.6rem, 3vw, 2.5rem);
}

.receipt-grid {
    margin: 1.4rem 0;
}

.page-hero-status,
.page-hero-notfound {
    min-height: 460px;
    padding-top: calc(var(--header-height) + 4.5rem);
    padding-bottom: 4rem;
}

.page-hero-status h1,
.page-hero-notfound h1 {
    max-width: 760px;
    margin-inline: auto;
    font-size: clamp(2.6rem, 4.8vw, 4.4rem);
}

@media (max-width: 991.98px) {
    .home-hero .hero-grid,
    .home-hero .hero-detail-rail,
    .about-intro-section .about-intro-grid,
    .programs-river-section .program-river-row,
    .programs-architecture-section .program-architecture-grid,
    .program-detail-section .program-detail-shell,
    .donate-page-section .donate-layout,
    .contact-page-section .contact-stage {
        grid-template-columns: 1fr;
    }

    .home-focus-section .editorial-program-grid,
    .home-snapshot-section .asymmetry-showcase,
    .home-voices-section .testimonial-editorial-grid {
        grid-template-columns: 1fr;
    }

    .home-focus-section .editorial-program-card.is-featured {
        grid-row: auto;
        min-height: 0;
    }

    .programs-river-section .program-river-media,
    .programs-architecture-section .program-architecture-photo,
    .about-intro-section .about-intro-photo,
    .donate-page-section .donate-visual-card {
        min-height: 380px;
    }
}

@media (max-width: 767.98px) {
    .home-hero {
        padding-top: calc(var(--header-height) + 2.8rem);
        padding-bottom: 3rem;
    }

    .home-hero .hero-copy h1 {
        font-size: clamp(2.65rem, 11vw, 3.6rem);
    }

    .home-hero .hero-stage-photo {
        height: clamp(320px, 88vw, 420px);
    }

    .home-hero .hero-detail-rail {
        margin-top: 2rem;
    }

    .home-hero .hero-stage-stat-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .section-space.home-mission-section,
    .section-space.home-focus-section,
    .section-space.home-story-section,
    .section-space.home-snapshot-section,
    .section-space.home-donate-section,
    .section-space.about-intro-section,
    .section-space.about-values-section,
    .section-space.about-timeline-section,
    .section-space.programs-river-section,
    .section-space.programs-architecture-section,
    .section-space.donate-page-section,
    .section-space.contact-page-section {
        padding-block: 4rem;
    }

    .home-donate-section .donation-plan-strip,
    .about-values-section .value-columns,
    .about-timeline-section .timeline-grid,
    .programs-architecture-section .focus-mosaic {
        grid-template-columns: 1fr;
    }

    .home-mission-section .mission-photo-card,
    .home-story-section .impact-photo-card,
    .about-intro-section .about-intro-photo,
    .programs-river-section .program-river-media,
    .programs-architecture-section .program-architecture-photo,
    .donate-page-section .donate-visual-card {
        min-height: 0;
        height: clamp(280px, 76vw, 360px);
    }

    .home-focus-section .editorial-program-media,
    .home-focus-section .editorial-program-card.is-featured .editorial-program-media,
    .programs-architecture-section .focus-mosaic-media {
        height: 150px;
    }

    .home-focus-section .editorial-program-card.is-featured {
        height: auto;
    }

    .home-focus-section .editorial-program-card.is-featured .editorial-program-copy,
    .home-focus-section .editorial-program-copy {
        min-height: 0 !important;
        padding: 1.1rem !important;
    }

    .home-focus-section .editorial-program-copy h3 {
        font-size: 1.35rem;
    }

    .home-focus-section .editorial-program-copy p {
        margin-bottom: .85rem;
        font-size: .92rem;
        line-height: 1.58;
    }

    .home-story-section .story-line-item,
    .home-snapshot-section .news-card,
    .programs-river-section .program-river-row,
    .programs-architecture-section .focus-mosaic-item {
        padding: 1rem;
    }

    .programs-river-section .program-river-copy {
        padding: .25rem 0 0;
    }

    .programs-architecture-section .program-architecture-grid,
    .program-detail-section .program-detail-shell {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .program-detail-section .section-photo-card-wide {
        min-height: 0;
        height: clamp(240px, 66vw, 320px);
    }

    .program-detail-section .content-card,
    .program-detail-section .program-detail-cta,
    .program-detail-section .metric-block {
        padding: 1.15rem;
    }

    .donate-page-section .donate-manifesto {
        padding: 1.15rem;
    }

    .donate-page-section .donation-form {
        padding: 1.15rem;
    }

    .donate-page-section .amount-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-intro-section .editorial-manifesto,
    .about-intro-section .about-intro-copy,
    .donate-page-section .donate-form-premium,
    .contact-page-section .contact-story-panel,
    .contact-page-section .contact-form-surface {
        padding: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .motion-card {
        transform: translate3d(0, 0, 0);
    }

    .motion-image-frame img {
        transform: translate3d(0, calc(var(--image-parallax-y, 0) * .55), 0) scale3d(1.025, 1.025, 1);
    }

    .hero-stage::before,
    .site-footer::before {
        animation-duration: 10s;
    }

    .js-motion .reveal-on-scroll {
        transition-duration: 460ms;
        transition-delay: calc(var(--stagger-index, 0) * 42ms);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

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

    .js-motion .reveal-on-scroll,
    .js-motion .hero-copy > *,
    .js-motion .hero-stage,
    .js-motion .page-entry-item,
    .js-motion .micro-stagger-item {
        opacity: 1;
        transform: none;
        clip-path: none;
    }
}

@media print {
    .site-header,
    .site-footer,
    .receipt-actions {
        display: none !important;
    }

    .receipt-page {
        padding: 0;
    }

    .receipt-card {
        border: 0;
        box-shadow: none;
    }
}

/* About page rebuild */
.about-rail {
    width: min(calc(100% - 3rem), 1120px);
    margin-inline: auto;
}

.about-redesign-hero {
    position: relative;
    isolation: isolate;
    min-height: 620px;
    display: flex;
    align-items: end;
    overflow: hidden;
    padding: calc(var(--header-height) + 5rem) 0 5rem;
    background:
        linear-gradient(90deg, rgba(18, 49, 40, .94) 0%, rgba(18, 49, 40, .76) 52%, rgba(18, 49, 40, .34) 100%),
        var(--hero-image) center / cover no-repeat;
}

.about-redesign-hero::after {
    position: absolute;
    z-index: -1;
    inset: auto -8rem -12rem auto;
    width: 34rem;
    height: 34rem;
    content: "";
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
}

.about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
}

.about-hero-copy {
    max-width: 760px;
}

.about-hero-copy .eyebrow {
    color: #f9d785;
}

.about-hero-copy h1 {
    max-width: 12ch;
    margin-bottom: 1.3rem;
    color: var(--white);
    font-size: clamp(3.4rem, 6vw, 5.8rem);
    line-height: .96;
}

.about-hero-copy p {
    max-width: 42rem;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(1.02rem, 1.4vw, 1.18rem);
}

.about-hero-proof {
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 22px;
    color: var(--white);
    background: rgba(23, 58, 49, .72);
    backdrop-filter: blur(10px);
}

.about-hero-proof span,
.about-hero-proof strong {
    display: block;
}

.about-hero-proof span {
    margin-bottom: .55rem;
    color: #f9d785;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-hero-proof strong {
    font-size: .98rem;
    line-height: 1.55;
}

.about-redesign-section {
    padding: clamp(5rem, 7vw, 7rem) 0;
}

.about-redesign-intro {
    background: var(--cream);
}

.about-intent-grid {
    display: grid;
    grid-template-columns: minmax(360px, .43fr) minmax(0, .57fr);
    gap: clamp(2rem, 4.5vw, 4.5rem);
    align-items: stretch;
}

.about-intent-media,
.about-leadership-media {
    position: relative;
    overflow: hidden;
    margin: 0;
    border-radius: var(--radius-lg);
    background: var(--cream-deep);
    box-shadow: var(--shadow-md);
}

.about-intent-media {
    height: 700px;
}

.about-intent-media img,
.about-leadership-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-intent-content {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 1rem;
    min-height: 700px;
}

.about-section-kicker h2,
.about-section-header h2 {
    max-width: 15ch;
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 3.7rem);
}

.about-intent-content .about-section-kicker h2 {
    max-width: 15.5ch;
    font-size: clamp(2.3rem, 3.8vw, 3.45rem);
    line-height: .98;
}

.about-belief-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-self: stretch;
}

.about-belief-grid article,
.about-body-copy,
.about-value-grid article,
.about-timeline-list article,
.about-people-table,
.about-advisory-grid article {
    border: 1px solid rgba(31, 41, 36, .1);
    background: rgba(255, 253, 248, .92);
    box-shadow: var(--shadow-sm);
}

.about-belief-grid article {
    min-height: 0;
    padding: 1.35rem;
    border-radius: 22px;
}

.about-belief-grid span {
    display: block;
    margin-bottom: .8rem;
    color: var(--green);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-belief-grid p,
.about-body-copy p,
.about-value-grid p,
.about-timeline-list p,
.about-people-table p,
.about-advisory-grid p {
    margin: 0;
    color: var(--charcoal-soft);
}

.about-body-copy {
    display: grid;
    gap: .85rem;
    padding: 1.45rem;
    border-radius: 22px;
}

.about-redesign-values {
    color: var(--white);
    background:
        radial-gradient(circle at top right, rgba(243, 182, 62, .13), transparent 18rem),
        linear-gradient(145deg, #244f42 0%, #2e624f 100%);
}

.about-redesign-values .eyebrow,
.about-redesign-values h2 {
    color: var(--white);
}

.about-section-header {
    display: grid;
    max-width: 760px;
    gap: .25rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.about-section-header-wide {
    max-width: 900px;
}

.about-section-header-wide h2 {
    max-width: 18ch;
}

.about-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.about-value-grid article {
    min-height: 260px;
    padding: 1.45rem;
    border-color: rgba(255, 255, 255, .14);
    border-radius: 22px;
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
}

.about-value-grid small {
    display: block;
    margin-bottom: 1rem;
    color: #f9d785;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-value-grid h3,
.about-value-grid p {
    color: var(--white);
}

.about-value-grid p {
    color: rgba(255, 255, 255, .76);
}

.about-redesign-timeline {
    background: var(--cream);
}

.about-timeline-list {
    display: grid;
    border-top: 1px solid rgba(31, 41, 36, .14);
}

.about-timeline-list article {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
    padding: 1.65rem 0;
    border: 0;
    border-bottom: 1px solid rgba(31, 41, 36, .14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.about-timeline-list strong {
    color: var(--green);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1;
}

.about-timeline-list h3 {
    max-width: 30ch;
    margin-bottom: .55rem;
}

.about-redesign-leadership {
    background: var(--white);
}

.about-leadership-media {
    height: 390px;
    margin-bottom: 2rem;
}

.about-people-table {
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.about-people-table article {
    display: grid;
    grid-template-columns: minmax(260px, .38fr) minmax(0, .62fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid rgba(31, 41, 36, .1);
}

.about-people-table article:last-child {
    border-bottom: 0;
}

.about-person-identity {
    display: grid;
    gap: .3rem;
}

.about-person-identity small {
    color: var(--green);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-person-identity h3 {
    margin: 0;
}

.about-person-identity span {
    color: var(--green-deep);
    font-size: .94rem;
    font-weight: 800;
}

.about-people-table article > p {
    max-width: 58ch;
    padding-left: clamp(1rem, 3vw, 2rem);
    border-left: 1px solid rgba(31, 41, 36, .12);
    font-weight: 600;
    line-height: 1.65;
}

.about-advisory-block {
    margin-top: clamp(3rem, 5vw, 4.5rem);
}

.about-advisory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.about-advisory-grid article {
    min-height: 150px;
    padding: 1.35rem;
    border-radius: 22px;
}

.about-advisory-grid h3 {
    margin-bottom: .5rem;
}

@media (max-width: 991.98px) {
    .about-hero-grid,
    .about-intent-grid {
        grid-template-columns: 1fr;
    }

    .about-hero-proof {
        max-width: 520px;
    }

    .about-intent-media,
    .about-leadership-media {
        height: clamp(340px, 62vw, 520px);
    }

    .about-intent-content {
        min-height: 0;
        grid-template-rows: auto;
    }

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

@media (max-width: 767.98px) {
    .about-rail {
        width: min(calc(100% - 1.5rem), 1120px);
    }

    .about-redesign-hero {
        min-height: 560px;
        padding: calc(var(--header-height) + 3.6rem) 0 3.5rem;
    }

    .about-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2.8rem, 12vw, 4rem);
    }

    .about-redesign-section {
        padding: 4rem 0;
    }

    .about-section-kicker h2,
    .about-section-header h2 {
        max-width: 100%;
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    .about-belief-grid,
    .about-value-grid,
    .about-advisory-grid {
        grid-template-columns: 1fr;
    }

    .about-intent-media,
    .about-leadership-media {
        height: clamp(300px, 78vw, 380px);
    }

    .about-belief-grid article,
    .about-body-copy,
    .about-value-grid article,
    .about-advisory-grid article {
        min-height: 0;
        padding: 1.15rem;
    }

    .about-timeline-list article {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: 1.35rem 0;
    }

    .about-people-table article {
        grid-template-columns: 1fr;
        gap: .9rem;
        padding: 1.25rem;
    }

    .about-people-table article > p {
        padding-left: 0;
        border-left: 0;
    }
}
