html.dm-gsap-ready {
  scroll-behavior: smooth;
}

.dm-gsap-ready .site-header {
  transform-origin: 50% 0;
}

.dm-motion-accent {
  position: relative;
  isolation: isolate;
}

.dm-motion-accent::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.16em;
  width: 100%;
  height: 0.12em;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent, #1580b8), var(--accent-2, #21b08f));
  transform: scaleX(var(--dm-accent-scale, 0));
  transform-origin: 0 50%;
}

.dm-gsap-ready .hero,
.dm-gsap-ready .page-hero,
.dm-gsap-ready .seo-prerender-block:first-child {
  position: relative;
  overflow: hidden;
}

.dm-gsap-ready .hero::before,
.dm-gsap-ready .page-hero::before,
.dm-gsap-ready .seo-prerender-block:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.62) 42%, rgba(255,255,255,0) 68%);
  transform: translateX(-120%);
  opacity: .72;
}

.dm-gsap-ready .glass-card,
.dm-gsap-ready .metric-card,
.dm-gsap-ready .kpi-card,
.dm-gsap-ready .bucket-card,
.dm-gsap-ready .plan-card,
.dm-gsap-ready .phone-showcase,
.dm-gsap-ready .portfolio-card,
.dm-gsap-ready .detail-card,
.dm-gsap-ready .traffic-kpi-card,
.dm-gsap-ready .assessment-point,
.dm-gsap-ready .seo-prerender-block {
  will-change: transform, opacity;
}

.dm-gsap-ready .btn,
.dm-gsap-ready .text-link,
.dm-gsap-ready .subtle-link,
.dm-gsap-ready .site-nav a,
.dm-gsap-ready .nav-trigger {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    color .18s ease,
    background-color .18s ease;
}

.dm-gsap-ready .btn:hover,
.dm-gsap-ready .site-nav a:hover,
.dm-gsap-ready .nav-trigger:hover {
  transform: translateY(-2px);
}

.dm-gsap-ready .glass-card:hover,
.dm-gsap-ready .bucket-card:hover,
.dm-gsap-ready .plan-card:hover,
.dm-gsap-ready .portfolio-card:hover,
.dm-gsap-ready .phone-showcase:hover .phone-frame {
  transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
  html.dm-gsap-ready,
  .dm-gsap-ready *,
  .dm-gsap-ready *::before,
  .dm-gsap-ready *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
