/* Mearaya loader (scoped so it does not affect the site) */
html.ml-lock{overflow:hidden}
html.ml-skip #loader{display:none}
#loader{--ivory:#fffaf6;--rose:#f4b9ae;--gold:#b98a2c;--ink:#0d3b2e;position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;background-color:var(--ivory);color:var(--ink);font-family:Georgia,"Times New Roman",serif;transition:background-color .8s ease;overflow:hidden;box-sizing:border-box;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
#loader *{box-sizing:border-box}
#loader .burst-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#loader .bl{position:absolute;left:0;top:0;will-change:transform,opacity;opacity:0;filter:drop-shadow(0 6px 10px rgba(185,110,100,.25))}
#loader .bl svg{display:block;width:100%;height:auto;overflow:visible}
#loader .bar,#loader #pct,#loader .halo{transition:opacity .5s ease}
#loader.burst{background-color:rgba(255,250,246,.9);pointer-events:none}
#loader.burst .bar,#loader.burst #pct{opacity:0}
#loader .stage{transition:opacity 1s ease,transform 1.2s cubic-bezier(.6,0,.3,1)}
#loader.done .stage{opacity:0;transform:scale(1.12)}
#loader.done{background-color:rgba(255,250,246,0);pointer-events:none}
#loader .stage{position:relative;width:min(84vw,440px);aspect-ratio:1000/812}
#loader .halo{position:absolute;left:50%;top:58%;width:130%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(244,185,174,.55),rgba(244,185,174,0) 65%);opacity:0;animation:ml-halo 3.6s ease-out .2s forwards}
@keyframes ml-halo{0%{opacity:0;scale:.4}40%{opacity:1}100%{opacity:.7;scale:1}}
#loader svg.lotus{position:absolute;left:13%;top:22%;width:74%;height:auto;overflow:visible;animation:ml-lotusOut .9s ease 2.3s forwards}
#loader .p{transform:rotate(var(--r)) scale(0);animation:ml-bloom 1.3s cubic-bezier(.2,.9,.25,1.15) var(--d) forwards}
#loader .p path{fill:url(#pg);stroke:var(--gold);stroke-width:2.4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:ml-draw 1.4s ease var(--d) forwards,ml-fillin 1s ease calc(var(--d) + .6s) forwards}
#loader .p line{stroke:var(--gold);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;animation:ml-draw 1s ease calc(var(--d) + .7s) forwards}
@keyframes ml-bloom{to{transform:rotate(var(--r)) scale(1)}}
@keyframes ml-draw{to{stroke-dashoffset:0}}
@keyframes ml-fillin{to{fill-opacity:1}}
@keyframes ml-lotusOut{to{opacity:0;scale:1.04}}
#loader .logo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;mix-blend-mode:multiply;opacity:0;filter:blur(8px);clip-path:inset(0 0 100% 0);animation:ml-logoIn 1.6s cubic-bezier(.3,.7,.2,1) 2.1s forwards}
@keyframes ml-logoIn{0%{opacity:0;filter:blur(8px);clip-path:inset(0 0 100% 0)}35%{opacity:1}100%{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0)}}
#loader .shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%);translate:-120% 0;animation:ml-shine 1.3s ease 3.5s forwards;mix-blend-mode:soft-light}
@keyframes ml-shine{to{translate:120% 0}}
#loader .bar{margin-top:26px;width:min(56vw,220px);height:2px;background:rgba(185,138,44,.2);border-radius:2px;overflow:hidden}
#loader .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--gold),#e6c36a,var(--gold));transform:scaleX(0);transform-origin:left;animation:ml-fillbar 4.2s cubic-bezier(.5,0,.2,1) forwards}
@keyframes ml-fillbar{to{transform:scaleX(1)}}
#loader #pct{margin-top:10px;font-size:12px;letter-spacing:.3em;color:var(--gold);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){#loader *{animation-duration:.01s!important;animation-delay:0s!important}}
