/* =========================================================
   RODAPÉ — componente compartilhado (home e páginas de case)
   Marcação gerada por footer.js dentro de <footer id="site-footer">
   ========================================================= */
.site-footer {
  --ft-bg: #FFFFFF;
  --ft-fg: #262626;
  --ft-text: #333333;
  --ft-muted: #6B6B6B;
  background: var(--ft-bg);
  color: var(--ft-text);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 -1px 0 rgb(0 0 0 / .04), 0 -10px 30px -24px rgb(0 0 0 / .12);
  margin-top: clamp(48px, 6vw, 96px);
}
.site-footer__inner {
  width: 100%; max-width: 1440px; margin-inline: auto;
  padding-inline: clamp(16px, 7.8vw, 112px);
  padding-block: clamp(40px, 4.5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
}
.site-footer__brand { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.site-footer__logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ft-fg); }
.site-footer__mark {
  font-family: "Mango Grotesque", "Antonio", "Arial Narrow", sans-serif; font-weight: 600;
  font-size: 3rem; line-height: 1; letter-spacing: -0.01em; text-transform: uppercase;
}
.site-footer__tagline {
  font-family: "Mango Grotesque", "Antonio", "Arial Narrow", sans-serif; font-weight: 500;
  font-size: 1.0625rem; line-height: 1; text-transform: uppercase; letter-spacing: .01em;
}
.site-footer__social { display: flex; gap: 14px; list-style: none; margin: 0; padding: 0; }
.site-footer__social a { display: grid; place-items: center; width: 32px; height: 32px; color: var(--ft-fg); border-radius: 50%; transition: opacity .2s; }
.site-footer__social a:hover { opacity: .65; }
.site-footer__social svg { width: 32px; height: 32px; display: block; }
.site-footer__social img { width: 28px; height: 28px; display: block; border-radius: 4px; }
.site-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.site-footer__list a { font-size: 1.0625rem; color: var(--ft-text); text-decoration: none; text-underline-offset: 4px; }
.site-footer__list a:hover { text-decoration: underline; color: var(--ft-fg); }
.site-footer a:focus-visible { outline: 2px solid #0D99FF; outline-offset: 4px; border-radius: 4px; }

@media (max-width: 760px) {
  .site-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .site-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .site-footer__inner { grid-template-columns: minmax(0, 1fr); }
}
