.pattern-opening {
  --opening-ready: 0;
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 28px;
  background: #f7f5f0;
  color: #243b47;
  isolation: isolate;
  animation: wisenvoy-opening-failsafe .01ms linear 2.4s forwards;
}
.pattern-opening__composition { width: min(380px, 100%); text-align: center; transform: translateY(-10px); }
.pattern-opening__edition { margin: 0 0 30px; font-family: var(--sans, Arial, sans-serif); font-size: 9px; letter-spacing: .16em; line-height: 1.5; animation: wisenvoy-opening-type .6s both; }
.pattern-opening__wordmark { margin: 0; font-family: var(--serif, Georgia, 'Times New Roman', serif); font-size: clamp(54px, 8vw, 76px); font-weight: 400; line-height: 1.1; letter-spacing: -.065em; animation: wisenvoy-opening-type .65s .1s both; }
.pattern-opening__caption { margin: 16px 0 31px; font-family: inherit; font-size: 12px; line-height: 1.7; letter-spacing: .055em; animation: wisenvoy-opening-type .65s .2s both; }
.pattern-opening__line { display: block; width: 118px; height: 1px; margin: 0 auto; background: rgba(36,59,71,.15); }
.pattern-opening__line i { display: block; width: 100%; height: 100%; background: currentColor; transform-origin: left; transform: scaleX(var(--opening-ready)); transition: transform .25s ease; }
.pattern-opening__skip { position: absolute; right: max(28px, env(safe-area-inset-right)); bottom: max(25px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 10px 3px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.pattern-opening__skip:focus-visible { outline: 2px solid currentColor; outline-offset: 7px; }
.pattern-opening__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pattern-opening[data-opening-state="leaving"] { opacity: 0; visibility: hidden; transition: opacity .24s ease, visibility 0s .24s; pointer-events: none; }
@keyframes wisenvoy-opening-type { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes wisenvoy-opening-failsafe { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (max-width: 600px) {
  .pattern-opening__composition { transform: translateY(-18px); }
  .pattern-opening__caption { font-size: 11px; }
  .pattern-opening__skip { right: 22px; bottom: max(22px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .pattern-opening { display: none; }
  .pattern-opening *, .pattern-opening[data-opening-state="leaving"] { animation: none; transition: none; }
}

/* The entire plate composition enters together, without a cropping wipe. */
.pattern-opening__edition{margin-bottom:24px}
.pattern-opening__motif{width:206px;height:207px;margin:0 auto 28px;animation:wisenvoy-complete-pattern .78s cubic-bezier(.22,.61,.36,1) both}
.pattern-opening__motif img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes wisenvoy-complete-pattern{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.pattern-opening__motif{width:176px;height:177px;margin-bottom:26px}.pattern-opening__edition{margin-bottom:22px}}
@media(max-height:600px){.pattern-opening__composition{transform:none}.pattern-opening__edition{margin-bottom:12px}.pattern-opening__motif{width:120px;height:121px;margin-bottom:16px}.pattern-opening__wordmark{font-size:54px}.pattern-opening__caption{margin:12px 0 18px}}
