:root {
  --motion-fast: .28s;
  --motion-standard: .58s;
  --motion-editorial: .92s;
}

.gsap-ready .transition-screen {
  animation: none;
  will-change: transform;
}

.gsap-ready .reveal-line > span,
.gsap-ready .hero-title-row i,
.gsap-ready .packages-hero .mask-line > span,
.gsap-ready .services-hero h1 span,
.gsap-ready .studio-hero h1 span,
.gsap-ready .contact-hero h1 span {
  animation: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}

.gsap-ready .marquee-track { animation: none; will-change: transform; }
.gsap-ready .package-sequence { animation: none; }
.gsap-ready .project,
.gsap-ready .service-list article,
.gsap-ready .process-list article,
.gsap-ready .media-item,
.gsap-ready .service-detail,
.gsap-ready .manifesto-copy p,
.gsap-ready .origin-grid,
.gsap-ready .voice-grid,
.gsap-ready .timeline article,
.gsap-ready .ambition-grid > div,
.gsap-ready .growth-sequence article,
.gsap-ready .principles-list article,
.gsap-ready .studio-project,
.gsap-ready .story-media {
  opacity: 1;
  transform: none;
  transition: none;
}

.gsap-ready .project:hover .project-visual,
.gsap-ready .media-item:hover { transform: none; }
.gsap-ready .project:hover .project-visual::after { animation: none; }
.gsap-ready .package-panel.is-switching { opacity: 1; transform: none; }

.split-line-mask,
.split-line-mask > div { overflow: hidden; }

.motion-rule-host { position: relative; }
.motion-rule-line {
  position: absolute;
  z-index: 2;
  top: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  pointer-events: none;
  transform-origin: left center;
}

.section-dark .motion-rule-line { background: rgba(241, 240, 235, .6); }

.context-cursor.motion-cursor {
  position: fixed;
  z-index: 400;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  display: grid;
  place-items: center;
  margin: 0;
  border-radius: 50%;
  background: var(--acid);
  color: var(--ink);
  font: .58rem var(--mono);
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: none;
  will-change: transform, opacity;
}

.context-cursor.motion-cursor span { pointer-events: none; }

.service-nav,
.package-switch { position: relative; }

.service-nav-indicator,
.package-switch-indicator {
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: 0;
  height: 3px;
  background: var(--acid);
  pointer-events: none;
  will-change: transform, width;
}

.package-switch-indicator {
  top: 0;
  bottom: auto;
  height: 4px;
  background: var(--pkg-acid, var(--acid));
}

.service-nav > a,
.package-switch > button { position: relative; z-index: 1; }

.timeline { position: relative; }
.timeline-progress {
  position: absolute;
  z-index: 3;
  top: -2px;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--ink);
  transform-origin: left center;
  pointer-events: none;
}

.motion-active-media { will-change: transform, clip-path; }
.motion-magnetic { will-change: transform; }

.gsap-ready .mobile-menu a { overflow: hidden; }
.gsap-ready .media-modal,
.gsap-ready .case-study,
.gsap-ready .form-success { will-change: transform; }

@media (max-width: 900px) {
  .service-nav-indicator { display: none; }
  .motion-rule-line { height: 1px; }
}

@media (prefers-reduced-motion: reduce) {
  .transition-screen { display: none !important; }
  .motion-rule-line,
  .timeline-progress,
  .service-nav-indicator,
  .package-switch-indicator,
  .context-cursor.motion-cursor { display: none !important; }
  .gsap-ready * { scroll-behavior: auto !important; }
  .gsap-ready [data-motion-heading],
  .gsap-ready [data-motion-reveal],
  .gsap-ready [data-motion-media] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
