/* Shared styles extracted from repeated inline blocks. */
/* V43 update: premium entrance and hover motion */
@keyframes zxFadeUp{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes zxFadeDown{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes zxSoftZoom{
  from{transform:scale(1.02)}
  to{transform:scale(1.09)}
}
@keyframes zxGlowMove{
  0%{transform:translate3d(-4%,0,0);opacity:.56}
  50%{transform:translate3d(4%,-2%,0);opacity:.88}
  100%{transform:translate3d(-4%,0,0);opacity:.56}
}
.site-header{
  animation:zxFadeDown .75s cubic-bezier(.2,.8,.2,1) both;
}
.hero-bg video,
.about-hero-bg video,
.page-hero-bg video,
.video-detail-bg img,
.hero-bg img,
.page-hero-bg img,
.filling-hero-bg img,
.capping-hero-bg img{
  animation:zxSoftZoom 16s ease-in-out infinite alternate;
  will-change:transform;
}
.hero::after,
.about-hero::after,
.page-hero::after,
.filling-hero::after,
.capping-hero::after,
.video-detail-hero::after{
  content:"";
  position:absolute;
  inset:auto -12% 8% auto;
  width:42vw;
  height:42vw;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(circle,rgba(18,142,99,.22),rgba(18,142,99,.08) 38%,transparent 68%);
  filter:blur(18px);
  animation:zxGlowMove 9s ease-in-out infinite;
  z-index:1;
}
.hero-content,
.about-hero-content,
.page-hero-content,
.filling-hero-content,
.capping-hero-content,
.video-detail-content{
  animation:zxFadeUp .9s cubic-bezier(.2,.8,.2,1) .12s both;
}
.hero-actions,
.hero-tags,
.filling-hero-tags,
.capping-hero-tags,
.page-tags,
.video-detail-tags{
  animation:zxFadeUp .9s cubic-bezier(.2,.8,.2,1) .28s both;
}
.industry-card,
.machine-card,
.solution-card,
.video-card,
.product-card,
.solution-page-card,
.filling-type-card,
.capping-type-card,
.choose-item,
.selection-item,
.option-card{
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s cubic-bezier(.2,.8,.2,1),border-color .32s ease!important;
}
.industry-card:hover,
.machine-card:hover,
.solution-card:hover,
.video-card:hover,
.product-card:hover,
.solution-page-card:hover,
.filling-type-card:hover,
.capping-type-card:hover,
.choose-item:hover,
.selection-item:hover,
.option-card:hover{
  transform:translateY(-8px)!important;
  box-shadow:0 28px 72px rgba(16,35,29,.16)!important;
  border-color:rgba(11,107,75,.24)!important;
}
.industry-card img,
.machine-card img,
.video-card img,
.product-card img,
.solution-page-card img{
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease!important;
}
.industry-card:hover img,
.machine-card:hover img,
.video-card:hover img,
.product-card:hover img,
.solution-page-card:hover img{
  transform:scale(1.045)!important;
  filter:saturate(1.04) contrast(1.03)!important;
}
.btn{
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s ease,color .25s ease!important;
}
.btn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(11,107,75,.22)!important;
}
.dropdown-menu{
  transition:opacity .24s ease,visibility .24s ease,transform .24s cubic-bezier(.2,.8,.2,1)!important;
}
.reveal{
  transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1)!important;
}
.reveal.visible{
  opacity:1!important;
  transform:none!important;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
  }
}




/* V44 update: fix video play icon encoding and align video card CTAs */
.video-grid{
  align-items:stretch!important;
}
.video-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
}
.video-card a.video-media-link{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
.video-card a.video-media-link::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  background:rgba(11,107,75,.92)!important;
  box-shadow:0 16px 34px rgba(3,38,27,.24)!important;
  z-index:2!important;
}
.video-card a.video-media-link::before{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-38%,-50%)!important;
  width:0!important;
  height:0!important;
  border-top:12px solid transparent!important;
  border-bottom:12px solid transparent!important;
  border-left:18px solid #fff!important;
  z-index:3!important;
}
.video-card a.video-media-link span,
.video-card > span{
  display:none!important;
}
.video-card h3{
  min-height:52px!important;
}
.video-card p{
  padding-bottom:18px!important;
}
.video-card > a:not(.video-media-link){
  margin-top:auto!important;
  margin-left:22px!important;
  margin-right:auto!important;
  padding-left:0!important;
  display:inline-flex!important;
  align-items:center!important;
}
.video-card:hover a.video-media-link::after{
  background:rgba(11,107,75,1)!important;
  transform:translate(-50%,-50%) scale(1.06)!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s ease!important;
}




/* V45 update: restore WhatsApp contact card style and remove encoding-sensitive icons */
.contact-cta-grid{
  align-items:start!important;
}
.whatsapp-cta-card{
  position:relative!important;
  top:auto!important;
  margin-top:28px!important;
  transform:none!important;
  min-height:0!important;
  padding:42px 38px!important;
  border-radius:34px!important;
  overflow:hidden!important;
}
.wa-icon{
  width:62px!important;
  height:62px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  margin-bottom:24px!important;
  color:#fff!important;
}
.wa-icon .phone-svg{
  width:34px!important;
  height:34px!important;
  fill:currentColor!important;
}
.floating-whatsapp span{
  display:grid!important;
  place-items:center!important;
}
.floating-whatsapp .phone-svg{
  width:18px!important;
  height:18px!important;
  fill:currentColor!important;
}
.whatsapp-cta-card .eyebrow,
.whatsapp-cta-card h3,
.whatsapp-cta-card p,
.whatsapp-cta-card .wa-checks,
.whatsapp-cta-card .whatsapp-main-btn,
.whatsapp-cta-card small{
  position:relative!important;
  z-index:2!important;
}
