/* Renew's shared footer. Scoped to avoid changing the separate closing CTA. */
footer.renew-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 48px max(24px, calc((100% - 1160px) / 2)) 24px;
  color: #183f38;
  background: radial-gradient(ellipse at 2% 5%, #f3f6e7 0%, transparent 55%), linear-gradient(115deg, #e6efdc 0%, #d1e4d7 72%, #bfdbce 100%);
  border-top: 1px solid #c4d7c3;
}
.renew-footer::before, .renew-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 530px;
  height: 530px;
  right: -255px;
  top: -280px;
  border: 1px solid #47756530;
  border-radius: 50%;
}
.renew-footer::after { width: 640px; height: 640px; right: -310px; top: -335px; }
.renew-footer-inner { position: relative; width: 100%; max-width: 1160px; margin: 0 auto; }
.renew-footer-topline { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 38px; }
.renew-footer-logo { display: inline-flex; align-items: center; justify-content: center; padding: 14px 20px; background: #f8faf0; border: 1px solid #fff; border-radius: 12px; box-shadow: 0 5px 20px #244c3710; flex-shrink: 0; }
.renew-footer-logo img { display: block; width: 170px; height: 57px; object-fit: contain; }
.renew-footer-contact { display: inline-flex; align-items: center; gap: 22px; border-bottom: 1px solid #729384; padding: 12px 0; font-size: 13px; font-weight: 600; }
.renew-footer-contact svg, .renew-footer-support svg { width: 21px; height: 21px; flex: 0 0 21px; transition: transform .2s ease; }
.renew-footer-main { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) minmax(0, 1fr); gap: 46px; padding: 6px 0 44px; }
.renew-footer-statement p { color: #173f38; font-family: Manrope, Arial, sans-serif; font-size: clamp(26px, 3.1vw, 40px); line-height: 1.2; letter-spacing: -.055em; font-weight: 500; }
.renew-footer-statement p span { color: #376754; }
.renew-footer-rule { display: block; width: 66px; height: 4px; border-radius: 4px; margin-top: 27px; background: linear-gradient(90deg, #007c83 0 50%, #97b97e 50%); }
.renew-footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.renew-footer h2 { font-family: 'DM Sans', Arial, sans-serif; color: #244f42; font-size: 11px; line-height: 1.6; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 12px; }
.renew-footer-nav a { display: inline-block; min-height: 36px; padding: 7px 0; font-size: 13px; line-height: 1.6; }
.renew-footer-address { display: inline-block; font-size: 13px; line-height: 1.9; padding: 4px 0 15px; }
.renew-footer-support { display: inline-flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 7px; padding: 12px 15px; color: #f9fcf2; background: #21564b; border: 1px solid #21564b; border-radius: 6px; font-size: 12px; font-weight: 600; }
.renew-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid #7a9d8359; font-size: 11px; color: #3d6052; }
.renew-footer-bottom nav { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; font-size: 11px; }
.renew-footer-bottom nav a { display: inline-block; padding: 8px 0; }
.renew-footer a:focus-visible { outline: 3px solid #126b70; outline-offset: 5px; }
.renew-footer a:hover { color: #0c5149; }
.renew-footer-nav a:hover, .renew-footer-address:hover, .renew-footer-bottom a:hover { text-decoration: underline; text-underline-offset: 4px; }
.renew-footer-support:hover { color: #fff; background: #123e36; }
.renew-footer-contact:hover svg, .renew-footer-support:hover svg { transform: translateX(3px); }
@media (max-width: 850px) {
  .renew-footer-main { grid-template-columns: 1fr 1fr; gap: 30px; }
  .renew-footer-statement { grid-column: 1 / -1; }
  .renew-footer-statement p { font-size: 36px; }
  .renew-footer-rule { margin-top: 20px; }
}
@media (max-width: 520px) {
  footer.renew-footer { padding: 30px 24px 22px; }
  .renew-footer-topline { align-items: flex-start; flex-direction: column; gap: 14px; padding-bottom: 27px; }
  .renew-footer-logo { padding: 11px 16px; }
  .renew-footer-logo img { width: 153px; height: auto; }
  .renew-footer-contact { padding: 10px 0; }
  .renew-footer-main { grid-template-columns: 1fr; gap: 28px; padding-bottom: 30px; }
  .renew-footer-statement p { font-size: clamp(26px, 7.5vw, 36px); }
  .renew-footer-nav a { min-height: 40px; padding: 9px 0; }
  .renew-footer-bottom { flex-direction: column; align-items: flex-start; gap: 5px; }
  .renew-footer-bottom nav { gap: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .renew-footer svg { transition: none; }
  .renew-footer a:hover svg { transform: none; }
}
.a11y-motion .renew-footer svg { transition: none; }
.a11y-motion .renew-footer a:hover svg { transform: none; }
.a11y-contrast footer.renew-footer { background: #eef5e8; color: #102f24; }
.a11y-contrast .renew-footer h2, .a11y-contrast .renew-footer-statement p span, .a11y-contrast .renew-footer-bottom { color: #102f24; }
@media (forced-colors: active) {
  .renew-footer-support, .renew-footer-logo { border: 1px solid ButtonText; }
  .renew-footer::before, .renew-footer::after { display: none; }
}
/* Header menu positioning must never affect the footer's navigation. */
.renew-footer nav{position:static;inset:auto;background:transparent;box-shadow:none;border:0;padding:0;z-index:auto}
.renew-footer-connect{display:flex;flex-direction:column;align-items:flex-start}
footer.renew-footer{padding-bottom:78px}

/* Transparent, larger original mark and paired contact/giving actions. */
.renew-footer-logo{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.renew-footer-logo img{width:270px;height:auto}
.renew-footer-contact,.renew-footer-support{display:inline-flex;width:100%;max-width:250px;min-height:48px;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding:12px 15px;border:1px solid #21564b;border-radius:6px;font-size:12px;font-weight:600;line-height:1.5}
.renew-footer-contact{background:transparent;color:#183f38}
.renew-footer-contact:hover{background:#edf5e8;color:#123e36}
@media(max-width:520px){.renew-footer-logo img{width:250px;max-width:100%}.renew-footer-topline{padding-bottom:27px}.renew-footer-contact,.renew-footer-support{max-width:290px}}

/* Brand and navigation share one top-aligned row. */
.renew-footer-main{align-items:start}
.renew-footer-statement{display:flex;flex-direction:column;align-items:flex-start}
.renew-footer-statement .renew-footer-logo{margin:0 0 28px}
.renew-footer-statement p{margin:0}
@media(max-width:520px){.renew-footer-statement .renew-footer-logo{margin-bottom:24px}}
/* Filled action keeps readable text and icon color on hover and keyboard focus. */
.renew-footer .renew-footer-support:hover,.renew-footer .renew-footer-support:focus-visible{color:#fff;background:#123e36;border-color:#123e36}
.renew-footer .renew-footer-support:hover svg,.renew-footer .renew-footer-support:focus-visible svg{color:inherit}
.renew-footer .renew-footer-contact:hover,.renew-footer .renew-footer-contact:focus-visible{color:#123e36;background:#edf5e8}
