.royal-opening{position:fixed;inset:0;z-index:20;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:#07111a;color:#fff8e8}.royal-scene,.royal-shade{position:absolute;inset:-5%;z-index:-3}.royal-scene{background:url('royal-palace-wedding.png') center/cover no-repeat;animation:royalCamera 19s ease-in-out infinite alternate}.royal-shade{z-index:-2;background:radial-gradient(ellipse at 50% 47%,transparent 2%,#07101950 38%,#03090ec7 100%),linear-gradient(90deg,#03101a55,transparent 30%,transparent 70%,#03101a55)}.royal-opening:before{content:"";position:absolute;inset:18px;border:1px solid #f4d48873;box-shadow:inset 0 0 0 5px #fff6da0c;pointer-events:none}.royal-opening:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 76%,#f0bb5533 0 1px,transparent 2px),radial-gradient(circle at 72% 23%,#fff5c955 0 1px,transparent 2px),radial-gradient(circle at 38% 66%,#f6c76a33 0 1px,transparent 2px);background-size:220px 170px,310px 260px,180px 210px;animation:starlight 7s ease-in-out infinite}.royal-glow{position:absolute;z-index:-1;width:42vw;height:42vw;border-radius:50%;filter:blur(50px);opacity:.25;pointer-events:none}.glow-one{top:-18%;left:-12%;background:#f2b651;animation:glowBreath 7s ease-in-out infinite}.glow-two{right:-15%;bottom:-16%;background:#d89038;animation:glowBreath 9s ease-in-out -3s infinite}.royal-intro{position:absolute;top:max(7vh,30px);left:50%;z-index:1;text-align:center;transform:translateX(-50%);color:#f5d991;animation:introFloat 4s ease both}.royal-crest{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid #f2d185aa;border-radius:50%;font:1.25rem 'Cormorant Garamond';letter-spacing:.08em}.royal-crest i{color:#efc25e;font:italic 1.1rem 'Cormorant Garamond';margin:0 3px}.royal-intro p{margin:10px 0 0;white-space:nowrap;font:italic 1rem 'Cormorant Garamond';letter-spacing:.08em}.royal-message{position:relative;z-index:2;width:min(88vw,660px);padding:clamp(32px,6vw,58px) clamp(22px,7vw,70px);text-align:center;background:linear-gradient(135deg,#07121ac2,#0b1b24a8);border:1px solid #e6c77b91;box-shadow:0 22px 70px #02070aaa, inset 0 0 0 7px #f6d7870a;backdrop-filter:blur(5px);opacity:0;transform:translateY(18px) scale(.98);pointer-events:none;transition:opacity 1.35s ease,transform 1.35s cubic-bezier(.16,.85,.2,1)}.royal-message.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.royal-message:before,.royal-message:after{content:'❦';position:absolute;color:#edca77;font:2.6rem 'Cormorant Garamond';opacity:.86}.royal-message:before{top:10px;left:18px}.royal-message:after{right:18px;bottom:10px;transform:rotate(180deg)}.message-ornament{display:block;margin-bottom:14px;color:#f1cf7d;font-size:1.25rem}.royal-message .eyebrow{max-width:400px;margin:0 auto 20px;color:#f0d28d;font-size:.58rem;line-height:1.6}.royal-message h1{margin:0;color:#fff8e9;font:500 clamp(2.7rem,7.2vw,5rem)/.9 'Cormorant Garamond';text-shadow:0 4px 28px #000}.royal-message h1 i{font:italic .62em 'Cormorant Garamond';color:#ebc569}.royal-message>p:not(.eyebrow){max-width:430px;margin:23px auto 28px;color:#f2ead9;font:italic clamp(1rem,2.2vw,1.15rem)/1.6 'Cormorant Garamond'}.royal-continue{min-width:min(100%,305px);padding:15px 26px 13px;border:1px solid #e8c56f;background:linear-gradient(135deg,#f9e6a9,#d7a84d);color:#17232b;cursor:pointer;box-shadow:0 5px 0 #986d27,0 14px 30px #0008;transition:transform .2s ease,box-shadow .2s ease}.royal-continue:hover{transform:translateY(-3px);box-shadow:0 8px 0 #986d27,0 19px 35px #000a}.royal-continue span{font:700 .67rem 'DM Sans';letter-spacing:.16em;text-transform:uppercase}.royal-continue b{margin-left:8px;color:#6b481d;font-size:1rem}.royal-continue small{display:block;margin-top:6px;color:#5b4b32;font:500 .47rem 'DM Sans';letter-spacing:.12em;text-transform:uppercase}.petal-stream{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.petal-stream i{position:absolute;top:-8%;width:10px;height:14px;border-radius:80% 10% 80% 10%;background:linear-gradient(135deg,#ffe4a0,#c87726);opacity:0;box-shadow:0 0 8px #ffd37b66;animation:petalFall var(--speed) linear var(--delay) infinite}.petal-stream i:nth-child(1){left:8%;--speed:11s;--delay:-2s}.petal-stream i:nth-child(2){left:19%;--speed:15s;--delay:-9s;transform:scale(.6)}.petal-stream i:nth-child(3){left:32%;--speed:13s;--delay:-5s;transform:scale(.8)}.petal-stream i:nth-child(4){left:47%;--speed:17s;--delay:-12s;transform:scale(.55)}.petal-stream i:nth-child(5){left:59%;--speed:12s;--delay:-7s;transform:scale(.9)}.petal-stream i:nth-child(6){left:70%;--speed:16s;--delay:-10s;transform:scale(.6)}.petal-stream i:nth-child(7){left:80%;--speed:13s;--delay:-3s;transform:scale(.72)}.petal-stream i:nth-child(8){left:90%;--speed:15s;--delay:-14s;transform:scale(.5)}.petal-stream i:nth-child(9){left:39%;--speed:14s;--delay:-8s;transform:scale(.65)}.royal-opening.opening-exit{animation:royalExit .9s ease forwards}@keyframes royalCamera{from{transform:scale(1.01) translate3d(-.7%,-.4%,0)}to{transform:scale(1.09) translate3d(.8%,.5%,0)}}@keyframes petalFall{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:.85}88%{opacity:.62}100%{opacity:0;translate:70px 116vh;rotate:540deg}}@keyframes glowBreath{50%{opacity:.48;transform:scale(1.18)}}@keyframes starlight{50%{opacity:.35}}@keyframes introFloat{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes royalExit{to{opacity:0;transform:scale(1.025);filter:blur(5px)}}@media(max-width:520px){.royal-opening:before{inset:10px}.royal-intro{top:max(4vh,20px)}.royal-crest{width:46px;height:46px;font-size:1.08rem}.royal-intro p{margin-top:7px;font-size:.88rem}.royal-message{width:min(90vw,460px);padding:33px 22px 29px}.royal-message .eyebrow{font-size:.51rem;margin-bottom:16px}.royal-message h1{font-size:2.72rem}.royal-message>p:not(.eyebrow){font-size:.96rem;margin:17px auto 22px}.royal-message:before,.royal-message:after{font-size:2rem}.royal-continue{min-width:250px;padding:13px 18px 11px}}@media(prefers-reduced-motion:reduce){.royal-scene,.royal-opening:after,.royal-glow,.petal-stream i{animation:none}.royal-message{opacity:1;transform:none;pointer-events:auto}}
