.wedding-splash-shell{z-index:150;perspective:1400px;opacity:1;box-sizing:border-box;background:radial-gradient(circle at top,#0a142ff5,#040a14fa);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;transition:opacity .6s ease-in-out;display:flex;position:fixed;inset:0;overflow:hidden}.wedding-splash-shell.is-leaving{opacity:0;pointer-events:none}.wedding-splash-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#070f22e0 0%,#0f1932b8 100%);border:1.5px solid #d4af3740;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:min(1080px,100vw - 1.5rem);min-height:auto;max-height:90dvh;margin:auto;padding:2rem 1.5rem;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards panel-entrance;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #0006,0 20px 60px #d4af371a,inset 0 0 40px #d4af370d}.wedding-splash-stage{width:min(340px,65vw);height:min(340px,65vw);transform-style:preserve-3d;justify-content:center;align-items:center;animation:14s ease-in-out infinite stage-tilt,1s cubic-bezier(.34,1.56,.64,1) forwards stage-entrance;display:flex;position:relative;transform:rotateX(18deg)rotateY(-14deg)}.wedding-ring{width:220px;height:220px;transform-style:preserve-3d;border:10px solid #d4af37f2;border-radius:50%;position:absolute;box-shadow:0 0 30px #d4af3759,inset 0 0 12px #ffeda866}.wedding-ring:before{content:"";border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 18px #ffeeaa4d}.ring-a{animation:12s ease-in-out infinite ring-spin-a;transform:translate(-32px,-24px)rotateX(20deg)rotateY(14deg)}.ring-b{animation:12s ease-in-out infinite ring-spin-b;transform:translate(32px,20px)rotateX(12deg)rotateY(-18deg)}.wedding-ring-glow{background:radial-gradient(circle,#f5d962f2,#d4af3700);border-radius:50%;width:24px;height:24px;animation:4s ease-in-out infinite glow-pulse;position:absolute;transform:translateZ(32px);box-shadow:0 0 36px #f5d962cc}.wedding-splash-copy{z-index:1;text-align:center;gap:18px;max-width:780px;display:grid;position:relative}.wedding-splash-eyebrow{text-transform:uppercase;letter-spacing:.35em;color:var(--gold-bright);opacity:.92;font-family:Cinzel,serif;font-size:clamp(.7rem,2vw,.85rem);animation:1.1s cubic-bezier(.34,1.56,.64,1) .1s forwards fade-up-bounce}.wedding-splash-heading{color:var(--gold-base);letter-spacing:-.04em;text-shadow:0 4px 20px #d4af3733;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,8vw,4.8rem);line-height:.98;animation:1.3s cubic-bezier(.34,1.56,.64,1) .2s forwards fade-up-bounce}.wedding-splash-subtitle{color:#e5c07beb;letter-spacing:.04em;font-family:Montserrat,sans-serif;font-size:clamp(.9rem,2.2vw,1.3rem);animation:1.2s cubic-bezier(.34,1.56,.64,1) .3s forwards fade-up-bounce}.wedding-splash-message{color:#e5e5dfe0;max-width:720px;margin:0 auto;font-family:Montserrat,sans-serif;font-size:clamp(.9rem,1.8vw,1.05rem);line-height:1.8;animation:1.25s cubic-bezier(.34,1.56,.64,1) .4s forwards fade-up-bounce}.wedding-splash-button{border:1.5px solid var(--gold-base);min-width:160px;color:var(--gold-base);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#0a142ffa 0%,#142346f2 100%);border-radius:999px;margin:.5rem auto 0;padding:clamp(.75rem,2vw,1rem) clamp(1.5rem,4vw,2rem);font-family:Cinzel,serif;font-size:clamp(.85rem,2vw,.95rem);transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:1.4s cubic-bezier(.34,1.56,.64,1) .5s forwards fade-up-bounce;box-shadow:0 4px 15px #d4af3726}.wedding-splash-button:hover,.wedding-splash-button:focus{background:linear-gradient(135deg,#0a142f 0%,#192d50 100%);transform:translateY(-3px)scale(1.05);box-shadow:0 12px 30px #d4af3759}.wedding-petal-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wedding-petal{opacity:.95;filter:drop-shadow(0 0 10px #ffd7a08c);border-radius:50% 50% 40% 60%;width:.9rem;height:.9rem;animation:9s ease-in-out infinite petal-fall,4s ease-in-out infinite petal-sway;position:absolute;top:-6%;transform:rotate(32deg)}@keyframes stage-tilt{0%,to{transform:rotateX(18deg)rotateY(-14deg)translateZ(0)}50%{transform:rotateX(26deg)rotateY(-10deg)translateZ(12px)}}@keyframes ring-spin-a{0%{transform:translate(-32px,-24px)rotateX(20deg)rotateY(14deg)rotate(0)}50%{transform:translate(-32px,-24px)rotateX(20deg)rotateY(14deg)rotate(360deg)}to{transform:translate(-32px,-24px)rotateX(20deg)rotateY(14deg)rotate(720deg)}}@keyframes ring-spin-b{0%{transform:translate(32px,20px)rotateX(12deg)rotateY(-18deg)rotate(0)}50%{transform:translate(32px,20px)rotateX(12deg)rotateY(-18deg)rotate(-360deg)}to{transform:translate(32px,20px)rotateX(12deg)rotateY(-18deg)rotate(-720deg)}}@keyframes glow-pulse{0%,to{opacity:.85;transform:translateZ(32px)scale(1)}50%{opacity:1;transform:translateZ(32px)scale(1.18)}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up-bounce{0%{opacity:0;transform:translateY(20px)scale(.95)}60%{opacity:1;transform:translateY(-4px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stage-entrance{0%{opacity:0;transform:rotateX(18deg)rotateY(-14deg)scale(.9)}to{opacity:1;transform:rotateX(18deg)rotateY(-14deg)scale(1)}}@keyframes panel-entrance{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes petal-fall{0%{opacity:.95;transform:translateY(0)rotate(20deg)}35%{opacity:.9}70%{opacity:.6}to{opacity:0;transform:translateY(115vh)rotate(340deg)}}@keyframes petal-sway{0%,to{transform:translate(0)rotate(32deg)}25%{transform:translate(-14px)rotate(28deg)}50%{transform:translate(10px)rotate(40deg)}75%{transform:translate(-8px)rotate(34deg)}}@media (max-width:768px){.wedding-splash-shell{padding:1rem}.wedding-splash-panel{border-radius:20px;gap:1.5rem;padding:1.75rem 1.25rem}.wedding-splash-stage{width:min(300px,60vw);height:min(300px,60vw)}.wedding-splash-copy{gap:1rem}}@media (max-width:480px){.wedding-splash-shell{padding:.75rem}.wedding-splash-panel{border-radius:18px;gap:1.25rem;max-height:95dvh;padding:1.5rem 1rem}.wedding-splash-stage{width:min(240px,55vw);height:min(240px,55vw)}.wedding-ring{border-width:8px;width:180px;height:180px}.wedding-splash-heading{font-size:clamp(1.8rem,7vw,2.8rem)}.wedding-splash-eyebrow{font-size:clamp(.65rem,1.8vw,.75rem)}.wedding-splash-copy{gap:.875rem}.wedding-splash-button{min-width:140px}}@media (max-width:360px){.wedding-splash-panel{gap:1rem;padding:1.25rem .875rem}.wedding-splash-stage{width:min(220px,52vw);height:min(220px,52vw)}}
