/* Chi siamo — stili specifici */

/* Intro split (testo + foto verticale) */
.intro-split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
  padding: 80px var(--gutter);
}
.intro-split__title { font-size: 56px; line-height: 1.05; letter-spacing: -0.4px; margin: 0 0 24px; }
.intro-split p { font-size: 16px; line-height: 1.7; color: var(--ink-soft); max-width: 480px; margin: 0 0 18px; }
.intro-split p:last-child { margin-bottom: 0; }
.intro-split .media { aspect-ratio: 4 / 5; }

/* Valori */
.values-title { font-size: 42px; line-height: 1.08; margin: 0 0 44px; max-width: 620px; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.value h3 { font-family: var(--serif); font-weight: 600; font-size: 24px; margin: 0 0 10px; }
.value p  { font-size: 14px; line-height: 1.65; color: var(--muted); margin: 0; }

/* Processo (fondo scuro) */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.step { border-top: 1px solid rgba(242,236,224,0.22); padding-top: 20px; }
.step__num { font-family: var(--serif); font-size: 34px; color: var(--gold-light); }
.step h3 { font-size: 17px; font-weight: 600; margin: 14px 0 8px; }
.step p { font-size: 13.5px; line-height: 1.6; color: var(--dark-muted); margin: 0; }
.section-title { font-size: 46px; line-height: 1.05; letter-spacing: -0.3px; margin: 0; }

/* Riga statistiche */
.stats-row { padding: 72px var(--gutter) 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }

/* CTA con sfondo tratteggiato */
.cta-photo {
  margin: 72px var(--gutter) 72px;
  padding: 56px var(--gutter);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  background: #E4DACB;
}
.cta-photo__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}
.cta-photo__scrim { position: absolute; inset: 0; background: rgba(246,242,234,0.72); z-index: 1; }
.cta-photo__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.cta-photo h2 { font-family: var(--serif); font-weight: 500; font-size: 36px; margin: 0 0 8px; }
.cta-photo p  { font-size: 15px; color: var(--ink-soft); margin: 0; max-width: 460px; }

@media (max-width: 900px) {
  .intro-split { grid-template-columns: 1fr; gap: 40px; }
  .values-grid { grid-template-columns: 1fr; gap: 28px; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .intro-split__title { font-size: 36px; }
  .values-title, .section-title { font-size: 30px; }
  .stats-row { padding-top: 56px; }
  .cta-photo { margin-top: 56px; }
  .cta-photo__inner { flex-direction: column; align-items: flex-start; }
}
