/* Pie en tinta: CTA grande hacia Contacte, datos y logotipo original a todo el ancho. */
.site-footer { background: var(--dark); color: var(--on-dark); padding: 0 var(--gutter) var(--s2); margin-top: var(--s5); }
.fcta { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--s3);
  padding: var(--s5) 0 var(--s4); text-decoration: none; border-bottom: 1px solid rgb(255 255 255 / 0.14); }
.fcta__kicker { grid-column: 1 / -1; color: var(--olive-light); margin: 0; }
.fcta__title { font: 400 clamp(3rem, 1.4rem + 7vw, 9.5rem)/0.88 var(--serif); letter-spacing: -0.03em; }
.fcta__title .ln:last-child { font-style: italic; padding-left: 0.618em; }
.fcta__go { display: inline-flex; align-items: center; gap: 1rem; padding: 1.1em 1.618em; background: var(--olive-light);
  color: var(--ink); font: 400 0.86rem/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase;
  transition: background-color var(--t-fast); }
.fcta:hover .fcta__go { background: #fff; }
.fcta:hover .arrow { transform: translateX(0.382em); }

.footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s3); padding: var(--s4) 0; }
.footer__h { font: 400 var(--fs-kicker)/1.3 var(--mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--on-dark-mute); margin-bottom: var(--s1); }
.footer__text, .footer__list { font-size: 0.98rem; line-height: 1.8; }
.footer__text a, .footer__list a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
  transition: background-size var(--t-mid) var(--ease-grow); }
.footer__text a:hover, .footer__list a:hover { background-size: 100% 1px; }
.footer__label { color: var(--on-dark-mute); font-size: 0.82rem; margin-right: 0.3em; }
.footer__mark { color: var(--on-dark); padding: var(--s3) 0 var(--s2); border-top: 1px solid rgb(255 255 255 / 0.14); }
.footer__logo { width: 100%; height: auto; }
.footer__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s1);
  font: 400 0.74rem/1.4 var(--mono); letter-spacing: 0.06em; color: var(--on-dark-mute); }
.footer__legal { display: flex; flex-wrap: wrap; gap: var(--s2); }
.footer__legal a { text-decoration: none; }
.footer__legal a:hover { color: var(--on-dark); }
.site-footer .lang__item { color: var(--on-dark); }

@media (max-width: 899px) {
  .fcta { grid-template-columns: 1fr; }
  .fcta__go { justify-self: start; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .footer__grid { grid-template-columns: 1fr; }
}
