/* Shandong v3.6: single motion/position layer. This stylesheet is the only owner of hero animations. */
.home-hero .hero-slide:not(.hero-full-banner) .hero-visual{
  position:relative;display:flex;align-items:center;justify-content:center;
  isolation:isolate;width:100%;height:100%;min-height:500px;padding:0;
  overflow:visible;transform:translateX(2%);
}
.home-hero .hero-slide:not(.hero-full-banner) .hero-visual .hero-orbit{
  position:absolute;inset:auto;top:50%;left:50%;width:min(90%,530px);aspect-ratio:1;
  border:1px solid rgba(255,228,225,.33);border-radius:50%;background:transparent;
  pointer-events:none;z-index:0;box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.015);
  transform:translate(-50%,-50%);
}
.home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin{
  position:relative;z-index:1;display:grid;place-items:center;
  width:min(78%,450px);max-width:450px;aspect-ratio:1;transform-origin:50% 50%;
}
.home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin picture,
.home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin > img,
.home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin > .hero-placeholder{
  display:block;width:100%;height:100%;
  transform:translate(var(--sd-art-x,0%),var(--sd-art-y,0%)) scale(var(--sd-art-scale,.88));
  transform-origin:50% 50%;
}
.home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin .hero-dish{
  display:block;width:100%;height:100%;max-width:100%;min-height:0;object-fit:contain;
  object-position:50% 50%;transform:none;animation:none;
  filter:drop-shadow(0 16px 24px rgba(20,0,0,.25));
}
@keyframes sd36-dish-turn{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}
.home-hero .hero-slide.hero-rotate-on:not(.hero-full-banner) .sd-dish-spin{
  animation:sd36-dish-turn 8s ease-in-out infinite!important;
}
/* A truly periodic ribbon: 2 identical, sufficiently long groups (5 phrases per group).
   Only one separator between repetitions; no blank seam. */
.home-hero .hero-bottom-line.sd-marquee{
  position:relative;display:block;width:100%;height:50px;min-height:50px;
  overflow:hidden;white-space:nowrap;background:#85071f;
  border-top:1px solid rgba(255,255,255,.2);padding:0;
}
.home-hero .sd-marquee-scroller{
  position:relative;display:flex;align-items:center;justify-content:flex-start;
  flex-wrap:nowrap;gap:0;width:max-content;min-width:max-content;max-width:none;
  height:100%;will-change:transform;
  animation:sd36-ribbon 75s linear infinite!important;
}
.home-hero .sd-marquee-group{
  display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;
  flex-wrap:nowrap;gap:0;width:max-content;min-width:max-content;max-width:none;
  height:100%;padding:0;margin:0;white-space:nowrap;
}
.home-hero .sd-marquee-phrase{
  display:block;flex:0 0 auto;white-space:nowrap;color:rgba(255,240,220,.86);
  font:900 20px/1 var(--font-display),Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.045em;
}
.home-hero .sd-marquee-divider{
  display:block;flex:0 0 auto;padding:0 34px;white-space:nowrap;
  color:#ffd074;font:700 20px/1 Arial,sans-serif;opacity:.85;
}
@keyframes sd36-ribbon{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:920px){
 .home-hero .hero-slide:not(.hero-full-banner) .hero-visual{min-height:300px;height:300px;transform:none}
 .home-hero .hero-slide:not(.hero-full-banner) .hero-visual .hero-orbit{width:min(80vw,342px)}
 .home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin{width:min(68vw,300px)}
 .home-hero .hero-bottom-line.sd-marquee{height:44px;min-height:44px}
 .home-hero .sd-marquee-phrase{font-size:14px}
 .home-hero .sd-marquee-divider{font-size:14px;padding:0 22px}
}
@media(max-width:640px){
 .home-hero .hero-slide:not(.hero-full-banner) .hero-visual{height:280px;min-height:280px}
 .home-hero .hero-slide:not(.hero-full-banner) .hero-visual .hero-orbit{width:min(81vw,340px)}
 .home-hero .hero-slide:not(.hero-full-banner) .sd-dish-spin{width:min(67vw,285px)}
}
