/* Royal 1.0.43: finite, original-artwork header logo treatment. */
#masthead .custom-logo-link .rhc-logo-art {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  line-height: 0;
  isolation: isolate;
  overflow: hidden;
}
#masthead .rhc-logo-art .rhc-logo-light,
#masthead .rhc-logo-art .rhc-logo-spark {
  position: absolute;
  display: block;
  pointer-events: none;
  opacity: 0;
}
#masthead .rhc-logo-art .rhc-logo-light {
  inset: 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
#masthead .rhc-logo-art .rhc-logo-light--gold {
  filter: url('#rhc-logo-gold-light');
  transition: opacity 420ms ease;
}
#masthead .rhc-logo-art .rhc-logo-light--glint {
  filter: url('#rhc-logo-gold-glint');
  -webkit-mask-image: linear-gradient(110deg, transparent 40%, #000 48%, #000 52%, transparent 60%);
  mask-image: linear-gradient(110deg, transparent 40%, #000 48%, #000 52%, transparent 60%);
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
}
#masthead .rhc-logo-art .rhc-logo-spark {
  left: var(--rhc-gem-x);
  top: var(--rhc-gem-y);
  width: 7px;
  height: 7px;
  background: radial-gradient(circle, #fff 0 9%, #dcf8ff 25%, #62bfff99 50%, transparent 73%);
  transform: translate(-50%, -50%) scale(.1);
}
#masthead .rhc-logo-art .rhc-logo-spark::before {
  content: '';
  position: absolute;
  inset: -25%;
  background: linear-gradient(45deg, #d9f5ff, #fff 42% 60%, #abdfff);
  clip-path: polygon(50% 0, 59% 39%, 100% 50%, 59% 59%, 50% 100%, 41% 59%, 0 50%, 41% 39%);
}
#masthead .custom-logo-link:focus-visible .rhc-logo-art--ready .rhc-logo-light--gold { opacity: .62; }
#masthead .custom-logo-link:focus-visible .rhc-logo-art--ready .rhc-logo-light--glint {
  animation: rhc-logo-gold-pass 2.1s cubic-bezier(.25,.1,.25,1) both;
}
#masthead .custom-logo-link:focus-visible .rhc-logo-art--ready .rhc-logo-spark {
  animation: rhc-logo-jewel-glint 1.12s ease-in-out var(--rhc-gem-delay) both;
}
@media (hover: hover) and (pointer: fine) {
  #masthead .custom-logo-link:hover .rhc-logo-art--ready .rhc-logo-light--gold { opacity: .62; }
  #masthead .custom-logo-link:hover .rhc-logo-art--ready .rhc-logo-light--glint {
    animation: rhc-logo-gold-pass 2.1s cubic-bezier(.25,.1,.25,1) both;
  }
  #masthead .custom-logo-link:hover .rhc-logo-art--ready .rhc-logo-spark {
    animation: rhc-logo-jewel-glint 1.12s ease-in-out var(--rhc-gem-delay) both;
  }
}
@keyframes rhc-logo-gold-pass {
  0% { opacity: 0; -webkit-mask-position: 100% 0; mask-position: 100% 0; }
  16% { opacity: .72; }
  78% { opacity: .72; }
  100% { opacity: 0; -webkit-mask-position: 0 0; mask-position: 0 0; }
}
@keyframes rhc-logo-jewel-glint {
  0%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(.1) rotate(-12deg); }
  42% { opacity: .96; transform: translate(-50%, -50%) scale(var(--rhc-gem-scale)) rotate(0); }
  72% { opacity: .28; transform: translate(-50%, -50%) scale(calc(var(--rhc-gem-scale) * .64)) rotate(10deg); }
}
/* The intro owns header visibility until the page has finished assembling. */
html:is(.rhc-intro-pending, .rhc-intro-active) #masthead .rhc-logo-art .rhc-logo-light,
html:is(.rhc-intro-pending, .rhc-intro-active) #masthead .rhc-logo-art .rhc-logo-spark {
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  #masthead .rhc-logo-art .rhc-logo-light,
  #masthead .rhc-logo-art .rhc-logo-spark { animation: none !important; transition: none !important; }
  #masthead .rhc-logo-art .rhc-logo-light--glint,
  #masthead .rhc-logo-art .rhc-logo-spark { opacity: 0 !important; }
}
@media (forced-colors: active), print {
  #masthead .rhc-logo-art .rhc-logo-light,
  #masthead .rhc-logo-art .rhc-logo-spark { display: none !important; }
}
