/* ==========================================================================
   V5.6.153 — HERO + TITOLI PRINCIPALI
   Consolidamento per ruoli editoriali.
   Layer intenzionalmente selettivo: NON forza tutti gli h1/h2/h3 del sito.
   ========================================================================== */

:root{
  --type-display-home:clamp(3.35rem,6.7vw,5.25rem);
  --type-page-title:clamp(2.45rem,4.3vw,4.15rem);
  --type-section-title:clamp(2rem,3.3vw,3.35rem);
  --type-intro-copy:clamp(1.08rem,1.25vw,1.28rem);
}

/* HOME — unico messaggio protagonista */
.hero-copy h1{
  max-width:13ch;
  font-size:var(--type-display-home);
  line-height:var(--lh-display);
  margin:0 0 var(--space-4);
  letter-spacing:-.035em;
}

/* Il sottotitolo deve sostenere il messaggio, non competere con esso */
.hero-copy .hero-lead{
  max-width:38rem;
  font-size:var(--type-intro-copy);
  line-height:var(--lh-intro);
  margin:0;
}

/* PAGINE INTERNE — titolo principale, più controllato dell'hero Home */
body.subpage-master .inner-hero h1,
body.subpage-master .inner-page h1{
  max-width:var(--measure-heading);
  font-size:var(--type-page-title);
  line-height:var(--lh-heading);
  letter-spacing:-.03em;
  margin:0 0 var(--space-4);
}

/* Intro delle pagine: stessa famiglia editoriale, larghezza controllata */
body.subpage-master .page-intro{
  max-width:var(--measure-intro);
  font-size:var(--type-intro-copy);
  line-height:var(--lh-intro);
}

/* Grandi capitoli editoriali comuni.
   Sono esclusi i titoli di componenti specialistici e CTA locali. */
.section-heading h2,
.split h2{
  max-width:var(--measure-heading);
  font-size:var(--type-section-title);
  line-height:var(--lh-heading);
  letter-spacing:-.03em;
  margin:0 0 var(--space-4);
}

/* Se una section heading ha testo introduttivo, il ritmo è esplicito. */
.section-heading > p:last-child{
  max-width:var(--measure-intro);
  font-size:var(--type-intro-copy);
  line-height:var(--lh-intro);
}

/* Evita che titoli lunghi delle pagine interne assumano larghezze arbitrarie. */
body.subpage-master .section-heading{
  max-width:var(--measure-heading);
}

/* MOBILE: preservare la gerarchia senza patch di singoli pixel */
@media(max-width:760px){
  .hero-copy h1{
    max-width:11.5ch;
    font-size:clamp(3rem,13vw,3.85rem);
    line-height:1.02;
    margin-bottom:var(--space-3);
  }

  .hero-copy .hero-lead,
  body.subpage-master .page-intro,
  .section-heading > p:last-child{
    font-size:clamp(1rem,4.5vw,1.16rem);
  }

  body.subpage-master .inner-hero h1,
  body.subpage-master .inner-page h1{
    font-size:clamp(2.25rem,10vw,3.15rem);
  }

  .section-heading h2,
  .split h2{
    font-size:clamp(1.9rem,8.5vw,2.65rem);
  }
}
