/* Le rideau blanc découvre la page et inverse le logo à son passage. */
.home-opening { display: none; }
.has-home-opening .home-opening {
  display: block; position: fixed; inset: 0; z-index: 110;
  background: #fff; pointer-events: none; overflow: clip;
}
.home-opening.is-ready { background: transparent; }
.home-opening__curtain, .home-opening__layer { position: absolute; inset: 0; }
.home-opening__curtain { background: #fff; }
.home-opening__layer--light { color: #fff; }
.home-opening__layer--ink { color: #000; clip-path: inset(0 0 0 0); }
.home-opening__logo {
  position: absolute; left: 0; top: 0;
  transform-origin: top left; visibility: hidden;
}
.home-opening.is-ready .home-opening__logo { visibility: visible; }
.home-opening__slit { width: 100%; height: 100%; clip-path: inset(-35% -30% 0 -30%); }
.home-opening__logo .wm {
  display: block; width: 100%; height: 100%; color: inherit;
  overflow: visible; transform: translateY(110%);
}
.home-opening__logo .wm__sq { fill: currentColor; }
.home-opening__logo [data-logo-letter], .home-opening__logo .wm__sq {
  transform-box: fill-box; transform-origin: center;
}
.has-home-opening:not(.is-home-entering) .hd__brand { visibility: hidden; }
.has-home-opening:not(.is-home-entering) :is(.hd__nav, .hd__toggle, .home-intro, .home-selector, .home-preview-controls, .hd__in > .hd__cta, .home-preview__main, .home-preview__side) { opacity: 0; }
/* Les lignes entrent après le rideau, jamais derrière celui-ci. */
[data-home-page] .hx__title .ln > span { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .has-home-opening .home-opening { display: none; }
  .has-home-opening:not(.is-home-entering) .hd__brand { visibility: visible; }
  .has-home-opening:not(.is-home-entering) :is(.hd__nav, .hd__toggle, .home-intro, .home-selector, .home-preview-controls, .hd__in > .hd__cta, .home-preview__main, .home-preview__side) { opacity: 1; }
}
