/* Decorative, one-shot welcome. Without JS this never covers the menu. */
.menu-welcome { display:none; }
.menu-welcome-active .qr-menu-scope > .menu-welcome {
  align-items:center; animation:menu-welcome-screen 3.5s ease both; background:#173f35;
  background:radial-gradient(ellipse at 50% 42%,#285649 0%,#173f35 57%,#102e27 100%);
  color:#fffdf5; display:flex; height:100vh; height:100dvh; inset:0; justify-content:center;
  overflow:hidden; padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
  position:fixed; text-align:center; width:100%; z-index:1000;
}
.menu-welcome::before, .menu-welcome::after { border:1px solid rgba(232,213,168,.08); border-radius:50%; content:""; height:72vmin; pointer-events:none; position:absolute; width:72vmin; }
.menu-welcome::before { left:-44vmin; top:-24vmin; }
.menu-welcome::after { bottom:-30vmin; right:-42vmin; }
.menu-welcome__content { animation:menu-welcome-arrive 3.5s ease both; max-width:100%; position:relative; }
.menu-welcome__seal { align-items:center; border:0; border-radius:50%; display:flex; height:184px; justify-content:center; margin:0 auto 1.6rem; width:184px; }
.menu-welcome__seal img { background:transparent; border-radius:50%; box-shadow:0 12px 34px rgba(6,26,19,.24); height:168px; padding:0; width:168px; }
.menu-welcome__brand { color:#d5ddc9; display:block; font-size:.625rem; font-weight:600; letter-spacing:.2em; line-height:1.7; }
.qr-menu-scope .menu-welcome__title { font-size:clamp(30px,7vw,44px); font-weight:500; letter-spacing:-.035em; line-height:1.15; margin:.55rem 0 1.5rem; }
.menu-welcome__line { background:#cfba89; border-radius:2px; display:block; height:2px; margin:auto; opacity:.75; width:40px; }
@keyframes menu-welcome-screen { 0%,85% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; pointer-events:none; } }
@keyframes menu-welcome-arrive { 0% { opacity:0; transform:translateY(10px) scale(.97); } 10%,85% { opacity:1; transform:translateY(0) scale(1); } 100% { opacity:0; transform:translateY(-5px) scale(1); } }
@media (max-height:460px) { .menu-welcome__seal { height:128px; margin-bottom:.8rem; width:128px; } .menu-welcome__seal img { height:112px; width:112px; } }
@media (prefers-reduced-motion:reduce) { .menu-welcome-active .qr-menu-scope > .menu-welcome { display:none!important; } }
