:root {
  --page-max-width: 1520px;
  --content-max-width: 1380px;
  --reading-max-width: 720px;
  --page-gutter: clamp(20px, 4vw, 72px);
  --section-space: clamp(64px, 7vw, 104px);
  --surface: #ffffff;
  --background: #fff9f6;
  --primary: #b5475a;
  --primary-hover: #9f3e4f;
  --primary-soft: #fbecef;
  --text: #202936;
  --text-secondary: #667085;
  --accent: #c58b48;
  --success: #2f7d4a;
  --border: #e9e2de;
  --footer: #754852;
  --card-radius: 18px;
  --card-padding: clamp(24px, 3vw, 36px);
  --card-shadow: 0 10px 30px rgba(32, 41, 54, .07);
  --focus: 0 0 0 3px rgba(181, 71, 90, .24);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--text); background: var(--background); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; }
main { width: 100%; padding: 0 !important; }
img, video { display: block; max-width: 100%; }
a { text-decoration: none; }
button, input, textarea { font: inherit; }
button, .btn { min-height: 48px; }
:focus-visible { outline: none; box-shadow: var(--focus); }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 10px 14px; border-radius: 10px; color: #fff; background: var(--primary); transform: translateY(-160%); transition: transform 150ms ease; }
.skip-link:focus { transform: translateY(0); }
.orb { display: none; }

