/* FerroviaZ V19 | fluidez e animações premium, sem animações pesadas contínuas */
:root{--fz-progress-factor:0}
/* Hero foto original aprovada: blur está no WebP, dispensando filtros em tempo real */
.hero::before{
 background-image:linear-gradient(90deg,rgba(2,16,8,.91) 0%,rgba(4,24,12,.80) 35%,rgba(6,28,14,.51) 67%,rgba(6,26,14,.26) 100%),var(--fz-responsive-hero,var(--fz-hero-img))!important;
 background-size:cover,cover;
 background-position:center,center 52%;
 filter:none!important;
 transform:none!important;
 will-change:auto!important;
 animation:none!important;
 transition:none!important;
}
/* Marca AZ sutil sem ciclo infinito — permanece elegante em PCs modestos */
body.fz-motion .hero::after{animation:none!important;mix-blend-mode:normal}
/* Entrada escalonada: o slogan aguarda mais, com movimentos só de opacidade/transform */
.hero .reveal{opacity:1!important;transform:none!important;animation:none!important}
.hero .reveal>*{filter:none!important;opacity:1;transform:none}
body.fz-ready.fz-motion .hero .reveal > .eyebrow{
 animation:fz19-hero-in .88s cubic-bezier(.16,.8,.2,1) .75s both!important;
}
body.fz-ready.fz-motion .hero .reveal > h1{
 animation:fz19-hero-in 1s cubic-bezier(.16,.8,.2,1) 1.04s both!important;
}
body.fz-ready.fz-motion .hero .reveal > p{
 animation:fz19-hero-in .9s cubic-bezier(.16,.8,.2,1) 1.30s both!important;
}
body.fz-ready.fz-motion .hero .reveal > .hero-actions{
 animation:fz19-hero-in .9s cubic-bezier(.16,.8,.2,1) 1.56s both!important;
}
@keyframes fz19-hero-in{
 from{opacity:0;transform:translate3d(0,22px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
/* Seções animadas uma única vez: sem blur de texto durante rolagem */
body.fz-motion .reveal.visible:not(.hero .reveal){
 animation:fz19-reveal .72s cubic-bezier(.2,.8,.2,1) both!important;
}
@keyframes fz19-reveal{
 from{opacity:0;transform:translate3d(0,22px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
/* Menu: sem backdrop-filter, que gerava renderização pesada no scroll */
.header,.header.scrolled{
 -webkit-backdrop-filter:none!important;
 backdrop-filter:none!important;
 transition:background-color .38s ease,border-color .38s ease,box-shadow .38s ease!important;
}
.header{background-color:transparent!important;box-shadow:none}
.header.scrolled{background-color:rgba(8,42,25,.98)!important;box-shadow:0 6px 20px rgba(0,0,0,.14)!important}
.header .wrap{transition:min-height .34s ease!important}
.header-brand .logo-switch img{transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.2,1)!important}
.header .navlinks a::after{transition:width .25s ease!important}
.header::after{width:100%!important;transform:scaleX(var(--fz-progress-factor));transform-origin:left center;transition:none!important;will-change:auto}
/* Produtos: o carregamento é progressivo, sem sumiço permanente se a conexão falhar */
img[data-fz-progress='loading']{opacity:.16;transition:opacity .38s ease;}
img[data-fz-progress='ready'],img[data-fz-progress='error']{opacity:1;transition:opacity .38s ease;}
.product-top,.quality-card,.forge-gallery{background-color:#fff}
/* No-hover costs lower: only compositor-friendly transitions */
body.fz-motion .product:hover,body.fz-motion .quality-card:hover{transform:translate3d(0,-5px,0)}
body.fz-motion .catalog-band .ibox{animation:none!important}
body.fz-motion .forge-gallery img:hover{filter:none!important}
body.fz-motion .quality-card img:hover{filter:none!important}
/* slight header/hover refinement, without animations competing with scrolling */
body.fz-motion .fz-search-toggle:hover,body.fz-motion .fz-portal-link:hover{transform:translate3d(0,-2px,0)}
/* Use smaller preprocessed files on touch screens and prefer no continuous movement */
@media(max-width:1100px){:root:not([data-fz-custom-hero]) .hero{--fz-responsive-hero:url('assets/hero_superacao_tablet.webp')}}
@media(max-width:660px){:root:not([data-fz-custom-hero]) .hero{--fz-responsive-hero:url('assets/hero_superacao_mobile.webp')}}
/* Lite mode on older hardware / data saving connection */
.fz-performance-lite .reveal.visible{animation-duration:.55s!important}
.fz-performance-lite .product,.fz-performance-lite .ibox,.fz-performance-lite .quality-card{box-shadow:0 5px 16px rgba(8,25,17,.08)!important}
.fz-performance-lite .product:hover,.fz-performance-lite .quality-card:hover{transform:none!important}
.fz-performance-lite .hero::after{display:none}
.fz-performance-lite .fz-search-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media(prefers-reduced-motion:reduce){
 body.fz-ready.fz-motion .hero .reveal > .eyebrow,
 body.fz-ready.fz-motion .hero .reveal > h1,
 body.fz-ready.fz-motion .hero .reveal > p,
 body.fz-ready.fz-motion .hero .reveal > .hero-actions{opacity:1!important;animation:none!important;transform:none!important}
 body.fz-motion .reveal.visible{animation:none!important;opacity:1!important;transform:none!important}
 img[data-fz-progress]{transition:none!important}
}

/* Elementos permanecem visíveis quando animações são desativadas. */
body.fz-ready:not(.fz-motion) .hero .reveal > *{animation:none!important;opacity:1!important;transform:none!important}
