/* Unified public footer: shared by the React shell, native WPForms pages, and published locality Pages. */
.site-footer {
  position:relative;
  margin:0;
  padding:68px max(28px,calc((100vw - 1260px)/2)) 24px;
  background:#050505;
  color:#fff;
}
.site-footer__brand {
  display:grid !important;
  grid-template-areas:"badge message contact association";
  grid-template-columns:112px minmax(0,1fr) minmax(225px,.62fr) 102px;
  align-items:center;
  gap:28px clamp(24px,4vw,58px);
  padding-bottom:36px;
  border-bottom:1px solid #414141;
}
.site-footer__brand .badge { grid-area:badge; display:block; width:112px; height:112px; object-fit:contain; }
.site-footer__message { grid-area:message; min-width:0; }
.site-footer .eyebrow { color:#fff; }
.site-footer h2 { max-width:570px; margin:11px 0 0; color:#fff; font-family:'Barlow Condensed',Arial,sans-serif; font-size:clamp(36px,3.75vw,54px); font-weight:600; letter-spacing:.01em; line-height:1.08; text-transform:uppercase; }
.site-footer h2 span { color:#ed2b1d; }
.site-footer__contact { grid-area:contact; display:grid; gap:4px; min-width:0; margin:0; padding:5px 0 5px 20px; border-left:2px solid #ed2b1d; color:#d0d0d0; font-size:11px; font-style:normal; line-height:1.6; }
.site-footer__contact p { margin:0 0 2px; color:#ed2b1d; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.site-footer__contact a { color:#fff; font-weight:700; text-decoration:none; }
.site-footer__contact a:hover { color:#ed2b1d; }
.site-footer__contact span { margin-top:3px; color:#c7c7c7; }
.site-footer__quote { color:#fff !important; font-weight:800; text-decoration-color:#ed2b1d !important; text-decoration-thickness:1px; text-underline-offset:4px; }
.site-footer__association { grid-area:association; display:block; justify-self:end; align-self:end; width:102px; height:102px; }
.site-footer__association img { display:block; width:100%; height:100%; object-fit:contain; }
.site-footer__license { max-width:880px; margin:30px auto 0; padding:0 0 26px; border:0; color:#c8c8c8; font-size:11px; line-height:1.72; text-align:center; }
.site-footer__license strong { color:#fff; font-weight:700; }
.site-footer__bottom { display:flex; justify-content:center; gap:15px; margin:0; padding:18px 8px 10px; border-top:1px solid #414141; color:#aaa; font-size:8px; font-weight:600; letter-spacing:.05em; line-height:1.6; text-align:center; text-transform:uppercase; }
.site-footer__bottom a { color:#fff; text-decoration-color:#ed2b1d; text-decoration-thickness:1px; text-underline-offset:3px; }
.site-footer__bottom a:hover { color:#ed2b1d; }
@media (max-width:790px) {
  .site-footer { padding:52px 20px 24px; }
  .site-footer__brand { grid-template-areas:"badge message" "contact contact" ". association"; grid-template-columns:72px minmax(0,1fr); align-items:start; gap:20px 16px; padding-bottom:32px; }
  .site-footer__brand .badge { width:72px; height:72px; }
  .site-footer__message { align-self:center; min-width:0; }
  .site-footer h2 { margin-top:9px; font-size:34px; line-height:1.06; }
  .site-footer__contact { align-self:stretch; margin-top:0; padding:17px 0 17px 14px; border-top:1px solid #414141; font-size:11px; }
  .site-footer__association { align-self:start; width:90px; height:90px; margin:0; }
  .site-footer__license { margin-top:25px; padding:0 4px 23px; font-size:10px; line-height:1.68; }
  .site-footer__bottom { display:block; padding:17px 8px calc(96px + env(safe-area-inset-bottom)); font-size:8px; line-height:1.8; }
}
@media (max-width:360px) {
  .site-footer { padding-right:16px; padding-left:16px; }
  .site-footer__brand { grid-template-columns:64px minmax(0,1fr); gap:18px 12px; }
  .site-footer__brand .badge { width:64px; height:64px; }
  .site-footer h2 { font-size:32px; }
  .site-footer__association { width:72px; height:72px; }
  .site-footer__contact { font-size:10px; }
}
