/* Original Magical Escapes logo entrance, extracted from the supplied map app. */
#me-site-opening{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 38%,#0b3568 0%,#071f45 38%,#05142f 68%,#030b1d 100%);opacity:1;visibility:visible;will-change:opacity;color:#ffe8b0}
#me-site-opening.is-playing{animation:me-opening-veil 1.95s linear both}
#me-site-opening:before{content:"";position:absolute;width:min(42vw,360px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f8d78d4d 0%,#95bfff24 42%,transparent 72%);opacity:0}
#me-site-opening.is-playing:before{animation:me-opening-halo 1.95s ease-out both}
#me-site-opening:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,#ffffff0d,transparent 38%);opacity:.8;pointer-events:none}
.me-opening-content{position:relative;display:grid;justify-items:center;gap:0;min-width:0;text-align:center;opacity:0;width:min(88vw,620px);transform:translate3d(0,12px,0) scale(.92);will-change:transform,opacity;backface-visibility:hidden}
#me-site-opening.is-playing .me-opening-content{animation:me-opening-logo-travel 1.95s cubic-bezier(.19,.76,.2,1) both,me-opening-logo-opacity 1.95s linear both}
#me-opening-logo{display:block;width:clamp(210px,36vw,420px);height:auto;max-height:40dvh;object-fit:contain;backface-visibility:hidden}
.me-opening-sub{margin-top:-3%;font:600 .67rem/1.3 Manrope,'DM Sans',Arial,sans-serif;letter-spacing:.24em;color:#d7e6f7;text-shadow:0 1px 7px #0009}
.me-opening-spark{position:absolute;z-index:2;pointer-events:none;font-size:clamp(15px,2.6vw,28px);color:#ffe8b0;text-shadow:0 0 10px #fff,0 0 20px #ffce75a8;opacity:0;will-change:transform,opacity}
#me-site-opening.is-playing .me-opening-spark{animation:me-opening-spark-travel 1.7s cubic-bezier(.17,.75,.21,1) both,me-opening-spark-opacity 1.7s linear both}
.me-opening-spark-a{left:19%;top:31%;animation-delay:.02s!important}
.me-opening-spark-b{right:19%;top:24%;animation-delay:.13s!important;font-size:clamp(12px,1.9vw,22px)}
.me-opening-spark-c{right:26%;bottom:26%;animation-delay:.08s!important;font-size:clamp(10px,1.4vw,17px)}
.me-opening-spark-d{left:24%;bottom:25%;animation-delay:.17s!important;font-size:clamp(13px,1.8vw,21px)}
.me-opening-spark-e{left:50%;top:18%;animation-delay:.23s!important;font-size:clamp(9px,1.2vw,14px)}
@keyframes me-opening-logo-travel{from{transform:translate3d(0,12px,0) scale(.92)}to{transform:translate3d(0,-7px,0) scale(1.45)}}
@keyframes me-opening-logo-opacity{0%{opacity:0}17%{opacity:1}73%{opacity:1}100%{opacity:0}}
@keyframes me-opening-veil{0%,70%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes me-opening-halo{0%{opacity:0}33%{opacity:.78}100%{opacity:0}}
@keyframes me-opening-spark-travel{from{transform:translate3d(0,10px,0) scale(.65) rotate(-12deg)}to{transform:translate3d(0,-24px,0) scale(1.55) rotate(28deg)}}
@keyframes me-opening-spark-opacity{0%{opacity:0}20%{opacity:0}34%{opacity:.95}64%{opacity:.95}100%{opacity:0}}
.me-opening-fallback{display:none;font:400 clamp(2rem,6vw,3.6rem)/1.1 Georgia,serif;color:#ffdf9c;text-shadow:0 2px 24px #fec95355;text-align:center}
#me-site-opening.use-fallback #me-opening-logo{display:none}
#me-site-opening.use-fallback .me-opening-fallback{display:block}
#me-opening-skip{position:absolute;z-index:5;right:clamp(20px,4vw,56px);bottom:clamp(24px,5vh,48px);min-height:44px;padding:10px 18px;border:1px solid #ffffff48;border-radius:999px;background:#061a34;color:#f7e7be;font:600 12px/1.4 Manrope,Arial,sans-serif;letter-spacing:.04em;cursor:pointer}
#me-opening-skip:hover{background:#10386a;border-color:#ffdf92}
#me-opening-skip:focus-visible{outline:3px solid #ffdf92;outline-offset:5px}
#me-site-opening.is-static .me-opening-content{opacity:1;transform:none;animation:none!important}
#me-site-opening.is-static .me-opening-spark{display:none}
#me-site-opening.is-static{animation:none!important}
@media(prefers-reduced-motion:reduce){#me-site-opening,#me-site-opening:before,.me-opening-content,.me-opening-spark{animation:none!important;transition:none!important}.me-opening-content{opacity:1;transform:none}.me-opening-spark{display:none}}
