.uff-footer {
  background: var(--uff-paper);
  padding-block: 3.6rem 1.4rem;
  border-block-start: 1px solid var(--uff-line);
}

.uff-footer__intro {
  max-width: 36rem;
  margin-block-end: 2.2rem;
}

.uff-footer__title {
  margin: 0 0 0.7rem;
  font-family: var(--uff-serif);
  font-size: clamp(2rem, 3.6vw, 2.85rem);
  font-weight: 500;
  line-height: 1.12;
  text-wrap: balance;
}

.uff-footer__actions {
  margin: 1.1rem 0 0;
}

.uff-footer__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
  gap: 1.8rem 1.6rem;
}

.uff-footer__col h3 {
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uff-rose-deep);
}

.uff-footer__col p {
  margin: 0 0 0.75rem;
  color: var(--uff-muted);
  font-weight: 300;
  line-height: 1.6;
}

.uff-footer a {
  color: inherit;
}

.uff-footer__hours {
  display: grid;
  gap: 0.15rem;
  margin: 0;
}

.uff-footer__hours div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  padding-block: 0.42rem;
  border-block-end: 1px solid var(--uff-line);
  font-size: 0.92rem;
}

.uff-footer__hours dt {
  margin: 0;
  color: var(--uff-ink);
  font-weight: 500;
}

.uff-footer__hours dd {
  margin: 0;
  color: var(--uff-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.uff-footer__hours-row--note {
  grid-template-columns: minmax(0, 1fr);
  border-block-end: 0;
  padding-block: 0;
}

.uff-footer__hours-row--note dt {
  color: var(--uff-muted);
  font-weight: 300;
  line-height: 1.6;
}

.uff-footer__phones,
.uff-footer__links {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
}

.uff-footer__phones a,
.uff-footer__links a {
  display: grid;
  text-decoration: none;
}

.uff-footer__phones small {
  color: var(--uff-muted);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.uff-footer__phones span {
  font-size: 1.12rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.uff-footer__links a {
  color: var(--uff-ink);
}

.uff-footer__col a:hover,
.uff-footer__links a:hover {
  color: var(--uff-rose-deep);
}

.uff-footer__map {
  margin-block-start: 2.2rem;
}

.uff-footer__map iframe,
.uff-map-facade {
  display: block;
  width: 100%;
  height: 17.5rem;
  border: 0;
  border-radius: 0.85rem;
}

.uff-footer__map iframe {
  filter: saturate(0.55) contrast(0.96);
}

.uff-map-facade {
  display: grid;
  place-items: center;
  background: var(--uff-line);
  color: var(--uff-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
}

.uff-footer__bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.85rem 1.4rem;
  margin-block-start: 1.8rem;
  padding-block-start: 1.15rem;
  border-block-start: 1px solid var(--uff-line);
}

.uff-footer .uff-legal__list {
  justify-content: start;
}

.uff-footer__copy {
  margin: 0;
  color: var(--uff-muted);
  font-size: 0.8rem;
}

.uff-logo--foot .uff-logo__mark {
  font-size: 1.2rem;
}

@media (min-width: 960px) {
  .uff-footer__map iframe,
  .uff-map-facade {
    height: 20rem;
  }
}
