/* ==========================================================================
   Can İnşaat v3 — Hareket katmanı
   Başlangıç durumları yalnızca <html class="has-motion"> varken uygulanır;
   GSAP yüklenemezse head betiği sınıfı kaldırır ve içerik görünür kalır.
   ========================================================================== */
@keyframes ring { 0% { transform: scale(0.85); opacity: 1; } 100% { transform: scale(1.35); opacity: 0; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes wheel { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.has-motion [data-anim="up"],
.has-motion [data-anim-children] > * { opacity: 0; transform: translateY(40px); }
.has-motion [data-anim="rise"] { opacity: 0; transform: translateY(36px) scale(0.96); }
.has-motion [data-anim="mask"] { clip-path: inset(100% 0 0 0 round var(--radius-media)); }
.has-motion [data-anim="split"] { opacity: 0; }
.has-motion:not(.motion-ready) .hero__inner,
.has-motion:not(.motion-ready) .hero__ui,
.has-motion:not(.motion-ready) .site-header { opacity: 0; }
.masonry__item.is-entering { animation: rise 0.55s var(--ease-out) both; }

@media print {
  .has-motion [data-anim], .has-motion [data-anim-children] > * { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .site-header, .rail, .progress, .quick-call, .intro { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
  .intro { display: none !important; }
}