/* Navigation */
header { position: sticky; top: 0; z-index: 90; width: 100%; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid transparent; background: rgba(255, 249, 246, .9); backdrop-filter: blur(14px); transition: box-shadow 180ms ease, border-color 180ms ease; }
header.is-scrolled { border-color: var(--border); box-shadow: 0 3px 18px rgba(32, 41, 54, .05); }
.topbar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2))); min-height: 72px; margin: 0 auto; padding: 10px 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; color: var(--text); }
.brand-mark { width: 46px; height: 46px; flex: 0 0 46px; }
.brand h1 { margin: 0; color: var(--text); font-family: Inter, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.brand .muted { margin-top: -2px; color: var(--text-secondary) !important; font-size: 11px !important; letter-spacing: .02em; }
nav { justify-self: center; }
#primary-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
#primary-menu a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 10px; color: #505a67; font-size: 14px; font-weight: 600; transition: color 150ms ease, background 150ms ease; }
#primary-menu a:hover, #primary-menu a.is-active, #primary-menu a.relief-nav-link { color: var(--primary) !important; background: var(--primary-soft) !important; }
.cta-row { display: flex; gap: 8px; align-items: center; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 18px; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: var(--surface); box-shadow: none; font-family: Inter, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.btn:hover { border-color: #dcc4c9; box-shadow: var(--card-shadow); transform: translateY(-1px); }
.btn--primary, .btn--light { border-color: var(--primary); color: #fff !important; background: var(--primary) !important; }
.btn--primary:hover, .btn--light:hover { border-color: var(--primary-hover); background: var(--primary-hover) !important; }
.btn--outline { color: var(--primary) !important; border-color: #e5cbd1 !important; background: #fff !important; }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; padding: 8px; border: 0; color: var(--text); background: transparent; font-size: 24px; line-height: 1; cursor: pointer; }

/* Shared content grid and campaign */
main > section, .trust-strip { scroll-margin-top: 96px; }
.assam-relief { width: min(var(--page-max-width), calc(100% - (var(--page-gutter) * 2))); margin: 32px auto 0; padding: clamp(28px, 4vw, 56px); border: 1px solid var(--border); border-radius: 22px; background: linear-gradient(135deg, #fff9f6 0%, #fff 65%, #fcf2f3 100%); box-shadow: var(--card-shadow); }
.assam-relief::before, .assam-relief::after { display: none; }
.assam-relief__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.assam-relief__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; color: #923d4c; background: var(--primary-soft); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.assam-relief__badge::before { width: 8px; height: 8px; background: var(--primary); box-shadow: 0 0 0 4px rgba(181, 71, 90, .12); }
.assam-relief h2 { max-width: 800px; margin: 16px 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(38px, 4vw, 64px); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; }
.assam-relief > .assam-relief__grid > div > p { max-width: var(--reading-max-width); margin: 0; color: var(--text-secondary); font-size: clamp(16px, 1.3vw, 18px); line-height: 1.7; }
.campaign-progress { max-width: var(--reading-max-width); margin-top: 28px; padding: 24px; border: 1px solid var(--border); border-radius: var(--card-radius); background: var(--surface); }
.campaign-progress__header { display: flex; justify-content: space-between; gap: 24px; }
.campaign-progress__label { margin-bottom: 5px; color: var(--text-secondary); font-family: Inter, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.campaign-progress strong { color: var(--text); font-family: Inter, sans-serif; font-size: 21px; font-weight: 700; }
.campaign-progress__track { height: 9px; margin: 18px 0 11px; background: #f1e8e7; }
.campaign-progress__bar { background: #c96a6a; }
.campaign-progress__footer { color: var(--text-secondary); font-family: Inter, sans-serif; font-size: 13px; }
.campaign-progress__footer b { color: var(--success); }
.assam-relief__actions { gap: 12px; margin-top: 24px; }
.assam-relief__panel { padding: var(--card-padding); border: 1px solid var(--border); border-radius: var(--card-radius); color: var(--text); background: var(--surface); box-shadow: none; }
.assam-relief__panel h3 { color: var(--text); font-family: Inter, sans-serif; font-size: 17px; font-weight: 700; }
.assam-relief__list li { color: var(--text-secondary); font-size: 14px; }
.assam-relief__list li strong { color: var(--text); }
.assam-relief__list span { color: var(--primary); background: var(--primary-soft); }
.trust-strip { display: grid; grid-template-columns: repeat(5, 1fr); width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2))); margin: 0 auto; padding: 24px 0; gap: 12px; border-bottom: 1px solid var(--border); color: var(--text-secondary); font-size: 13px; font-weight: 600; }
.trust-strip span { justify-content: center; }
.trust-strip b { color: var(--success); background: #edf7f0; }

/* Foundation, journey, and all retained sections share a consistent rhythm. */
.hero, main > section.py-8, #donate, #feedback, #reels, #team, #programs { width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2))); margin-left: auto !important; margin-right: auto !important; }
.hero { margin-top: 0 !important; padding: var(--section-space) 0 !important; }
.hero-wrapper { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(32px, 5vw, 72px) !important; align-items: center !important; max-width: none !important; }
.hero-content { grid-column: span 6; max-width: none !important; }
.hero-slideshow { grid-column: span 6; max-width: none !important; }
.hero .title, .section-head h2, h2.mono { color: var(--text); font-family: "Playfair Display", Georgia, serif; letter-spacing: -.035em; }
.hero .title { max-width: 720px; margin: 10px 0 16px; font-size: clamp(38px, 4vw, 58px); line-height: 1.12; }
.hero .title strong { color: var(--primary); background: none; }
.hero .lead { max-width: var(--reading-max-width); color: var(--text-secondary); font-size: 16px; line-height: 1.7; }
.hero .slideshow { height: clamp(300px, 34vw, 470px); margin: 0 !important; border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.hero .slide img { width: 100%; height: 100%; object-fit: cover; }
.stats { grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; }
.stat { padding: 18px 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: none; }
.stat:hover { transform: translateY(-3px); box-shadow: var(--card-shadow); }
.stat .num { color: var(--primary); }
main > section.py-8 { display: block; margin-bottom: 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid var(--border); border-radius: var(--card-radius) !important; background: #fffaf8 !important; box-shadow: var(--card-shadow) !important; }
main > section.py-8 > div { gap: clamp(24px, 4vw, 48px) !important; }
main > section.py-8 h2 { color: var(--text) !important; font-family: "Playfair Display", Georgia, serif; }
main > section.py-8 p { color: var(--text-secondary) !important; }
main > section.py-8 a button { min-height: 48px; border-radius: 12px !important; background: var(--primary) !important; }

#donate, #feedback, #reels, #team, #programs { margin-top: 0 !important; padding-top: var(--section-space) !important; }
.section-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(280px, 4fr); align-items: end; gap: 24px; margin-bottom: 32px; }
.section-head h2 { margin: 0; font-size: clamp(34px, 3.5vw, 52px); line-height: 1.14; }
.section-head p { max-width: 580px; margin: 0; color: var(--text-secondary); font-size: 16px; line-height: 1.65; }
.donate-wrap { grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: 32px; }
.donate-card, .impact-box, .feedback, .feedback-form-card, .member, .impact-card { padding: var(--card-padding); border: 1px solid var(--border); border-radius: var(--card-radius); background: var(--surface); box-shadow: var(--card-shadow); }
.donate-card::before { display: none; }
.donate-label { color: var(--text); font-family: Inter, sans-serif; font-size: 21px; }
.amount-grid { gap: 10px; }
.amount-btn { min-height: 48px; min-width: 84px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: none; }
.amount-btn:hover { transform: translateY(-1px); box-shadow: var(--card-shadow); }
.amount-btn.active { border-color: var(--primary); background: var(--primary); box-shadow: none; }
.custom-input input, .feedback-form input, .feedback-form textarea, .subscribe-form input { min-height: 48px; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: #fff; font-size: 16px; }
.custom-input input:focus, .feedback-form input:focus, .feedback-form textarea:focus, .subscribe-form input:focus { border-color: var(--primary); box-shadow: var(--focus); }
.donate-actions { display: grid; grid-template-columns: 1fr auto; align-items: center; }
.donate-actions #donateNow { grid-column: 1 / -1; width: 100%; }
.badge { color: #745943; background: #fff5e9; }
.donation-assurances { padding-top: 4px; color: var(--text-secondary); }
.feedbacks { gap: 18px; }
.feedback { min-height: 100%; }
.feedback:hover, .member:hover, .impact-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(32, 41, 54, .1); }
.feedback-form-card { margin-top: 20px; }
.reels-grid { gap: 18px; }
.reel { border: 1px solid var(--border); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.reel video { height: min(460px, 43vw); }
.team-main-img { border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.cards-carousel { overflow-x: auto; padding: 4px 2px 18px; }
.cards-track { width: max-content; animation: none; }
.impact-card { width: 300px; min-height: 100%; padding: 0 0 24px; overflow: hidden; }
.card-img { height: 210px; }
.impact-card h3, .impact-card p { padding-left: 20px; padding-right: 20px; }
.fund-stats { padding: 0 20px; }
.donate-btn { min-width: 150px; min-height: 44px; margin-top: auto; border-radius: 12px; background: var(--primary); }
.progress-bar { height: 8px; background: #f1e8e7; }
.progress { background: #c96a6a; }
main > section:last-child { margin-bottom: var(--section-space); }

/* Footer */
.footer { margin-top: 0; padding: 64px var(--page-gutter) 24px; background: var(--footer); }
.footer-content { max-width: var(--content-max-width); gap: 48px; }
.footer-logo { display: inline-block; width: 250px; margin-bottom: 14px; }
.footer-logo img { width: 100%; height: auto; }
.footer-tagline, .footer-contact, .subscribe-text { color: #f5e8e9; }
.footer-contact a, .footer-links a { color: #fff8f3; }
.footer-col h3::after { background: #f0b9c1; }
.btn-subscribe { min-height: 48px; border-radius: 12px; background: #fff; color: var(--primary); }
.footer-bottom { max-width: var(--content-max-width); margin-left: auto; margin-right: auto; }

@media (max-width: 1100px) {
  .topbar { grid-template-columns: auto auto 1fr; }
  nav { justify-self: start; margin-left: 20px; }
  #primary-menu { gap: 0; }
  #primary-menu a { padding: 8px 9px; }
  .hero-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-content, .hero-slideshow { grid-column: auto; }
}
@media (max-width: 920px) {
  .assam-relief__grid, .donate-wrap { grid-template-columns: 1fr; }
  .assam-relief__panel { max-width: none; }
}
@media (max-width: 820px) {
  .topbar { grid-template-columns: auto 1fr auto; min-height: 68px; }
  nav { justify-self: end; margin: 0; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  #primary-menu { position: absolute; top: calc(100% + 8px); right: var(--page-gutter); display: none; flex-direction: column; align-items: stretch; width: min(300px, calc(100vw - (var(--page-gutter) * 2))); padding: 10px; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: var(--card-shadow); }
  #primary-menu.is-open { display: flex; }
  #primary-menu a { width: 100%; padding: 11px 12px; }
  .cta-row { margin-left: 10px; }
  .hero-wrapper { grid-template-columns: 1fr; }
  .section-head { grid-template-columns: 1fr; align-items: start; }
  .trust-strip { grid-template-columns: repeat(3, 1fr); }
  .reels-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  html { scroll-padding-top: 76px; }
  .topbar { min-height: 64px; }
  .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .brand h1 { font-size: 15px; white-space: nowrap; }
  .brand .muted { max-width: 165px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .cta-row .btn--ghost { display: none; }
  .cta-row .btn { min-height: 40px; padding: 8px 13px; font-size: 13px; }
  .menu-toggle { min-width: 40px; min-height: 40px; }
  .assam-relief { width: min(var(--page-max-width), calc(100% - 28px)); margin-top: 20px; padding: 28px 22px; border-radius: 18px; }
  .assam-relief h2 { font-size: 38px; }
  .campaign-progress { padding: 20px; }
  .campaign-progress__header, .campaign-progress__footer { flex-direction: column; gap: 9px; }
  .campaign-progress__raised { text-align: left; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); width: min(var(--content-max-width), calc(100% - 28px)); }
  .trust-strip span { justify-content: flex-start; }
  .hero, main > section.py-8, #donate, #feedback, #reels, #team, #programs { width: min(var(--content-max-width), calc(100% - 28px)); }
  .hero { padding: 64px 0 !important; }
  .hero .title { font-size: 38px; }
  .stats { grid-template-columns: repeat(2, 1fr) !important; }
  .stats .stat { padding: 14px 8px; }
  main > section.py-8 > div { flex-direction: column; }
  #donate, #feedback, #reels, #team, #programs { padding-top: 72px !important; }
  .donate-actions { grid-template-columns: 1fr; }
  .donate-actions .badge { justify-self: start; }
  .donation-assurances { grid-template-columns: 1fr 1fr; }
  .feedbacks, .reels-grid { grid-template-columns: 1fr; }
  .reel video { height: auto; }
  .cards-carousel { overflow: visible; padding-bottom: 0; }
  .cards-track { width: 100%; flex-direction: column; }
  .impact-card { width: 100%; min-height: 0; }
  .footer { padding: 52px 20px 24px; }
  .footer-logo { width: 220px; }
}

/* ===== PART 2: CAMPAIGN, FOUNDATION, AND FOOTER REFINEMENT ===== */
.assam-relief {
  width: 100%;
  margin: 0;
  padding: clamp(48px, 6vw, 88px) var(--page-gutter);
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: linear-gradient(115deg, #fff8f5 0%, #fff 54%, #fcf0f2 100%);
  box-shadow: none;
}
.assam-relief__grid {
  width: min(var(--content-max-width), 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
}
.assam-relief__badge { color: var(--primary); background: var(--primary-soft); }
.assam-relief h2 { max-width: 760px; margin: 16px 0 18px; font-size: clamp(40px, 4.3vw, 64px); }
.assam-relief > .assam-relief__grid > div > p { max-width: 720px; color: #56616e; font-size: clamp(16px, 1.25vw, 18px); }
.assam-relief__emphasis { margin-top: 14px !important; color: var(--text) !important; font-family: "Playfair Display", Georgia, serif; font-size: clamp(18px, 1.5vw, 22px) !important; font-weight: 600; line-height: 1.45 !important; }
.campaign-progress { max-width: 720px; margin-top: 28px; padding: 24px 26px; box-shadow: var(--card-shadow); }
.campaign-progress__raised strong { display: block; max-width: 210px; color: var(--text-secondary); font-size: 14px; line-height: 1.35; }
.campaign-progress__footer { align-items: center; }
.assam-relief__side { min-width: 0; }
.assam-carousel { overflow: hidden; border: 1px solid var(--border); border-radius: var(--card-radius); background: var(--surface); box-shadow: var(--card-shadow); }
.assam-carousel__viewport { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #f9eeef; }
.assam-carousel__slide { position: absolute; inset: 0; display: grid; grid-template-rows: minmax(0, 1fr) 76px; min-height: 0; margin: 0; opacity: 0; pointer-events: none; transition: opacity 520ms ease; }
.assam-carousel__slide.is-active { opacity: 1; pointer-events: auto; }
.assam-carousel__slide img { width: 100%; height: 100%; object-fit: cover; }
.assam-carousel__placeholder { display: grid; place-content: center; gap: 10px; padding: 36px; color: #84646b; background: linear-gradient(135deg, #f8e9eb, #fff8f5); text-align: center; }
.assam-carousel__placeholder::before { content: "M"; display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 4px; border: 1px solid #dca9b2; border-radius: 18px; color: var(--primary); font-family: "Playfair Display", Georgia, serif; font-size: 27px; font-weight: 700; }
.assam-carousel__placeholder span { color: var(--primary); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.assam-carousel__placeholder p { max-width: 290px; margin: 0; color: #84646b !important; font-size: 14px; }
.assam-carousel figcaption { display: grid; gap: 3px; min-height: 0; height: 76px; padding: 12px 16px; overflow: hidden; border-top: 1px solid var(--border); color: var(--text-secondary); background: rgba(255,255,255,.96); font-size: 12px; }
.assam-carousel figcaption strong { color: var(--text); font-size: 13px; line-height: 1.35; }
.assam-carousel figcaption span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.assam-carousel__controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid var(--border); }
.assam-carousel__button { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--border); border-radius: 10px; color: var(--primary); background: #fff; font-size: 18px; cursor: pointer; transition: background 160ms ease, transform 160ms ease; }
.assam-carousel__button:hover { background: var(--primary-soft); transform: translateY(-1px); }
.assam-carousel__dots { display: flex; justify-content: center; gap: 7px; }
.assam-carousel__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #dfcdd1; cursor: pointer; transition: width 180ms ease, background 180ms ease; }
.assam-carousel__dot[aria-current="true"] { width: 24px; background: var(--primary); }
.assam-relief__panel { margin-top: 16px; padding: 22px 24px; box-shadow: none; }
.assam-relief__panel h3 { margin-bottom: 16px; }
.assam-relief__list { gap: 14px; }
.relief-updates { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); gap: 32px; align-items: center; width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2))); margin: 0 auto; padding: 32px 0; border-bottom: 1px solid var(--border); }
.relief-updates__eyebrow { color: var(--primary); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.relief-updates h2 { margin: 5px 0 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(25px, 2.5vw, 36px); line-height: 1.2; }
.relief-updates p { margin: 0; color: var(--text-secondary); font-size: 14px; }
.relief-updates p strong { color: var(--primary); }

/* Foundation introduction: content and imagery have equal visual weight. */
#foundation.hero { padding: clamp(72px, 8vw, 116px) 0 !important; }
#foundation .hero-wrapper { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(36px, 5.5vw, 88px) !important; }
#foundation .hero-content, #foundation .hero-slideshow { grid-column: auto; }
#foundation .hero-content { display: flex; flex-direction: column; align-items: flex-start; width: auto !important; max-width: none !important; min-width: 0; }
#foundation .kicker { margin-bottom: 12px; color: var(--primary) !important; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
#foundation .title { max-width: 650px; margin: 0 0 18px; font-size: clamp(42px, 4.5vw, 68px); line-height: 1.05; }
#foundation .lead { max-width: 670px; margin-bottom: 24px; font-size: 17px; line-height: 1.72; }
#foundation .hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
#foundation .foundation-secondary { color: var(--primary); border-color: #e8cdd2; background: #fff; }
#foundation .foundation-secondary:hover { background: var(--primary-soft); }
#foundation .hero-slideshow { width: auto !important; min-width: 0; max-width: none !important; }
#foundation .slideshow { width: 100% !important; height: auto !important; aspect-ratio: 5 / 4; border: 1px solid var(--border); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
#foundation .slide, #foundation .slide img { width: 100%; height: 100%; }
#foundation .slide img { object-fit: cover; }
#foundation .slideshow-dots { bottom: 16px; left: 50%; transform: translateX(-50%); }
#foundation .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; width: 100%; margin-top: 32px; gap: 12px !important; }
#foundation .stat { display: flex; flex-direction: column; justify-content: center; min-height: 130px; padding: 18px 12px; background: #fffdfb; text-align: left; }
#foundation .stat .num { color: var(--primary); font-size: clamp(21px, 2vw, 28px); font-weight: 700; line-height: 1.15; }
#foundation .stat .lbl { max-width: 105px; margin-top: 7px; color: var(--text-secondary); font-size: 12px; font-weight: 600; line-height: 1.3; }
#foundation .stat:nth-child(1) { transition-delay: 40ms; }
#foundation .stat:nth-child(2) { transition-delay: 100ms; }
#foundation .stat:nth-child(3) { transition-delay: 160ms; }
#foundation .stat:nth-child(4) { transition-delay: 220ms; }

/* Journey feature and footer use the same wide content rhythm. */
main > section.py-8 { width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2))); margin-bottom: 0 !important; }
main > section.py-8 .journey-content { display: grid !important; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); align-items: center; gap: clamp(28px, 4vw, 64px) !important; min-height: 0; padding: clamp(24px, 3.5vw, 48px); }
main > section.py-8 .journey-content > div { width: 100% !important; }
main > section.py-8 .journey-content > div:last-child { text-align: left !important; }
main > section.py-8 .journey-content img { width: 100%; max-height: 440px; border-radius: 14px; object-fit: contain; }
main > section.py-8 .journey-content h2 { margin: 0 0 12px; font-size: clamp(30px, 3vw, 44px); }
main > section.py-8 .journey-content p { max-width: 480px; font-size: 16px; }
main > section.py-8 .journey-content a button { margin-top: 6px; }

.footer { border-top: 1px solid rgba(255,255,255,.14); background: #5e3741; }
.footer-content { display: grid; grid-template-columns: minmax(230px, 1.25fr) repeat(3, minmax(170px, 1fr)); gap: clamp(32px, 4vw, 64px); }
.footer-col { min-width: 0; }
.footer-logo { width: min(250px, 100%); }
.footer-tagline { max-width: 340px; }
.footer-col h3 { margin-bottom: 16px; font-size: 16px; }
.footer-links { display: grid; gap: 8px; }
.footer-links li { margin: 0; }
.footer-links a, .footer-placeholder { color: #f8edef; font-size: 14px; }
.footer-links a:hover { color: #fff; text-decoration: underline; }
.footer-placeholder { opacity: .64; }
.subscribe-form { display: grid; gap: 10px; }
.subscribe-form input { margin: 0; border: 1px solid transparent; }
.btn-subscribe { width: auto; min-height: 48px; border: 0; background: #fff9f6; color: #7a3947; }
.footer-bottom { color: #f2dfe2; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 920px) {
  .assam-relief__grid, #foundation .hero-wrapper { grid-template-columns: 1fr; }
  .assam-relief__side { width: min(650px, 100%); }
  .relief-updates { grid-template-columns: 1fr; gap: 12px; }
  #foundation .hero-slideshow { order: 2; }
  main > section.py-8 .journey-content { grid-template-columns: 1fr; }
  main > section.py-8 .journey-content > div:last-child { text-align: center !important; }
  main > section.py-8 .journey-content p { margin-left: auto; margin-right: auto; }
  .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .assam-relief { padding: 44px 20px 48px; }
  .assam-relief__grid { gap: 30px; }
  .assam-relief h2 { font-size: 40px; }
  .campaign-progress { padding: 20px; }
  .campaign-progress__header { flex-direction: column; gap: 12px; }
  .campaign-progress__raised { text-align: left; }
  .assam-relief__actions, #foundation .hero-cta { display: grid; width: 100%; grid-template-columns: 1fr; }
  .assam-relief__actions .btn, #foundation .hero-cta .btn { width: 100%; }
  .relief-updates { width: min(var(--content-max-width), calc(100% - 40px)); padding: 28px 0; }
  #foundation .title { font-size: 43px; }
  #foundation .stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #foundation .stat { min-height: 118px; }
  main > section.py-8 .journey-content { padding: 24px; }
  .footer-content { grid-template-columns: 1fr; gap: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* ===== PART 3: VERIFIED RELIEF, RESPONSIVE CAMPAIGN, AND CAUSE MARQUEE ===== */
#assam-relief.assam-relief {
  max-width: none;
  overflow: visible;
  padding: clamp(48px, 6vw, 88px) var(--page-gutter);
}
#assam-relief .assam-relief__grid {
  width: min(100%, 1440px);
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: clamp(48px, 4.6vw, 72px);
  align-items: start;
}
#assam-relief .assam-relief__content,
#assam-relief .assam-relief__grid > div:first-child { min-width: 0; }
#assam-relief .assam-relief__side { width: 100%; min-width: 0; }
#assam-relief h2 { max-width: 780px; }
.assam-relief__contribution {
  max-width: 640px !important;
  margin-top: 18px !important;
  color: var(--text) !important;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.55 !important;
}
.campaign-progress { position: relative; overflow: hidden; min-height: 177px; }
.campaign-progress__raised strong { max-width: 250px; }
.campaign-progress__footer b { max-width: 410px; color: var(--text-secondary); font-weight: 600; }
.campaign-progress--verified-shine::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, transparent 36%, rgba(255,255,255,.85) 50%, transparent 64%);
  animation: campaign-shine 1050ms ease-out 1;
}
@keyframes campaign-shine { from { transform: translateX(-115%); } to { transform: translateX(115%); } }
.assam-carousel { overflow: hidden; }
.assam-carousel__viewport { width: 100%; min-width: 0; max-width: 100%; min-height: 420px; aspect-ratio: 4 / 3; }
.assam-carousel__slide { grid-template-rows: minmax(0, 1fr) 96px; transition-duration: 600ms; }
.assam-carousel figcaption { height: 96px; padding: 10px 15px; line-height: 1.28; }
.assam-carousel figcaption span,
.assam-carousel figcaption a { color: var(--text-secondary); }
.assam-carousel figcaption a { color: var(--primary); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.assam-carousel figcaption span { display: block; }
.relief-updates {
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  min-height: 150px;
  margin-top: 24px;
  margin-bottom: 0;
  padding: 22px 28px;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  background: #fffdfb;
}
.relief-updates h2 { max-width: 720px; font-size: clamp(22px, 2.1vw, 30px); }
.relief-updates p { align-self: center; }
.relief-updates p strong { display: inline-block; margin-bottom: 4px; color: var(--primary); }

/* Foundation hero: a balanced 52/48 split and a stable photographic frame. */
#foundation.hero { padding: clamp(72px, 7vw, 108px) 0 !important; }
#foundation .hero-wrapper {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: start !important;
  gap: clamp(36px, 4vw, 68px) !important;
}
#foundation .title { max-width: 690px; font-size: clamp(44px, 4.2vw, 66px); }
#foundation .hero-slideshow { align-self: start; }
#foundation .slideshow { aspect-ratio: 4 / 3; }

/* Honest contribution guidance in place of static impact claims. */
.impact-guidance { padding: clamp(24px, 3vw, 32px) !important; }
.impact-guidance__eyebrow { margin: 0 0 6px; color: var(--primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.impact-guidance h4 { margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: 25px; line-height: 1.2; }
.impact-guidance ul { display: grid; gap: 10px; margin: 18px 0 0 !important; padding: 0 !important; list-style: none; }
.impact-guidance li { position: relative; padding-left: 22px; }
.impact-guidance li::before { position: absolute; left: 0; color: var(--primary); content: "✓"; font-weight: 700; }
.impact-guidance__why { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border); }
.impact-guidance__why p { margin: 6px 0 0; }
.impact-guidance__trust { display: grid; gap: 8px; margin-top: 20px; padding: 15px; border-radius: 12px; color: var(--text-secondary); background: #fff7f2; font-size: 12px; font-weight: 600; }

/* Causes retain their cards while gently moving at a manual-interaction-friendly pace. */
#programs .cards-carousel { display: flex; gap: 18px; overflow-x: auto; padding: 4px 2px 16px; scroll-behavior: auto; scrollbar-width: thin; cursor: grab; touch-action: pan-y; }
#programs .cards-carousel:active { cursor: grabbing; }
#programs .cards-track { display: flex; flex: 0 0 auto; flex-direction: row; gap: 18px; width: max-content; }
#programs .cards-track--duplicate { pointer-events: auto; }
#programs .impact-card { display: flex; flex: 0 0 300px; width: 300px; flex-direction: column; }
.causes-marquee__controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.causes-marquee__button { display: inline-grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: 10px; color: var(--primary); background: #fff; font-size: 20px; cursor: pointer; }
.causes-marquee__button:hover { background: var(--primary-soft); }

/* Shiksha follows Support Causes as a distinct, warm call to action. */
.shiksha-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2)));
  margin: clamp(56px, 7vw, 96px) auto 0;
  padding: clamp(30px, 5vw, 56px);
  border: 1px solid #eedbd4;
  border-radius: var(--card-radius);
  background: linear-gradient(115deg, #fff0e5, #fffaf4 56%, #fcecee);
}
.shiksha-cta__eyebrow { margin: 0 0 8px; color: var(--primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.shiksha-cta h3 { max-width: 690px; margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(28px, 3vw, 42px); line-height: 1.15; }
.shiksha-cta > div > p:last-child { max-width: 620px; margin: 12px 0 0; color: var(--text-secondary); }
.shiksha-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }
.shiksha-cta__secondary { color: var(--primary); border-color: #e7cbd0; background: #fff; }

@media (min-width: 1200px) {
  #assam-relief .assam-relief__grid { grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); }
}
@media (max-width: 1020px) {
  #assam-relief .assam-relief__grid { grid-template-columns: 1fr; }
  #assam-relief .assam-relief__side { width: min(650px, 100%); }
}
@media (max-width: 920px) {
  #foundation .hero-wrapper { grid-template-columns: 1fr; }
  #foundation .hero-slideshow { order: 2; }
  .relief-updates { grid-template-columns: 1fr; gap: 8px; }
  .shiksha-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 820px) {
  #programs .cards-carousel { overflow-x: auto; }
  #programs .cards-track { flex-direction: row; width: max-content; }
  #programs .impact-card { flex-basis: min(82vw, 300px); width: min(82vw, 300px); }
}
@media (max-width: 620px) {
  #assam-relief.assam-relief { padding: 44px 20px 48px; }
  .assam-carousel__viewport { min-height: 0; }
  .assam-carousel__slide { grid-template-rows: minmax(0, 1fr) 104px; }
  .assam-carousel figcaption { height: 104px; }
  #foundation .title { font-size: clamp(38px, 11vw, 52px); }
  .campaign-progress { min-height: 220px; }
  .relief-updates { min-height: 0; padding: 22px; }
  .shiksha-cta { width: min(var(--content-max-width), calc(100% - 40px)); }
  .shiksha-cta__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .shiksha-cta__actions .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .campaign-progress--verified-shine::after { animation: none; }
  #programs .cards-carousel { scroll-behavior: auto; }
}

/* ===== PART 4A: DONATION CAUSES, MODALS, AND NAVIGATION ===== */
#primary-menu a.relief-nav-link { color: #505a67 !important; background: transparent !important; }
#primary-menu a.is-active { color: var(--primary) !important; background: var(--primary-soft) !important; }
.mobile-volunteer-item { display: none; }
.nav-modal-trigger { width: 100%; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 10px; color: #505a67; background: transparent; font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; }
.nav-modal-trigger:hover { color: var(--primary); background: var(--primary-soft); }

/* Keep both donation columns naturally aligned from their first content line. */
#donate .donate-wrap { align-items: start; }
#donate .donate-card, #donate .impact-guidance { align-self: start; min-height: 0; height: auto; }
#donate .impact-guidance {
  display: block;
  padding: clamp(28px, 3vw, 36px) !important;
  overflow: visible;
  background: #fffdfb;
  box-shadow: var(--card-shadow);
  text-align: left;
}
#donate .impact-guidance__eyebrow { margin-bottom: 8px; }
#donate .impact-guidance h4 { margin-bottom: 12px; }
#donate .impact-guidance__intro { margin: 0; color: var(--text-secondary); font-size: 15px; line-height: 1.65; }
#donate .impact-guidance ul { gap: 11px; margin-top: 22px !important; }
#donate .impact-guidance__why { margin-top: 24px; padding-top: 22px; }
#donate .impact-guidance__why strong { display: block; margin-bottom: 7px; color: var(--text); }
#donate .impact-guidance__trust { grid-template-columns: 1fr; gap: 9px; margin-top: 22px; padding: 16px; }

.cause-selector { margin: 24px 0; padding: 0; border: 0; }
.cause-selector legend { padding: 0; color: var(--text); font-size: 14px; font-weight: 700; }
.cause-selector__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.cause-option { position: relative; display: flex; align-items: center; min-height: 48px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; color: var(--text-secondary); background: #fff; font-size: 13px; font-weight: 600; line-height: 1.25; cursor: pointer; transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease; }
.cause-option:hover { border-color: #d8b4bc; background: #fff9f8; }
.cause-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cause-option.is-selected { border-color: var(--primary); color: var(--primary); background: var(--primary-soft); box-shadow: inset 0 0 0 1px var(--primary); }
.cause-option:has(input:focus-visible) { box-shadow: var(--focus); }
.cause-selector__status { min-height: 20px; margin: 10px 0 0; color: var(--primary); font-size: 13px; font-weight: 600; }
.tax-note { grid-column: 1 / -1; justify-self: start; max-width: 100%; margin: 0; color: #725a49; background: #fff6ea; font-size: 12px; font-weight: 600; line-height: 1.45; text-align: left; }
.donation-assurances span:nth-child(3) { max-width: 330px; }

.footer-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.footer-action-link { min-height: 40px; padding: 8px 0; border: 0; color: #fff; background: transparent; font: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer-action-link:hover { color: #f5d9de; }

/* Accessible, reusable dialog surface. */
[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.modal-layer { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: 20px; overflow-y: auto; background: rgba(32, 24, 27, .52); backdrop-filter: blur(6px); }
.site-modal { width: min(100%, 720px); max-height: calc(100dvh - 40px); padding: clamp(24px, 4vw, 36px); overflow-y: auto; border: 1px solid #ead8d4; border-radius: 18px; background: #fffdfb; box-shadow: 0 26px 70px rgba(37, 27, 31, .24); }
.site-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.site-modal__eyebrow { margin: 0 0 6px; color: var(--primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.site-modal h2 { margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(27px, 4vw, 36px); line-height: 1.18; }
.site-modal__intro { margin: 12px 0 24px; color: var(--text-secondary); }
.modal-close { display: inline-grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.modal-close:hover { color: var(--primary); background: var(--primary-soft); }
.modal-form { display: grid; gap: 20px; }
.modal-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.modal-form label { display: grid; gap: 7px; color: var(--text); font-size: 14px; font-weight: 700; }
.modal-form input, .modal-form select, .modal-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fff; font: inherit; font-weight: 400; }
.modal-form textarea { min-height: 112px; resize: vertical; }
.modal-form input:focus, .modal-form select:focus, .modal-form textarea:focus { border-color: var(--primary); outline: 0; box-shadow: var(--focus); }
.field-optional { color: var(--text-secondary); font-size: 12px; font-weight: 600; }
.field-help { color: var(--text-secondary); font-size: 12px; font-weight: 500; line-height: 1.4; }
.field-error { display: block; min-height: 17px; color: #b42318; font-size: 12px; font-weight: 600; line-height: 1.35; }
.consent-field { grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 10px !important; color: var(--text-secondary) !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.5; }
.consent-field input { width: 18px; min-height: 18px; margin-top: 2px; accent-color: var(--primary); }
.consent-field a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.honeypot-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.modal-form__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.modal-form__actions .btn { min-width: 148px; }
.form-status { min-height: 22px; margin: 0; color: var(--text-secondary); font-size: 14px; font-weight: 600; }
.form-status.is-success { color: var(--success); }
.form-status.is-error { color: #b42318; }

@media (max-width: 820px) {
  .mobile-volunteer-item { display: list-item; }
  #primary-menu .nav-modal-trigger { display: inline-flex; align-items: center; }
  .cause-selector__grid { grid-template-columns: 1fr; }
  #donate .impact-guidance { width: 100%; }
}
@media (max-width: 620px) {
  .modal-layer { align-items: end; padding: 10px; }
  .site-modal { max-height: calc(100dvh - 20px); padding: 24px 20px; border-radius: 18px 18px 12px 12px; }
  .modal-form__grid { grid-template-columns: 1fr; gap: 16px; }
  .modal-form__actions { display: grid; grid-template-columns: 1fr; }
  .modal-form__actions .btn { width: 100%; }
}

/* ===== PART 4B: ASSAM CAMPAIGN MEDIA AND TRANSPARENCY ===== */
#assam-relief.assam-relief { padding-block: clamp(42px, 5vw, 76px); }
#assam-relief .assam-relief__grid {
  width: min(100%, 1460px);
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, .9fr);
  gap: clamp(48px, 4vw, 64px);
}
#assam-relief .assam-relief__content { display: flex; flex-direction: column; align-items: flex-start; }
#assam-relief .assam-relief__side { display: grid; gap: 16px; width: 100%; }
#assam-relief .assam-relief__media-message { max-width: 590px; margin: 0; color: var(--text-secondary); font-family: "Playfair Display", Georgia, serif; font-size: clamp(17px, 1.35vw, 20px); font-weight: 600; line-height: 1.45; }

#assam-relief .campaign-progress { display: grid; width: 100%; min-height: 0; gap: 0; padding: 24px 26px; }
#assam-relief .campaign-progress__header { align-items: start; }
#assam-relief .campaign-progress__raised strong { max-width: none; color: var(--text); font-size: 21px; }
#assam-relief .campaign-progress__footer { display: grid; gap: 7px; }
#assam-relief .campaign-progress__footer b { max-width: none; }
#assam-relief .assam-relief__text-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; color: var(--primary); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
#assam-relief .assam-relief__text-link:hover { color: #853948; }

#assam-relief .assam-carousel { width: 100%; overflow: hidden; border-radius: 20px; background: #fffdfb; }
#assam-relief .assam-carousel__viewport { min-height: 420px; aspect-ratio: 4 / 3; background: #f7eeee; }
#assam-relief .assam-carousel__viewport.is-loading::after { position: absolute; z-index: 3; inset: 0; content: ""; pointer-events: none; background: linear-gradient(135deg, #f7eeee, #fffaf7 52%, #f2e7e6); transition: opacity 220ms ease; }
#assam-relief .assam-carousel__slide { grid-template-rows: minmax(0, 1fr) auto; transition: opacity 600ms ease; }
#assam-relief .assam-carousel figcaption { display: grid; gap: 5px; height: auto; min-height: 132px; padding: 14px 17px 15px; overflow: visible; background: rgba(255, 253, 251, .98); font-size: 12px; line-height: 1.35; }
#assam-relief .assam-carousel figcaption strong { font-size: 13px; }
#assam-relief .assam-carousel figcaption span { overflow: visible; white-space: normal; text-overflow: clip; }
#assam-relief .assam-carousel figcaption a { width: fit-content; }
#assam-relief .assam-carousel__controls { min-height: 62px; padding: 11px 16px; background: #fffdfb; }
#assam-relief .assam-carousel__button { width: 42px; height: 42px; }
#assam-relief .assam-carousel__credit-note { margin: 0; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
#assam-relief .assam-relief__panel { margin-top: 0; padding: 20px 22px; }
#assam-relief .assam-relief__panel h3 { margin: 0 0 14px; }
#assam-relief .assam-relief__list { display: grid; gap: 10px; }
#assam-relief .assam-relief__list li { align-items: center; min-height: 42px; }
#assam-relief .assam-relief__list li span { width: 28px; height: 28px; font-size: 11px; }

.relief-updates-section { padding: 0 var(--page-gutter) clamp(56px, 7vw, 96px); }
.relief-updates-section__inner { display: grid; gap: 18px; width: min(100%, 1460px); margin: 0 auto; }
.transparency-section { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: clamp(28px, 4vw, 64px); padding: clamp(28px, 4vw, 48px); border: 1px solid #eadbd6; border-radius: 20px; background: linear-gradient(120deg, #fff8f4, #fffdfb 58%, #f9eeee); box-shadow: var(--card-shadow); }
.transparency-section__eyebrow, .relief-updates__eyebrow { margin: 0 0 8px; color: var(--primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.transparency-section h2 { max-width: 620px; margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(30px, 3vw, 46px); line-height: 1.12; }
.transparency-section__intro > p:last-child { max-width: 690px; margin: 15px 0 0; color: var(--text-secondary); line-height: 1.65; }
.transparency-steps { display: grid; gap: 12px; align-content: center; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.transparency-steps li { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 72px; padding: 14px 16px; border: 1px solid #eadbd6; border-radius: 14px; background: rgba(255,255,255,.76); }
.transparency-steps span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--primary); background: var(--primary-soft); font-size: 11px; font-weight: 800; }
.transparency-steps strong { color: var(--text); font-size: 14px; line-height: 1.35; }
.relief-updates-section .relief-updates { grid-template-columns: minmax(0, 1.16fr) minmax(300px, .84fr); min-height: 0; margin: 0; padding: 24px 28px; border-radius: 18px; }
.relief-updates-section .relief-updates h2 { margin: 4px 0 0; }
.relief-updates__video-note { margin: 0; color: var(--text-secondary); font-size: 13px; text-align: center; }
.relief-update-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.relief-update-card { display: grid; align-content: start; gap: 10px; padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: #fffdfb; box-shadow: var(--card-shadow); }
.relief-update-card__status { width: fit-content; padding: 4px 8px; border-radius: 999px; color: var(--primary); background: var(--primary-soft); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.relief-update-card h3 { margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: 23px; line-height: 1.2; }
.relief-update-card p { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.55; }
.relief-update-card__meta { color: var(--primary) !important; font-size: 12px !important; font-weight: 700; }
.relief-update-card__details { display: grid; gap: 4px; margin: 0; font-size: 13px; }
.relief-update-card__details dt { color: var(--text); font-weight: 700; }
.relief-update-card__details dd { margin: 0 0 8px; color: var(--text-secondary); }
.relief-update-card__image, .relief-update-card__video { margin: 2px 0 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: #f7eeee; }
.relief-update-card__image img, .relief-update-card__video img, .relief-update-card__video video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.relief-update-card__image figcaption { padding: 8px 10px; color: var(--text-secondary); background: #fff; font-size: 12px; }
.relief-update-card__video a { display: block; padding: 14px; color: var(--primary); background: #fff; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 981px) and (max-width: 1120px) {
  #assam-relief .assam-relief__grid { gap: 40px; }
  #assam-relief .assam-relief__side { width: 100%; }
}
@media (max-width: 980px) {
  #assam-relief .assam-relief__grid, .transparency-section { grid-template-columns: 1fr; }
  #assam-relief .assam-relief__side { width: min(680px, 100%); }
  .transparency-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
  .transparency-steps li { grid-template-columns: 1fr; align-content: start; min-height: 128px; }
  .relief-update-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  #assam-relief .assam-carousel__viewport { min-height: 0; }
  #assam-relief .assam-carousel figcaption { min-height: 150px; }
  #assam-relief .campaign-progress { padding: 20px; }
  .relief-updates-section { padding-inline: 20px; }
  .transparency-section { padding: 26px 22px; }
  .transparency-steps, .relief-update-list { grid-template-columns: 1fr; }
  .transparency-steps li { grid-template-columns: 36px minmax(0, 1fr); min-height: 0; }
  .relief-updates-section .relief-updates { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  #assam-relief .assam-carousel__viewport.is-loading::after,
  #assam-relief .assam-carousel__slide { transition: none; }
}

/* ===== PART 4C: FAQ, POLICY LINKS, AND DONATION-REVIEW READINESS ===== */
.donation-policy-ack { margin-top: 17px; color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
.donation-policy-ack a, .donation-support-links a, .donation-checkout-status a { color: var(--primary); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.donation-updates-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 11px; color: var(--text-secondary); font-size: 13px; line-height: 1.45; cursor: pointer; }
.donation-updates-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--primary); }
.donation-support-links { display: flex; flex-wrap: wrap; gap: 7px 16px; margin-top: 12px; font-size: 13px; }
.donation-checkout-status { margin: 13px 0 0; padding: 11px 13px; border: 1px solid #eadbd6; border-radius: 11px; color: var(--text-secondary); background: #fffaf8; font-size: 13px; line-height: 1.5; }

.faq-section { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: clamp(58px, 8vw, 108px) 0 clamp(66px, 8vw, 114px); }
.faq-section__intro { max-width: 730px; margin-bottom: 26px; }
.faq-section__eyebrow { margin: 0 0 10px; color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.faq-section h2 { margin: 0; color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.035em; line-height: 1.1; }
.faq-section__intro > p:last-child { max-width: 640px; margin: 15px 0 0; color: var(--text-secondary); font-size: 16px; line-height: 1.65; }
.faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.faq-item { overflow: hidden; border: 1px solid #eadbd6; border-radius: 15px; background: #fffdfb; box-shadow: 0 10px 28px rgba(47, 37, 39, .045); transition: border-color 180ms ease, box-shadow 180ms ease; }
.faq-item.is-open { border-color: #ddb8bd; box-shadow: 0 14px 34px rgba(110, 68, 73, .09); }
.faq-item h3 { margin: 0; }
.faq-item__trigger { display: flex; width: 100%; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 18px; border: 0; color: var(--text); background: transparent; font: inherit; font-size: 15px; font-weight: 800; line-height: 1.38; text-align: left; cursor: pointer; }
.faq-item__icon { display: grid; flex: 0 0 auto; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: var(--primary); background: var(--primary-soft); font-size: 20px; font-weight: 400; line-height: 1; }
.faq-item__panel { display: grid; grid-template-rows: 0fr; padding: 0 18px; opacity: 0; transition: grid-template-rows 220ms ease, padding 220ms ease, opacity 160ms ease; }
.faq-item__panel > p { min-height: 0; margin: 0; overflow: hidden; color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.faq-item__panel[aria-hidden="false"] { grid-template-rows: 1fr; padding: 0 18px 18px; opacity: 1; }
.faq-item__trigger:focus-visible, .donation-updates-consent input:focus-visible, .footer-action-link:focus-visible { outline: 3px solid rgba(179, 71, 93, .42); outline-offset: -3px; }

.footer .footer-links button.footer-action-link { padding: 0; color: #e0e0e0; font: inherit; font-size: inherit; text-align: left; }
.footer .footer-links button.footer-action-link:hover { color: #00d4ff; }
@media (max-width: 760px) { .faq-section { width: min(100% - 40px, 1180px); } .faq-list { grid-template-columns: 1fr; } .donation-support-links { gap: 9px 14px; } }
@media (prefers-reduced-motion: reduce) { .faq-item, .faq-item__panel { transition: none; } }

/* ===== MOBILE DONATION CONVERSION CLEANUP ===== */
.mobile-contact-item, .mobile-donate-cta { display: none; }
main { padding: 0 !important; }
main section, .donate-card, .impact-guidance, .impact-card, .faq-item { overflow-wrap: anywhere; }
.donate-kicker { margin: 0 0 8px; color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
#donate { margin-top: clamp(56px, 8vw, 100px) !important; padding: clamp(44px, 6vw, 76px) !important; border-radius: 28px; background: linear-gradient(135deg, #fff4f1 0%, #fffaf6 58%, #fbe7e5 100%); }
#donate .section-head { max-width: 680px; }
#donate .section-head h2 { margin-bottom: 10px; }
#donate .section-head .muted { max-width: 520px; }
#donate .donate-card { border-color: #e9cfd0; border-radius: 20px; box-shadow: 0 20px 50px rgba(111, 63, 70, .12); }
.cause-selector { margin: 26px 0 22px; }
.cause-selector > label, .custom-amount-label, .donation-details__label, .donation-details > label { display: block; color: var(--text); font-size: 15px; font-weight: 800; }
.cause-selector__helper { margin: 5px 0 10px; color: var(--text-secondary); font-size: 13px; }
.cause-selector select { width: 100%; min-height: 52px; padding: 12px 42px 12px 14px; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: #fff; font: inherit; font-size: 16px; font-weight: 600; }
.cause-selector select:focus-visible, .custom-input input:focus-visible, .donation-details input:focus-visible, .donation-details textarea:focus-visible { outline: 3px solid rgba(179, 71, 93, .32); outline-offset: 2px; border-color: var(--primary); }
.cause-selector__status { min-height: 20px; margin: 9px 0 0; color: var(--primary); font-size: 13px; font-weight: 700; }
.amount-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.amount-btn { min-height: 50px; font-size: 16px; }
.custom-amount-label { margin: 22px 0 9px; }
.custom-input { display: block; }
.custom-input input { width: 100%; min-height: 52px; }
.donation-details { display: grid; gap: 14px; margin-top: 26px; padding-top: 24px; border-top: 1px solid #eadbd6; }
.donation-details__label { margin: 0; }
.donation-details__label span { color: var(--text-secondary); font-size: 13px; font-weight: 600; }
.donation-details__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.donation-details input, .donation-details textarea { width: 100%; min-height: 48px; margin-top: 7px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 12px; color: var(--text); background: #fff; font: inherit; font-size: 16px; }
.donation-details textarea { min-height: 90px; resize: vertical; }
.donation-review { display: grid; gap: 4px; margin-top: 24px; padding: 14px 16px; border: 1px solid #eadbd6; border-radius: 12px; background: #fffaf8; }
.donation-review span { color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.donation-review strong { color: var(--text); font-size: 15px; }
#donate .donate-actions { gap: 12px; margin-top: 22px; }
#donate #donateNow { min-height: 54px; font-size: 16px; font-weight: 800; }
.impact-guidance__details summary { display: grid; gap: 7px; cursor: pointer; list-style: none; }
.impact-guidance__details summary::-webkit-details-marker { display: none; }
.impact-guidance__details summary strong { color: var(--text); font-family: "Playfair Display", Georgia, serif; font-size: 27px; line-height: 1.2; }
.impact-guidance__details ul { display: grid; gap: 10px; margin: 20px 0 0 !important; padding: 0; list-style: none; }
.impact-guidance__details li { position: relative; padding-left: 22px; color: var(--text-secondary); font-size: 15px; }
.impact-guidance__details li::before { position: absolute; left: 0; content: '✓'; color: var(--primary); font-weight: 800; }
.impact-guidance__details .impact-guidance__trust { margin-top: 20px; }
#programs .impact-card .fund-stats { display: none; }
#programs .impact-card p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.5; }
#programs .cards-carousel { scroll-snap-type: x proximity; }
#programs .impact-card { scroll-snap-align: start; min-height: 0; }

@media (max-width: 760px) {
  :root { --page-gutter: 20px; }
  .mobile-contact-item, .mobile-volunteer-item { display: list-item; }
  #primary-menu { width: min(320px, calc(100vw - 40px)); padding: 10px; }
  #primary-menu a, #primary-menu .nav-modal-trigger { min-height: 50px; padding: 13px 14px; font-size: 16px; }
  #primary-menu a.is-active { color: var(--primary) !important; background: var(--primary-soft) !important; }
  #primary-menu a:focus-visible, #primary-menu .nav-modal-trigger:focus-visible { outline: 3px solid rgba(179, 71, 93, .35); outline-offset: -3px; }
  #assam-relief.assam-relief { width: calc(100% - 40px); margin-top: 18px; padding: 42px 20px 30px; }
  #assam-relief .assam-relief__grid { gap: 24px; }
  #assam-relief h2 { margin: 15px 0 18px; font-size: clamp(42px, 12vw, 58px); line-height: 1.02; }
  #assam-relief > .assam-relief__grid > div > p { font-size: 16px; line-height: 1.62; }
  #assam-relief .assam-relief__emphasis { margin-top: 18px !important; }
  #assam-relief .campaign-progress { padding: 20px; }
  #assam-relief .assam-relief__media-message, #assam-relief .assam-relief__panel, #assam-relief .assam-relief__contribution { display: none; }
  #assam-relief .assam-carousel__viewport, #assam-relief .assam-carousel figcaption { min-height: 0; }
  #assam-relief .assam-carousel figcaption { padding: 14px; }
  #foundation.hero { padding: 56px 0 48px !important; }
  #foundation .hero-wrapper { gap: 24px !important; padding: 0 !important; text-align: left; }
  #foundation .kicker { margin: 0 0 16px; font-size: 17px; font-weight: 600; }
  #foundation .title { margin-bottom: 24px; font-size: clamp(38px, 11vw, 52px); line-height: 1.04; text-align: left; }
  #foundation .lead { margin-bottom: 24px; font-size: 16px; line-height: 1.65; text-align: left; }
  #foundation .hero-cta { gap: 12px; }
  #foundation .hero-cta .btn { min-height: 50px; }
  #foundation .hero-slideshow { margin-top: 0; }
  #foundation .stats { display: none; }
  #donate { width: 100%; margin: 56px 0 0 !important; padding: 36px 20px !important; border-radius: 0; }
  #donate .section-head { margin-bottom: 24px; }
  #donate .section-head h2 { font-size: clamp(34px, 10vw, 44px); }
  #donate .donate-wrap { gap: 16px; }
  #donate .donate-card, #donate .impact-guidance { height: auto; min-height: 0; padding: 24px 20px; border-radius: 20px; }
  .donation-details__grid { grid-template-columns: 1fr; }
  #donate .impact-guidance { padding: 0; box-shadow: none; }
  .impact-guidance__details { border: 1px solid #eadbd6; border-radius: 16px; background: #fffdfb; }
  .impact-guidance__details summary { min-height: 58px; padding: 18px 20px; }
  .impact-guidance__details summary::after { content: '+'; position: absolute; right: 20px; color: var(--primary); font-size: 24px; }
  .impact-guidance__details[open] summary::after { content: '−'; }
  .impact-guidance__details ul, .impact-guidance__details .impact-guidance__trust { margin-right: 20px !important; margin-left: 20px !important; }
  .impact-guidance__details .impact-guidance__trust { margin-bottom: 20px; }
  #programs { margin: 56px 0 !important; }
  #programs .section-head { text-align: left !important; }
  #programs .cards-carousel { overflow-x: auto; padding-bottom: 14px; scroll-snap-type: x mandatory; }
  #programs .cards-track { flex-direction: row; width: max-content; }
  #programs .impact-card { flex-basis: min(82vw, 290px); width: min(82vw, 290px); }
  .faq-section { width: calc(100% - 40px); padding: 64px 0 72px; }
  .faq-section h2 { font-size: clamp(34px, 10vw, 44px); }
  .faq-item__trigger { min-height: 64px; padding: 16px; }
  .mobile-donate-cta { position: fixed; z-index: 85; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); display: block; min-height: 50px; padding: 12px 20px; border: 0; border-radius: 999px; color: #fff; background: var(--primary); box-shadow: 0 12px 30px rgba(116, 48, 61, .28); font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
  .mobile-donate-cta[hidden] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  #programs .cards-carousel { scroll-behavior: auto; }
  .mobile-donate-cta { transition: none; }
}

/* ===== ASSAM FLOOD RELIEF HIGHLIGHT BAND =====
   Compact homepage entry point. The full appeal lives on assam-flood-relief.html. */
.assam-band {
  width: min(var(--content-max-width), calc(100% - (var(--page-gutter) * 2)));
  margin: 28px auto 0;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--border);
  border-radius: 22px;
  background: linear-gradient(135deg, #fff9f6 0%, #fff 62%, #fcf2f3 100%);
  box-shadow: var(--card-shadow);
}
.assam-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
}
.assam-band__inner--text-only { grid-template-columns: minmax(0, 1fr); }
.assam-band__eyebrow {
  margin: 0;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.assam-band h2 {
  max-width: 18ch;
  margin: 12px 0 0;
  color: var(--text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.1;
}
.assam-band__line { max-width: 54ch; margin: 12px 0 0; color: var(--text-secondary); font-size: clamp(15px, 1.2vw, 17px); line-height: 1.6; }

/* Campaign goal only — no raised total, count, percentage or bar is published. */
.assam-band__goal { display: grid; gap: 3px; margin: 22px 0 0; }
.assam-band__goal-label { color: var(--text-secondary); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.assam-band__goal strong { color: var(--text); font-size: 20px; font-weight: 700; letter-spacing: -.02em; }

.assam-band__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 24px; }
.assam-band__text-link { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: var(--primary); font-size: 14px; font-weight: 700; }
.assam-band__text-link:hover { text-decoration: underline; }

.assam-band__media { margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--card-radius); background: var(--surface); }
/* height:auto is required — the intrinsic height attribute would otherwise beat aspect-ratio. */
.assam-band__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.assam-band__media figcaption { padding: 12px 14px; color: var(--text-secondary); font-size: 11.5px; line-height: 1.55; }
.assam-band__media figcaption a { color: var(--primary); text-decoration: underline; }

@media (max-width: 860px) {
  .assam-band { margin-top: 18px; padding: 24px 20px; }
  .assam-band__inner { grid-template-columns: 1fr; }
  .assam-band h2 { max-width: none; font-size: clamp(30px, 8vw, 40px); }
  .assam-band__actions { flex-direction: column; align-items: stretch; }
  .assam-band__actions .btn { width: 100%; }
  .assam-band__text-link { justify-content: center; }
  /* Copy leads, image follows: badge, heading, line, progress, CTAs, then media. */
  .assam-band__media { order: 1; margin-top: 4px; }
}

/* ===== SHARED CROSSFADE SLIDESHOW =====
   Markup is built by assam-slideshow.js from window.ASSAM_RELIEF_MEDIA. */
.mf-slideshow { position: relative; }
.mf-slideshow__viewport { position: relative; overflow: hidden; background: #f4e7e6; }
.mf-slideshow__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity var(--mf-slideshow-fade, 600ms) ease;
}
.mf-slideshow__slide.is-active { opacity: 1; }
.mf-slideshow__slide img { width: 100%; height: 100%; object-fit: cover; }
.mf-slideshow__fallback {
  display: grid;
  place-content: center;
  gap: 8px;
  height: 100%;
  padding: 28px;
  color: #84646b;
  background: linear-gradient(135deg, #f8e9eb, #fff8f5);
  text-align: center;
}
.mf-slideshow__fallback span { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mf-slideshow__fallback p { margin: 0; font-size: 13px; }
.mf-slideshow__controls { display: flex; justify-content: center; }
.mf-slideshow__dots { display: flex; gap: 2px; }
/* 44px hit area around a small visual dot. */
.mf-slideshow__dot {
  display: grid;
  place-content: center;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.mf-slideshow__dot::before {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  opacity: .34;
  transition: opacity 180ms ease, transform 180ms ease;
  content: '';
}
.mf-slideshow__dot[aria-selected="true"]::before { opacity: 1; transform: scale(1.5); }
.mf-slideshow__dot:hover::before { opacity: .7; }
.mf-slideshow__credit { margin: 0; font-size: 11.5px; line-height: 1.55; }

@media (prefers-reduced-motion: reduce) {
  .mf-slideshow__slide { transition: none; }
  .mf-slideshow__dot::before { transition: none; }
}

/* ===== A2: homepage band slideshow ===== */
.assam-band__media .mf-slideshow__viewport { aspect-ratio: 4 / 3; }
.assam-band__media .mf-slideshow__controls { position: absolute; right: 6px; bottom: 62px; color: #fff; }
.assam-band__media .mf-slideshow__dot::before { box-shadow: 0 1px 4px rgba(0, 0, 0, .5); }
.assam-band__media .mf-slideshow__credit { padding: 12px 14px; color: var(--text-secondary); }
.assam-band__media .mf-slideshow__credit a { color: var(--primary); text-decoration: underline; }

/* ===== A6: donation section head and card =====
   .section-head is a two-column grid built for an h2 plus one paragraph. The
   donation head has three children, so the h2 was flowing into column two and
   floating right of the "Make a donation" kicker. This head is a left stack. */
#donate .section-head { display: block; max-width: 680px; }
#donate .section-head h2 { margin: 0 0 10px; }
#donate .donate-card { border-width: 2px; box-shadow: 0 24px 60px rgba(111, 63, 70, .16); }
#donate .donate-card > * + * { margin-top: 0; }
.donate-label { font-family: "Playfair Display", Georgia, serif; font-size: 24px; letter-spacing: -.02em; }
/* One dominant CTA; recurring giving is a quieter secondary action. */
#donate .donate-actions { display: grid; gap: 12px; }
#donate #donateNow { width: 100%; min-height: 56px; font-size: 16.5px; font-weight: 800; }
#donate #monthlyOpt {
  width: 100%;
  min-height: 46px;
  border: 0;
  color: var(--primary);
  background: none;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
}
#donate #monthlyOpt:hover { color: var(--primary-hover); box-shadow: none; transform: none; }
#donate .tax-note { margin-top: 2px; text-align: center; }
.impact-guidance__details summary strong { font-size: 23px; }

/* ===== A5: verified impact statistics ===== */
#foundation .stats { align-items: stretch; }
#foundation .stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 20px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
}
#foundation .stat .num {
  color: var(--primary) !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.05;
}
#foundation .stat .lbl { color: var(--text-secondary) !important; font-size: 12.5px; font-weight: 600; line-height: 1.4; }

/* ===== A4: brand identity line ===== */
.brand .muted {
  margin-top: 1px;
  color: var(--primary) !important;
  font-size: 12.5px !important;
  font-weight: 600;
  letter-spacing: .04em;
}
#foundation .kicker {
  margin: 0 0 14px;
  color: var(--primary);
  font-size: clamp(16px, 1.4vw, 18px);
  font-weight: 600;
  letter-spacing: .02em;
}

@media (max-width: 760px) {
  .assam-band__media .mf-slideshow__controls { bottom: 58px; }
  #foundation .stats { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #foundation .stat { padding: 16px 12px; }
  .brand .muted { font-size: 12px !important; }
}

/* Touch targets: these were computing to 40px, under the 44px minimum.
   The footer action links need this at every width, not just on phones. */
.footer .footer-action-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 760px) {
  .menu-toggle, .topbar .cta-row .btn { min-height: 44px; }
}

.assam-band__emphasis {
  max-width: 44ch;
  margin: 12px 0 0;
  color: var(--text);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 600;
  line-height: 1.45;
}

/* ===== A2: foundation intro rhythm on mobile ===== */
@media (max-width: 760px) {
  /* #foundation is a bordered, rounded card whose horizontal padding was 0, so
     the heading sat flush against the right border. A small inset, on this one
     section, at mobile widths only. */
  #foundation.hero { padding: 48px 16px 44px !important; }
  #foundation .title {
    margin-bottom: 18px;
    font-size: clamp(29px, 7.9vw, 35px);
    line-height: 1.12;
    letter-spacing: -.03em;
    /* Safety only: no visible change unless a word would otherwise breach the
       border on a screen narrower than we test. */
    overflow-wrap: break-word;
  }
  #foundation .lead { margin-bottom: 22px; }
  /* .space-x-4 adds a 16px left margin to the second button, which pushed
     "Explore Programs" past the container's right edge inside this grid. */
  #foundation .hero-cta { display: grid; gap: 12px; margin-bottom: 26px; }
  #foundation .hero-cta > * + * { margin-left: 0 !important; }
  #foundation .hero-cta .btn { width: 100%; min-height: 50px; }
}

/* Slideshow slot: shown until a rights-cleared photograph is supplied.
   Shared, because both the homepage band and the Assam hero render slots. */
.mf-slideshow__slot {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  height: 100%;
  padding: 22px;
  text-align: center;
  background:
    repeating-linear-gradient(135deg, rgba(181, 71, 90, .05) 0 10px, transparent 10px 20px),
    linear-gradient(150deg, #fbecef, #fff8f5);
}
.mf-slideshow__slot-tag {
  padding: 5px 11px;
  border-radius: 999px;
  color: #90505f;
  background: rgba(255, 255, 255, .86);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mf-slideshow__slot p { max-width: 30ch; margin: 0; color: #8b5f68; font-size: 12.5px; line-height: 1.5; }



@media (min-width: 861px) {
}

/* ===== 80G / TAX NOTICE =====
   Rendered by organization-ui.js. The neutral variant names no scheme and no
   percentage; the eligible variant only appears with a real registration. */
.tax-notice { margin-top: 14px; }
.tax-notice__neutral { margin: 0; color: var(--text-secondary); font-size: 12.5px; line-height: 1.6; }
.tax-notice--eligible {
  padding: 14px 16px;
  border: 1px solid #dcecdf;
  border-radius: 12px;
  background: #f4faf5;
}
.tax-notice__claim { margin: 0; color: var(--text); font-size: 13px; line-height: 1.6; }
.tax-notice__meta { margin: 6px 0 0; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.tax-notice__optin {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  margin-top: 10px;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
}
.tax-notice__optin input { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 20px; accent-color: var(--success); }

/* ===== SHARED FOOTER =====
   Uses the darker footer token on both pages, replacing the old pink gradient. */
.footer { background: #5e3741 !important; }
.footer .footer-bottom { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }


/* Donation support links were 21px standalone targets. */
.donation-support-links a { display: inline-flex; align-items: center; min-height: 44px; }

/* Legal-entity disclosure line in the shared footer. */
.footer-legal-entity {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  line-height: 1.55;
}
/* PAN is revealed only when the donor asks for an 80G certificate. */
.tax-notice__pan { margin-top: 10px; }
.tax-notice__pan[hidden] { display: none; }
.tax-notice__pan label { display: block; color: var(--text); font-size: 12.5px; font-weight: 700; }
.tax-notice__pan input {
  width: 100%;
  min-height: 46px;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  text-transform: uppercase;
}
.tax-notice__pan-help { margin: 6px 0 0; color: var(--text-secondary); font-size: 11.5px; line-height: 1.5; }

/* ===== DONATION CARD — lower region =====
   .donate-actions is a two-column [CTA][badge] grid. It now holds only the CTA,
   and every following block is a full-width sibling, so nothing can land in a
   narrow track and wrap one character per line. */
#donate .donate-actions { grid-template-columns: 1fr; margin-top: 20px; }
#donate .donate-card > .tax-notice { margin-top: 14px; }
#donate .donation-policy-ack { margin-top: 16px; }
#donate .donation-updates-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; }
#donate .donation-updates-consent input { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 20px; accent-color: var(--primary); }
#donate .donation-support-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 18px;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid #f0e4e2;
}
#donate .donation-support-links a { color: var(--primary); font-size: 13px; font-weight: 700; }
#donate .donation-support-links a:hover { text-decoration: underline; }
#donate .donation-assurances { margin-top: 14px; padding-top: 14px; border-top: 1px solid #f0e4e2; }

/* ===== SOCIAL LINKS (footer) ===== */
.footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.footer-social__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px 8px 10px;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  transition: background 150ms ease, border-color 150ms ease;
}
.footer-social__link:hover { border-color: #fff; background: rgba(255, 255, 255, .12); }
.footer-social__link svg { width: 18px; height: 18px; flex: 0 0 18px; }

/* ===== FOOTER SPACING ===== */
.footer .footer-content { align-items: start; row-gap: clamp(28px, 4vw, 44px); }
.footer .footer-col { display: flex; flex-direction: column; }
.footer .footer-tagline { margin: 12px 0 0; }
.footer .footer-contact { display: grid; gap: 4px; margin: 14px 0 0; line-height: 1.6; }
.footer .footer-contact span { display: inline-flex; align-items: center; gap: 6px; }
.footer .footer-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.footer .footer-col h3 { margin-top: 0; }
.footer .footer-contact-actions { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; }
.footer .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 24px;
  margin-top: clamp(28px, 4vw, 44px);
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.footer .footer-legal { display: flex; flex-wrap: wrap; gap: 0 18px; }
.footer .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 760px) {
  .footer { padding: 44px var(--page-gutter) 0; }
  .footer .footer-content { grid-template-columns: 1fr; }
  .footer .footer-bottom { flex-direction: column; align-items: flex-start; text-align: left; }
  .footer .footer-bottom { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
}

/* Archival-imagery disclosure beside a slideshow. */
.mf-slideshow__archive-note { margin: 6px 0 0; font-size: 11.5px; font-style: italic; line-height: 1.5; opacity: .85; }
.assam-band__media .mf-slideshow__archive-note { padding: 0 14px 12px; color: var(--text-secondary); }
.relief-hero__bg .mf-slideshow__archive-note { display: none; }
.relief-hero__bg .mf-slideshow__credit { display: none; }

/* ===== FOOTER TEXT COLOURS =====
   These lived only in the homepage's inline <style>, so on any other page that
   uses the shared footer the headings fell back to var(--text) (near-black on
   the dark footer, 1.47:1) and the bottom-bar legal links to the browser
   default blue (1.06:1). Declared here so every page gets them. */
.footer .footer-col h3 { color: #ffffff; }
.footer .footer-legal a { color: #f8edef; }
.footer .footer-legal a:hover { color: #ffffff; text-decoration: underline; }
.footer .footer-legal-entity { color: rgba(255, 255, 255, .72); }
