/* Page load */
body.is-loaded { animation: pageIn .7s cubic-bezier(.16,1,.3,1); }
@keyframes pageIn { from { opacity: 0; } to { opacity: 1; } }

/* Scroll reveal — içerik her zaman görünür; animasyon isteğe bağlı */
.reveal {
  opacity: 1;
  transform: translateY(24px);
  transition: transform .85s cubic-bezier(.16,1,.3,1), opacity .85s cubic-bezier(.16,1,.3,1);
}
.reveal.is-visible { transform: none; }
.reveal--delay { transition-delay: .12s; }
.reveal--delay-2 { transition-delay: .24s; }
.reveal-stagger > .reveal:nth-child(1) { transition-delay: .04s; }
.reveal-stagger > .reveal:nth-child(2) { transition-delay: .1s; }
.reveal-stagger > .reveal:nth-child(3) { transition-delay: .16s; }
.reveal-stagger > .reveal:nth-child(4) { transition-delay: .22s; }
.reveal-stagger > .reveal:nth-child(5) { transition-delay: .28s; }
.reveal-stagger > .reveal:nth-child(6) { transition-delay: .34s; }

/* Button shine */
.btn-shine { position: relative; overflow: hidden; }
.btn-shine::after {
  content: '';
  position: absolute; top: 0; left: -120%; width: 55%; height: 100%;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%);
  transform: skewX(-18deg);
  transition: left .6s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
}
.btn-shine:hover::after { left: 140%; }

/* Floating orbs */
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
@keyframes floatSlow {
  0%, 100% { transform: translate(0,0) rotate(0deg); }
  33% { transform: translate(8px,-10px) rotate(2deg); }
  66% { transform: translate(-6px,6px) rotate(-1deg); }
}
@keyframes pulseGlow {
  0%, 100% { opacity: .35; transform: scale(1); }
  50% { opacity: .55; transform: scale(1.06); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.hero__orb { animation: floatSlow 9s ease-in-out infinite; }
.hero__orb--2 { animation-delay: -3s; }
.hero-card { animation: floatY 5s ease-in-out infinite; }
.hero-visual__ring { animation: pulseGlow 4s ease-in-out infinite; }

/* Floating CTA scroll */
.floating-cta {
  opacity: 0; visibility: hidden;
  transform: translateY(16px) scale(.96);
  transition: opacity .45s ease, transform .45s ease, visibility .45s;
}
.floating-cta.is-visible {
  opacity: 1; visibility: visible;
  transform: translateY(0) scale(1);
}

/* Marquee */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.trust-marquee__track { animation: marquee 28s linear infinite; }
.trust-marquee:hover .trust-marquee__track { animation-play-state: paused; }

/* Card hover lift */
.card--benefit::before,
.session-card::before,
.pricing-card::before {
  content: '';
  position: absolute; inset: 0; border-radius: inherit;
  opacity: 0; transition: opacity .35s;
  background: linear-gradient(135deg, rgba(232, 192, 96, 0.1), rgba(199, 90, 74, 0.06), transparent 60%);
  pointer-events: none;
}
.card--benefit:hover::before,
.session-card:hover::before,
.pricing-card:hover::before { opacity: 1; }

/* Stat counter feel */
.stat strong {
  background: linear-gradient(135deg, var(--color-primary), var(--color-gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Hero slider progress */
@keyframes heroProgress {
  from { width: 0; }
  to { width: 100%; }
}
.hero-slider.is-playing .hero-slider__progress-bar {
  animation: heroProgress 6s linear forwards;
}

@keyframes ctaPulse {
  0%, 100% { box-shadow: 0 10px 32px rgba(37, 211, 102, 0.4); }
  50% { box-shadow: 0 10px 32px rgba(37, 211, 102, 0.4), 0 0 0 8px rgba(37, 211, 102, 0.12); }
}

/* Spotlight card float — desktop only */
.spotlight-card { animation: floatY 7s ease-in-out infinite; }
.spotlight-card:nth-child(2) { animation-delay: -2.5s; }
@media (max-width: 768px) {
  .spotlight-card { animation: none; }
}

/* Hero trust pills */
.hero__trust-item {
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(44, 30, 26, 0.05);
  background: rgba(255, 252, 250, 0.72);
  border: 1px solid rgba(232, 213, 200, 0.6);
}

/* Section alt organic shape */
.section--alt {
  position: relative;
}
.section--alt::before {
  content: '';
  position: absolute; top: -1px; left: 0; right: 0; height: 48px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V20C200 0 400 40 600 24S1000 0 1200 20v28H0z' fill='%23fdf8f4'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
  pointer-events: none;
}

/* Philosophy shimmer on quote */
.philosophy-band__quote em {
  background: linear-gradient(90deg, var(--color-primary), var(--color-gold), var(--color-primary));
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 6s linear infinite;
}
