/* One complete hero card for each case study. */
.project-hero { padding: 122px 0 56px; }
.project-hero__card { overflow: hidden; border: 1px solid #344047; border-radius: 20px; background: linear-gradient(140deg, #152126, #0d1519); box-shadow: 0 24px 64px #0004; }
.project-hero__visual { margin: 0; min-width: 0; }
.project-hero__visual img { display: block; width: 100%; height: auto; }
.project-hero__visual figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 20px 40px; border-bottom: 1px solid #344047; color: #aebbc1; font: 400 .82rem/1.6 var(--font-body, sans-serif); }
.project-hero__status { color: #c4f042; font: 500 .65rem/1.4 var(--font-mono, monospace); letter-spacing: .1em; text-transform: uppercase; }
.project-hero__grid { padding: 38px 40px 0; }
.project-hero__copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; min-width: 0; }
.project-hero .label { grid-column: 1 / -1; margin-bottom: 20px; }
.project-hero h1 { grid-column: 1; grid-row: 2 / span 3; font-size: clamp(2.3rem, 3.5vw, 3.5rem); line-height: 1.08; margin: 0 0 24px; }
.project-hero .lede { grid-column: 2; font-size: 1rem; line-height: 1.75; margin-bottom: 24px; }
.project-hero .btn-group { grid-column: 2; gap: 10px; }
.project-hero .btn-group a { white-space: normal; }
.project-hero .demo-disclosure { grid-column: 2; }
.project-hero .meta-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 32px 40px 0; padding: 24px 0 32px; }
.project-hero .meta-row > div { min-width: 0; }
.project-hero--staamp .project-hero__card { border-color: #655c4d; }
.project-hero--immunaris .project-hero__card { border-color: #65595a; }
@media (max-width: 960px) {
  .project-hero__copy { display: block; }
  .project-hero h1 { font-size: clamp(2.3rem, 6vw, 3.5rem); }
  .project-hero .meta-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .project-hero { padding-top: 110px; }
  .project-hero__card { border-radius: 12px; }
  .project-hero__grid { padding: 24px 20px 0; }
  .project-hero__visual figcaption { padding: 16px 20px; }
  .project-hero .meta-row { grid-template-columns: minmax(0, 1fr); margin: 28px 20px 0; }
  .project-hero h1 { font-size: 2.2rem; }
}
