/* RS Performance Épernay — Harmonisation des tailles, toutes pages.
   Chargé en dernier pour préserver le design des rubriques. */
:root{
  --rs-title-hero:clamp(2.35rem,4.3vw,3.95rem);
  --rs-title-section:clamp(1.85rem,3.15vw,2.9rem);
  --rs-title-card:clamp(1.16rem,1.55vw,1.4rem);
}

/* Une échelle de titres commune sur les différentes pages. */
body .hero h1,
body .page-hero h1,
body.er-page .er-hero h1,
body.rp-page .rp-hero h1,
body.ap-page .ap-hero h1{
  font-size:var(--rs-title-hero);
  line-height:1.105;
  letter-spacing:-.052em;
}
body .section-head h2,
body .final-cta h2,
body.er-page .er-section-title h2,
body.er-page .er-explain-grid h2,
body.er-page .er-budget-layout h2,
body.er-page .er-faq-grid h2,
body.er-page .er-outro h2,
body.rp-page .rp-section h2,
body.rp-page .rp-final h2,
body.rp-page .rp-stage-card h2,
body.rp-page .rp-stage2-content h2,
body.ap-page .ap-section h2,
body.ap-page .ap-conclusion h2{
  font-size:var(--rs-title-section);
  line-height:1.15;
  letter-spacing:-.042em;
}
body .card h3,
body.er-page .er-step h3,
body.er-page .er-eligibility h3,
body.er-page .er-reg-card h3,
body.rp-page .rp-benefit h3,
body.rp-page .rp-steps h3,
body.rp-page .rp-service h3,
body.ap-page .ap-service-card h3,
body.ap-page .ap-steps h3{
  font-size:var(--rs-title-card);
  line-height:1.25;
}

/* Paragraphes homogènes sans rapetisser les mentions légales, badges ou légendes. */
body .section-head>p,
body .hero>div>p,
body.er-page .er-hero .er-lead,
body.rp-page .rp-lead,
body.ap-page .ap-lead{
  font-size:1rem;
  line-height:1.73;
}
body.er-page .er-section-title>p,
body.rp-page .rp-section-head>p,
body.ap-page .ap-section-head>p{
  font-size:.96rem;
  line-height:1.72;
}

/* Illustrations rééquilibrées : compte-tours Reprogrammation. */
body.rp-page .rp-hero-dash{
  width:100%;
  max-width:505px;
  margin-inline:auto;
  padding:19px 20px 16px;
  border-radius:23px;
  transform:none;
}
body.rp-page .rp-tacho-wrap{padding:15px 8px 17px}
body.rp-page .rp-tacho-shell{width:min(100%,355px)}
body.rp-page .rp-tacho-readout strong{font-size:clamp(2rem,3.6vw,3rem)}

/* Illustration AdBlue : un peu moins haute et moins large. */
body.ap-page .ap-alert-display{
  width:100%;
  max-width:490px;
  min-height:365px;
  padding:22px;
  margin-inline:auto;
  border-radius:19px;
}
body.ap-page .ap-alert-triangle,
body.ap-page .ap-alert-success-icon{width:100px;margin:16px auto 8px}
body.ap-page .ap-alert-count{font-size:clamp(3.05rem,5vw,4.55rem)}
body.ap-page .ap-alert-line{margin:16px 0 14px}

/* Animation pompes de la page E85, sans supprimer les prix ni les mouvements. */
body.er-page .fuel-live.fuel-live-hero{
  width:100%;
  max-width:505px;
  margin-inline:auto;
  padding:20px 15px 16px;
}
body.er-page .fuel-live-hero .fuel-live-stage{
  min-height:275px;
  padding:22px 6px 25px;
  gap:clamp(25px,3vw,47px);
}
body.er-page .fuel-live-hero .fuel-pump{flex:0 1 155px}
body.er-page .fuel-live-hero .fuel-live-source{font-size:.68rem}

@media(max-width:900px){
  body.rp-page .rp-hero-dash{max-width:480px}
  body.ap-page .ap-alert-display{max-width:475px}
}
@media(max-width:620px){
  :root{
    --rs-title-hero:clamp(2.05rem,8.25vw,2.65rem);
    --rs-title-section:clamp(1.65rem,6.65vw,2.15rem);
    --rs-title-card:1.17rem;
  }
  body .hero h1,
  body .page-hero h1,
  body.er-page .er-hero h1,
  body.rp-page .rp-hero h1,
  body.ap-page .ap-hero h1{line-height:1.12;letter-spacing:-.045em}
  body.rp-page .rp-hero-dash{width:100%;max-width:400px;padding:15px 12px;border-radius:20px}
  body.rp-page .rp-tacho-wrap{padding:12px 2px 14px}
  body.rp-page .rp-tacho-shell{width:min(100%,295px)}
  body.rp-page .rp-tacho-readout strong{font-size:2.15rem}
  body.ap-page .ap-alert-display{max-width:390px;min-height:345px;padding:16px}
  body.ap-page .ap-alert-triangle,
  body.ap-page .ap-alert-success-icon{width:90px;margin:12px auto 8px}
  body.ap-page .ap-alert-count{font-size:3.3rem}
  body.er-page .fuel-live.fuel-live-hero{max-width:440px;padding:18px 10px 14px}
  body.er-page .fuel-live-hero .fuel-live-stage{min-height:253px;padding:20px 0 23px;gap:clamp(21px,6vw,45px)}
  body.er-page .fuel-live-hero .fuel-pump{flex-basis:clamp(118px,33vw,148px)}
}

/* Sous-titres des cartes détaillées : même échelle visuelle. */
body.er-page .er-method h3,
body.er-page .er-didyouknow h3,
body.er-page .er-form-card h3,
body.er-page .er-budget-cta h3,
body.ap-page .ap-checker-result h3{
  font-size:clamp(1.25rem,1.9vw,1.75rem);
  line-height:1.22;
}
/* Ces blocs sont plus étroits que les sections pleine largeur. */
body.rp-page .rp-stage-card h2{font-size:clamp(1.85rem,2.6vw,2.5rem)}
body.ap-page .ap-reg-card h2{font-size:clamp(1.45rem,2.25vw,1.95rem)}
body.er-page .fuel-live-hero h2{font-size:clamp(1.12rem,1.8vw,1.37rem)}
@media(max-width:620px){
  body.rp-page .rp-stage-card h2{font-size:clamp(1.7rem,6.7vw,2.13rem)}
  body.er-page .er-method h3,
  body.er-page .er-didyouknow h3,
  body.er-page .er-form-card h3,
  body.er-page .er-budget-cta h3,
  body.ap-page .ap-checker-result h3{font-size:1.33rem}
}
