@media (hover: hover) and (pointer: fine) {
  .tt-button:hover,
  .elementor-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
  }
  .tt-btn-secondary .elementor-button:hover,
  .tt-button--outline:hover {
    background: rgba(209, 166, 77, 0.06) !important;
  }
  .tt-service-card:hover {
    border-color: rgba(209, 166, 77, 0.55);
  }
  .tt-service-card:hover img {
    filter: brightness(0.9) contrast(1.05) saturate(0.9);
    transform: scale(1.035);
  }
  .tt-service-card:hover::after {
    opacity: 0.86;
  }
  .tt-service-card:hover .tt-service-copy::after {
    transform: translateX(4px);
  }
  .tt-menu a:hover {
    color: var(--tt-text);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .tt-section-title.tt-reveal::after {
    content: "";
    display: block;
    width: 44px;
    height: 1px;
    margin-top: 22px;
    transform: scaleX(0);
    transform-origin: left;
    background: var(--tt-gold);
    transition: transform 700ms var(--tt-ease) 120ms;
  }
  .tt-section-title.tt-reveal.is-visible::after {
    transform: scaleX(1);
  }
  .tt-site-header {
    animation: tt-enter 700ms var(--tt-ease) 160ms both;
  }
  .tt-hero-content > .elementor-element,
  .tt-hero-content > .e-con-inner > .elementor-element {
    animation: tt-enter 820ms var(--tt-ease) both;
  }
  .tt-hero-content > .elementor-element:nth-child(1),
  .tt-hero-content > .e-con-inner > .elementor-element:nth-child(1) {
    animation-delay: 160ms;
  }
  .tt-hero-content > .elementor-element:nth-child(2),
  .tt-hero-content > .e-con-inner > .elementor-element:nth-child(2) {
    animation-delay: 240ms;
  }
  .tt-hero-content > .elementor-element:nth-child(3),
  .tt-hero-content > .e-con-inner > .elementor-element:nth-child(3) {
    animation-delay: 320ms;
  }
  .tt-hero-content > .elementor-element:nth-child(4),
  .tt-hero-content > .e-con-inner > .elementor-element:nth-child(4) {
    animation-delay: 400ms;
  }
  .tt-hero-photo img {
    animation: tt-image-enter 1100ms var(--tt-ease) 120ms both;
  }
  .tt-motion-ready .tt-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 650ms var(--tt-ease),
      transform 650ms var(--tt-ease);
  }
  .tt-motion-ready .tt-reveal.is-visible {
    opacity: 1;
    transform: none;
  }
  .tt-motion-ready .tt-reveal-image {
    opacity: 0.55;
    transform: scale(1.025);
    transition:
      opacity 800ms var(--tt-ease),
      transform 900ms var(--tt-ease);
  }
  .tt-motion-ready .tt-reveal-image.is-visible {
    opacity: 1;
    transform: none;
  }
  .tt-stagger > .e-con-inner > .tt-stagger-item:nth-child(2) {
    transition-delay: 80ms;
  }
  .tt-stagger > .e-con-inner > .tt-stagger-item:nth-child(3) {
    transition-delay: 160ms;
  }
}
@keyframes tt-enter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
}
@keyframes tt-image-enter {
  from {
    opacity: 0.4;
    transform: scale(1.03);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .tt-motion-ready .tt-reveal,
  .tt-motion-ready .tt-reveal-image {
    opacity: 1;
    transform: none;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
