/* =========================================================
   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: var(--color-surface);
  --ft-fg: var(--color-fg);
  --ft-text: var(--color-text);
  --ft-muted: var(--color-muted);
  background: var(--ft-bg);
  color: var(--ft-text);
  font-family: var(--font-body);
  box-shadow: var(--shadow-top);
  margin-top: var(--space-fluid-96);
}
.site-footer__inner {
  width: 100%; max-width: var(--maxw); margin-inline: auto;
  padding-inline: var(--gutter);
  padding-block: var(--space-fluid-64);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-fluid-64);
}
.site-footer__brand { display: flex; flex-direction: column; gap: var(--space-24); min-width: 0; }
.site-footer__logo { display: inline-flex; align-items: center; gap: var(--space-12); text-decoration: none; color: var(--ft-fg); }
.site-footer__mark {
  font-family: var(--font-display); font-weight: 600;
  font-size: var(--fs-logo, 46px); line-height: 1; letter-spacing: -0.01em; text-transform: uppercase;
}
.site-footer__tagline {
  font-family: var(--font-display); font-weight: 500;
  font-size: var(--fs-body); line-height: 1; text-transform: uppercase; letter-spacing: .01em;
}
.site-footer__social { display: flex; gap: var(--space-16); 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: var(--radius-full); 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: var(--radius-sm); }
.site-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-16); }
.site-footer__list a { font-size: var(--fs-body); color: var(--ft-text); text-decoration: none; text-underline-offset: 4px; line-height: var(--lh-body); }
.site-footer__list a:hover { text-decoration: underline; color: var(--ft-fg); }
.site-footer a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; border-radius: var(--radius-sm); }

@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); }
}
