/* Accueil : proportions et cadrages de WEBSITE V3, frame Figma 21:535.
   Les composants et tokens partagés restent dans le design system. */
.page-home main > .section, .page-home main > .section--sm { padding-block: calc(var(--section-gap) / 2); }
.page-home main > [data-pattern="beepings/reassurance"] { padding-block: 24px; }
.page-home main > section[id] { scroll-margin-top: calc(var(--header-h) + 20px); }
.page-home .container--wide { max-width: var(--container); }
.page-home .section-head { gap: 18px; }

/* Héros : le cadrage s'adapte au bloc sans déformer la photographie. */
.page-home .hero-home { min-height: 841px; align-items: start; padding-block: 173px 150px; }
.page-home .hero-home__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; animation: none; }
.page-home .hero-home__shade { background: none; }
.page-home .hero-home__content { max-width: 683px; gap: 15px; }
.page-home .hero-home .display-1 { max-width: 631px; }
.page-home .hero-home__content .lead { max-width: 651px; }
.page-home .hero-home .btn-group { margin-top: 134px; }
.page-home .hero-home .btn--white-text { --cta-base: var(--c-white); }
.page-home .hero-home .btn--white-text .btn__arrow { background: var(--c-primary-100); }
@media (hover: hover) and (pointer: fine) {
  .page-home .hero-home .btn--white-text:hover .btn__arrow { background: rgba(255, 255, 255, .22); }
}

@media (max-height: 900px) {
  .page-home.hero-intro-ready .hero-home { padding-top: clamp(112px, 16svh, 144px); }
  .page-home.hero-intro-ready .hero-home .btn-group { margin-top: clamp(24px, 5svh, 48px); }
}
@media (max-height: 760px) {
  .page-home.hero-intro-ready .hero-home { padding-top: clamp(100px, 14svh, 112px); }
  .page-home.hero-intro-ready .hero-home .btn-group { margin-top: 24px; }
}
@media (max-width: 640px) and (max-height: 760px) {
  .page-home.hero-intro-ready .hero-home__content { gap: 12px; }
  .page-home.hero-intro-ready .hero-home .display-1 { font-size: 40px; }
  .page-home.hero-intro-ready .hero-home .lead { font-size: 16px; }
  .page-home.hero-intro-ready .hero-home .btn { font-size: 14px; }
}


@media (max-width: 1500px) {
  .page-home .hero-home { min-height: 720px; padding-block: 160px 90px; }
  .page-home .hero-home__content { max-width: 58%; }
  .page-home .hero-home .btn-group { margin-top: 65px; }
  .page-home .hero-home .display-1 { max-width: 95%; }
}
@media (max-width: 900px) {
  .page-home .container { width: calc(100% - 2 * var(--gutter-fluid)); }
  .page-home .hero-home__content { max-width: 80%; }
  .page-home .hero-home__shade { background: linear-gradient(90deg, rgba(20, 30, 38, .4), transparent); }
}
@media (max-width: 640px) {
  .page-home .hero-home { min-height: 700px; padding-block: 160px 70px; }
  .page-home .hero-home__content { max-width: none; }
  .page-home .hero-home__media img { object-position: 63% center; }
  .page-home .hero-home__shade { background: linear-gradient(180deg, rgba(20, 30, 38, .2), rgba(20, 30, 38, .65)); }
  .page-home .hero-home .btn-group { margin-top: 25px; }
  .page-home .hero-home .display-1 { max-width: 380px; }
}
