.magic-entrance[hidden],#magic-confetti[hidden]{display:none!important}
body.portal-pending{overflow:hidden}
.magic-entrance{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:25px 20px;background:radial-gradient(ellipse at center,#102b4360,transparent 65%),#030b16;overflow:auto;isolation:isolate;transition:opacity .85s .18s,visibility 0s 1.1s}
.magic-entrance:before{content:'';position:absolute;inset:15px;border:1px solid #d9b77530;pointer-events:none;z-index:-1}
.entrance-heading{text-align:center}.entrance-heading .eyebrow{margin:0 0 5px;font-size:9px}.entrance-heading h2{font-size:clamp(28px,3.5vw,45px);color:#e9d8b5;letter-spacing:.04em;line-height:1.15}
.magic-symbol{position:relative;display:block;flex-shrink:0;padding:0;border:0;background:none;width:min(380px,65vw,calc(62svh * .707));cursor:pointer;transition:transform .45s,filter .45s;filter:drop-shadow(0 0 35px #2e9bdf25)}
.magic-symbol img{width:100%;height:auto;display:block;border-radius:5px;mask-image:radial-gradient(ellipse 80% 78% at center,#000 60%,#000c 85%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 78% at center,#000 60%,#000c 85%,transparent 100%)}
.magic-symbol:hover{transform:scale(1.025);filter:drop-shadow(0 0 35px #5abff34d)}
.magic-symbol:focus-visible{outline:2px solid #eed4a0;outline-offset:8px;border-radius:8px}
.magic-symbol .symbol-heart{position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 25px #fff5,0 0 65px #8ddcff50;pointer-events:none;animation:heart-breath 3s ease-in-out infinite}
.entrance-invitation{margin:0;color:#dfc18a;font:italic clamp(18px,2.3vw,23px) 'Cormorant Garamond',Georgia,serif;text-align:center}
.entrance-elements{margin:0;color:#91a9bb;font-size:9px;letter-spacing:.25em;text-align:center}
.entrance-skip{background:transparent;border:0;border-bottom:1px solid #d9b77530;color:#9aaab8;font:10px Manrope,Arial,sans-serif;padding:9px 0;min-height:35px}.entrance-skip:hover{color:#e8d3a7}
#magic-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:42}
.magic-entrance.is-opening{opacity:0;visibility:hidden;pointer-events:none}.is-opening .magic-symbol{transform:scale(1.22);filter:brightness(1.8) drop-shadow(0 0 60px #9bdfff80);transition:transform 1s,filter .5s}.is-opening .symbol-heart{animation:none}
@keyframes heart-breath{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.8)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}
@media(max-width:640px){.magic-entrance{gap:16px;padding:25px 18px}.magic-symbol{width:min(86vw,calc(59svh * .707))}.entrance-heading .eyebrow{font-size:8px;letter-spacing:.19em}.magic-entrance:before{inset:10px}.entrance-elements{font-size:8px;letter-spacing:.18em}.entrance-invitation{font-size:22px}}
@media(max-height:550px) and (min-width:641px){.magic-entrance{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;column-gap:35px;padding:25px 12%}.magic-symbol{grid-column:1;grid-row:1/5;width:min(32vw,calc(85svh * .707));justify-self:end}.entrance-heading,.entrance-invitation,.entrance-elements,.entrance-skip{grid-column:2;justify-self:start;text-align:left}.entrance-heading{align-self:end}}
@media(prefers-reduced-motion:reduce){.magic-entrance,.magic-symbol,.magic-symbol .symbol-heart{animation:none!important;transition:none!important}}
