/* portfolio-dormant.css — visual treatment for projects flagged
 * is_dormant in the manifest. Split out of portfolio.css to keep that
 * file under the 450-line size budget. */

/* Card grid — desaturate the whole card and stamp a corner ribbon.
 * Hero opacity drops a touch on top of the grayscale so the card
 * still reads as muted next to active siblings. */
.portfolio-card--dormant .portfolio-card__hero img,
.portfolio-card--dormant .portfolio-card__logo {
  filter: grayscale(1) contrast(0.92) brightness(0.92);
  opacity: 0.78;
}
.portfolio-card--dormant .portfolio-card__title a { color: var(--ink-mid); }
.portfolio-card--dormant:hover .portfolio-card__hero img,
.portfolio-card--dormant:hover .portfolio-card__logo {
  filter: grayscale(0.5) contrast(0.96);
  opacity: 0.92;
}

/* Corner ribbon — diagonal banner anchored top-right. Shared between
 * the list-view card and the detail-view article (see --detail variant). */
.portfolio-ribbon {
  position: absolute;
  top: 14px;
  right: -36px;
  transform: rotate(38deg);
  background: linear-gradient(135deg, #6b7280, #4b5563);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 44px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  z-index: 3;
  pointer-events: none;
  user-select: none;
}
.portfolio-ribbon--detail {
  top: 22px;
  right: -50px;
  padding: 6px 60px;
  font-size: var(--fs-sm);
}

.meta-chip--dormant .meta-chip__v { color: #9ca3af; font-weight: 600; }

.portfolio-detail--dormant { position: relative; }
.portfolio-detail--dormant .portfolio-hero__logo,
.portfolio-detail--dormant .collage-tile img {
  filter: grayscale(0.65) contrast(0.95);
}
