/* Movimento sutil e progressivo — carregado após a camada responsiva. */

@media (prefers-reduced-motion: no-preference) {
  .motion-ready .reveal-item {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition:
      opacity .68s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
      transform .68s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
  }

  .motion-ready .reveal-item.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    will-change: auto;
  }

  .motion-ready .hero-copy > .reveal-item,
  .motion-ready .page-hero-inner > .reveal-item,
  .motion-ready .story-copy > .reveal-item,
  .motion-ready .contact-intro > .reveal-item {
    transform: translate3d(-18px, 18px, 0);
  }

  .motion-ready .hero-copy > .reveal-item.is-visible,
  .motion-ready .page-hero-inner > .reveal-item.is-visible,
  .motion-ready .story-copy > .reveal-item.is-visible,
  .motion-ready .contact-intro > .reveal-item.is-visible {
    transform: translate3d(0, 0, 0);
  }
}

@media (hover: hover) and (pointer: fine) {
  .service-card,
  .catalog-card,
  .values-grid article,
  .contact-form,
  .contact-intro,
  .map-frame,
  .union-card,
  .angled-media {
    transition:
      transform .32s cubic-bezier(.22, 1, .36, 1),
      box-shadow .32s ease,
      border-color .32s ease;
  }

  .service-card:hover,
  .catalog-card:hover,
  .values-grid article:hover {
    transform: translateY(-7px);
    border-color: rgba(183, 121, 43, .72);
    box-shadow: 0 20px 38px rgba(39, 29, 12, .14);
  }

  .contact-form:hover,
  .contact-intro:hover,
  .map-frame:hover,
  .union-card:hover,
  .angled-media:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 42px rgba(39, 29, 12, .16);
  }

  .catalog-image,
  .union-card {
    overflow: hidden;
  }

  .catalog-image img,
  .union-image {
    transition: transform .65s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
  }

  .catalog-card:hover .catalog-image img,
  .union-card:hover .union-image {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.02);
  }

  .button {
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }

  .button::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.22) 48%, transparent 76%);
    transform: translateX(-125%);
    transition: transform .58s ease;
  }

  .button:hover::before {
    transform: translateX(125%);
  }

  .main-nav a,
  .catalog-body a,
  .location-address a,
  .contact-column a {
    transition: color .22s ease, transform .22s ease;
  }

  .catalog-body a:hover,
  .location-address a:hover,
  .contact-column a:hover {
    color: var(--green);
    transform: translateX(3px);
  }

  .catalog-icon,
  .values-grid i,
  .contact-list > div > i,
  .location-address > i {
    transition: transform .3s cubic-bezier(.22, 1, .36, 1), color .3s ease, background-color .3s ease;
  }

  .values-grid article:hover i,
  .contact-list > div:hover > i,
  .location-address:hover > i {
    transform: translateY(-2px) scale(1.06);
  }

  .service-card:hover .service-icon,
  .service-card:hover .service-icon-image,
  .catalog-card:hover .catalog-icon,
  .catalog-card:hover .catalog-icon-image {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
