/* Version 2: deliberate movement, with the eight-second banner progress visible. */
/* Keep the banner and the benefits below it steady across slides and languages. */
.hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);padding-top:0}
.hero-copy{height:535px;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;align-self:start;padding-bottom:0}
.hero-copy h1{font-size:clamp(2.55rem,4vw,4.4rem);line-height:1.02;max-width:none}
@media(max-width:800px){.hero-inner{grid-template-columns:1fr}.hero-copy{height:clamp(400px,calc(640px - 55vw),500px);max-width:600px}.hero-copy h1{font-size:clamp(2.45rem,6.4vw,3.5rem)}}
@media(max-width:540px){.hero-copy h1{font-size:clamp(1.9rem,8.5vw,2.8rem);line-height:1.04}.hero-visual{height:360px;min-height:0}.image-caption{min-height:48px}.hero-bottom{height:110px;min-height:0}}
/* Give all three product silhouettes more room without changing the copy column. */
@media(min-width:801px){.hero-visual{width:calc(100% + clamp(24px,4vw,64px));margin-left:clamp(-32px,-2vw,-12px)}.hero-image-frame{height:clamp(400px,35vw,450px)}}
@media(min-width:541px) and (max-width:800px){.hero-image-frame{height:clamp(340px,48vw,390px)}}
@media(max-width:540px){.hero-visual{height:430px}.hero-visual .hero-image-frame{height:320px;width:calc(100% + 24px);max-width:none;margin-left:-12px}}
.hero{background:linear-gradient(120deg,#131b50 0%,#253481 48%,#171f59 100%);background-size:190% 190%;animation:heroCurrent 8s ease-in-out infinite alternate}
.hero-grid{background-size:160px 100%,100% 80px;animation:gridDrift 10s linear infinite}
.hero:after{animation:heroGlow 4s ease-in-out infinite alternate}
.hero h1{animation:titleEntrance .82s cubic-bezier(.18,.8,.2,1) both}
.hero-copy>p{animation:copyEntrance .9s .15s both}
.hero-actions{animation:copyEntrance .85s .28s both}
.hero-visual #hero-image{animation:machineEntrance 1s cubic-bezier(.2,.8,.2,1) both}
.hero.slide-refresh h1{animation:headlineSwap .82s cubic-bezier(.18,.8,.2,1) both}
.hero.slide-refresh .hero-copy>p{animation:copySwap .85s .11s both}
.hero.slide-refresh .hero-actions{animation:copySwap .85s .19s both}
.hero.slide-refresh #hero-image{animation:machineSwap 1s cubic-bezier(.2,.8,.2,1) both}
.hero h1 em{display:inline-block;animation:highlightGlow 3s ease-in-out infinite alternate}
.hero-bottom{position:relative}
.hero-bottom:before{content:'';position:absolute;left:0;top:-2px;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;box-shadow:0 0 13px var(--orange)}
.hero.autoplaying .hero-bottom:before{animation:bannerProgress 8s linear both}
.hero .slide-dot.active:after{box-shadow:0 0 12px #ff9b17ac}
.hero .button.primary,.catalog .button.primary{position:relative;overflow:hidden;isolation:isolate}
.hero .button.primary:after,.catalog .button.primary:after{content:'';position:absolute;inset:-50% auto -50% -80%;width:35%;background:linear-gradient(90deg,transparent,#ffffff9c,transparent);transform:skewX(-22deg);animation:buttonSweep 3.7s ease-in-out infinite;pointer-events:none}
.motion .reveal{opacity:0;transform:translateY(55px) scale(.96);filter:blur(6px);transition:opacity .75s ease,transform .75s cubic-bezier(.18,.8,.2,1),filter .75s ease}
.motion .reveal.visible{opacity:1;transform:none;filter:none}
.product-grid .product:nth-child(2){transition-delay:.1s}.product-grid .product:nth-child(3){transition-delay:.2s}
.product:hover,.category-card:hover{transform:translateY(-11px);box-shadow:0 22px 35px #14236226}
.product:hover .product-image img{filter:drop-shadow(0 10px 9px #16204c42)}
.category-card{transition:transform .3s,box-shadow .3s}
.has-v2-motion .catalog-product:not(.in-view),.has-v2-motion .category-card:not(.in-view){opacity:0;transform:translateY(60px) scale(.94);filter:blur(7px)}
.has-v2-motion .catalog-product.in-view,.has-v2-motion .category-card.in-view{opacity:1;transform:none;filter:none;transition:opacity .75s ease,transform .75s cubic-bezier(.18,.8,.2,1),filter .75s ease,box-shadow .3s}
.has-v2-motion .category-card.in-view:hover{transform:translateY(-11px)}
.category-tabs a[aria-selected="true"]{animation:tabPop .45s cubic-bezier(.2,.8,.2,1) both}
.category-panel:not([hidden]) .category-heading{animation:panelEntrance .7s both}
.category-panel:not([hidden]) .category-grid{animation:panelEntrance .8s .1s both}
.button:hover{transform:translateY(-4px) scale(1.03)}
@keyframes heroCurrent{to{background-position:100% 100%}}
@keyframes gridDrift{to{background-position:160px 0,0 80px}}
@keyframes heroGlow{to{transform:translate(-110px,60px) scale(1.2);opacity:.65}}
@keyframes titleEntrance{from{opacity:0;transform:translateX(-66px) skewX(-4deg);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes headlineSwap{from{opacity:0;transform:translateX(-66px) skewX(-4deg);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes copyEntrance{from{opacity:0;transform:translateY(40px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes copySwap{from{opacity:0;transform:translateY(40px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes machineEntrance{from{opacity:0;transform:translateX(90px) scale(.8);filter:blur(8px)}to{opacity:1;transform:none;filter:drop-shadow(0 22px 22px #060d3e77)}}
@keyframes machineSwap{from{opacity:0;transform:translateX(90px) scale(.8);filter:blur(8px)}to{opacity:1;transform:none;filter:drop-shadow(0 22px 22px #060d3e77)}}
@keyframes highlightGlow{to{text-shadow:0 0 26px #ff9b17aa}}
@keyframes bannerProgress{to{transform:scaleX(1)}}
@keyframes buttonSweep{0%,48%{left:-80%}75%,100%{left:160%}}
@keyframes tabPop{from{transform:scale(.92)}to{transform:scale(1)}}
@keyframes panelEntrance{from{opacity:0;transform:translateY(30px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.hero,.hero-grid,.hero:after,.hero h1,.hero-copy>p,.hero-actions,.hero-visual #hero-image,.hero h1 em,.hero .button.primary:after,.catalog .button.primary:after,.hero.autoplaying .hero-bottom:before,.category-tabs a[aria-selected="true"],.category-panel:not([hidden]) .category-heading,.category-panel:not([hidden]) .category-grid{animation:none!important}.motion .reveal,.has-v2-motion .catalog-product:not(.in-view),.has-v2-motion .category-card:not(.in-view){opacity:1!important;transform:none!important;filter:none!important}.button:hover,.product:hover,.category-card:hover{transform:none!important}}
.has-v2-motion .category-card:not(.in-view){opacity:1;transform:none;filter:none}
.category-panel:not([hidden]) .category-heading,.category-panel:not([hidden]) .category-grid,.category-tabs a[aria-selected="true"]{animation:none}
/* Entrada das paginas internas, igual ao hero do index */
.solutions-page>.eyebrow,.catalog-page>.eyebrow,.email-intro>.eyebrow{animation:copyEntrance .7s both}
.solutions-page>h1,.catalog-page>h1,.email-intro>h1{animation:titleEntrance .82s cubic-bezier(.18,.8,.2,1) both}
.solutions-page>.catalog-intro,.catalog-page>.catalog-intro,.email-intro>p{animation:copyEntrance .9s .15s both}
.solutions-page>.category-tabs,.catalog-page>.catalog-navigation,.email-intro>.about-link{animation:copyEntrance .85s .28s both}
.email-card{animation:copyEntrance .9s .35s both}
@media(prefers-reduced-motion:reduce){.solutions-page>*,.catalog-page>*,.email-intro>*,.email-card{animation:none!important}}
@keyframes pageTitleIn{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.solutions-page>h1,.catalog-page>h1,.email-intro>h1{animation:pageTitleIn .7s cubic-bezier(.18,.8,.2,1) both;will-change:transform,opacity;backface-visibility:hidden}
