.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: keep only the main machine movement (belts, cartons, bottles, robot arm, lid gantry); drop the small effects */
.ea-lite .ea-blink,.ea-lite .ea-power-s,.ea-lite .ea-ping,.ea-lite .ea-lead,.ea-lite .ea-data-s,.ea-lite .ea-pulse-s,
.ea-lite .ea-smoke,.ea-lite .ea-ray,.ea-lite .ea-glint,.ea-lite .ea-flow,.ea-lite .ea-trend,.ea-lite .ea-vib,
.ea-lite .ea-wire-s,.ea-lite .ea-pulse,.ea-lite .ea-beam,.ea-lite .ea-head,.ea-lite .ea-mouse,.ea-lite .ea-type,
.ea-lite .ea-tap,.ea-lite .ea-rip1,.ea-lite .ea-rip2,.ea-lite .ea-obj,.ea-lite .ea-fade{animation:none!important}
.ea-lite .ea-rip1,.ea-lite .ea-rip2{opacity:0}
