/* WSense HERO orbit revision 1.0
   Two large clockwise orbital cycles, distinct phase and speed.
   Gold dust coalesces at the start and drifts apart into a soft glow at the end.
   The surrounding GAIA template, typography and full-bleed artwork stay intact. */
html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10{
  opacity:.96!important;
  mix-blend-mode:screen!important;
}
html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10 .ws-orbit-guides path{
  opacity:.16;
  stroke-dasharray:2 10;
  animation:ws-orbit-guide-flow 34s linear infinite;
}
html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10 .ws-orbit-guides path:nth-child(2){
  opacity:.10;
  animation-duration:41s;
}
@keyframes ws-orbit-guide-flow{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-280}
}
/* The SVG animateMotion is on .ws-orb; scaling happens on a nested group,
   so the two animations do not overwrite each other's transforms. */
html body.home #js-index-header.ws-hero-full .ws-orb-shape{
  transform-box:fill-box;
  transform-origin:center;
  animation-name:ws-orb-core-formation;
  animation-duration:var(--orb-duration,14s);
  animation-delay:var(--orb-begin,0s);
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
}
html body.home #js-index-header.ws-hero-full .ws-orb-nucleus{
  filter:drop-shadow(0 0 5px rgba(255,227,170,.94));
}
html body.home #js-index-header.ws-hero-full .ws-orb-veil{
  filter:drop-shadow(0 0 12px rgba(239,182,96,.36));
}
html body.home #js-index-header.ws-hero-full .ws-orb-grain{
  fill:#f7d9a3;
  opacity:0;
  animation-name:ws-orb-gold-dust;
  animation-duration:var(--orb-duration,14s);
  animation-delay:var(--orb-begin,0s);
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
}
html body.home #js-index-header.ws-hero-full .ws-orb-grain:nth-child(3n){
  fill:#fff0c9;
}
html body.home #js-index-header.ws-hero-full .ws-orb-grain:nth-child(4n){
  fill:#dca763;
}
@keyframes ws-orb-core-formation{
  0%   {opacity:0;transform:scale(.17);filter:blur(7px)}
  5%   {opacity:.20;transform:scale(.38);filter:blur(5px)}
  12%  {opacity:.85;transform:scale(.84);filter:blur(1.4px)}
  19%  {opacity:1;transform:scale(1);filter:blur(0)}
  73%  {opacity:1;transform:scale(1);filter:blur(0)}
  83%  {opacity:1;transform:scale(1.19);filter:blur(1px)}
  90%  {opacity:.66;transform:scale(1.35);filter:blur(3px)}
  96%  {opacity:.20;transform:scale(1.68);filter:blur(6px)}
  100% {opacity:0;transform:scale(1.92);filter:blur(9px)}
}
@keyframes ws-orb-gold-dust{
  0%   {opacity:0;transform:translate(var(--ix),var(--iy)) scale(.35)}
  3%   {opacity:.32;transform:translate(var(--ix),var(--iy)) scale(.7)}
  9%   {opacity:.79;transform:translate(calc(var(--ix) * .48),calc(var(--iy) * .48)) scale(.96)}
  16%  {opacity:.94;transform:translate(0,0) scale(.8)}
  22%  {opacity:0;transform:translate(0,0) scale(.36)}
  75%  {opacity:0;transform:translate(0,0) scale(.36)}
  83%  {opacity:.85;transform:translate(0,0) scale(.75)}
  91%  {opacity:.74;transform:translate(calc(var(--ox) * .63),calc(var(--oy) * .63)) scale(1.12)}
  97%  {opacity:.30;transform:translate(var(--ox),var(--oy)) scale(.83)}
  100% {opacity:0;transform:translate(var(--ox),var(--oy)) scale(.32)}
}
@media(max-width:750px){
  html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10{
    clip-path:inset(43% 0 0 0)!important;
    opacity:.72!important;
  }
  html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10 .ws-orbit-guides path{
    opacity:.12;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.home #js-index-header.ws-hero-full .ws-hero-lights-v10{display:none!important}
}
