/* =====================================================================
   [C-11] FOOTER — cinco columnas que aparecen en cascada, divisor,
   copyright y enlace a la sección de partners.
   ===================================================================== */
.footer { padding: 116px 0 122px; background: var(--s0); border-top: 1px solid var(--line); }
.footer__cols { display: grid; grid-template-columns: repeat(5, 320px); padding-left: 1px; }
.footer__col h5 { font-size: 18px; font-weight: 400; color: var(--ink-3); line-height: 24px; letter-spacing: -0.012em; }
.footer__col ul { margin-top: 17px; }
.footer__col li { font-size: 18px; line-height: 24px; letter-spacing: -0.012em; color: var(--ink); }
.footer__col li + li { margin-top: 11.5px; }
.footer__col a { color: var(--ink); transition: color .15s ease; }
.footer__col a:hover { color: var(--ac-hi); }
.footer__col li > span { color: var(--ink-3); }
.footer__col .ext { margin-left: 5px; font-size: 16px; display: inline-block; transition: transform .2s var(--ease-out); }
.footer__col a:hover .ext { transform: translate(2px, -2px); }
.footer__col--plain ul { margin-top: 0; }
.footer__col--plain li.first { margin-bottom: 17px; }
.footer__bottom {
  margin-top: 132px; border-top: 2px solid var(--line); padding-top: 29px;
  display: flex; align-items: center; justify-content: space-between;
}
.footer__copy { font-size: 18px; color: var(--ink-3); line-height: 24px; letter-spacing: -0.025em; padding-left: 1px; }
.footer__partners { display: flex; align-items: center; gap: 22px; transition: opacity .2s ease; }
.footer__partners:hover { opacity: .8; }
.footer__partners span { font-size: 13px; color: var(--ink-3); letter-spacing: .02em; text-transform: uppercase; }
.footer__partners img { height: 22px; width: auto; opacity: .85; }

@media (max-width: 1719px) {
  .footer__cols { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 1100px) {
  .footer__cols { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; padding: 0 20px; }
  .footer__bottom { margin: 60px 20px 0; flex-direction: column; gap: 20px; align-items: flex-start; }
}
