/* FerroviaZ V18 — hero otimizado, mais fluido e com atraso maior nas entradas */
:root{
  --fz-hero-img:url('assets/hero_superacao_blur.webp');
  --fz-hero-shift-x:0px;
  --fz-hero-shift-y:0px;
}
.hero{isolation:isolate;min-height:720px}
.hero::before{
  background-image:
    linear-gradient(90deg,rgba(2,16,8,.94) 0%,rgba(4,24,12,.87) 34%,rgba(6,28,14,.54) 64%,rgba(6,26,14,.35) 100%),
    radial-gradient(circle at 18% 50%,rgba(31,139,78,.14),transparent 34%),
    var(--fz-hero-img)!important;
  background-position:center,center,calc(52% + var(--fz-hero-shift-x)) calc(48% + var(--fz-hero-shift-y));
  background-size:cover,cover,cover;
  filter:saturate(.95) brightness(.84);
  transform:scale(1.03) translate3d(0,0,0);
  will-change:transform;
  transition:background-position .22s ease-out;
}
/* remove animação contínua pesada para ganhar fluidez */
body.fz-motion .hero::before{animation:none}
.hero::after{
  opacity:.085;
  right:-120px;
  top:10px;
  width:min(46vw,650px);
  height:min(46vw,650px);
  mix-blend-mode:screen;
}
body.fz-motion .hero::after{animation:fz-outline-float 16s ease-in-out infinite}
.hero .wrap{position:relative;min-height:720px}
.hero .wrap::after{
  content:"";
  position:absolute;
  left:0;
  bottom:38px;
  width:min(460px,38vw);
  height:1px;
  background:linear-gradient(90deg,rgba(130,228,168,.88),rgba(130,228,168,.16),transparent);
  opacity:.55;
  pointer-events:none;
}
.hero .reveal > *{
  opacity:0;
  transform:translateY(30px);
  filter:blur(6px);
}
/* surgimento um pouco mais atrasado */
body.fz-ready .hero .reveal > .eyebrow{animation:fz-hero-enter .80s cubic-bezier(.2,.8,.2,1) .32s forwards}
body.fz-ready .hero .reveal > h1{animation:fz-hero-enter 1.0s cubic-bezier(.2,.8,.2,1) .52s forwards}
body.fz-ready .hero .reveal > p{animation:fz-hero-enter 1.0s cubic-bezier(.2,.8,.2,1) .80s forwards}
body.fz-ready .hero .reveal > .hero-actions{animation:fz-hero-enter 1.0s cubic-bezier(.2,.8,.2,1) 1.08s forwards}
.hero h1{max-width:880px}
.hero h1 span{color:#0f7c40;text-shadow:0 0 18px rgba(255,255,255,.07)}
.hero p{max-width:675px}
body.fz-motion .hero .btn,
body.fz-motion .hero .btn.ghost,
body.fz-motion .fz-search-toggle,
body.fz-motion .fz-portal-link,
body.fz-motion .fbtn,
body.fz-motion .product,
body.fz-motion .panel,
body.fz-motion .ibox,
body.fz-motion .contact-card{
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,filter .22s ease;
}
body.fz-motion .hero .btn:hover,
body.fz-motion .hero .btn.ghost:hover,
body.fz-motion .fz-search-toggle:hover,
body.fz-motion .fz-portal-link:hover{transform:translateY(-2px)}
body.fz-motion .panel:hover,
body.fz-motion .contact-card:hover,
body.fz-motion .ibox:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(0,0,0,.08)}
body.fz-motion .fbtn:hover{transform:translateX(3px)}
body.fz-motion .product{box-shadow:0 18px 42px rgba(8,25,17,.08)}
body.fz-motion .product:hover{transform:translateY(-7px);box-shadow:0 24px 44px rgba(8,25,17,.12)}
body.fz-motion .product .product-top img,
body.fz-motion .ibox img{transition:transform .36s cubic-bezier(.2,.8,.2,1),filter .36s ease}
body.fz-motion .product:hover .product-top img{transform:translateY(-2px) scale(1.025)}
body.fz-motion .ibox:hover img{transform:translateY(-2px) scale(1.015)}
body.fz-motion .forge-gallery img{transition:transform .42s ease,filter .30s ease}
body.fz-motion .forge-gallery img:hover{transform:scale(1.02);filter:saturate(1.03) brightness(1.01)}
body.fz-motion .stats-grid .stat{transition:background-color .22s ease,transform .22s ease}
body.fz-motion .stats-grid .stat:hover{background:#f6faf7;transform:translateY(-1px)}
/* remove floating infinito dos cards do catálogo para aliviar processamento */
body.fz-motion .catalog-band .ibox{animation:none}
@keyframes fz-hero-enter{
  from{opacity:0;transform:translateY(30px);filter:blur(6px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes fz-outline-float{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.085}
  50%{transform:translate3d(-8px,10px,0) scale(1.02);opacity:.11}
}
@media(max-width:1024px){
  .hero::before{background-position:center,center,60% center}
  .hero::after{right:-150px;top:35px;width:460px;height:460px}
}
@media(max-width:860px){
  .hero{min-height:680px}
  .hero .wrap{min-height:680px}
  .hero::before{background-image:linear-gradient(90deg,rgba(2,16,8,.92),rgba(5,24,11,.72)),var(--fz-hero-img)!important;background-position:center,64% center}
  .hero .wrap::after{bottom:24px;width:58vw}
}
@media(max-width:640px){
  .hero{min-height:640px}
  .hero .wrap{min-height:640px}
  .hero p{max-width:100%}
  .hero::after{width:360px;height:360px;right:-170px;top:36px;opacity:.08}
}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.catalog-band .ibox{animation:none!important}
  .hero .reveal > *{opacity:1!important;transform:none!important;filter:none!important}
}
