/* Footer
   Kept: dark footer, logo + description, Ministries / District / Connect columns,
   copyright, email + phone icons.
   New: rounded-top dark sheet emerging under the green panel, mono column headings,
   underline-draw links, faint static dot texture; temp logo replaces the old lockup. */

.site-footer {
  position: relative; z-index: 1; overflow: hidden;
  background: var(--color-surface-3); color: var(--c-light);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
  padding: calc(96px + clamp(64px, 44px + 5vw, 112px)) 0 40px;
}
.site-footer::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(color-mix(in srgb, var(--c-light) 7%, transparent) 1px, transparent 1.6px);
  background-size: 14px 14px;
  -webkit-mask-image: radial-gradient(ellipse 60% 70% at 100% 100%, var(--c-black) 0%, transparent 100%);
  mask-image: radial-gradient(ellipse 60% 70% at 100% 100%, var(--c-black) 0%, transparent 100%);
}
.footer__grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--grid-gap); padding-bottom: 72px; }
.footer__brand { grid-column: 1 / span 4; }
.footer__brand img { width: 220px; height: auto; }
.footer__brand p { margin-top: 24px; font-size: var(--fs-small); line-height: 1.6; color: var(--c-light-muted); max-width: 34ch; }
.footer__col:nth-of-type(1) { grid-column: 6 / span 2; }
.footer__col:nth-of-type(2) { grid-column: 8 / span 2; }
.footer__col:nth-of-type(3) { grid-column: 10 / span 3; }
.footer__heading { font: 500 var(--fs-linklist-label)/var(--lh-linklist-label) var(--font-body); letter-spacing: var(--tr-eyebrow); text-transform: uppercase; --eyebrow: var(--c-light-muted); margin-bottom: 16px; }
.footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.footer__links a { font-size: var(--fs-linklist); line-height: var(--lh-linklist); color: color-mix(in srgb, var(--c-light) 82%, transparent); }
.footer__links a:hover, .footer__links a:focus-visible { color: var(--c-light); }

.footer__bottom {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  padding-top: 28px; border-top: 1px solid var(--color-border-on-dark);
  font-size: 13px; color: var(--c-light-muted);
}
.footer__legal p { margin: 0; }
.footer__legal .footer__credit { margin-top: 6px; }
.footer__credit a { color: var(--c-light); font-weight: 600; }
.footer__icons { display: flex; gap: 10px; }
.footer__icons .arrow { --arrow-border: color-mix(in srgb, var(--c-light) 25%, transparent); --arrow-fg: var(--c-light); }
.footer__icons .arrow:hover { --arrow-bg: var(--color-accent); --arrow-fg: var(--color-on-accent); --arrow-border: var(--color-accent); }

@media (max-width: 1023px) {
  .footer__brand { grid-column: 1 / -1; }
  .footer__col:nth-of-type(1) { grid-column: 1 / span 4; }
  .footer__col:nth-of-type(2) { grid-column: 5 / span 4; }
  .footer__col:nth-of-type(3) { grid-column: 9 / span 4; }
}
@media (max-width: 599px) {
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__col:nth-of-type(1) { grid-column: 1; }
  .footer__col:nth-of-type(2) { grid-column: 2; }
  .footer__col:nth-of-type(3) { grid-column: 1; }
}
