:root {
  --heading-ink: #152b4b;
  --heading-accent: #ff4d12;
}

/* ============================================================
   Systeme de titres unifie v3
   - H1 pages interieures : Gabarito 900, casse naturelle,
     echelle calme (modele : page sortie scolaire).
   - H2 : Gabarito 700, casse naturelle.
   - Kickers : Shantell Sans orange.
   La home garde son hero specifique (logo dans le H1).
   ============================================================ */

/* H1 des pages interieures */
.evjf-page main h1,
.birthday-page .hero h1,
.school-page .hero h1,
.team-page .team-hero h1,
.contact-page main .page-title,
.news-index .blog-hero h1,
.reservation-page main > h1,
.duo-page main .page-title {
  margin: 0;
  color: var(--heading-ink);
  font-family: "Gabarito", sans-serif;
  font-size: clamp(44px, 4.8vw, 68px);
  font-weight: 900;
  line-height: .96;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
  max-width: 20ch;
}

.news-index .blog-hero h1,
.reservation-page main > h1,
.contact-page main .page-title,
.duo-page main .page-title {
  margin-left: auto;
  margin-right: auto;
}

/* H2 de section : echelle commune */
.home-page main .section-title,
.evjf-page main .section-title,
.birthday-page main .section-title,
.birthday-page .birthday-products h2,
.school-page main .section-title,
.team-page main section h2,
.contact-page main h2,
.duo-page main .section-title,
.reservation-page main .section-title,
.reservation-page main h2 {
  margin-top: 0;
  color: var(--heading-ink);
  font-family: "Gabarito", sans-serif;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
}

/* Kickers manuscrits orange */
.home-page .section-kicker,
.evjf-page .kicker,
.birthday-page .kicker,
.school-page .kicker,
.team-page .team-eyebrow,
.contact-page .kicker,
.contact-page .section-kicker,
.duo-page .section-kicker,
.reservation-page .section-kicker,
.blog-page .blog-kicker,
.blog-page .article-kicker {
  color: var(--heading-accent);
  font-family: "Shantell Sans", "Comic Sans MS", cursive;
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: none;
}

/* Paragraphe d'introduction sous le H1 : taille commune */
.contact-page main .page-intro,
.duo-page main .page-intro,
.reservation-page main .intro,
.evjf-page .hero-copy,
.team-page .team-hero-copy p,
.birthday-page .hero .lead,
.school-page .hero .lead,
.news-index .blog-hero p {
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.45;
}

/* Titres editoriaux longs (articles du blog) */
.article-page .article-hero h1 {
  color: var(--heading-ink);
  font-family: "Gabarito", sans-serif;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 900;
  line-height: .96;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
}

.article-page .article-content h2,
.news-index .news-card h2 {
  font-family: "Gabarito", sans-serif;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0;
  text-transform: none;
}

.article-page .article-content h2 {
  color: var(--heading-ink);
  font-size: clamp(26px, 3vw, 38px);
}

@media (max-width: 720px) {
  .evjf-page main h1,
  .birthday-page .hero h1,
  .school-page .hero h1,
  .team-page .team-hero h1,
  .contact-page main .page-title,
  .news-index .blog-hero h1,
  .reservation-page main > h1,
  .duo-page main .page-title {
    font-size: clamp(36px, 10vw, 54px);
    line-height: .98;
    max-width: none;
    overflow-wrap: normal;
  }

  .home-page main .section-title,
  .evjf-page main .section-title,
  .birthday-page main .section-title,
  .birthday-page .birthday-products h2,
  .school-page main .section-title,
  .team-page main section h2,
  .contact-page main h2,
  .duo-page main .section-title,
  .reservation-page main .section-title,
  .reservation-page main h2 {
    font-size: clamp(34px, 11vw, 52px);
    line-height: .98;
  }

  .article-page .article-hero h1 {
    font-size: clamp(32px, 9.5vw, 46px);
  }
}
