:root {
    --ink: #123638;
    --ink-deep: #062f32;
    --teal: #07888b;
    --teal-bright: #12a9a9;
    --teal-light: #dff4f1;
    --paper: #f6f4ec;
    --white: #fff;
    --sand: #eae5d8;
    --muted: #607374;
    --line: rgba(18, 54, 56, .15);
    --radius: 28px;
    --shadow: 0 28px 80px rgba(7, 64, 67, .12);
    --container: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.03; letter-spacing: -.045em; }
h1 { font-size: clamp(3.4rem, 7vw, 7.6rem); font-weight: 600; }
h2 { font-size: clamp(2.5rem, 4.6vw, 5.1rem); font-weight: 580; }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
h1 em, h2 em { color: var(--teal); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; }
.container { width: var(--container); margin-inline: auto; }
.narrow { max-width: 850px; }
.section { padding: clamp(78px, 9vw, 140px) 0; }
.skip-link { position: fixed; z-index: 999; top: 10px; left: 10px; padding: 12px 18px; background: var(--white); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; z-index: 50; top: 0; background: rgba(246, 244, 236, .88); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: border-color .25s, background .25s; }
.site-header.scrolled { border-bottom-color: var(--line); background: rgba(246, 244, 236, .96); }
.header-inner { display: flex; min-height: 90px; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: 205px; }
.brand-mark { position: relative; display: flex; width: 43px; height: 43px; align-items: center; justify-content: center; gap: 3px; border: 2px solid var(--teal); border-radius: 50%; transform: rotate(-12deg); }
.brand-mark i { display: block; width: 4px; height: 17px; border-radius: 3px; background: var(--teal); }
.brand-mark i:nth-child(2) { height: 27px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.03; }
.brand-copy b { font-size: 20px; letter-spacing: -.04em; text-transform: uppercase; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: clamp(15px, 1.8vw, 29px); font-size: 14px; font-weight: 650; }
.site-nav > a:not(.button) { position: relative; padding-block: 10px; }
.site-nav > a:not(.button)::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 1px; background: var(--teal); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.site-nav > a:hover::after, .site-nav > a.active::after { transform: scaleX(1); transform-origin: left; }
.nav-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 0; border-radius: 50%; color: var(--ink); background: var(--white); }
.nav-toggle span { display: block; height: 2px; margin: 4px 0; background: currentColor; }
.nav-toggle em { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); }

.button { display: inline-flex; min-height: 56px; align-items: center; justify-content: center; gap: 30px; padding: 13px 24px; border: 1px solid var(--teal); border-radius: 999px; color: var(--white); background: var(--teal); font-size: 14px; font-weight: 750; transition: transform .2s, color .2s, background .2s; }
.button:hover { transform: translateY(-2px); background: var(--ink-deep); border-color: var(--ink-deep); }
.button-small { min-height: 45px; gap: 14px; padding: 10px 21px; }
.button-ghost { color: var(--ink); background: transparent; border-color: var(--line); }
.button-ghost:hover, .button-outline:hover { color: var(--white); }
.button-outline { color: var(--ink); background: transparent; border-color: var(--ink); }
.button-white { color: var(--teal); background: var(--white); border-color: var(--white); }
.button-white:hover { color: var(--white); }
.eyebrow { margin-bottom: 25px; color: var(--teal); font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 27px; height: 1px; margin-right: 8px; vertical-align: middle; background: currentColor; }
.text-link, .inline-arrow { display: inline-flex; align-items: center; gap: 15px; font-size: 14px; font-weight: 800; }
.text-link span, .inline-arrow span { transition: transform .2s; }
.text-link:hover span, .inline-arrow:hover span { transform: translateX(5px); }

