/* Restored original mobile holding screen, shared by the public site layouts. */
@font-face { font-family:"Plus Jakarta Sans"; src:url('/assets/fonts/PlusJakartaSans-latin.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
/* ============ garde mobile : le site se visite sur ordinateur ============ */
  .garde-mobile { display: none; }
  @media (max-width: 900px) {
    html, body { overflow: hidden !important; height: 100%; }
    .garde-mobile {
      display: block;
      position: fixed; inset: 0; z-index: 9999;
      background: #F2F5F8;
      color: #161617; font-family: "Circular Std", sans-serif;
      overflow: hidden;
    }
    .gm-fond {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: 76% 100%;
    }
    .gm-voile {
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(242, 245, 248, .85) 0%, rgba(242, 245, 248, .5) 32%, rgba(242, 245, 248, .15) 55%, rgba(242, 245, 248, 0) 75%);
      pointer-events: none;
    }
    /* maquette 945x1633 = l'écran : X et tailles en vw (px/9.45), Y en svh (px/16.33) */
    .garde-mobile > *:not(.gm-fond):not(.gm-voile) { position: absolute; margin: 0; }
    .gm-logo {
      left: 0; right: 0; top: 5.21svh;
      display: flex; flex-direction: column; align-items: center;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) both;
    }
    .gm-logo img { height: 8.47vw; width: auto; }
    .gm-kicker {
      left: 8.25vw; top: 25.41svh;
      display: flex; align-items: center; gap: 3.4vw;
      font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
      font-size: 2.22vw; letter-spacing: 0.22em;
      color: #8B9DAF;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 120ms both;
    }
    .gm-kicker::before { content: ""; width: 6.56vw; height: 1.5px; background: #AAB9CB; }
    .gm-titre {
      left: 8.25vw; top: 28.78svh;
      font-weight: 500; font-size: 8.68vw; line-height: 1.12; letter-spacing: -0.03em;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 240ms both;
    }
    .gm-titre .bleu { color: #9DAEC6; }
    .gm-tiret {
      left: 8.25vw; top: 46.66svh;
      width: 3.6vw; height: 0.53vw; min-height: 2px; background: #161617;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 330ms both;
    }
    .gm-texte {
      left: 8.25vw; top: 50.34svh; max-width: 42vw;
      font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
      font-size: 3.17vw; line-height: 1.33;
      color: #3A424B;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 420ms both;
    }
    .gm-note {
      left: 8.25vw; top: 87.08svh;
      display: flex; align-items: center; gap: 2.54vw;
      font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
      font-size: 2.86vw; letter-spacing: 0.2em;
      color: #8B9DAF;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 520ms both;
    }
    .gm-note svg { width: 3.7vw; height: auto; flex: none; }
    .gm-pied {
      left: 8.25vw; right: 8.25vw; top: 93.69svh; text-align: center;
      animation: gm-entre 700ms var(--quint, cubic-bezier(.22, 1, .36, 1)) 600ms both;
    }
    .gm-pied::before { content: ""; display: block; height: 1px; background: rgba(22, 22, 23, .14); }
    .gm-pied p {
      margin: 1.84svh 0 0;
      font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
      font-size: 2.54vw; letter-spacing: 0.24em; color: #8B95A3;
    }
  }
  @keyframes gm-entre {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
  }
@media (max-width:900px) {
  body > :not(.garde-mobile) { display:none !important; }
}
/* Keep the same holding screen readable on tablets and landscape phones. */
@media (max-width:900px) and (min-aspect-ratio:3/4) {
  .garde-mobile { display:flex; flex-direction:column; gap:20px; padding:28px 8.25vw; overflow-y:auto; }
  .garde-mobile > *:not(.gm-fond):not(.gm-voile) { position:relative; inset:auto; flex-shrink:0; }
  .garde-mobile .gm-logo { align-self:center; }
  .garde-mobile .gm-logo img { height:40px; }
  .garde-mobile .gm-kicker { margin-top:28px; font-size:11px; }
  .garde-mobile .gm-titre { font-size:clamp(32px,6vw,52px); }
  .garde-mobile .gm-tiret { height:2px; }
  .garde-mobile .gm-texte { max-width:34ch; font-size:14px; }
  .garde-mobile .gm-note { font-size:11px; margin-top:12px; }
  .garde-mobile .gm-note svg { width:18px; }
  .garde-mobile .gm-pied { margin-top:auto; padding-top:16px; }
  .garde-mobile .gm-pied p { font-size:10px; margin-top:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .garde-mobile > * { animation:none !important; }
}
