.rg-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--rh-line);
  border-radius:18px;
  background:var(--rh-surface);
  transition:border-color var(--transition-base), transform var(--transition-base);
}

.rg-card:hover{
  border-color:rgba(90,162,255,.45);
  transform:translateY(-3px);
}

.rg-card__media{
  display:block;
  overflow:hidden;
  border-bottom:1px solid var(--rh-line);
  background:var(--rh-bg);
}

.rg-card__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
  transition:transform var(--transition-slow, .5s);
}

.rg-card:hover .rg-card__media img{
  transform:scale(1.03);
}

.rg-card__fallback{
  display:block;
  aspect-ratio:3 / 2;
  background:linear-gradient(135deg, rgba(90,162,255,.25), var(--rh-surface));
}

.rg-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:10px;
  padding:18px 20px 20px;
}

.rg-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 12px;
  font-size:.78125rem;
  color:var(--rh-muted2);
}

.rg-card__cat{
  padding:3px 9px;
  border:1px solid rgba(90,162,255,.35);
  border-radius:99px;
  font-family:var(--rh-mono);
  font-size:.65625rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--rh-blue2);
}

.rg-card__title{
  margin:0;
}

.rg-card__title a{
  text-decoration:none;
  color:var(--rh-text);
}

.rg-card__title a::after{
  content:"";
  position:absolute;
  inset:0;
}

.rg-card__excerpt{
  display:-webkit-box;
  overflow:hidden;
  font-size:.90625rem;
  line-height:1.55;
  color:var(--rh-muted);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.rg-card__more{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:6px;
  font-size:.875rem;
  font-weight:600;
  color:var(--rh-blue2);
}

.rg-card__more svg{
  width:15px;
  transition:transform var(--transition-fast);
}

.rg-card:hover .rg-card__more svg{
  transform:translateX(3px);
}

.rg-card:focus-within{
  border-color:rgba(90,162,255,.6);
}

.rg-card--lead{
  border-color:rgba(90,162,255,.28);
}

@media (prefers-reduced-motion: reduce){
  .rg-card,
  .rg-card__media img,
  .rg-card__more svg{
    transition:none;
  }
}
