/* AGGRO v31.17 — premium motion layer across the whole site */

:root{
  --motion-duration: 980ms;
  --motion-ease: cubic-bezier(.18,.78,.22,1);
}

/* Refine existing reveal language */
[data-reveal]{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,34px,0) scale(.985);
  transition:
    opacity var(--motion-duration) var(--motion-ease),
    transform var(--motion-duration) var(--motion-ease),
    filter calc(var(--motion-duration) * .85) ease,
    box-shadow .45s ease;
  transition-delay:var(--reveal-delay,0ms);
  will-change:transform, opacity, filter;
}
[data-reveal="left"]{transform:translate3d(-46px,0,0) scale(.985)}
[data-reveal="right"]{transform:translate3d(46px,0,0) scale(.985)}
[data-reveal="up"]{transform:translate3d(0,46px,0) scale(.985)}
[data-reveal="down"]{transform:translate3d(0,-26px,0) scale(.985)}
[data-reveal].is-visible{
  opacity:1;
  filter:none;
  transform:none;
}

/* Image reveal masks */
[data-premium-media]{
  position:relative;
  overflow:hidden;
}
[data-premium-media]::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,0) 12%,rgba(255,255,255,.18) 38%,rgba(255,255,255,0) 58%);
  transform:translate3d(-125%,0,0);
  opacity:.7;
  pointer-events:none;
}
[data-premium-media] img,
[data-premium-media] picture,
[data-premium-media] video{
  transition:
    transform 1.2s var(--motion-ease),
    opacity .95s var(--motion-ease),
    filter .95s ease;
  transform:scale(1.085) translate3d(0,14px,0);
  opacity:.001;
  filter:saturate(.92) contrast(.98);
  will-change:transform, opacity, filter;
}
[data-premium-media].is-visible::after{
  transform:translate3d(140%,0,0);
  transition:transform 1.4s cubic-bezier(.19,.73,.18,1) 120ms;
}
[data-premium-media].is-visible img,
[data-premium-media].is-visible picture,
[data-premium-media].is-visible video{
  transform:scale(1) translate3d(0,0,0);
  opacity:1;
  filter:none;
}

/* Premium hover language for images and cards */
.product-card,
.catalog-card,
.business-card,
.info-card,
.contact-item,
.faq-item,
.process-step,
.premium-rail article,
.contact-route article,
.about-facts-v2 .fact-card,
.about-scale-v2 .stat-card,
.about-values-v2 .value-card,
.about-clients-v2 .client-card,
.about-timeline-v2 .timeline-item{
  transition:transform .42s ease, box-shadow .42s ease, border-color .42s ease;
}
@media(hover:hover) and (pointer:fine){
  .product-card:hover,
  .catalog-card:hover,
  .business-card:hover,
  .info-card:hover,
  .contact-item:hover,
  .faq-item:hover,
  .process-step:hover,
  .premium-rail article:hover,
  .contact-route article:hover,
  .about-facts-v2 .fact-card:hover,
  .about-scale-v2 .stat-card:hover,
  .about-values-v2 .value-card:hover,
  .about-clients-v2 .client-card:hover,
  .about-timeline-v2 .timeline-item:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(91,55,25,.10);
  }

  .hero-photo:hover img,
  .page-hero-image:hover img,
  .store-media:hover img,
  .editorial-collage figure:hover img,
  .product-card__image:hover img,
  .catalog-card:hover img,
  .quality-mosaic img:hover,
  .photo-tile:hover img{
    transform:scale(1.04);
  }
}

/* Slight text polish for premium headings */
.hero-copy h1,
.page-hero-copy h1,
.section-heading h2,
.editorial-split h2,
.store-copy h2,
.about-hero-v2 h1,
.about-story-v2 h2,
.about-timeline-v2 h2,
.about-cycle-v2 h2,
.about-scale-v2 h2,
.about-clients-v2 h2,
.about-values-v2 h2,
.about-cta-v2 h2{
  text-wrap:balance;
}

.hero-copy .kicker,
.page-hero-copy .kicker,
.section-heading .kicker,
.store-copy .kicker,
.editorial-split .kicker,
.about-hero-v2 .kicker{
  letter-spacing:.16em;
}

/* Make reveal masks blend nicely on the site */
.hero-photo,
.page-hero-image,
.store-media,
.editorial-collage figure,
.product-card__image,
.catalog-card__media,
.about-story-v2 .editorial-collage figure,
.about-hero-v2 .about-hero-v2__media,
.about-cycle-v2 .cycle-visual,
.about-clients-v2 .client-visual,
.about-values-v2 .values-visual{
  background:rgba(250,239,226,.55);
}

@media(max-width:900px){
  [data-reveal]{
    filter:blur(5px);
    transform:translate3d(0,26px,0) scale(.99);
  }
  [data-reveal="left"]{transform:translate3d(-28px,0,0) scale(.99)}
  [data-reveal="right"]{transform:translate3d(28px,0,0) scale(.99)}
  [data-premium-media] img,
  [data-premium-media] picture,
  [data-premium-media] video{
    transform:scale(1.05) translate3d(0,10px,0);
  }
}

@media(prefers-reduced-motion:reduce){
  [data-premium-media]::after{display:none!important}
  [data-premium-media] img,
  [data-premium-media] picture,
  [data-premium-media] video,
  [data-reveal]{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
}
