

body { overflow-wrap: break-word; }

.footer__grid > *,
.footer__bottom > * { min-width: 0; }

@media (min-width: 641px) and (max-width: 1040px) {
  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid > *:first-child { grid-column: 1 / -1; }
}

.footer__h { text-transform: none; letter-spacing: .02em; font-size: 13px; }

@media (hover: none) {
  .hcircle:hover,
  .hcircle:focus-visible,
  .ncircle:hover,
  .pcard:hover,
  .kcard:hover,
  .scard:hover,
  .emblem:hover { transform: none; }
}

@media (max-width: 640px) {
  .vignette { display: none; }
}

@media (max-width: 640px) {
  .logo { min-height: 44px; }

  .footer__col a,
  .footer__legal a,
  .footer__bottom a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }

  .footer__col a { margin-top: 4px; }
  .footer__legal { gap: 0 22px; }

  a[href^="tel:"],
  a[href^="mailto:"] { min-height: 44px; }
}

.footer__col--nav {
  columns: 2;
  column-gap: clamp(14px, 2vw, 30px);
}

.footer__col--nav .footer__h { column-span: all; }

.footer__col--nav a { break-inside: avoid; }

.footer__col--nav a { margin-top: 0; padding-top: 12px; }

@media (max-width: 640px) {
  .footer__col--nav a { padding-top: 4px; }
}

@media (min-width: 1041px) {
  .footer__grid { grid-template-columns: 1.25fr 1.2fr 1fr; }
}
