/* BGP unified platform design system — Give-page visual rhythm */
:root {
  --bgp-ink: #17231b;
  --bgp-muted: #526057;
  --bgp-green: #285f38;
  --bgp-green-dark: #153f26;
  --bgp-mint: #e9f3df;
  --bgp-cream: #f7f5ed;
  --bgp-paper: #fffefa;
  --bgp-yellow: #f4d35e;
  --bgp-line: #dfe5dc;
  --bgp-radius: 20px;
  --bgp-shadow: 0 14px 34px rgba(28, 67, 40, .08);
}

body { color: var(--bgp-ink); background: var(--bgp-cream); }

/* Keep the first content section visually connected to its hero. */
.standard-page-hero + section,
.update-hero + section,
.banana-hero + section,
.page-hero + section,
.give-hero + section {
  margin-top: 0 !important;
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
}

.standard-page-hero,
.update-hero,
.banana-hero,
.page-hero {
  padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

.about-mission,
.about-story,
.about-approach,
.about-team,
.initiative-help,
.banana-intro,
.banana-flow,
.banana-tech,
.banana-status,
.banana-join,
.banana-team-photo,
.technical-lead,
.disciplines-section,
.crosslink {
  position: relative;
}

.about-approach article,
.person-row,
.initiative-card,
.lead-card,
.discipline-grid article,
.banana-flow article,
.banana-tech article,
.banana-status article {
  border: 1px solid var(--bgp-line) !important;
  border-radius: var(--bgp-radius) !important;
  box-shadow: var(--bgp-shadow) !important;
}

.initiative-grid {
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  padding-top: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.initiative-card { transition: transform .2s ease, box-shadow .2s ease; }
.initiative-card:hover { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(28,67,40,.12) !important; }

.button,
.update-button,
.submit-button,
.header-cta {
  min-height: 46px;
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  font-weight: 800;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.button:hover,
.update-button:hover,
.submit-button:hover,
.header-cta:hover { transform: translateY(-2px); }

/* Supporter recognition inside the shared footer. */
.supporter-recognition {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 1rem;
  padding: 1.5rem 0 .25rem;
  border-top: 1px solid rgba(255,255,255,.18);
}
.supporter-recognition .supporter-kicker {
  margin: 0 0 1rem;
  color: #d9ead8;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.supporter-logos {
  display: grid;
  grid-template-columns: repeat(7, minmax(90px, 1fr));
  gap: .65rem;
  align-items: stretch;
}
 .supporter-logo {
  min-height: 70px;
  padding: .45rem;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  text-decoration: none !important;
  text-align: center;
}
.supporter-logo img {
  width: auto;
  height: 34px;
  background: transparent !important;
  max-width: 112px;
  object-fit: contain;
}
.supporter-logo.idic img { height: 34px; }
.supporter-logo span { font-size: .64rem; color:#d9ead8; line-height: 1.25; font-weight: 800; }
.supporter-wordmark strong { color: var(--bgp-green-dark); font-size: .82rem; line-height: 1.15; }
.logo-disclaimer {
  max-width: 1000px;
  margin: .85rem 0 0;
  color: #c8d8cc;
  font-size: .68rem;
  line-height: 1.5;
}

@media (max-width: 1000px) {
  .supporter-logos { grid-template-columns: repeat(4, minmax(100px, 1fr)); }
}
@media (max-width: 620px) {
  .supporter-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supporter-logo { min-height: 78px; }
  .standard-page-hero + section,
  .update-hero + section,
  .banana-hero + section,
  .page-hero + section { padding-top: 1.5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .initiative-card,
  .button,
  .update-button,
  .submit-button,
  .header-cta { transition: none !important; }
}

/* Family Foundation footer recognition — logo sits directly on footer, no white card/background. */
.rff-recognition{grid-column:1/-1;width:100%;margin-top:1rem;padding:1.25rem 0 .35rem;border-top:1px solid rgba(255,255,255,.18);}
.rff-link{display:inline-flex;align-items:center;gap:.8rem;color:#fff!important;text-decoration:none!important;font-weight:800;}
.rff-logo{width:112px;height:112px;object-fit:contain;display:block;background:transparent!important;border:0!important;box-shadow:none!important;}
.rff-link span{font-size:.78rem;letter-spacing:.04em;}
.footer-glory{grid-column:1/-1;text-align:center;padding-top:1rem;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.08em;}
.contact-socials{padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem);background:#e9f3df;}
.contact-socials h2{margin:.2rem 0 1.25rem;color:#17231b;}
.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:900px;}
.social-link{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border:1px solid #dfe5dc;border-radius:16px;background:#fffefa;color:#17231b;text-decoration:none;box-shadow:0 10px 24px rgba(28,67,40,.05);}
.social-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#17231b;color:#fff;flex:0 0 auto;}
.social-icon svg{width:22px;height:22px;}
.social-link span:nth-child(2){display:flex;flex-direction:column;min-width:0;}
.social-link strong{font-size:.95rem;}
.social-link small{margin-top:3px;color:#526057;font-size:.78rem;}
.social-link>b{margin-left:auto;font-size:1rem;}
@media(max-width:680px){.social-links{grid-template-columns:1fr}.rff-logo{width:96px;height:96px}.rff-link{align-items:flex-start;flex-direction:column;gap:.45rem}}

/* FINAL FOOTER LOGO PRESENTATION — logos sit directly on the footer, never in white cards. */
.bgp-final-supporters,.bgp-final-supporters .supporter-logos,.bgp-final-supporters .supporter-logo{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;}
.bgp-final-supporters .supporter-logo{min-height:70px;padding:.45rem;display:flex;align-items:center;justify-content:center;gap:.45rem;}
.bgp-final-supporters .supporter-logo img{background:transparent!important;border:0!important;box-shadow:none!important;display:block;object-fit:contain;}
.bgp-final-supporters .supporter-logo:nth-child(2) img{height:34px;max-width:160px;}
.bgp-final-supporters .supporter-logo:nth-child(3) img{height:34px;width:34px;filter:invert(1) brightness(1.15);}
.bgp-final-supporters .supporter-logo:nth-child(4) img{height:34px;width:auto;}
.bgp-final-supporters .supporter-logo:nth-child(5) img{height:34px;width:auto;}
.bgp-final-supporters .supporter-logo:nth-child(6) img{height:34px;width:auto;max-width:160px;}
.bgp-final-supporters .supporter-logo:nth-child(7) img{height:34px;width:auto;max-width:160px;}
