/* Pointer effects complement one-time JS reveals; no continuously running motion. */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .tc-home
    :is(
      .tc-service,
      .tc-project,
      .tc-news-card,
      .tc-company-value,
      .tc-contact-channel
    ) {
    transition:
      transform 0.25s ease,
      box-shadow 0.25s ease;
  }
  .tc-home
    :is(
      .tc-service,
      .tc-project,
      .tc-news-card,
      .tc-company-value,
      .tc-contact-channel
    ):hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 34px #0828581a;
  }
  .tc-home :is(.tc-service-image, .tc-news-image, .tc-project > a) {
    overflow: hidden;
  }
  .tc-home :is(.tc-service-image, .tc-news-image, .tc-project > a) > img {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .tc-home
    :is(.tc-service, .tc-news-card, .tc-project):hover
    > :is(.tc-service-image, .tc-news-image, a)
    > img {
    transform: scale(1.035);
  }
  .tc-home
    :is(.tc-button, .tc-service-hotline, .tc-service-consult, .tc-company-link)
    .tc-icon-arrow {
    transition: transform 0.2s ease;
  }
  .tc-home
    :is(
      .tc-button,
      .tc-service-hotline,
      .tc-service-consult,
      .tc-company-link
    ):hover
    .tc-icon-arrow {
    transform: translateX(4px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tc-home *,
  .tc-home *::before,
  .tc-home *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
