/* Shared section typography, taken from the approved reception heading.
   Hero, team labels, cards and controls retain their own hierarchy. */
:root {
  --section-title-size: clamp(36px, 4.7vw, 68px);
  --section-title-leading: 1.08;
}
#contenu h2.atlas-section-title {
  font-family: Inter, Arial, sans-serif;
  font-size: var(--section-title-size);
  font-weight: 700;
  line-height: var(--section-title-leading);
  letter-spacing: -.045em;
  text-transform: none;
  text-wrap: balance;
  max-width: 100%;
  min-width: 0;
  container-type: inline-size;
}
#contenu h2.atlas-section-title .title-line {
  display: block;
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
  line-height: inherit;
}
#contenu h2.atlas-section-title .accent-word { color: var(--accent); }
#contenu .destination h2.atlas-section-title .accent-word { color: var(--accent-light); }
#contenu h2.atlas-section-title .title-keep { white-space: nowrap; }
/* Preserve the full phrases explicitly approved on mobile, without overflow. */
#contenu h2.atlas-section-title .title-long {
  white-space: nowrap;
  font-size: min(1em, 9.1cqi);
}
#contenu #approach-title.atlas-section-title .title-long { font-size: min(1em, 7.5cqi); }
@media (max-width: 760px) {
  :root { --section-title-size: clamp(28px, 9vw, 48px); }
}
@media (max-width: 340px) {
  :root { --section-title-size: clamp(25px, 9vw, 30px); }
}
