/* El cierre y su pie comparten la expansión, con altura natural y sin scroll interno. */
.final-stage--footer {
  height: auto;
  min-height: 260svh;
}
.final-stage--footer .final-sticky {
  display: flow-root;
  height: auto;
  min-height: 100svh;
  overflow: visible;
}
.final-stage--footer .final {
  position: relative;
  inset: auto;
  box-sizing: border-box;
  justify-content: flex-start;
  min-height: calc(100svh - 2 * var(--final-inset-y, 110px));
  margin: var(--final-inset-y, 110px) var(--final-inset-x, 180px);
  overflow: clip;
}
/* Reparte la altura libre arriba y antes de redes, sin separar CTA y pregunta. */
.final-stage--footer .final::before {
  content: "";
  flex: 1 0 0px;
}
.final-stage--footer .final-content {
  flex: 0 0 auto;
  min-height: auto;
  padding: 42px 28px 0;
  transform-origin: center bottom;
}
.final-stage--footer .final-content > .inner {
  width: 100%;
  max-width: 1120px;
}
.final-stage--footer .site-footer {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  padding: 28px 24px max(8px, env(safe-area-inset-bottom));
  border: 0;
}
.final-stage--footer .site-footer .footer-inner {
  flex: 1 0 auto;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  justify-content: normal;
  max-width: 1200px;
  gap: 0;
}
.final-stage--footer .site-footer .footer-question {
  width: 100%;
  max-width: none;
  margin: 0 0 12px;
  font: 400 clamp(18px, 1.65vw, 22px)/1.3 "Bodoni Moda", Didot, Georgia, "Times New Roman", serif;
  color: var(--ink);
}
.final-stage--footer .site-footer .footer-contact-link { font-size: 19px; font-weight: 700; border-bottom: 0; }
.final-stage--footer .site-footer .footer-social { margin-top: 32px; align-self: end; }
.final-stage--footer .site-footer .footer-meta { margin-top: 6px; }
.final-stage--footer .site-footer .footer-legal { margin-top: 0; }
.final-stage--footer .site-footer .footer-privacy-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 8px;
}
@supports (height: 100dvh) {
  .final-stage--footer .final-sticky { min-height: 100dvh; }
  .final-stage--footer .final { min-height: calc(100dvh - 2 * var(--final-inset-y, 110px)); }
}
@media (max-width: 700px) {
  .final-stage--footer { min-height: 250svh; }
  .final-stage--footer .final { margin: var(--final-inset-y, 74px) var(--final-inset-x, 36px); }
  .final-stage--footer .final-content { padding: 30px 20px 0; }
  .final-stage--footer .site-footer { padding: 26px 16px max(8px, env(safe-area-inset-bottom)); }
  .final-stage--footer .site-footer .footer-question { font-size: 18px; }
  .final-stage--footer .site-footer .footer-contact-link { font-size: 16px; }
  .final-stage--footer .site-footer .footer-social { margin-top: 26px; }
  .final-stage--footer .site-footer .footer-profile svg,
  .final-stage--footer .site-footer .footer-profile img { flex-basis: 22px; width: 22px; height: 22px; }
  .final-stage--footer .site-footer .footer-privacy-link { min-height: 44px; }
}
/* Conserva la salida accesible anterior para poca altura y movimiento reducido. */
@media (max-height: 650px), (prefers-reduced-motion: reduce) {
  .final-stage--footer { min-height: 0; }
  .final-stage--footer .final-sticky { position: relative; min-height: 0; }
  .final-stage--footer .final { min-height: 100svh; margin: 0; }
  .final-stage--footer .final-content { flex: 0 0 auto; }
  @supports (height: 100dvh) {
    .final-stage--footer .final { min-height: 100dvh; }
  }
}
