html.invitation-locked{overflow:hidden}
.invitation-locked body>*:not(.invitation-gate){visibility:hidden!important}
dialog.invitation-gate{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;box-sizing:border-box;background:#eee0c2;color:#30351e;overflow:auto;text-align:center;font-family:Jost,Arial,sans-serif}
.invitation-gate::backdrop{background:#eee0c2}
.invitation-inner{min-height:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 0;box-sizing:border-box}
.invitation-inner>img{display:block;width:clamp(160px,48vw,240px);height:auto;margin:0 auto 12px}
.invitation-gate h1{font:500 clamp(32px,7vw,46px)/1.15 'Cormorant Garamond',Georgia,serif;margin:0;color:#30351e}
.invitation-gate p{margin:0;font-size:17px;line-height:1.5;color:#30351e}
.invitation-gate .invitation-kicker{font-size:12px;letter-spacing:.1em}
.invitation-form{width:100%;max-width:340px;text-align:left}
.invitation-form label{display:block;margin-bottom:8px;font-size:15px}
.invitation-form input{width:100%;box-sizing:border-box;border:1px solid #747653;border-radius:0;padding:15px;background:#fff9ed;color:#30351e;font:18px Jost,Arial,sans-serif}
.invitation-form button{width:100%;margin-top:12px;padding:15px;border:0;background:#30351e;color:#eee0c2;font:18px Jost,Arial,sans-serif;cursor:pointer}
.invitation-form [role=status]{min-height:26px;font-size:14px;margin-top:10px;color:#953b27}
.invitation-gate a{font-size:14px;color:#30351e;text-underline-offset:5px}
.invitation-heart{color:#a43a23;font-size:25px}
.invitation-gate :focus-visible{outline:3px solid #a43a23;outline-offset:4px}
@media(max-height:650px){.invitation-inner{gap:12px;padding:10px 0}.invitation-inner>img{width:150px;margin-bottom:0}}
