.nlc-shell {
  width: min(1440px, calc(100% - 68px));
  margin-inline: auto;
}

.nlc-kicker {
  margin: 0;
  color: var(--nlc-muted);
  font-size: .72rem;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.nlc-section {
  padding-block: 7rem;
  border-top: 1px solid var(--nlc-border);
}

.nlc-section__head {
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: 3rem;
  margin-bottom: 3.5rem;
}

.nlc-section__head h2 {
  margin: 0;
  font-size: clamp(2.9rem, 6vw, 6rem);
  line-height: .92;
  letter-spacing: -.06em;
}

.nlc-section__head p {
  max-width: 46rem;
  color: var(--nlc-muted);
  font-size: 1.08rem;
}


.nlc-editorial-section {
  box-sizing: border-box;
  padding: clamp(2.5rem, 6vw, 7rem) max(1.25rem, calc((100% - 1440px) / 2));
  margin-block: 0;
}
.nlc-editorial-section > * { min-width: 0; }
.nlc-editorial-section .wp-block-columns { gap: clamp(1.5rem, 4vw, 4rem); }
.nlc-editorial-section .wp-block-image img { width: 100%; height: auto; display: block; }
.nlc-editorial-section .wp-block-gallery .wp-block-image img { height: 100%; }
.nlc-editorial-section h2 { font-size: clamp(2rem, 4vw, 4rem); }
.nlc-project-credits { border-top: 1px solid var(--nlc-border); padding-block: 2.5rem; }
.nlc-credits-columns.wp-block-columns { margin: 0; gap: clamp(1.5rem, 4vw, 4rem); }
.nlc-credits-columns > .wp-block-column { margin: 0; }
.nlc-credits-label {
  margin: 0 0 .35rem;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .6;
}
.nlc-credits-value { margin: 0; font-size: .92rem; }
.nlc-project-content > .nlc-editorial-section { margin-block: 0; }
/* "Due immagini" non ha mai un titolo proprio: è sempre la continuazione del modulo sopra. */
.nlc-project-content > .nlc-editorial-section + .nlc-project-duo { padding-top: 0; margin-top: -3rem; }

/*
 * I colori (sfondo, testo) di questi moduli NON sono fissati qui: ogni progetto li sceglie
 * dal pannello Stili del blocco Gruppo/Copertina, cos\u00ec Cencio Papa, Alveo e i prossimi casi
 * possono avere ciascuno la propria identit\u00e0 cromatica pur condividendo la stessa struttura.
 */

/* Hero progetto */
.nlc-project-hero { min-height: clamp(420px, 72vh, 780px); display: flex; flex-direction: column; justify-content: center; }
.nlc-project-hero .wp-block-post-title { margin: .3rem 0 .8rem; font-size: clamp(3rem, 8vw, 8.5rem); line-height: .88; letter-spacing: -.04em; }
.nlc-module-lede { max-width: 42rem; font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.nlc-project-hero .wp-block-buttons { margin-top: 1.3rem; }

/* Sezione indicizzata */
.nlc-indexed-columns { align-items: center; }
.nlc-project-insight .nlc-eyebrow { margin-bottom: 1.2rem; }

/* Fascia funzioni */
.nlc-feature-grid { margin-top: 2.5rem; }
.nlc-feature-item { gap: .5rem; }
.nlc-feature-icon img { width: 40px; height: 40px; object-fit: contain; }
.nlc-feature-title { margin: .4rem 0 0; font-weight: 700; }
.nlc-feature-text { margin: 0; font-size: .92rem; opacity: .85; }

/* Schermata prodotto */
.nlc-module-caption { margin-top: .9rem; font-size: .85rem; opacity: .75; }

/* Etichetta comune, generica (eyebrow) fuori dalla Home */
.nlc-editorial-section .nlc-eyebrow {
  margin: 0 0 .6rem;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .75;
}
@media (max-width: 900px) {
 .nlc-shell { width: min(calc(100% - 40px), 1440px); }
 .nlc-section { padding-block: 4.5rem; }
 .nlc-section__head { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
 .nlc-shell { width: min(calc(100% - 28px), 1440px); }
}

/* Griglie di immagini (Mosaico 1 + 2, Tre immagini, Quattro immagini, Due immagini) */
.nlc-editorial-section .wp-block-columns.nlc-image-grid { gap: 1rem; margin-block: 0; }
.nlc-editorial-section .nlc-image-grid + .nlc-image-grid { margin-top: 1rem; }
.nlc-image-grid > .wp-block-column > .wp-block-image { margin: 0; }
.nlc-mosaic .nlc-mosaic-stack { display: flex; flex-direction: column; gap: 1rem; }
.nlc-mosaic .nlc-mosaic-stack > .wp-block-image { flex: 1 1 0; min-height: 0; margin: 0; }
.nlc-editorial-section .nlc-mosaic .nlc-mosaic-stack > .wp-block-image img { height: 100%; object-fit: cover; }
@media (max-width: 781px) {
  .nlc-mosaic .nlc-mosaic-stack > .wp-block-image { flex: none; }
  .nlc-editorial-section .nlc-mosaic .nlc-mosaic-stack > .wp-block-image img { height: auto; aspect-ratio: 4 / 3; }
}
