.footer { padding: clamp(60px, 9vw, 120px) 0 30px; }
.footer__top { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 40px; border-bottom: 1px solid var(--linea); }
.footer__big { font-family: var(--f-display); font-size: clamp(48px, 11vw, 170px); line-height: .9; letter-spacing: .01em; }
.footer__big span { color: var(--topo-texto); }
.footer .round--lg { background: var(--ebano); color: var(--alabastro); }
.footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; padding: 40px 0; }
.footer__cols small { display: block; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--topo-oscuro); margin-bottom: 8px; }
.footer__cols nav, .footer__cols > div:last-child { display: flex; flex-direction: column; gap: 6px; }
.footer__cols a { width: fit-content; color: #4a4743; transition: color .25s, transform .25s var(--ease); }
@media (hover: hover) and (pointer: fine) { .footer__cols a:hover { color: var(--ebano); transform: translateX(4px); } }
.footer__legal { display: flex; gap: 18px; }
.footer__legal a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--linea); }
.footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 13px; color: var(--topo-oscuro); }
