.project-list-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: end;
  padding: 134px 0 72px;
  color: #fff;
  background: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .53)), url("assets/images/fotovoltaico-terra.webp") center / cover;
}
.project-list-hero h1 { color: #fff; max-width: 900px; }
.project-list-hero__copy { max-width: 700px; margin: 24px 0 0; color: rgba(255,255,255,.82); font-size: 1.16rem; }
.project-list-hero--infrastructure { background-image: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .48)), url("assets/images/hero-infrastrutture-illuminazione.webp"); }
.project-list-hero--digital { background-image: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .53)), url("assets/images/reti-dati-hero.webp"); }
.project-list-hero--systems { background-image: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .53)), url("assets/images/impiantistica-hvac.webp"); }
.project-list-hero--switchboards { background-image: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .53)), url("assets/images/quadri-mt-bt.webp"); }
.project-list-hero--healthcare { background-image: linear-gradient(90deg, rgba(17, 23, 34, .91), rgba(17, 23, 34, .53)), url("assets/images/ospedaliero-ambienti-sanitari.webp"); }
.project-archive-empty { max-width: 860px; border: 1px solid var(--es-steel); padding: clamp(32px, 6vw, 72px); background: #f4f7f6; }
.project-archive-empty h2 { max-width: 680px; }
.project-archive-empty p:last-child { max-width: 700px; margin-bottom: 0; }
.project-list-intro { max-width: 840px; font-size: 1.1rem; }
.project-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.project-list-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-list-grid--archive .project-archive-empty { width: 100%; }
.project-list-card { display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--es-steel); background: #fff; }
.project-list-card__media { display: flex; min-height: 214px; align-items: stretch; padding: 0; background: #e9eeec; }
.project-list-card__media img { width: 100%; height: 214px; object-fit: cover; display: block; }
.project-list-card__media span { color: var(--es-graphite); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.project-list-card__body { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.project-list-card__body h2 { font-size: clamp(1.38rem, 1.8vw, 1.72rem); line-height: 1.08; }
.project-list-card__summary { margin: 16px 0 24px; font-size: .96rem; }
.project-list-card__data { display: grid; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--es-steel); }
.project-list-card__data div { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; min-width: 0; }
.project-list-card__data span { color: var(--es-muted); font-size: .73rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.project-list-card__data strong { color: var(--es-graphite); font-size: .9rem; text-align: right; min-width: 0; overflow-wrap: anywhere; }
.project-list-cta { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.project-list-cta h2 { max-width: 720px; }
@media (max-width: 900px) { .project-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .project-list-hero { min-height: 500px; padding: 110px 0 56px; } .project-list-grid { grid-template-columns: 1fr; } .project-list-cta { display: block; } .project-list-cta .button { margin-top: 30px; } .project-list-card__body { padding: 22px; } .project-list-card__data div { display: grid; grid-template-columns: 1fr; gap: 4px; } .project-list-card__data strong { text-align: left; } }
