/* ==========================================================================
   HAREKET
   Yalnizca transform ve opacity. Hareket azaltma tercihinde hepsi kapanir.
   ========================================================================== */

/* Kaydirinca beliren ogeler: main.js gorunume girince .gorundu ekler.
   JS yoksa (html.js yok) hicbir sey gizlenmez. */
.js [data-belir] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s var(--egri), transform .9s var(--egri);
  transition-delay: calc(var(--sira, 0) * 70ms);
}
.js [data-belir].gorundu { opacity: 1; transform: none; }

/* Buyuk basliklar: satir satir yukari kayarak */
.js [data-satir] { overflow: hidden; }
.js [data-satir] > span { display: block; transform: translateY(102%); transition: transform 1s var(--egri); transition-delay: calc(var(--sira, 0) * 90ms); }
.js [data-satir].gorundu > span { transform: none; }

@keyframes nabiz {
  0%   { transform: scale(1);   opacity: .7; }
  80%  { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}
@keyframes nabiz-nokta {
  0%, 100% { opacity: 1; }
  50%      { opacity: .25; }
}

/* ==========================================================================
   TIKLAMA HAREKETLERI (hareket.js): Hakkimizda'ya gecis, proje penceresi
   ========================================================================== */
/* Sayfa gecisi: parcalari tek tuval cizer */
.gecis-tuval { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 2147483000; pointer-events: none; }
.gecis-gizli { visibility: hidden !important; }

/* Proje penceresi: kopyasi 3B donerek ekrani kaplar */
.pencere-acilis { position: fixed; inset: 0; z-index: 2147482990; perspective: 1600px; }
.pencere-acilis .pencere { position: absolute; margin: 0; display: flex; flex-direction: column; will-change: transform, left, top, width, height; }
.pencere-acilis .pencere-ic { flex: 1; aspect-ratio: auto; }
.pencere-acilis .pp-git { height: 100%; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .js [data-belir], .js [data-satir] > span { opacity: 1; transform: none; }
}
