/* Same image sizing as the existing logo. Absolute overlays never change layout or hit areas. */
.royal89-logo-picture{position:relative}
.royal89 .logo819-stage{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(100%,1020px,max(240px,calc(200vh - 500px)));height:auto;aspect-ratio:2;overflow:visible;pointer-events:none;visibility:hidden}
@supports(height:100dvh){.royal89 .logo819-stage{width:min(100%,1020px,max(240px,calc(200dvh - 500px)))}}
.logo819-ready .royal89-logo{clip-path:url(#logo819-static)}
.royal89 .logo819-ready .logo819-stage{visibility:visible}
.logo819-wing{transform-origin:1100px 135px;animation:logo819-wing 5s ease-in-out infinite}
.logo819-eye{opacity:0;animation:logo819-eye 5s ease-in-out infinite}
.logo819-breath{opacity:0;animation:logo819-breath 5s ease-in-out infinite}
@keyframes logo819-wing{0%,40%,100%{transform:rotate(0)}8%{transform:rotate(-.25deg)}22%{transform:rotate(-1.96deg)}33%{transform:rotate(.35deg)}}
@keyframes logo819-eye{0%,30%,100%{opacity:0}8%,20%{opacity:1}}
@keyframes logo819-breath{0%,14%,40%,100%{opacity:0}27%{opacity:.7}}
.castle819-effects{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.castle819-halo{transform-origin:690px 115px;opacity:.46;animation:castle819-halo 4.4s ease-in-out infinite;--castle819-low:.36;--castle819-high:.52}
.castle819-effects[data-state="open"] .castle819-halo,.castle819-effects[data-state="cleared"] .castle819-halo{opacity:.72;--castle819-low:.60;--castle819-high:.85}
@keyframes castle819-halo{0%,100%{opacity:var(--castle819-low);transform:scale(.97)}50%{opacity:var(--castle819-high);transform:scale(1.04)}}
.castle819-spark{opacity:0;animation:castle819-spark var(--duration819,2.7s) ease-in-out var(--delay819) infinite}
@keyframes castle819-spark{0%,15%,100%{opacity:0;transform:translateY(4px) scale(.6)}45%{opacity:.9;transform:translateY(0) scale(1)}80%{opacity:0;transform:translateY(-9px) scale(.7)}}
[data-running819="false"] .logo819-wing,[data-running819="false"] .logo819-eye,[data-running819="false"] .logo819-breath,[data-running819="false"] .castle819-halo,[data-running819="false"] .castle819-spark,.phase819-hidden .logo819-wing,.phase819-hidden .logo819-eye,.phase819-hidden .logo819-breath,.phase819-hidden .castle819-halo,.phase819-hidden .castle819-spark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.logo819-wing,.logo819-eye,.logo819-breath,.castle819-halo,.castle819-spark{animation:none!important}.castle819-spark{opacity:.4}.logo819-eye,.logo819-breath{opacity:0}}

/* Rays are one static transparent SVG; only its transform and opacity animate. */
.castle819-rays{transform-origin:690px 115px;opacity:.68;--rays819-low:.58;--rays819-high:.82;animation:castle819-rays 3.6s ease-in-out -.7s infinite}
.castle819-effects[data-state="open"] .castle819-rays,.castle819-effects[data-state="cleared"] .castle819-rays{opacity:.9;--rays819-low:.76;--rays819-high:1}
@keyframes castle819-rays{0%,100%{opacity:var(--rays819-low);transform:scale(.985)}50%{opacity:var(--rays819-high);transform:scale(1.025)}}
[data-running819="false"] .castle819-rays,.phase819-hidden .castle819-rays{animation-play-state:paused}
.royal89-map-heading{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.castle819-rays{animation:none!important}.castle819-spark{opacity:.65}}
