.restaurant-intro{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;color:var(--intro-ink);isolation:isolate;animation:intro-exit var(--intro-duration) both;overflow:hidden}
.intro-panel{position:absolute;top:0;bottom:0;width:50.1%;background:var(--intro-bg);z-index:-2}.intro-panel-left{left:0}.intro-panel-right{right:0}
.intro-lockup{text-align:center;padding:30px;max-width:850px;animation:intro-lockup var(--intro-duration) both}.intro-lockup strong{display:block;font:600 clamp(42px,7vw,96px)/.95 var(--display-font,Georgia,serif);letter-spacing:-.065em;overflow-wrap:anywhere}.intro-lockup p{font:15px/1.5 Inter,sans-serif;color:inherit;margin:26px 0 0}
.intro-monogram{display:inline-flex;align-items:center;justify-content:center;font:italic 600 var(--monogram-size,55px)/1 var(--display-font,Georgia,serif);margin-bottom:32px;border:2px solid currentColor;border-radius:50%;width:125px;height:125px;letter-spacing:-.07em;transform:rotate(-9deg)}
.intro-logo{display:block;width:150px;height:110px;object-fit:contain;margin:0 auto 30px}.intro-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;z-index:-1}
.restaurant-intro [data-intro-skip]{position:absolute;right:28px;bottom:28px;display:flex;gap:25px;align-items:center;background:transparent;color:inherit;font:14px Inter,sans-serif;border:1px solid currentColor;border-radius:3px;padding:15px 20px;min-height:48px}
.intro-curtain .intro-panel-left{animation:curtain-left var(--intro-duration) cubic-bezier(.76,0,.24,1) both}.intro-curtain .intro-panel-right{animation:curtain-right var(--intro-duration) cubic-bezier(.76,0,.24,1) both}
.intro-stamp{background:var(--intro-bg);animation:stamp-exit var(--intro-duration) cubic-bezier(.76,0,.24,1) both}.intro-stamp .intro-monogram{animation:stamp-mark var(--intro-duration) cubic-bezier(.16,1,.3,1) both}
.intro-iris{background:var(--intro-bg);animation:iris-exit var(--intro-duration) cubic-bezier(.76,0,.24,1) both}.intro-iris .intro-monogram{border-radius:0;border:0;font-size:85px}
.restaurant-intro,.restaurant-intro .intro-panel,.restaurant-intro .intro-lockup,.restaurant-intro .intro-monogram{animation-play-state:paused}
.restaurant-intro.is-playing,.restaurant-intro.is-playing .intro-panel,.restaurant-intro.is-playing .intro-lockup,.restaurant-intro.is-playing .intro-monogram{animation-play-state:running}
@keyframes curtain-left{0%,58%{transform:translateX(0)}100%{transform:translateX(-102%)}}
@keyframes curtain-right{0%,58%{transform:translateX(0)}100%{transform:translateX(102%)}}
@keyframes intro-lockup{0%{opacity:0;transform:translateY(22px)}22%,57%{opacity:1;transform:translateY(0)}82%,100%{opacity:0;transform:translateY(-20px)}}
@keyframes intro-exit{0%,92%{visibility:visible;pointer-events:auto}100%{visibility:hidden;pointer-events:none}}
@keyframes stamp-mark{0%{transform:scale(1.6) rotate(-20deg);opacity:0}22%,60%{transform:scale(1) rotate(-8deg);opacity:1}100%{transform:scale(.9) rotate(0);opacity:0}}
@keyframes stamp-exit{0%,62%{opacity:1;transform:translateY(0);visibility:visible}100%{opacity:0;transform:translateY(-25px);visibility:hidden;pointer-events:none}}
@keyframes iris-exit{0%,60%{clip-path:circle(150% at 50% 45%);visibility:visible}100%{clip-path:circle(0% at 50% 45%);visibility:hidden;pointer-events:none}}
@media(max-width:600px){.intro-lockup{padding:25px}.intro-lockup strong{font-size:clamp(40px,13vw,70px)}.intro-monogram{width:105px;height:105px;font-size:min(55px,var(--monogram-size));margin-bottom:28px}.restaurant-intro [data-intro-skip]{right:20px;bottom:25px;left:20px;justify-content:space-between}.intro-lockup p{font-size:14px;max-width:27ch;margin:22px auto 0}}
@media(prefers-reduced-motion:reduce){.restaurant-intro{display:none!important}.restaurant-intro *{animation:none!important}}
