/* =========================================================
   SMALL TOWN MAHJ — EDITORIAL FOOTER
   Content is anchored left while the transparent crest sits large at the
   lower-right. The copyright/tagline row stays level on a single line.
   ========================================================= */

.site-footer {
  position: relative;
  background: #062e68 !important;
  color: #fffaf1 !important;
}

.site-footer .site-footer__top {
  position: relative !important;
  display: block !important;
  padding-top: clamp(2.1rem, 4vw, 3.4rem) !important;
  padding-right: clamp(190px, 23vw, 290px) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

.site-footer__brand {
  position: absolute !important;
  right: 0 !important;
  bottom: 1.2rem !important;
  display: block !important;
  margin: 0 !important;
}

.site-footer__brand img {
  display: block !important;
  width: clamp(165px, 17vw, 230px) !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

.site-footer__brand p {
  display: none !important;
}

.site-footer__content {
  display: block !important;
  width: min(720px, 100%) !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

.site-footer__invitation {
  min-width: 0 !important;
  margin: 0 !important;
}

.site-footer__invitation .eyebrow {
  margin: 0 0 .5rem !important;
  color: rgba(255,250,241,.7) !important;
  font-size: .64rem !important;
  letter-spacing: .16em !important;
}

.site-footer__invitation h2 {
  max-width: 11em !important;
  margin: 0 0 .8rem !important;
  color: #fffaf1 !important;
  font-size: clamp(1.85rem, 3vw, 3rem) !important;
  line-height: 1.02 !important;
}

.site-footer__invitation .text-link {
  color: #fffaf1 !important;
  border-bottom-color: rgba(255,250,241,.35) !important;
}

.site-footer__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: .65rem 1.15rem !important;
  max-width: 620px !important;
  margin: 1.5rem 0 0 !important;
  text-align: left !important;
}

.site-footer__nav a {
  color: rgba(255,250,241,.82) !important;
  font-size: .82rem !important;
  text-decoration: none !important;
}

.site-footer .site-footer__bottom {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: max-content 1fr max-content !important;
  align-items: center !important;
  gap: 1rem !important;
  padding-top: 1rem !important;
  padding-bottom: 1.15rem !important;
  border-top: 1px solid rgba(255,250,241,.22) !important;
  color: rgba(255,250,241,.72) !important;
  font-size: .7rem !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}

.site-footer__bottom::after {
  content: '';
  grid-column: 2;
}

.site-footer__bottom span:first-child {
  grid-column: 1;
  margin: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.site-footer__bottom span:last-child {
  grid-column: 3;
  margin: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .site-footer .site-footer__top {
    padding-top: 1.75rem !important;
    padding-right: 138px !important;
    padding-bottom: 3rem !important;
  }

  .site-footer__brand {
    right: -4px !important;
    bottom: 1rem !important;
  }

  .site-footer__brand img {
    width: 132px !important;
  }

  .site-footer__content {
    width: 100% !important;
  }

  .site-footer__invitation .eyebrow {
    margin-bottom: .35rem !important;
    font-size: .57rem !important;
  }

  .site-footer__invitation h2 {
    max-width: 9em !important;
    margin-bottom: .65rem !important;
    font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
    line-height: 1.03 !important;
  }

  .site-footer__invitation .text-link {
    font-size: .76rem !important;
  }

  .site-footer__nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, max-content)) !important;
    justify-content: start !important;
    gap: .5rem .9rem !important;
    max-width: calc(100% - 10px) !important;
    margin-top: 1.25rem !important;
    text-align: left !important;
  }

  .site-footer__nav a {
    font-size: .72rem !important;
  }

  .site-footer .site-footer__bottom {
    width: calc(100% - 20px) !important;
    margin: 0 auto !important;
    grid-template-columns: max-content 1fr max-content !important;
    gap: .45rem !important;
    padding: .8rem 0 .95rem !important;
    font-size: clamp(.46rem, 1.95vw, .58rem) !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 430px) {
  .site-footer .site-footer__top {
    padding-right: 118px !important;
    padding-bottom: 2.7rem !important;
  }

  .site-footer__brand img {
    width: 114px !important;
  }

  .site-footer__nav {
    gap: .45rem .75rem !important;
  }

  .site-footer .site-footer__bottom {
    width: calc(100% - 12px) !important;
    gap: .35rem !important;
    font-size: .45rem !important;
  }
}
