/* CSS owns backgrounds, prizes, recruitment and kicker. No JS readiness gate. */
#cjlp [data-cj-fv-css] .cjfv-scene{position:absolute;inset:0;display:block!important;overflow:hidden;background:#350008}
#cjlp [data-cj-fv-css] .cjlp-hero-static{opacity:0}
#cjlp [data-cj-fv-css] .cjfv-backgrounds{position:absolute;inset:0;overflow:hidden;z-index:0}
#cjlp [data-cj-fv-css] .cjfv-bg{position:absolute;inset:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;opacity:0}
/* Frame 01 is always underneath, including when an incoming image fails. */
#cjlp [data-cj-fv-css] .cjfv-bg-0{background-image:url('../image/fv/background-01.webp');opacity:1;z-index:0}
#cjlp [data-cj-fv-css] .cjfv-bg-1{background-image:url('../image/fv/background-02.webp');z-index:1;animation-delay:2.2s}
#cjlp [data-cj-fv-css] .cjfv-bg-2{background-image:url('../image/fv/background-03.webp');z-index:2;animation-delay:5.1s}
#cjlp [data-cj-fv-css] .cjfv-bg-3{background-image:url('../image/fv/background-04.webp');z-index:3;animation-delay:8s}
#cjlp [data-cj-fv-css] .cjfv-bg-4{background-image:url('../image/fv/background-05.webp');z-index:4;animation-delay:10.9s}
#cjlp [data-cj-fv-css] .cjfv-bg-5{background-image:url('../image/fv/background-06.webp');z-index:5;animation-delay:13.8s}
#cjlp [data-cj-fv-css] .cjfv-bg-return{background-image:url('../image/fv/background-01.webp');z-index:6}
#cjlp [data-cj-fv-css] .cjfv-layer{position:absolute;z-index:1;pointer-events:none;transform-origin:center;opacity:1;transform:none;visibility:visible}
#cjlp [data-cj-fv-css] .cjfv-layer img{width:100%;height:100%;max-width:none;display:block;color:#fff;font-size:14px;line-height:1.6}
#cjlp [data-cj-fv-css] .cjfv-uniform{transform-origin:50% 65%}
#cjlp [data-cj-fv-css] .cjfv-towel,
#cjlp [data-cj-fv-css] .cjfv-mascot{transform-origin:50% 75%}

/* Fixed graphics and recruitment are separate pixel-preserving images.
   Each wrapper contains one image; no CSS clipping or hidden duplicate canvases. */

@media(prefers-reduced-motion:no-preference){
  #cjlp [data-cj-fv-css] .cjfv-bg-1,
  #cjlp [data-cj-fv-css] .cjfv-bg-2,
  #cjlp [data-cj-fv-css] .cjfv-bg-3,
  #cjlp [data-cj-fv-css] .cjfv-bg-4,
  #cjlp [data-cj-fv-css] .cjfv-bg-5{
    animation-name:cjlp-css-bg-frame;
    animation-duration:17.4s;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
  }
  #cjlp [data-cj-fv-css] .cjfv-bg-return{animation:cjlp-css-bg-return 17.4s linear infinite}
  #cjlp [data-cj-fv-css] .cjfv-recruit,
  #cjlp [data-cj-fv-css] .cjfv-title-kicker{animation:cjlp-css-heading-intro .36s cubic-bezier(.16,1,.3,1) .04s 1 backwards}
  #cjlp [data-cj-fv-css] .cjfv-uniform,
  #cjlp [data-cj-fv-css] .cjfv-mascot,
  #cjlp [data-cj-fv-css] .cjfv-towel{
    animation:cjlp-css-prize-intro .4s cubic-bezier(.16,1,.3,1) 1 backwards;
  }
  #cjlp [data-cj-fv-css] .cjfv-uniform{animation-delay:1.05s}
  #cjlp [data-cj-fv-css] .cjfv-mascot{animation-delay:1.13s}
  #cjlp [data-cj-fv-css] .cjfv-towel{animation-delay:1.21s}
  #cjlp [data-cj-fv-css] .cjfv-prize-copy{animation:cjlp-css-heading-intro .36s cubic-bezier(.16,1,.3,1) 1.68s 1 backwards}
}
/* .7s fade in, then remain opaque until the next layer completely covers it.
   An almost-instant reset prevents a second fade to the base image. */
@keyframes cjlp-css-bg-frame{
  0%{opacity:0;animation-timing-function:ease-in-out}
  4.022988505747%,20.68964%{opacity:1}
  20.68965%,100%{opacity:0}
}
/* The duplicate first frame resets to the identical permanent base at 17.4s. */
@keyframes cjlp-css-bg-return{
  0%,95.977011494253%{opacity:0;animation-timing-function:ease-in-out}
  100%{opacity:1}
}
/* Zero opacity belongs only to these finite intros, never the normal layer state.
   On completion/removal/unsupported animation, normal opacity:1 takes over. */
@keyframes cjlp-css-prize-intro{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes cjlp-css-heading-intro{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  #cjlp [data-cj-fv-css] .cjfv-scene{display:none!important}
  #cjlp [data-cj-fv-css] .cjlp-hero-static{opacity:1!important}
  #cjlp [data-cj-fv-css] .cjfv-layer,
  #cjlp [data-cj-fv-css] .cjfv-bg{animation:none!important;transition:none!important}
}
