/* ===== Réalisations V2 (design demandé) ===== */
.rz-hero{
  padding: 56px 0 18px;
  background:
    radial-gradient(1000px 520px at 20% 0%, rgba(255,45,45,.16), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.72));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.rz-topline{
  text-align:center;
  color: rgba(235,235,245,.70);
  max-width: 90ch;
  margin: 0 auto 18px;
  font-weight: 650;
  line-height: 1.55;
}
.rz-intro{
  text-align:center;
  color: rgba(235,235,245,.60);
  max-width: 78ch;
  margin: 0 auto 18px;
  font-weight: 650;
  line-height: 1.7;
}
.rz-tabs{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  margin: 10px auto 0;
}
.rz-tab{
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(235,235,245,.90);
  text-decoration:none;
  font-weight: 900;
  font-size: .92rem;
}
.rz-tab:hover{ border-color: rgba(255,45,45,.35); text-decoration:none; }
.rz-tab.active{
  background: rgba(255,45,45,.95);
  border-color: rgba(255,45,45,.95);
  color:#fff;
}

.rz-block{ margin-top: 26px; }
.rz-block h2{
  margin: 0 0 12px;
  font-size: 1.25rem;
  font-weight: 950;
}

.rz-grid{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
@media (max-width: 1400px){
  .rz-grid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1100px){
  .rz-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .rz-grid{ grid-template-columns: 1fr; }
}

.rz-card{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.24);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}
.rz-media{
  position:relative;
  height: 160px;
  background: rgba(255,255,255,.03);
}
.rz-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rz-badge{
  position:absolute;
  top: 12px;
  right: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,45,45,.95);
  color:#fff;
  font-weight: 950;
  font-size: .78rem;
}
.rz-body{ padding: 12px 12px 14px; }
.rz-title{
  font-weight: 950;
  font-size: 1.02rem;
  margin: 0 0 6px;
}
.rz-year{
  color: rgba(235,235,245,.55);
  font-weight: 700;
  font-size: .86rem;
  margin-bottom: 10px;
}
.rz-stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
}
.rz-col{
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
}
.rz-label{
  color: rgba(235,235,245,.55);
  font-weight: 800;
  font-size: .82rem;
  margin-bottom: 6px;
  display:flex;
  align-items:center;
  gap: 6px;
}
.rz-val{
  font-weight: 950;
  font-size: 1.05rem;
}
.rz-sub{
  margin-top: 2px;
  font-weight: 900;
  color: rgba(235,235,245,.80);
}
.rz-val span, .rz-sub span{ font-weight: 900; color: rgba(235,235,245,.55); margin-left: 4px; }
.rz-red{ color: rgba(255,45,45,.92); }
.rz-red span{ color: rgba(255,45,45,.55); }

.rz-gain{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,45,45,.92);
  font-weight: 950;
  font-size: .95rem;
}
.rz-desc{
  margin-top: 10px;
  color: rgba(235,235,245,.62);
  font-weight: 650;
  line-height: 1.45;
  font-size: .9rem;
}

.rz-card-link{display:block;color:inherit;text-decoration:none}
.rz-card-link:hover{text-decoration:none}

.rz-blurb{
  margin: 0 0 12px;
  color: rgba(235,235,245,.62);
  font-weight: 650;
  line-height: 1.6;
}
.rz-blurb a{
  color: rgba(235,235,245,.90);
  text-decoration: none;
  font-weight: 900;
}
.rz-blurb a:hover{ text-decoration: underline; }

/* SEO-friendly links inside cards */
.rz-media-link{display:block;color:inherit;text-decoration:none}
.rz-title-link{display:block;color:inherit;text-decoration:none}
.rz-title-link:hover{text-decoration:underline}
