/* Referenzen-Showcase – nutzt Projekt-Design-Tokens (dark-mode-safe) */
.ref-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:2rem;
  margin-top:3rem;
}
.ref-card{
  display:flex;flex-direction:column;
  background:var(--card-bg);
  border:1px solid var(--border,var(--border-color));
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  transition:transform .25s ease,box-shadow .25s ease;
}
.ref-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.ref-shot{
  aspect-ratio:16/10;width:100%;object-fit:cover;object-position:top center;
  border-bottom:1px solid var(--border,var(--border-color));background:var(--bg-secondary);
}
.ref-shot--anon{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--primary-dark,#1d4ed8),var(--primary,#2563eb));
  color:#fff;text-align:center;
}
.ref-shot--anon span{font-size:1.05rem;font-weight:600;letter-spacing:.02em;padding:0 1.5rem;line-height:1.5;}
.ref-body{padding:1.5rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1;}
.ref-label{
  display:inline-block;align-self:flex-start;
  font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--primary);background:var(--primary-pale,rgba(37,99,235,.1));
  padding:.28rem .7rem;border-radius:999px;margin-bottom:.9rem;
}
.ref-title{font-size:1.25rem;font-weight:700;color:var(--text-primary,var(--text));margin:0 0 .55rem;}
.ref-desc{color:var(--text-secondary,var(--text-muted));font-size:.94rem;line-height:1.6;margin:0 0 1.1rem;}
.ref-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.3rem;}
.ref-tag{
  font-size:.78rem;color:var(--text-muted);
  border:1px solid var(--border,var(--border-color));border-radius:6px;padding:.22rem .6rem;
}
.ref-link{
  margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;
  font-weight:600;font-size:.9rem;color:var(--primary);text-decoration:none;
}
.ref-link:hover{gap:.6rem;}
.ref-link--muted{color:var(--text-muted);cursor:default;}
.ref-disclaimer{
  margin:3.5rem auto 0;max-width:820px;
  font-size:.82rem;line-height:1.65;color:var(--text-muted);
  background:var(--bg-secondary,var(--surface-secondary));
  border:1px solid var(--border,var(--border-color));border-radius:12px;
  padding:1.2rem 1.5rem;
}
@media(max-width:640px){.ref-grid{gap:1.4rem;margin-top:2rem;}}
