.page-shell.donate-page { width: 100vw; max-width: none; margin: 0; padding: 0; }
.donate-hero { position: relative; isolation: isolate; display: flex; width: 100%; min-height: clamp(650px, 80vh, 860px); align-items: center; overflow: hidden; background: var(--green-950) var(--donate-hero-image) center 42% / cover no-repeat; color: #fff; }
.donate-hero__shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgb(3 24 18 / 94%) 0%, rgb(5 38 28 / 82%) 42%, rgb(4 32 24 / 27%) 75%, rgb(0 0 0 / 12%) 100%); }
.donate-hero__dots { position: absolute; z-index: -1; top: 35px; left: 30px; width: 180px; height: 125px; opacity: .55; background-image: radial-gradient(circle, var(--gold-light) 2px, transparent 2.4px); background-size: 21px 21px; mask-image: linear-gradient(135deg, #000, transparent 80%); }
.donate-hero__inner { width: min(100% - 40px, 1500px); margin: 0 auto; padding: 90px 0 125px; }
.donate-hero__eyebrow { display: flex; align-items: center; gap: 13px; margin: 0 0 24px; color: var(--gold-light); font-size: .78rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.donate-hero__eyebrow span { width: 42px; height: 2px; background: var(--gold); }
.donate-hero h1 { max-width: 890px; margin: 0; color: #fff !important; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(4rem, 7.4vw, 7.8rem); letter-spacing: -.055em; line-height: .91; text-wrap: balance; }
.donate-hero h1 em { display: block; color: var(--gold-light); font-weight: inherit; }
.donate-hero__summary { max-width: 680px; margin: 31px 0 0; color: rgb(255 255 255 / 85%); font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.72; }
.donate-hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.donate-hero__actions .button { min-height: 56px; padding-inline: 29px; }
.donate-hero__actions > p { max-width: 245px; margin: 0; color: rgb(255 255 255 / 68%); font-size: .76rem; line-height: 1.45; }
.donate-hero__actions strong { display: block; color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; }
.donate-hero__caption { position: absolute; right: clamp(20px, 4vw, 75px); bottom: 0; display: grid; min-width: 310px; padding: 24px 31px; background: var(--gold); color: var(--green-950); }
.donate-hero__caption span { font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.donate-hero__caption strong { margin-top: 4px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }
.donate-intro { width: 100%; padding: clamp(85px, 9vw, 140px) 0; background: #fbf7ee; }
.donate-intro__inner { max-width: 900px; text-align: center; }
.donate-intro__kicker { color: #9b762b; font-size: .74rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.donate-intro h2 { margin: 14px 0 0; color: var(--green-950); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: 1.04; }
.donate-intro__text { margin-top: 24px; color: #61706b; font-size: 1.05rem; line-height: 1.75; }
.donation-details { width: 100%; padding: clamp(70px, 8vw, 120px) clamp(16px, 4vw, 72px); background: #17382f; }
.donate-page--methods-only .donation-details { min-height: calc(100vh - 92px); display: flex; align-items: center; }
.donation-details__inner { width: 100%; max-width: none; margin: 0 auto; padding: 14px; border: 1px solid rgb(255 255 255 / 28%); border-radius: 28px; }
.donation-panel { padding: clamp(30px, 5vw, 76px); border-radius: 19px; background: #fff; color: var(--green-950); }
.donation-panel__header { margin-bottom: 39px; }
.donation-panel__header p, .giving-reasons__heading > p { margin: 0 0 9px; color: #9b762b; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.donation-panel h2 { display: inline-block; margin: 0; border-bottom: 4px solid var(--gold); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.giving-methods { width: 100%; }
.giving-methods__tabs { display: flex; align-items: flex-end; gap: 0; padding-left: clamp(10px, 3vw, 42px); }
.giving-methods__tab { min-height: 58px; padding: 15px clamp(18px, 2.8vw, 34px); border: 0; background: #e7ecea; color: #5f6f69; font: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease; }
.giving-methods__tab:first-child { border-radius: 10px 0 0 0; }
.giving-methods__tab:last-child { border-radius: 0 10px 0 0; }
.giving-methods__tab:hover, .giving-methods__tab:focus-visible { background: #dce5e1; color: var(--green-900); outline: 0; }
.giving-methods__tab.is-active { background: #31b755; color: #fff; }
.giving-methods__body { padding: clamp(30px, 5vw, 66px); border-radius: 20px; background: #fff; color: var(--green-950); box-shadow: 0 22px 50px rgb(5 32 25 / 18%); }
.giving-methods__header { margin-bottom: clamp(30px, 4vw, 50px); }
.giving-methods__header > p { margin: 0 0 9px; color: #9b762b; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.giving-methods__header h2 { display: inline-block; margin: 0; border-bottom: 4px solid var(--gold); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.giving-methods__panel[hidden] { display: none; }
.giving-methods__panel h3 { margin: 0 0 22px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.giving-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 52px); min-height: 270px; padding: clamp(28px, 4vw, 52px); border: 1px solid #d9e0de; border-radius: 14px; background: linear-gradient(135deg, #f7f9f8, #eef7f1); }
.giving-card__icon { display: grid; width: clamp(82px, 10vw, 120px); height: clamp(82px, 10vw, 120px); place-items: center; border-radius: 50%; background: var(--green-800); box-shadow: 0 14px 30px rgb(19 87 67 / 22%); color: #fff; font-size: clamp(2rem, 4vw, 3rem); }
.giving-card__content h3 { margin-bottom: 10px; }
.giving-card__content > p { max-width: 680px; margin: 0; color: #617069; line-height: 1.7; }
.giving-card__button { display: inline-flex; margin-top: 25px; }
.giving-card p.giving-card__pending { display: inline-block; margin-top: 23px; padding: 13px 17px; border-left: 4px solid var(--gold); background: #fff; font-weight: 700; }
.giving-card p.giving-card__security { margin-top: 18px; font-size: .78rem; }
.giving-card__security span { color: #31b755; }
.mobile-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.mobile-channel { display: flex; min-height: 300px; align-items: center; flex-direction: column; justify-content: flex-start; padding: clamp(25px, 3vw, 38px) clamp(18px, 2.5vw, 28px); border: 1px solid #d9e0de; border-radius: 14px; background: #f7f9f8; text-align: center; }
.mobile-channel__icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 17px; border-radius: 50%; color: #fff; font-size: 1.15rem; }
.mobile-channel--mtn .mobile-channel__icon { background: #ffcb05; color: #161b19; }
.mobile-channel--airtel .mobile-channel__icon { background: #ed1c24; }
.mobile-channel h4 { margin: 0 0 5px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; }
.mobile-channel > p { margin: 0; color: #65736e; font-size: .9rem; }
.mobile-channel__number { display: flex; width: 100%; min-height: 68px; align-items: center; justify-content: center; gap: 10px; margin: 23px 0 15px; padding: 12px; border: 1px dashed #31b755; border-radius: 9px; background: #eaf8ed; color: #28ad4d; font: inherit; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.mobile-channel__number strong { font-size: clamp(1.25rem, 2.2vw, 1.8rem); letter-spacing: .05em; }
.mobile-channel__number:hover, .mobile-channel__number:focus-visible { outline: 0; background: #daf2e0; transform: translateY(-2px); }
.mobile-channel p.mobile-channel__name { margin-top: auto; color: var(--green-950); font-weight: 800; }
.mobile-channel__name span { margin-right: 5px; color: #31b755; }
.mobile-channel p.mobile-channel__unavailable { width: 100%; margin: 23px 0 0; padding: 18px; border: 1px dashed #bfcac6; border-radius: 9px; background: #fff; }
.mobile-channels__note { display: flex; align-items: flex-start; gap: 10px; margin-top: 25px; color: #596862; font-size: .85rem; }
.mobile-channels__note > span { color: #31b755; font-weight: 800; }
.mobile-channels__note p { margin: 0; line-height: 1.65; }
.giving-details { margin: 0; }
.giving-details > div { display: grid; grid-template-columns: minmax(160px, .65fr) minmax(0, 1fr); gap: 24px; padding: 18px 16px; border-bottom: 1px solid #d8e0dd; }
.giving-details dt { font-weight: 800; }
.giving-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.giving-details__copy-value { display: flex; align-items: center; gap: 12px; color: #21a548; }
.giving-details__copy-value button { padding: 5px 9px; border: 1px solid #b9d8c2; border-radius: 5px; background: #f3fbf5; color: #16863a; font: inherit; font-size: .7rem; font-weight: 800; cursor: pointer; }
.giving-details__copy-value button:hover, .giving-details__copy-value button:focus-visible { border-color: #31b755; outline: 0; background: #31b755; color: #fff; }
.giving-methods__instructions, .giving-methods__empty { margin: 24px 0 0; color: #617069; line-height: 1.7; }
.giving-methods__empty { padding: 20px; border-left: 4px solid var(--gold); background: #f7f9f8; }
.giving-methods__empty a, .giving-methods__notice a { color: #21a548; font-weight: 700; }
.giving-methods__notice { display: flex; align-items: flex-start; gap: 12px; margin-top: 28px; padding-top: 23px; border-top: 1px solid #d8e0dd; color: #617069; font-size: .83rem; }
.giving-methods__notice > span { color: #31b755; font-size: 1.25rem; line-height: 1.2; }
.giving-methods__notice p { margin: 0; line-height: 1.65; }
.giving-methods__notice a { margin-left: .25em; }
.donation-form fieldset { margin: 0; padding: 0; border: 0; }
.donation-form legend, .donation-form label > span { display: block; margin-bottom: 9px; color: #243d35; font-size: .78rem; font-weight: 700; }
.donation-amounts { display: flex; flex-wrap: wrap; gap: 10px; }
.donation-amounts label { cursor: pointer; }
.donation-amounts label > input[type='radio'] { position: absolute; opacity: 0; }
.donation-amounts label > span { display: block; margin: 0; padding: 11px 17px; border: 1px solid #c9d3cf; border-radius: 30px; transition: .2s ease; }
.donation-amounts label > input:checked + span { border-color: var(--green-800); background: var(--green-800); color: #fff; }
.donation-amounts__custom { display: flex; min-height: 47px; align-items: center; overflow: hidden; border: 1px solid #c9d3cf; border-radius: 30px; background: #fbfcfb; }
.donation-amounts label.donation-amounts__custom > span { flex: 0 0 auto; margin: 0; padding: 0 7px 0 17px; border: 0; border-radius: 0; background: transparent; color: #243d35; line-height: 1.2; }
.donation-amounts__custom input[type='number'] { width: 150px; min-height: 45px; padding: 8px 16px 8px 8px; border: 0 !important; outline: 0; background: transparent; }
.donation-recurring { display: inline-flex; width: auto; align-items: center; gap: 11px; margin: 25px 0 31px; cursor: pointer; }
.donation-recurring input[type='checkbox'] { width: 20px; height: 20px; min-width: 20px; margin: 0; border: 1px solid #8da098; border-radius: 3px; accent-color: var(--green-800); cursor: pointer; }
.donation-recurring span { margin: 0 !important; }
.donation-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 30px; }
.donation-form__grid label { display: block; min-width: 0; }
.donation-form__grid input, .donation-form__grid textarea { display: block; width: 100%; border: 1px solid #cfd9d5; border-radius: 5px; background: #fbfcfb; color: var(--green-950); font: inherit; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.donation-form__grid input { min-height: 56px; padding: 13px 16px; }
.donation-form__grid textarea { min-height: 122px; padding: 14px 16px; }
.donation-form textarea { resize: vertical; }
.donation-form__grid input:hover, .donation-form__grid textarea:hover { border-color: #aebdb7; background: #fff; }
.donation-form__grid input:focus, .donation-form__grid textarea:focus { border-color: var(--green-700); outline: 0; background: #fff; box-shadow: 0 0 0 3px rgb(21 123 93 / 12%); }
.donation-form__footer { display: flex; align-items: center; gap: 25px; margin-top: 33px; }
.donation-form__footer p { max-width: 430px; margin: 0; color: #73807b; font-size: .76rem; line-height: 1.5; }
.giving-reasons { width: 100%; padding: clamp(85px, 9vw, 145px) clamp(18px, 4vw, 72px); background: #fbf7ee; }
.giving-reasons__inner { width: 100%; max-width: none; }
.giving-reasons__heading { max-width: 800px; margin: 0 auto 52px; text-align: center; }
.giving-reasons__heading h2 { margin: 0; color: var(--green-950); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.5rem, 4.6vw, 4.6rem); line-height: 1.04; }
.giving-reasons__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 38px); }
.giving-reason { overflow: hidden; background: #fff; box-shadow: 0 16px 45px rgb(15 52 42 / 9%); }
.giving-reason img { display: block; width: 100%; height: clamp(260px, 27vw, 430px); object-fit: cover; }
.giving-reason > div { position: relative; padding: 29px 28px 34px; }
.giving-reason span { position: absolute; top: 28px; right: 27px; color: rgb(13 53 43 / 20%); font-size: .78rem; font-weight: 800; }
.giving-reason h3 { margin: 0; color: var(--green-950); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }
.giving-reason p { color: #68756f; line-height: 1.65; }
.giving-impact { position: relative; isolation: isolate; display: grid; min-height: 650px; place-items: center; overflow: hidden; padding: 90px 20px; background: url('/site/assets/files/pictures/unnamed%20%2815%29.webp') center / cover no-repeat; color: #fff; text-align: center; }
.giving-impact__shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(rgb(4 31 23 / 80%), rgb(4 31 23 / 93%)); }
.giving-impact__inner { max-width: 920px; }
.giving-impact__inner > p:first-child { margin: 0; color: var(--gold-light); font-size: .75rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.giving-impact strong { display: block; margin: 4px 0 12px; color: var(--gold); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(5rem, 11vw, 10rem); line-height: .9; }
.giving-impact h2 { margin: 0; color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1.03; }
.giving-impact h2 + p { max-width: 720px; margin: 24px auto 31px; color: rgb(255 255 255 / 76%); font-size: 1.03rem; line-height: 1.72; }
@media (max-width: 760px) {
	.donate-hero { min-height: 720px; background-position: 58% center; }
	.donate-hero__shade { background: linear-gradient(90deg, rgb(3 24 18 / 94%), rgb(4 35 26 / 74%)); }
	.donate-hero__inner { width: calc(100% - 30px); padding: 70px 0 145px; }
	.donate-hero h1 { font-size: clamp(3.3rem, 15vw, 5.2rem); }
	.donate-hero__actions { align-items: flex-start; flex-direction: column; gap: 19px; }
	.donate-hero__caption { right: 14px; left: 14px; min-width: 0; }
	.donation-details { padding-inline: 10px; }
	.donation-details__inner { padding: 7px; border-radius: 18px; }
	.donation-panel { border-radius: 13px; }
	.giving-methods__tabs { padding-left: 0; }
	.giving-methods__tab { flex: 1; min-width: 0; padding-inline: 10px; font-size: .69rem; }
	.giving-methods__body { border-radius: 14px; }
	.giving-card { grid-template-columns: 1fr; text-align: center; }
	.giving-card__icon { margin-inline: auto; }
	.giving-card__content > p { margin-inline: auto; }
	.mobile-channels { grid-template-columns: 1fr; }
	.mobile-channel { min-height: 280px; }
	.giving-details > div { grid-template-columns: 1fr; gap: 7px; padding-inline: 0; }
	.giving-details__copy-value { align-items: flex-start; flex-wrap: wrap; }
	.donation-form__grid, .giving-reasons__grid { grid-template-columns: 1fr; }
	.donation-form__footer { align-items: flex-start; flex-direction: column; }
	.donation-amounts__custom { width: 100%; }
	.donation-amounts__custom input { flex: 1; }
}
