/* ==========================================================================
   PROGETTI ARCHIVE — one project category's index.
   Figma Residenziale 79:691, y=554–3591. Written as the template for all five
   categories (only Residenziale is drawn; see FIGMA-MAP "Known design gap"),
   so nothing here is Residenziale-specific.

   Opener is the usual inner-page rhythm — 64px hero→crumb, 64px crumb→kicker
   (both already in common/page-hero.css) — over the short 371px hero, which
   sits below the persistent .subnav exactly like the Servizi detail pages.

   The card grid reuses .grid-projects / .project-card verbatim from the
   homepage: same 413px track, same 22px column gap, same 413:287 image, same
   t-body-sm-med u-muted title. Only the row rhythm and a uniform card height
   are new.
   ========================================================================== */
.progetti-archive {
  padding-top: 64px;      /* measured: hero bottom (554) → crumb top (618) */
  padding-bottom: 71px;   /* measured: next-category link bottom (3520) → CTA top (3591) */
}

.progetti-archive__kicker { margin: 0 0 17px; }   /* kicker bottom (754) → intro top (771) */

/* Figma's node box reads 848x148, but the text node screenshots at 845x140 —
   five lines, longest line 845. Chrome needs a slightly wider cap than Figma's
   own box to break the same way: at 845 it spills to six lines, at 860 it
   gives five with a longest line of 846.6. Capped there rather than at the
   Progetti hub's 845, because matching the drawn *wrap* is what keeps the card
   grid on its y — see the intro note in FIGMA-MAP §6. */
.progetti-archive__intro {
  max-width: 860px;
  margin: 0 0 110px;   /* measured: intro bottom (916) → card row 1 top (1026) */
  color: var(--c-text);
}

/* Columns and column-gap come from .grid-projects; only the row pitch is
   page-specific. Figma's six rows step 412 / 408 / 412 / 411 / 412 apart — it
   is hand-placed, so no single value hits them all. 31px (a 411 pitch against
   the 380 card) is the best fit: every row lands within 2px, where 32 drifts
   to 5px by the last one. */
.progetti-archive__grid { row-gap: 31px; }

/* Every card is a uniform 380px tall in Figma. That is exactly the natural
   height of a card whose title wraps to two lines (287 image + 24 + 44 + 24),
   which two of the sixteen do — so rather than let grid stretch some rows and
   not others, every card is pinned to the tallest case, as drawn. */
.progetti-archive .project-card { height: 380px; }

/* "HEALTHCARE & HOSPITALITY →" — the next category in the sequence, pinned
   right. Same PULSANTE as .aec-btn at the 18/600/34 size already used by
   .gc-viewall / .si-viewall / .svi-viewall. */
.progetti-archive__next {
  display: flex;
  justify-content: flex-end;
  margin-top: 25px;   /* measured: grid bottom (3461) → link top (3486) */
}
/* `height` has to come with the size: .aec-btn pins its box to --lh-micro
   (22px), so setting only font-size/line-height leaves a 34px line rendering
   inside a 22px box and swallows 12px of the gap to the CTA below. */
.progetti-archive__next .aec-btn { font-size: 18px; line-height: 34px; height: 34px; }

@media (max-width: 1024px) {
  .progetti-archive { padding-bottom: 43px; }
  .progetti-archive__intro { margin-bottom: 66px; }
  /* Released with the 2-col grid: a narrower column wraps more titles onto a
     second line, and the fixed height is only correct at the 413px track. */
  .progetti-archive .project-card { height: auto; }
}
@media (max-width: 768px) {
  .progetti-archive { padding-top: 40px; padding-bottom: 32px; }
  .progetti-archive__intro { margin-bottom: 50px; }
}
