/**
 * La page d'ouverture — servie à la racine du domaine jusqu'au 1er novembre.
 *
 * ⚠️ **Aucun JavaScript, et aucune donnée.** L'animation du monogramme est
 * entièrement en CSS (`core/css/logo.css`), et la page ne charge ni `app.js` ni
 * `core/data.js` : ce dernier porte dix-huit adresses de clientes fictives, et
 * les servir à chaque visiteuse serait la faute déjà commise avec
 * `core/demo/partner-data.js`.
 *
 * ⚠️ **Les coordonnées sont écrites en dur, et c'est surveillé.** Sans
 * JavaScript, la page ne peut pas lire `MAISON` ; la règle « une information,
 * une source » est donc tenue par un test qui compare les deux, plutôt que par
 * la structure. Une duplication vérifiée se corrige ; une duplication tacite
 * dérive.
 */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--creme); color:var(--encre);
  font-family:var(--font-sans);
}

.sprite{position:absolute;width:0;height:0;overflow:hidden}

.ouv{
  position:relative; --h-ouv:100svh; min-height:var(--h-ouv);
  /* ⚠️ **Le monogramme tombe entre les deux appliques du mur**, mesurées à
     35,2 % de la hauteur de l'image. Comme pour le hero d'accueil : on décale
     les **rembourrages** — autant en haut qu'on en retire en bas — plutôt que
     d'ajouter une marge, qui ferait grandir la boîte et déplacerait la cible
     qu'on visait. */
  --descente:calc(var(--h-ouv) * .085);
  display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
  padding:calc(56px + var(--descente)) 24px calc(56px - var(--descente));
  /* Fond d'attente sous la photographie, le temps qu'elle arrive. */
  background:linear-gradient(150deg,var(--peche) 0%,var(--rose) 45%,#C9A98F 100%);
}
.ouv-photo{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:center;
}
/* ⚠️ Même voile que le hero d'accueil, et pour la même raison : une force réglée
   pour un aplat efface une photographie. Il est au-dessus de l'image, sous le
   texte. */
.ouv::before{
  content:""; position:absolute; inset:0; z-index:1; display:block;
  background:
    radial-gradient(ellipse at center, rgba(253,250,245,.44) 0%, rgba(253,250,245,.26) 78%),
    linear-gradient(180deg, rgba(253,250,245,.2) 0%, rgba(253,250,245,.08) 45%, rgba(247,239,230,.62) 100%);
}
.ouv-dedans{position:relative; z-index:2; width:100%; max-width:680px}

.ouv-logo{width:clamp(140px,22vw,200px); height:auto; margin:0 auto 26px; display:block}

h1{
  font-family:var(--font-serif); font-weight:400;
  font-size:clamp(32px,6.4vw,58px); letter-spacing:.16em; text-transform:uppercase;
  line-height:1.05; margin:0; color:var(--encre);
  text-shadow:0 1px 14px rgba(253,250,245,.7);
}

.ouv-disciplines{
  margin:20px 0 30px; display:flex; justify-content:center; align-items:center; gap:16px; flex-wrap:wrap;
  font-size:11.5px; letter-spacing:.3em; text-transform:uppercase; font-weight:500;
  color:var(--encre);
}
/* ⚠️ **Toute la page est en encre PLEINE, comme l'accueil** (Delphine,
   28 septembre 2026). Mesurée au 5ᵉ centile du fond sous les lettres, sur le mur
   terracotta de la même photographie, six lignes sur huit étaient sous leur
   plancher : « La Maison ouvre bientôt » et la phrase d'accueil en terracotta à
   1,6–1,7 pour 4,5 ; les disciplines, « Écrivez-nous… », le séparateur et la
   commune en encre à 62 % à 3,3–3,9. C'est la seule page que le public voit avant
   l'ouverture, et elle se lisait mal sur ce qu'elle a de plus important à dire.
   Une encre transparente se compose sur son fond : aucune force de voile ne
   l'amène à son plancher sans effacer la photographie. Les monogrammes entre les
   disciplines suivent (`currentColor`, dans `core/css/logo.css`).
   `tests/page-ouverture.spec.js` le rejoue. */

.ouv-date{
  margin:0 0 22px; font-size:clamp(15px,2.4vw,18px); color:var(--encre);
  letter-spacing:.04em;
}
.ouv-date b{font-weight:700}

.ouv-mot{
  font-family:var(--font-serif); font-style:italic;
  font-size:clamp(17px,2.3vw,23px); color:var(--encre);
  margin:0 auto 34px; max-width:34ch; line-height:1.5;
  text-shadow:0 1px 12px rgba(253,250,245,.6);
}

/* La phrase qui donne une suite à la page : sans elle, on lit « bientôt » et on
   s'en va. Sur sa propre ligne, en plus discret que le mot d'accueil. */
.ouv-prevenue{
  display:block; margin-top:14px; font-family:var(--font-sans); font-style:normal;
  font-size:14px; letter-spacing:.02em; color:var(--encre);
}

.ouv-contact{
  margin:0 0 8px; display:flex; justify-content:center; align-items:center;
  gap:12px; flex-wrap:wrap; font-size:14.5px;
}
.ouv-contact a{color:var(--encre); text-decoration:none; border-bottom:1px solid var(--terracotta)}
.ouv-contact a:hover,.ouv-contact a:focus-visible{border-bottom-width:2px}
.ouv-contact span{color:var(--encre)}
.ouv-lieu{margin:0; font-size:13px; color:var(--encre); letter-spacing:.05em}

:focus-visible{outline:2px solid var(--terracotta); outline-offset:3px; border-radius:3px}

/* ⚠️ Sur un petit écran le monogramme mange la place du texte : il rétrécit
   plutôt que la page ne défile. */
@media (max-height:640px){
  .ouv-logo{width:clamp(96px,16vw,130px); margin-bottom:16px}
  .ouv-disciplines{margin:14px 0 18px}
  .ouv-mot{margin-bottom:22px}
}
