.invitation-splash{z-index:9999;cursor:pointer;-webkit-tap-highlight-color:transparent;height:100dvh;position:fixed;inset:0;overflow:hidden}.splash-half{will-change:transform;width:50%;transition:transform 1.05s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0;overflow:hidden}.splash-half-left{left:0}.splash-half-right{left:50%}.invitation-splash.opening .splash-half-left{transform:translate(-100%)}.invitation-splash.opening .splash-half-right{transform:translate(100%)}.splash-half-inner{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100%;display:flex;position:absolute;top:0}.splash-half-left .splash-half-inner{left:0}.splash-half-right .splash-half-inner{left:-50vw}.splash-seam{opacity:0;z-index:5;pointer-events:none;width:1px;margin-left:-.5px;transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:50%;transform:scaleY(.2)}.invitation-splash.opening .splash-seam{opacity:.9;animation:1s forwards splash-seam-fade;transform:scaleY(1)}@keyframes splash-seam-fade{0%{opacity:.9}60%{opacity:.35}to{opacity:0}}.splash-bg{will-change:transform;transition:transform 1.2s;position:absolute;inset:0;transform:scale(1)}.splash-bg.expanded{transform:scale(1.06)}.splash-content{text-align:center;z-index:2;flex-direction:column;align-items:center;width:100%;max-width:100%;padding:0 24px;display:flex;position:relative}.splash-heart{opacity:0;margin-bottom:20px;transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .4s;transform:scale(0)rotate(-20deg)}.splash-heart.visible{opacity:1;transform:scale(1)rotate(0)}.splash-kicker{letter-spacing:.22em;text-transform:uppercase;opacity:0;margin-bottom:12px;font-size:9px;font-weight:600;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(8px)}.splash-kicker.visible{opacity:1;transform:translateY(0)}.splash-name{overflow-wrap:anywhere;letter-spacing:-.01em;opacity:0;max-width:100%;transition:opacity .7s cubic-bezier(.34, 1.56, .64, 1) var(--delay,.15s), transform .7s cubic-bezier(.34, 1.56, .64, 1) var(--delay,.15s);font-size:clamp(28px,9vw,42px);font-style:italic;line-height:1.05;transform:translateY(16px)}.splash-name.visible{opacity:1;transform:translateY(0)}.splash-divider{opacity:0;flex-direction:column;align-items:center;gap:2px;margin:10px 0;transition:opacity .6s .3s;display:flex}.splash-divider.visible{opacity:1}.splash-ampersand{font-size:22px;font-style:italic;line-height:1}.splash-date{letter-spacing:.06em;overflow-wrap:anywhere;opacity:0;max-width:100%;margin-top:12px;font-size:clamp(10px,3.2vw,12px);transition:opacity .6s .5s,transform .6s .5s;transform:translateY(8px)}.splash-date.visible{opacity:1;transform:translateY(0)}.floral-ornament{opacity:0;pointer-events:none;transition:opacity 1s;position:absolute}.floral-ornament.visible{opacity:1}.floral-top-left{top:6vh;left:6vw}.floral-top-right{top:6vh;right:6vw}.floral-bottom-left{bottom:6vh;left:6vw}.floral-bottom-right{bottom:6vh;right:6vw}.splash-tap{bottom:max(28px, env(safe-area-inset-bottom));z-index:3;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:10px;transition:opacity .7s,transform .7s;display:flex;position:absolute;left:0;right:0;transform:translateY(10px)}.splash-tap.visible{opacity:1;transform:translateY(0)}.splash-tap-ring{border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;animation:1.8s ease-in-out infinite splash-tap-pulse;display:flex}.splash-tap-dot{border-radius:999px;width:7px;height:7px}.splash-tap-label{letter-spacing:.2em;text-transform:uppercase;font-size:11px}@keyframes splash-tap-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.45;transform:scale(1.18)}}.invitation-content{opacity:0;will-change:opacity, transform;transition:opacity .7s,transform .9s cubic-bezier(.22,1,.36,1);transform:scale(1.015)translateY(8px)}.invitation-content.revealed{opacity:1;transform:scale(1)translateY(0)}@media (prefers-reduced-motion:reduce){.invitation-splash{display:none!important}.invitation-content{opacity:1;transition:none;transform:none}}@media (width<=420px),(height<=640px){.floral-ornament{display:none}}@media (width<=420px){.splash-ampersand{font-size:18px}.splash-heart svg{width:40px;height:40px}}.opening-shell{z-index:9999;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;will-change:transform, opacity;height:100dvh;transition:transform .85s cubic-bezier(.76,0,.24,1),opacity .85s;position:fixed;inset:0;overflow:hidden}.opening-shell-inner{flex-direction:column;display:flex;position:absolute;inset:0}.opening-shell.is-open.effect-tap{opacity:0;transform:scale(1.06)}.opening-shell.is-open.effect-swipe_up{transform:translateY(-100%)}.opening-shell.is-open.effect-swipe_down{transform:translateY(100%)}.opening-hint{left:0;right:0;bottom:max(24px, env(safe-area-inset-bottom));z-index:5;pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:0 20px;display:flex;position:absolute}.opening-hint-greeting{letter-spacing:.12em;opacity:.9;font-size:12px}.opening-hint-label{letter-spacing:.2em;text-transform:uppercase;opacity:.75;font-size:10px}.opening-hint-arrow{animation:1.8s ease-in-out infinite opening-bounce}.opening-hint-arrow.down{animation-direction:reverse}@keyframes opening-bounce{0%,to{opacity:.5;transform:translateY(4px)}50%{opacity:1;transform:translateY(-4px)}}.royal-monogram{color:#fffef8;filter:drop-shadow(0 2px 6px #00000059);width:140px;height:96px}.opening-marquee{white-space:nowrap;overflow:hidden}.opening-marquee span{padding-left:100%;animation:14s linear infinite opening-marquee;display:inline-block}@keyframes opening-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.opening-shell{display:none!important}.opening-hint-arrow,.opening-marquee span{animation:none}}
