.lm-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border: var(--lm-border-standard) solid var(--lm-glass-edge);
  border-radius: var(--lm-radius-4);
  background: linear-gradient(155deg, var(--lm-slate-750), var(--lm-slate-900));
  box-shadow: var(--lm-shadow-2);
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    border-color var(--lm-duration) var(--lm-ease-out),
    box-shadow var(--lm-duration) var(--lm-ease-out),
    transform var(--lm-duration) var(--lm-ease-out);
}

.lm-card--primary {
  border-color: var(--lm-card-primary-border);
  background: linear-gradient(155deg, var(--lm-blue-700), var(--lm-slate-900));
}

.lm-card--neutral {
  border-color: var(--lm-card-neutral-border);
  background: linear-gradient(155deg, var(--lm-slate-700), var(--lm-slate-900));
}

.lm-card:hover {
  border-color: var(--lm-gold-300);
  box-shadow: var(--lm-shadow-3), var(--lm-glow-gold);
  transform: translateY(calc(-1 * var(--lm-space-1)));
}

.lm-card:focus-visible {
  outline: var(--lm-focus-width) solid var(--lm-gold-100);
  outline-offset: var(--lm-focus-offset);
}

.lm-card__media {
  display: grid;
  min-height: var(--lm-card-image-height);
  place-items: center;
  overflow: hidden;
  background: var(--lm-slate-950);
}

.lm-card__image {
  display: block;
  width: 100%;
  aspect-ratio: var(--lm-card-image-ratio);
  object-fit: contain;
  background: var(--lm-slate-950);
}

.lm-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--lm-space-3);
  padding: var(--lm-space-4);
}

.lm-card__icon {
  display: grid;
  width: var(--lm-icon-lg);
  height: var(--lm-icon-lg);
  place-items: center;
  border: var(--lm-border-standard) solid var(--lm-gold-600);
  border-radius: var(--lm-radius-2);
  color: var(--lm-gold-100);
  background: var(--lm-gradient-slate);
  box-shadow: var(--lm-shadow-1), var(--lm-glow-gold);
}

.lm-card__title {
  margin: var(--lm-space-0);
  color: var(--lm-text-primary);
  font-size: var(--lm-font-size-lg);
  font-weight: 650;
}

.lm-card__body {
  margin: var(--lm-space-0);
  color: var(--lm-text-secondary);
  font-size: var(--lm-font-size-md);
}

.lm-card__content .lm-btn { margin-top: auto; }

.lm-card__media:focus-visible,
.lm-card__content a:focus-visible {
  outline: var(--lm-focus-width) solid var(--lm-gold-100);
  outline-offset: calc(-1 * var(--lm-focus-width));
}

