.lm-footer {
  border-top: var(--lm-border-standard) solid var(--lm-glass-edge);
  color: var(--lm-text-secondary);
  background: var(--lm-footer-surface);
  box-shadow: inset 0 1px 0 var(--lm-glass-fill);
}

.lm-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) repeat(3, minmax(0, 1fr));
  gap: var(--lm-space-5);
  width: min(100%, 1120px);
  margin: var(--lm-space-0) auto;
  padding: var(--lm-space-6) var(--lm-space-5);
}

.lm-footer__column { min-width: 0; }

.lm-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--lm-space-3);
  color: var(--lm-text-primary);
  font-size: var(--lm-font-size-lg);
  font-weight: 700;
  text-decoration: none;
}

.lm-footer__mark {
  display: grid;
  width: var(--lm-footer-mark-size);
  height: var(--lm-footer-mark-size);
  place-items: center;
  border: var(--lm-border-standard) solid var(--lm-gold-600);
  border-radius: var(--lm-radius-3);
  color: var(--lm-gold-100);
  background: var(--lm-gradient-slate);
  box-shadow: var(--lm-shadow-1), var(--lm-glow-gold);
}

.lm-footer__title {
  margin: var(--lm-space-1) var(--lm-space-0) var(--lm-space-3);
  color: var(--lm-gold-100);
  font-size: var(--lm-font-size-md);
  font-weight: 650;
}

.lm-footer__links {
  display: grid;
  gap: var(--lm-space-2);
  margin: var(--lm-space-0);
  padding: var(--lm-space-0);
  list-style: none;
}

.lm-footer__links a,
.lm-footer__contact a,
.lm-footer__contact span {
  color: var(--lm-text-secondary);
  font-size: var(--lm-font-size-sm);
  line-height: var(--lm-line-height);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.lm-footer__links a:hover,
.lm-footer__contact a:hover {
  color: var(--lm-blue-100);
  text-decoration: underline;
  text-decoration-color: var(--lm-gold-300);
  text-underline-offset: var(--lm-space-1);
}

.lm-footer__links a:focus-visible,
.lm-footer__contact a:focus-visible,
.lm-footer__brand:focus-visible {
  outline: var(--lm-focus-width) solid var(--lm-gold-100);
  outline-offset: var(--lm-focus-offset);
}

.lm-footer__contact {
  display: grid;
  gap: var(--lm-space-2);
  font-style: normal;
}

@media (max-width: 760px) {
  .lm-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 440px) {
  .lm-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lm-space-4);
  }
}