.rr-projects {
  --rr-gap: 1rem;
  --rr-border: #d9d9d9;
  --rr-muted: #666;
  --rr-bg: #fff;
  --rr-soft: #f7f7f7;
}
.rr-projects * { box-sizing: border-box; }
.rr-projects__filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--rr-gap);
  align-items: end;
  margin-bottom: 1rem;
  padding: 1rem;
  background: var(--rr-soft);
  border: 1px solid var(--rr-border);
  border-radius: 12px;
}
.rr-projects__filters label { display: grid; gap: .35rem; font-size: .925rem; font-weight: 600; }
.rr-projects__filters input,
.rr-projects__filters select {
  width: 100%;
  min-height: 42px;
  padding: .55rem .65rem;
  border: 1px solid var(--rr-border);
  border-radius: 8px;
  background: #fff;
  font: inherit;
}
.rr-projects__reset {
  min-height: 42px;
  padding: .55rem .9rem;
  border: 1px solid var(--rr-border);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font: inherit;
}
.rr-projects__reset:hover { background: #f0f0f0; }
.rr-projects__count { margin: 0 0 1rem; color: var(--rr-muted); font-size: .95rem; }
.rr-projects__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--rr-gap);
}
.rr-project-card {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  background: var(--rr-bg);
  border: 1px solid var(--rr-border);
  border-radius: 14px;
}
.rr-project-card[hidden] { display: none !important; }
.rr-project-card__title { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.rr-project-card__meta { display: grid; gap: .5rem; margin: 0; }
.rr-project-card__meta div { display: grid; gap: .1rem; }
.rr-project-card__meta dt { color: var(--rr-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.rr-project-card__meta dd { margin: 0; font-size: .95rem; }
.rr-projects__empty { padding: 1rem; border: 1px dashed var(--rr-border); border-radius: 12px; }
@media (max-width: 640px) {
  .rr-projects__filters { grid-template-columns: 1fr; }
}
