/* ===========================
   PAGE — full viewport layout
   =========================== */
.page-wrap {
  position: relative;
  min-height: 100dvh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Background photo */
.page-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
}

/* <picture> n'a pas de dimensions par défaut — il faut les forcer
   sinon height:100% sur l'img ne se résout pas correctement */
.page-bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.page-bg__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* ===========================
   HERO CONTENT
   =========================== */
.hero {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100dvh;
  min-height: 100vh;
  padding: var(--s-12) var(--s-4);
}

.hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-10);
  width: 100%;
  max-width: 560px;
  text-align: center;
}

/* ===========================
   HERO SECTIONS
   =========================== */
.hero__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-2);
}

.hero__form-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  width: 100%;
}

.hero__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
