.article-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  background: #fff;
  color: var(--color-text);
  box-shadow: 0 8px 24px rgba(11,45,77,.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.article-card:hover {
  border-color: color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
  color: var(--color-text);
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(11,45,77,.13);
}

.article-card__media { display: block; width: 100%; aspect-ratio: var(--article-card-image-ratio, 16 / 10); overflow: hidden; background: var(--color-secondary); }
.article-card__media .core-image { width: 100%; height: 100%; margin: 0; }
.article-card__img, .article-card__media img { display: block; width: 100%; height: 100%; object-fit: var(--article-card-image-fit, cover); }
.article-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.35rem; }
.article-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .75rem; margin-bottom: .65rem; color: var(--color-accent); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.article-card__date { color: var(--color-muted-text); }
.article-card__title { margin: 0; color: var(--color-primary); font-size: 1.22rem; line-height: 1.25; }
.article-card__title a { color: inherit; text-decoration: none; }
.article-card__excerpt { margin-top: .7rem; color: var(--color-muted-text); font-size: .95rem; }
.article-card__excerpt > :first-child { margin-top: 0; }
.article-card__excerpt > :last-child { margin-bottom: 0; }
.article-card__button { width: fit-content; margin-top: auto; padding-top: 1rem; color: var(--color-accent); font-weight: 750; text-decoration: none; }
.article-card--no-image .article-card__body { padding-top: 1.7rem; }

@media (prefers-reduced-motion: reduce) { .article-card { transition: none; } }