.hero { overflow: hidden; padding: clamp(55px, 7vw, 105px) 0 105px; }
.hero-grid { display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: clamp(38px, 6vw, 90px); }
.hero h1 { margin-bottom: 34px; }
.hero-lead { max-width: 620px; color: var(--muted); font-size: clamp(1.1rem, 1.5vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.hero-note { display: flex; align-items: center; gap: 13px; margin-top: 48px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.hero-note i { width: 9px; height: 9px; border: 2px solid var(--teal); border-radius: 50%; box-shadow: 0 0 0 6px rgba(7, 136, 139, .12); }
.hero-visual { position: relative; padding: 0 25px 35px 0; }
.hero-visual > img { position: relative; z-index: 2; width: 100%; height: min(68vw, 660px); border-radius: 46% 46% 28px 28px; object-fit: cover; object-position: center; box-shadow: var(--shadow); }
.hero-visual::before { position: absolute; z-index: 1; inset: 9% 0 1% 8%; border-radius: 48% 48% 35px 35px; background: var(--teal-light); content: ""; transform: rotate(5deg); }
.hero-badge { position: absolute; z-index: 3; right: -15px; bottom: 0; display: flex; width: 215px; height: 130px; align-items: center; gap: 14px; padding: 22px; border-radius: 22px; color: var(--white); background: var(--ink-deep); box-shadow: var(--shadow); }
.hero-badge strong { color: #64dad4; font-family: Georgia, serif; font-size: 50px; font-weight: 400; line-height: 1; }
.hero-badge span { font-size: 11px; line-height: 1.35; }
.hero-orbit { position: absolute; z-index: 3; top: 8%; left: -26px; width: 55px; height: 55px; border: 1px solid var(--teal); border-radius: 50%; }
.hero-orbit::before, .hero-orbit::after { position: absolute; top: 50%; left: 50%; border-radius: 50%; background: var(--teal); content: ""; transform: translate(-50%, -50%); }
.hero-orbit::before { width: 7px; height: 7px; }.hero-orbit::after { width: 1px; height: 84px; background: rgba(7, 136, 139, .35); transform: translate(-50%, -50%) rotate(36deg); }

.impact-strip { border-block: 1px solid var(--line); }
.impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.impact-grid > div { display: flex; min-height: 148px; align-items: center; gap: 14px; padding: 27px 30px; border-right: 1px solid var(--line); }
.impact-grid > div:first-child { border-left: 1px solid var(--line); }
.impact-grid strong { color: var(--teal); font-family: Georgia, serif; font-size: clamp(2.7rem, 4vw, 4.2rem); font-weight: 400; }
.impact-grid span { max-width: 125px; color: var(--muted); font-size: 12px; line-height: 1.35; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 60px; }
.section-head h2 { margin-bottom: 0; }
.section-head > p, .section-head > div + p { max-width: 410px; margin-bottom: 10px; color: var(--muted); font-size: 17px; }
.section-head.compact { align-items: center; }.section-head.compact h2 { font-size: clamp(2.8rem, 4vw, 4.4rem); }
.fund-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.full-grid { grid-template-columns: repeat(3, 1fr); }
.fund-card { overflow: hidden; border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 45px rgba(7, 64, 67, .06); transition: transform .3s, box-shadow .3s; }
.fund-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.fund-card-image { position: relative; overflow: hidden; aspect-ratio: 1.15; background: var(--teal-light); }
.fund-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.fund-card:hover .fund-card-image img { transform: scale(1.035); }
.fund-card-image > span { position: absolute; top: 18px; left: 18px; padding: 8px 12px; border-radius: 999px; color: var(--teal); background: rgba(255, 255, 255, .94); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.fund-card-body { padding: 26px; }
.card-kicker { margin-bottom: 12px; color: var(--teal); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fund-card h3 { margin-bottom: 14px; font-size: 1.7rem; }.fund-card-body > p:not(.card-kicker) { min-height: 74px; color: var(--muted); font-size: 14px; }
.progress { overflow: hidden; height: 5px; margin: 24px 0 9px; border-radius: 10px; background: var(--sand); }.progress i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.fund-meta { display: flex; justify-content: space-between; margin-bottom: 22px; color: var(--muted); font-size: 12px; }.fund-meta strong { color: var(--ink); }
.center-action { display: flex; justify-content: center; margin-top: 50px; }

.section-projects { color: var(--white); background: var(--ink-deep); }
.section-projects h2 em, .section-projects .eyebrow { color: #63d7d1; }.section-head.light > p { color: rgba(255, 255, 255, .65); }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.project-card { overflow: hidden; border: 1px solid rgba(255, 255, 255, .13); border-radius: var(--radius); background: rgba(255, 255, 255, .04); }
.project-card-image { overflow: hidden; height: 270px; }.project-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); transition: transform .5s; }.project-card:hover img { transform: scale(1.045); }
.project-card-body { position: relative; min-height: 280px; padding: 33px; }.project-card-body > span { position: absolute; top: 33px; right: 33px; color: #61d5cf; font-family: Georgia, serif; font-size: 30px; }
.project-card h3 { max-width: 250px; margin-bottom: 24px; font-size: 2rem; }.project-card p { color: rgba(255, 255, 255, .62); font-size: 14px; }
.light-link { margin-top: 45px; color: var(--white); }

.mission-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(50px, 9vw, 135px); }
.mission-image { position: relative; }.mission-image img { width: 100%; height: 650px; border-radius: 28px 160px 28px 28px; object-fit: cover; }.mission-image span { position: absolute; right: -35px; bottom: 35px; width: 158px; height: 158px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--white); background: var(--teal); font-family: Georgia, serif; font-size: 20px; line-height: 1.12; text-align: center; transform: rotate(7deg); }
.mission-copy h2 { margin-bottom: 35px; }.large-copy { color: var(--ink); font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.6; }.mission-copy > p:not(.eyebrow) { max-width: 590px; }.mission-copy .button { margin-top: 25px; }
.news-section { padding-top: 50px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.news-card { overflow: hidden; border-radius: var(--radius); background: var(--white); }
.news-card-image { display: block; overflow: hidden; height: 270px; background: var(--teal-light); }.news-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }.news-card:hover img { transform: scale(1.04); }
.news-card-body { padding: 26px; }.news-card time { color: var(--teal); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.news-card h3 { margin: 14px 0; font-size: 1.55rem; line-height: 1.12; }.news-card h3 a:hover { color: var(--teal); }.news-card p { display: -webkit-box; overflow: hidden; min-height: 66px; color: var(--muted); font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.final-cta { padding-top: 40px; }.cta-card { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 70px; padding: clamp(45px, 7vw, 90px); border-radius: 38px; color: var(--white); background: var(--teal); }.cta-card .eyebrow, .cta-card h2 em { color: #bdf4ee; }.cta-card h2 { margin-bottom: 0; }.cta-card > div:last-child p { max-width: 450px; color: rgba(255,255,255,.8); font-size: 18px; }.cta-card .button { margin-top: 22px; }

.page-hero { padding: clamp(75px, 9vw, 135px) 0; }
.page-hero-grid, .help-hero-grid { display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 80px; }.page-hero h1 { margin-bottom: 28px; font-size: clamp(3.5rem, 6.5vw, 7.2rem); }.page-hero p:not(.eyebrow) { max-width: 650px; color: var(--muted); font-size: 19px; }
.page-hero-image img, .help-hero-image img { width: 100%; height: 550px; border-radius: 200px 28px 28px 28px; object-fit: cover; }
.simple-hero { border-bottom: 1px solid var(--line); }.simple-hero .container { position: relative; }.simple-hero .container::after { position: absolute; right: 3%; bottom: -40px; width: 125px; height: 125px; border: 1px solid var(--teal); border-radius: 50%; content: ""; opacity: .55; }.simple-hero p:not(.eyebrow) { max-width: 570px; }
.story-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.prose { color: #334f50; font-size: 17px; line-height: 1.78; }.prose p { margin-bottom: 1.25em; }.prose a { color: var(--teal); text-decoration: underline; }.prose blockquote { margin: 45px 0 0; padding: 35px 0 35px 35px; border-left: 3px solid var(--teal); color: var(--ink); font-family: Georgia, serif; font-size: 30px; line-height: 1.35; }
.geography { color: var(--white); background: var(--ink-deep); }.geography-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 110px; }.geography .eyebrow, .geography h2 em { color: #62d8d2; }.geography p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.geo-art { position: relative; display: flex; width: min(480px, 100%); aspect-ratio: 1; align-items: center; justify-content: center; border: 1px solid rgba(95, 214, 208, .32); border-radius: 50%; }.geo-art::before, .geo-art::after { position: absolute; inset: 12%; border: 1px solid rgba(95,214,208,.25); border-radius: 50%; content: ""; }.geo-art::after { inset: 28%; }.geo-art span { z-index: 2; color: #65dcd6; font-family: Georgia, serif; font-size: 100px; }.geo-art i { position: absolute; width: 12px; height: 12px; border: 3px solid #65dcd6; border-radius: 50%; background: var(--ink-deep); }.geo-art i:nth-of-type(1){top:7%;left:50%}.geo-art i:nth-of-type(2){top:28%;right:8%}.geo-art i:nth-of-type(3){right:14%;bottom:19%}.geo-art i:nth-of-type(4){bottom:10%;left:28%}.geo-art i:nth-of-type(5){top:35%;left:4%}
.process-list { margin: 0; padding: 0; list-style: none; }.process-list li { display: grid; grid-template-columns: 100px 1fr; gap: 35px; padding: 35px 0; border-top: 1px solid var(--line); }.process-list li:last-child { border-bottom: 1px solid var(--line); }.process-list > li > span { color: var(--teal); font-family: Georgia, serif; font-size: 32px; }.process-list h3 { margin-bottom: 10px; font-size: 2rem; }.process-list p { max-width: 850px; margin: 0; color: var(--muted); }.process-list a { color: var(--teal); text-decoration: underline; }
.documents-section, .requisites-section { background: var(--sand); }.documents-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }.documents-grid > div:first-child > p:not(.eyebrow) { color: var(--muted); }.document-list { border-top: 1px solid var(--line); }.document-list a { display: grid; grid-template-columns: 48px 1fr 30px; align-items: center; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--line); transition: color .2s; }.document-list a:hover { color: var(--teal); }.document-list span { color: var(--teal); font-size: 10px; font-weight: 800; }.document-list b { font-size: 15px; }.document-list i { font-style: normal; }

.project-detail { display: grid; grid-template-columns: 65px .9fr 1fr; align-items: center; gap: clamp(35px, 6vw, 90px); padding: 80px 0; border-bottom: 1px solid var(--line); }.project-detail:first-child { padding-top: 0; }.project-detail-number { align-self: start; color: var(--teal); font-family: Georgia, serif; font-size: 38px; }.project-detail-image img { width: 100%; height: 470px; border-radius: 24px 110px 24px 24px; object-fit: cover; }.project-detail:nth-child(even) .project-detail-image img { border-radius: 110px 24px 24px 24px; }.project-detail h2 { margin-bottom: 25px; font-size: clamp(2.5rem,4vw,4.4rem); }.project-detail .text-link { margin-top: 18px; color: var(--teal); }
.note-section { padding-top: 0; }.note-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 45px; padding: 45px 55px; border: 1px solid var(--line); border-radius: var(--radius); }.note-card > strong { color: var(--teal); font-family: Georgia, serif; font-size: 60px; }.note-card h2 { margin: 0; font-size: 2rem; }.note-card p { margin: 5px 0 0; color: var(--muted); }

.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 55px 24px; }.person-image { overflow: hidden; display: flex; aspect-ratio: .9; align-items: center; justify-content: center; margin-bottom: 22px; border-radius: 20px 90px 20px 20px; background: var(--teal-light); }.person-image img { width: 100%; height: 100%; object-fit: cover; }.person-image span { color: var(--teal); font-family: Georgia, serif; font-size: 90px; }.person-card > p { margin-bottom: 10px; color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.person-card h3 { margin-bottom: 14px; font-size: 1.7rem; }.person-card > div:last-child { color: var(--muted); font-size: 14px; }.partners-section { background: var(--white); }.partner-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.partner-grid a { position: relative; display: flex; aspect-ratio: 1.5; align-items: center; justify-content: center; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.partner-grid img { max-width: 85%; max-height: 65%; }.partner-grid span { position: absolute; top: 12px; right: 14px; color: var(--teal); font-size: 11px; opacity: 0; transition: opacity .2s; }.partner-grid a:hover span { opacity: 1; }
.gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px 50px; }.gallery-item { margin: 0; }.gallery-item:nth-child(even) { margin-top: 100px; }.gallery-item > div { overflow: hidden; background: var(--white); padding: 18px; box-shadow: var(--shadow); transform: rotate(-1deg); }.gallery-item:nth-child(even) > div { transform: rotate(1.2deg); }.gallery-item img { width: 100%; height: 610px; object-fit: contain; }.gallery-item figcaption { display: grid; grid-template-columns: 50px 1fr; margin-top: 26px; }.gallery-item figcaption span { grid-row: 1 / 3; color: var(--teal); font-family: Georgia, serif; font-size: 26px; }.gallery-item h2 { margin-bottom: 5px; font-size: 2rem; }.gallery-item p { color: var(--muted); }.gallery-quote { color: var(--white); background: var(--teal); }.gallery-quote blockquote { max-width: 1000px; margin: 0 auto; font-family: Georgia, serif; font-size: clamp(2.4rem,5vw,5.5rem); line-height: 1.08; text-align: center; }

.archive-grid { row-gap: 50px; }.pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 70px; padding-top: 28px; border-top: 1px solid var(--line); font-size: 13px; }.pagination a { color: var(--teal); font-weight: 800; }.pagination span { color: #9ba7a7; }.pagination b { font-weight: 600; }
.article-header { padding: 90px 0 55px; text-align: center; }.article-header .back-link { display: block; margin-bottom: 45px; color: var(--teal); font-size: 13px; font-weight: 800; }.article-header time { color: var(--teal); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.article-header h1 { margin: 22px 0 28px; font-size: clamp(2.8rem,5vw,5.8rem); }.article-header p { max-width: 720px; margin-inline: auto; color: var(--muted); font-size: 20px; }.article-cover img { width: 100%; max-height: 740px; border-radius: 32px; object-fit: cover; }.article-body { padding-block: 60px 80px; }.article-body p:first-child { color: var(--ink); font-size: 21px; }.article-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding-bottom: 110px; }.article-gallery a { overflow: hidden; border-radius: 18px; }.article-gallery img { width: 100%; height: 420px; object-fit: cover; transition: transform .3s; }.article-gallery a:hover img { transform: scale(1.025); }.related-news { border-top: 1px solid var(--line); }

.help-hero { padding-bottom: 80px; }.help-hero-image img { height: 500px; }.trust-line { display: inline-flex; align-items: center; gap: 10px; margin-top: 25px; color: var(--muted); font-size: 13px; }.trust-line span { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%; color: var(--white); background: var(--teal); }.donate-section { background: var(--ink-deep); color: var(--white); }.donate-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 90px; }.donate-section .eyebrow, .donate-section h2 em { color: #65ddd7; }.donate-section > p { color: rgba(255,255,255,.65); }.check-list { margin: 30px 0 0; padding: 0; list-style: none; }.check-list li { margin: 13px 0; color: rgba(255,255,255,.72); }.check-list li::before { margin-right: 10px; color: #67ddd7; content: "✓"; }.donation-widget-card { min-height: 510px; padding: 25px; border-radius: var(--radius); color: var(--ink); background: var(--white); }.widget-loading { padding: 30px; color: var(--muted); text-align: center; }.targeted-list { border-top: 1px solid var(--line); }.targeted-list article { display: grid; grid-template-columns: 115px 1fr auto; align-items: center; gap: 28px; padding: 22px 0; border-bottom: 1px solid var(--line); }.targeted-list img { width: 115px; height: 95px; border-radius: 14px; object-fit: cover; }.targeted-list p { margin-bottom: 5px; color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.targeted-list h3 { margin-bottom: 7px; font-size: 1.55rem; }.targeted-list div span { color: var(--muted); font-size: 12px; }

.site-footer { padding: 80px 0 25px; color: rgba(255,255,255,.67); background: #04282a; }.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 50px; }.brand-footer { margin-bottom: 25px; color: var(--white); }.brand-footer .brand-mark { border-color: #55d2cc; }.brand-footer .brand-mark i { background: #55d2cc; }.brand-footer .brand-copy small { color: rgba(255,255,255,.55); }.footer-grid p { font-size: 14px; }.footer-grid h2 { margin-bottom: 22px; color: var(--white); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; }.footer-grid > div:not(:first-child) a { margin-bottom: 12px; font-size: 13px; }.footer-grid a:hover { color: #64dad4; }.footer-contacts a:first-of-type { color: var(--white); font-size: 18px !important; font-weight: 700; }.footer-bottom { display: flex; justify-content: space-between; margin-top: 65px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; }

@media (max-width: 1050px) {
    :root { --container: min(100% - 36px, 960px); }
    .nav-toggle { display: block; }
    .site-nav { position: fixed; inset: 89px 0 auto; display: flex; visibility: hidden; height: calc(100vh - 89px); flex-direction: column; align-items: flex-start; gap: 0; padding: 25px 28px 50px; background: var(--paper); opacity: 0; transform: translateY(-10px); transition: opacity .2s, transform .2s, visibility .2s; }
    .site-nav.open { visibility: visible; opacity: 1; transform: none; }
    .site-nav > a:not(.button) { width: 100%; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 21px; }
    .site-nav .button { width: 100%; margin-top: 25px; }
    .hero-grid { grid-template-columns: 1fr 1fr; }.hero h1 { font-size: clamp(3.4rem, 7vw, 5rem); }
    .fund-grid, .full-grid { grid-template-columns: repeat(2, 1fr); }.project-grid { grid-template-columns: 1fr; }.project-card { display: grid; grid-template-columns: .8fr 1.2fr; }.project-card-image { height: auto; }.project-card-body { min-height: 240px; }
    .mission-image img { height: 520px; }.team-grid { grid-template-columns: repeat(2, 1fr); }.partner-grid { grid-template-columns: repeat(4, 1fr); }
    .page-hero-grid, .help-hero-grid { gap: 35px; }.documents-grid { gap: 50px; }.project-detail { grid-template-columns: 45px .85fr 1fr; gap: 30px; }
}

@media (max-width: 760px) {
    :root { --container: calc(100vw - 30px); --radius: 22px; }
    .header-inner { min-height: 76px; }.site-nav { top: 75px; height: calc(100vh - 75px); }.brand { min-width: auto; }.brand-mark { width: 38px; height: 38px; }.brand-copy b { font-size: 17px; }
    .section { padding: 76px 0; }.eyebrow { margin-bottom: 17px; }
    .hero { padding-top: 45px; }.hero-grid, .mission-grid, .page-hero-grid, .help-hero-grid, .story-grid, .geography-grid, .documents-grid, .donate-grid, .cta-card { grid-template-columns: 1fr; }.hero h1 { font-size: clamp(3.2rem, 15vw, 5.2rem); }.hero-actions .button { width: 100%; }.hero-note { margin-top: 28px; }.hero-visual { padding: 0 8px 35px 0; }.hero-visual > img { height: 520px; }.hero-badge { right: 0; width: 190px; height: 110px; }.hero-orbit { display: none; }
    .impact-grid { grid-template-columns: 1fr 1fr; }.impact-grid > div { min-height: 110px; padding: 18px; border-bottom: 1px solid var(--line); }.impact-grid strong { font-size: 2.8rem; }
    .section-head { display: block; margin-bottom: 38px; }.section-head > p, .section-head > div + p { margin-top: 24px; }.fund-grid, .full-grid, .news-grid { grid-template-columns: 1fr; }.fund-card-body > p:not(.card-kicker) { min-height: auto; }.center-action .button { width: 100%; }
    .project-card { display: block; }.project-card-image { height: 245px; }.project-card-body { min-height: 260px; }
    .mission-grid { gap: 65px; }.mission-image img { height: 500px; }.mission-image span { right: 5px; width: 130px; height: 130px; font-size: 17px; }
    .news-section { padding-top: 20px; }.news-card-image { height: 255px; }.cta-card { gap: 30px; padding: 42px 26px; }.cta-card .button { width: 100%; }
    .page-hero { padding: 65px 0; }.page-hero h1 { font-size: clamp(3rem,14vw,5rem); }.page-hero-image img, .help-hero-image img { height: 430px; margin-top: 10px; }.simple-hero .container::after { display: none; }
    .story-grid, .geography-grid { gap: 45px; }.geo-art { margin-inline: auto; }.geo-art span { font-size: 75px; }.prose blockquote { padding-left: 22px; font-size: 24px; }
    .process-list li { grid-template-columns: 52px 1fr; gap: 12px; }.process-list h3 { font-size: 1.5rem; }
    .documents-grid { gap: 35px; }.document-list a { grid-template-columns: 38px 1fr 20px; gap: 12px; }
    .project-detail { grid-template-columns: 1fr; gap: 25px; padding: 55px 0; }.project-detail-number { font-size: 28px; }.project-detail-image img { height: 390px; }.note-card { grid-template-columns: 1fr; gap: 15px; padding: 35px 25px; }.note-card .button { width: 100%; }
    .team-grid { grid-template-columns: 1fr; }.partner-grid { grid-template-columns: repeat(2, 1fr); }.gallery-grid { grid-template-columns: 1fr; gap: 65px; }.gallery-item:nth-child(even) { margin-top: 0; }.gallery-item img { height: 480px; }
    .article-header { padding-top: 60px; }.article-cover { width: 100%; }.article-cover img { border-radius: 0; }.article-body { padding-inline: 5px; }.article-gallery { grid-template-columns: 1fr; }.article-gallery img { height: 320px; }.pagination b { display: none; }
    .donate-grid { gap: 45px; }.donation-widget-card { min-height: 450px; padding: 10px; }.targeted-list article { grid-template-columns: 82px 1fr; gap: 15px; }.targeted-list img { width: 82px; height: 82px; }.targeted-list article .button { grid-column: 1 / -1; width: 100%; }
    .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { gap: 20px; flex-direction: column; }
}

@media (max-width: 430px) {
    .brand-copy small { display: none; }.hero-visual > img { height: 440px; }.impact-grid { grid-template-columns: 1fr; }.impact-grid > div { border-left: 1px solid var(--line); }.fund-card-image { aspect-ratio: 1; }.page-hero-image img, .help-hero-image img { height: 370px; }.gallery-item img { height: 400px; }.footer-grid { grid-template-columns: 1fr; }.footer-grid > div:first-child { grid-column: auto; }
}

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