.ea-hero-scene{position:relative;width:100%;max-width:1440px;margin:0 auto}

.ea-obj{animation:eaRise .9s cubic-bezier(.2,.7,.2,1) both}

@keyframes eaRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ea-fade{animation:eaFade 1s ease-out 1.1s both}
@keyframes eaFade{from{opacity:0}to{opacity:1}}
.ea-belt{animation:eaBelt 3s linear -.4s infinite}
@keyframes eaBelt{0%{transform:translateX(0);animation-timing-function:ease-in-out}56.667%{transform:translateX(94px)}100%{transform:translateX(94px)}}
.ea-feed{animation:eaFeed 3s linear infinite}
@keyframes eaFeed{0%,30%{transform:translateY(0px);animation-timing-function:ease-in-out}90%,100%{transform:translateY(62px)}}
.ea-carton{animation:eaCarton 15s linear infinite;will-change:transform,opacity}
@keyframes eaCarton{0%{transform:translate(-9.53px,-5.5px);opacity:0;animation-timing-function:ease-out}4%{opacity:1}8.667%{transform:translate(52.74px,30.45px)}17.333%{transform:translate(52.74px,30.45px);animation-timing-function:ease-in-out}28.667%{transform:translate(134.14px,77.45px)}37.333%{transform:translate(134.14px,77.45px);animation-timing-function:ease-in-out}48.667%{transform:translate(215.55px,124.45px)}57.333%{transform:translate(215.55px,124.45px);animation-timing-function:ease-in-out}68.667%{transform:translate(296.95px,171.45px)}77.333%{transform:translate(296.95px,171.45px);animation-timing-function:ease-in-out}88.667%{transform:translate(378.36px,218.45px)}97.333%{transform:translate(378.36px,218.45px);opacity:1;animation-timing-function:ease-in}100%{transform:translate(397.49px,229.5px);opacity:0}}
.ea-bottle{animation:eaBottle 12s linear infinite}
@keyframes eaBottle{0%{transform:translate(-0.00px,0.00px);opacity:0}2.5%{transform:translate(-0.00px,0.00px);opacity:1}7.5%{transform:translate(-0.00px,0.00px);opacity:1;animation-timing-function:ease-in-out}22.5%{transform:translate(-53.69px,31.00px);opacity:1}32.5%{transform:translate(-53.69px,31.00px);opacity:1;animation-timing-function:ease-in-out}47.5%{transform:translate(-107.39px,62.00px);opacity:1}57.5%{transform:translate(-107.39px,62.00px);opacity:1;animation-timing-function:ease-in-out}72.5%{transform:translate(-161.08px,93.00px);opacity:1}78%{transform:translate(-161.08px,93.00px);opacity:1}78.4%{transform:translate(-161.08px,93.00px);opacity:0}100%{transform:translate(-161.08px,93.00px);opacity:0}}
.ea-cbottle{animation:eaCB 15s linear infinite}
@keyframes eaCB{0%,50.9%{opacity:0}51%,100%{opacity:1}}
.ea-j1{animation:eaJ1 3s ease-in-out infinite}
.ea-j2{animation:eaJ2 3s ease-in-out infinite}
.ea-j3{animation:eaJ3 3s ease-in-out infinite}
.ea-carry{animation:eaCarry 3s linear infinite}
@keyframes eaJ1{0%{transform:rotate(-30.81deg)}8%,16%{transform:rotate(-36.27deg)}24%,28%{transform:rotate(-30.81deg)}46%{transform:rotate(-88.51deg)}54%,60%{transform:rotate(-82.99deg)}68%{transform:rotate(-88.51deg)}86%,100%{transform:rotate(-30.81deg)}}
@keyframes eaJ2{0%{transform:rotate(12.08deg)}8%,16%{transform:rotate(37.84deg)}24%,28%{transform:rotate(12.08deg)}46%{transform:rotate(87.02deg)}54%,60%{transform:rotate(108.36deg)}68%{transform:rotate(87.02deg)}86%,100%{transform:rotate(12.08deg)}}
@keyframes eaJ3{0%{transform:rotate(18.73deg)}8%,16%{transform:rotate(-1.57deg)}24%,28%{transform:rotate(18.73deg)}46%{transform:rotate(1.49deg)}54%,60%{transform:rotate(-25.37deg)}68%{transform:rotate(1.49deg)}86%,100%{transform:rotate(18.73deg)}}
@keyframes eaCarry{0%,11.9%{opacity:0}12%,54.9%{opacity:1}55%,100%{opacity:0}}
.ea-pulse{stroke-dasharray:6 30;animation:eaPulse 2.2s steps(26,end) infinite}
.ea-beam{stroke-dasharray:2 3;animation:eaPulse 1s linear infinite}
@keyframes eaPulse{to{stroke-dashoffset:-36}}
.ea-blink{animation:eaBlink 2.4s steps(1,end) infinite}
@keyframes eaBlink{0%,100%{opacity:1}50%{opacity:.25}}
.ea-flow{stroke-dasharray:1.2 2.8;animation:eaFlow 1.4s steps(17,end) infinite}
@keyframes eaFlow{to{stroke-dashoffset:-8}}
.ea-trend{animation:eaTrend 4s linear infinite}
@keyframes eaTrend{to{transform:translateX(-20px)}}
.ea-head{animation:eaHead 7s ease-in-out infinite}
@keyframes eaHead{0%,40%,100%{transform:rotate(0)}50%,70%{transform:rotate(-7deg)}80%{transform:rotate(4deg)}}
.ea-mouse{animation:eaMouse 3.2s ease-in-out infinite}
@keyframes eaMouse{0%,100%{transform:translate(0,0)}25%{transform:translate(1.6px,-.8px)}50%{transform:translate(-.6px,.9px)}75%{transform:translate(1px,.4px)}}
.ea-type{animation:eaType .45s steps(2) infinite}
@keyframes eaType{50%{transform:translateY(.8px)}}
.ea-tap{animation:eaTap 2.4s ease-in-out infinite}
@keyframes eaTap{0%,100%{transform:rotate(1deg)}18%,26%{transform:rotate(-2deg)}48%,58%{transform:rotate(6deg)}80%{transform:rotate(1deg)}}
.ea-rip1,.ea-rip2{transform-box:fill-box;transform-origin:center;opacity:0}
.ea-rip1{animation:eaRip1 2.4s ease-out infinite}
.ea-rip2{animation:eaRip2 2.4s ease-out infinite}
@keyframes eaRip1{0%,19%{opacity:0;transform:scale(.3)}21%{opacity:.9;transform:scale(.35)}36%,100%{opacity:0;transform:scale(1.5)}}
@keyframes eaRip2{0%,49%{opacity:0;transform:scale(.3)}51%{opacity:.9;transform:scale(.35)}66%,100%{opacity:0;transform:scale(1.5)}}
.ea-lead{stroke-dasharray:5 5;animation:eaLead 1s steps(20,end) infinite}
@keyframes eaLead{to{stroke-dashoffset:-10}}
.ea-ping{transform-box:fill-box;transform-origin:center;animation:eaPing 1.8s ease-out infinite}
@keyframes eaPing{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.ea-power{stroke:#f2a900;stroke-width:1.8;stroke-dasharray:6 7;animation:eaPow .9s steps(11,end) infinite}
@keyframes eaPow{to{stroke-dashoffset:-13}}
.ea-data{stroke:#1457d4;stroke-width:1.3;stroke-dasharray:2 4;animation:eaDataF 1.1s steps(13,end) infinite}
@keyframes eaDataF{to{stroke-dashoffset:-12}}
.ea-wire{stroke:#ffc229;stroke-width:1.6;stroke-dasharray:3 16;animation:eaWire 1.3s steps(16,end) infinite}
@keyframes eaWire{to{stroke-dashoffset:-19}}
.ea-glint{animation:eaGlint 5s ease-in-out infinite}
@keyframes eaGlint{0%{transform:translateX(-40px)}55%,100%{transform:translateX(170px)}}
.ea-spin{animation:eaSpin .5s linear infinite}
@keyframes eaSpin{to{transform:rotate(360deg)}}
.ea-smoke{transform-box:fill-box;transform-origin:center;animation:eaSmoke 3s ease-out infinite}
@keyframes eaSmoke{0%{transform:translate(0,0) scale(.4);opacity:0}15%{opacity:.55}100%{transform:translate(-8px,-30px) scale(2);opacity:0}}
.ea-sunrot{animation:eaSpin 18s linear infinite}
.ea-vib{animation:eaVib .18s linear infinite}
@keyframes eaVib{0%,100%{transform:translate(0,0)}50%{transform:translate(.25px,-.25px)}}
.ea-spark{stroke:#fff3b0;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:.1 16;animation:eaSpark 1.1s steps(13,end) infinite}
@keyframes eaSpark{to{stroke-dashoffset:-16.1}}
.ea-dspark{stroke:#9cc2ff;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.1 12;animation:eaDSpark 1.3s steps(16,end) infinite}
@keyframes eaDSpark{to{stroke-dashoffset:-12.1}}
.ea-sunrot2{animation:eaSpin 12s linear infinite reverse}
.ea-sunhalo{transform-box:fill-box;transform-origin:center;animation:eaHalo 3s ease-in-out infinite}
@keyframes eaHalo{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.15);opacity:1}}
.ea-ray{stroke-dasharray:4 10;animation:eaRay 1.6s steps(19,end) infinite}
@keyframes eaRay{to{stroke-dashoffset:-14}}
.ea-gx{animation:eaGX 3s ease-in-out infinite}
@keyframes eaGX{0%,30%{transform:translate(0px,0px)}45%,78%{transform:translate(-31.18px,18.00px)}90%,100%{transform:translate(0px,0px)}}
.ea-gz{animation:eaGZ 3s ease-in-out infinite}
@keyframes eaGZ{0%,10%{transform:translateY(16px)}22%,52%{transform:translateY(0px)}62%,68%{transform:translateY(16px)}78%,90%{transform:translateY(0px)}100%{transform:translateY(16px)}}
.ea-glid{animation:eaGLid 3s ease-in-out infinite}
@keyframes eaGLid{0%,7.9%{transform:translate(0px,16px);opacity:0}8%,10%{transform:translate(0px,16px);opacity:1}22%,30%{transform:translate(0px,0px);opacity:1}45%,52%{transform:translate(-31.18px,18.00px);opacity:1}62%,66.9%{transform:translate(-31.18px,34.00px);opacity:1}67%,68%{transform:translate(-31.18px,34.00px);opacity:0}78%{transform:translate(-31.18px,18.00px);opacity:0}90%{transform:translate(0px,0px);opacity:0}100%{transform:translate(0px,16px);opacity:0}}
.ea-clid{animation:eaCLid 15s linear infinite}
@keyframes eaCLid{0%,92.8%{opacity:0}92.9%,100%{opacity:1}}
.ea-power-s{stroke:#f2a900;stroke-width:1.8;stroke-dasharray:6 7}.ea-data-s{stroke:#1457d4;stroke-width:1.3;stroke-dasharray:2 4}.ea-pulse-s{stroke-dasharray:6 30}.ea-lead-s{stroke-dasharray:5 5}.ea-wire-s{stroke:#ffc229;stroke-width:1.6;stroke-dasharray:3 16}
.ea-still .ea-obj,.ea-still .ea-fade{animation:none!important}
.ea-still .ea-belt,.ea-still .ea-feed,.ea-still .ea-carton,.ea-still .ea-bottle,.ea-still .ea-cbottle,.ea-still .ea-j1,.ea-still .ea-j2,.ea-still .ea-j3,.ea-still .ea-carry,.ea-still .ea-pulse,.ea-still .ea-beam,.ea-still .ea-flow,.ea-still .ea-trend,.ea-still .ea-head,.ea-still .ea-mouse,.ea-still .ea-type,.ea-still .ea-tap,.ea-still .ea-rip1,.ea-still .ea-rip2,.ea-still .ea-lead,.ea-still .ea-ping,.ea-still .ea-power,.ea-still .ea-data,.ea-still .ea-wire,.ea-still .ea-glint,.ea-still .ea-spin,.ea-still .ea-smoke,.ea-still .ea-sunrot,.ea-still .ea-vib,.ea-still .ea-spark,.ea-still .ea-dspark,.ea-still .ea-sunrot2,.ea-still .ea-sunhalo,.ea-still .ea-ray,.ea-still .ea-gx,.ea-still .ea-gz,.ea-still .ea-glid,.ea-still .ea-clid,.ea-still .ea-blink{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.ea-scene .ea-obj,.ea-scene .ea-fade{animation:none!important}.ea-scene .ea-belt,.ea-scene .ea-feed,.ea-scene .ea-carton,.ea-scene .ea-bottle,.ea-scene .ea-cbottle,.ea-scene .ea-j1,.ea-scene .ea-j2,.ea-scene .ea-j3,.ea-scene .ea-carry,.ea-scene .ea-pulse,.ea-scene .ea-beam,.ea-scene .ea-flow,.ea-scene .ea-trend,.ea-scene .ea-head,.ea-scene .ea-mouse,.ea-scene .ea-type,.ea-scene .ea-tap,.ea-scene .ea-rip1,.ea-scene .ea-rip2,.ea-scene .ea-lead,.ea-scene .ea-ping,.ea-scene .ea-power,.ea-scene .ea-data,.ea-scene .ea-wire,.ea-scene .ea-glint,.ea-scene .ea-spin,.ea-scene .ea-smoke,.ea-scene .ea-sunrot,.ea-scene .ea-vib,.ea-scene .ea-spark,.ea-scene .ea-dspark,.ea-scene .ea-sunrot2,.ea-scene .ea-sunhalo,.ea-scene .ea-ray,.ea-scene .ea-gx,.ea-scene .ea-gz,.ea-scene .ea-glid,.ea-scene .ea-clid,.ea-scene .ea-blink{animation-play-state:paused!important}}


/* mount point inside the hero: reserves the scene's shape so the page doesn't jump while it loads */
.ea-scene-mount{width:100%;aspect-ratio:1060/850;opacity:0;transition:opacity .6s ease}
.ea-scene-mount.ready{opacity:1}

/* scene fills the whole hero (no text column); height capped so it fits the screen */
#hero .slide,#hero .slide.active{display:block;padding:84px 2% 24px}
#hero .slide-visual{display:block;width:100%;padding:0;margin:0}
#hero .ea-scene-mount{width:min(100%,calc((100svh - 150px)*1.247));min-width:min(100%,560px);margin:0 auto}
@media (max-width:1099px){#hero .ea-scene-mount{width:100%}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* text column on the left, scene on the right (scene keeps its size, no overlap) */
@media (min-width:1100px){
  #hero .slide,#hero .slide.active{display:flex;flex-direction:row;align-items:center;gap:2%;padding:84px 3% 24px 4%}
  #hero .slide-content{position:static;transform:none;flex:0 0 min(31%,460px);max-width:min(31%,460px);width:auto;z-index:5}
  #hero .slide-content h1{font-size:clamp(32px,3.3vw,54px)}
  #hero .slide-visual{flex:1 1 0;min-width:0;width:auto}
  #hero .ea-scene-mount{width:min(100%,calc((100svh - 150px)*1.247));margin:0 0 0 auto}
}
@media (max-width:1099px){
  #hero .slide-content{max-width:none;width:100%;margin-bottom:12px}
}

/* desktop: text at the top-left, award card moved to the bottom-left (off the scene) */
@media (min-width:1100px){
  #hero .slide-content{align-self:flex-start;margin-top:56px}
  #hero .hero-showcase{position:absolute;top:auto;bottom:28px;left:4%;right:auto;transform:none;width:min(270px,19vw);max-width:none;margin:0}
}

/* performance: freeze the scene when it is off-screen, isolate its painting */
.ea-paused *{animation-play-state:paused!important}
.ea-scene-mount{contain:layout paint}

/* phones / small tablets: looping video. The video's white background is blended away (multiply) so the scene sits
   directly on the hero background. Ancestors must not create their own stacking context or the blend would not reach it. */
@media (max-width:899px){
  #hero .slide,#hero .slide.active{transform:none}
  #hero .slide-visual{perspective:none}
}
.ea-video{contain:none;mix-blend-mode:multiply;background:transparent;border:0;box-shadow:none;border-radius:0}
.ea-video video{display:block;width:100%;height:auto;background:transparent}
