/* Intentional motion - hierarchy and presence, not noise */

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }

  .hero-copy > *,
  .org-hero-copy > *,
  .hero-visual,
  .org-hero-visual,
  .reveal,
  .event-card.is-entering,
  .org-signup-card,
  .discover-filters,
  .auth-shell{
    opacity:1 !important;
    transform:none !important;
  }
}

@keyframes fade-up{
  from{opacity:0; transform:translateY(22px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes fade-in{
  from{opacity:0;}
  to{opacity:1;}
}

@keyframes slide-in-right{
  from{opacity:0; transform:translateX(36px) scale(0.98);}
  to{opacity:1; transform:translateX(0) scale(1);}
}

@keyframes float-y{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}

@keyframes soft-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.04);}
}

@keyframes ken-burns{
  0%{transform:scale(1);}
  100%{transform:scale(1.08);}
}

@keyframes shimmer-bar{
  0%{transform:translateX(-120%);}
  100%{transform:translateX(120%);}
}

.animate-fade-up{
  animation:fade-up .7s cubic-bezier(.22,1,.36,1) both;
}

.animate-fade-in{
  animation:fade-in .6s ease both;
}

.animate-slide-in{
  animation:slide-in-right .8s cubic-bezier(.22,1,.36,1) both;
}

.delay-1{animation-delay:.08s;}
.delay-2{animation-delay:.16s;}
.delay-3{animation-delay:.24s;}
.delay-4{animation-delay:.32s;}
.delay-5{animation-delay:.4s;}

/* Hero presence */
.hero-media video{
  animation:ken-burns 18s ease-in-out alternate infinite;
  transform-origin:center center;
}

.hero-copy > *{
  opacity:0;
  animation:fade-up .75s cubic-bezier(.22,1,.36,1) both;
}

.hero-copy > *:nth-child(1){animation-delay:.05s;}
.hero-copy > *:nth-child(2){animation-delay:.14s;}
.hero-copy > *:nth-child(3){animation-delay:.22s;}
.hero-copy > *:nth-child(4){animation-delay:.3s;}

.hero-visual{
  opacity:0;
  animation:slide-in-right .85s cubic-bezier(.22,1,.36,1) .18s both;
}

.hero-accent{
  animation:float-y 5.5s ease-in-out infinite;
}

.hero-panel{
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
}

.hero-panel:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(10,10,10,0.28);
}

.hero-pill{
  animation:soft-pulse 3.2s ease-in-out infinite;
}

/* Scroll reveal */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.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;}
.reveal-stagger > .reveal:nth-child(7){transition-delay:.4s;}
.reveal-stagger > .reveal:nth-child(8){transition-delay:.46s;}
.reveal-stagger > .reveal:nth-child(9){transition-delay:.52s;}

/* Cards & interactive */
.event-card{
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .2s ease;
}

.event-card:hover{
  transform:translateY(-6px);
}

.event-card .thumb img{
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}

.event-card:hover .thumb img{
  transform:scale(1.06);
}

.event-card.is-entering{
  opacity:0;
  transform:translateY(18px);
  animation:fade-up .55s cubic-bezier(.22,1,.36,1) both;
}

.discover-block{
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
}

.discover-block:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 32px rgba(10,10,10,0.12);
}

.discover-block .cta{
  transition:gap .2s ease;
}

.discover-block:hover .cta{
  gap:12px;
}

.value-item,
.org-benefit,
.org-who-grid article,
.org-steps li{
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.value-item:hover,
.org-benefit:hover,
.org-who-grid article:hover,
.org-steps li:hover{
  transform:translateY(-3px);
  border-color:var(--line-strong);
  box-shadow:var(--shadow-soft);
}

.value-icon,
.org-benefit-icon,
.org-step-num{
  transition:transform .25s cubic-bezier(.22,1,.36,1);
}

.value-item:hover .value-icon,
.org-benefit:hover .org-benefit-icon,
.org-steps li:hover .org-step-num{
  transform:scale(1.08) rotate(-3deg);
}

/* Buttons */
.btn,
button[type="submit"]{
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.btn:hover,
button[type="submit"]:hover:not(:disabled){
  transform:translateY(-2px);
}

.btn:active,
button[type="submit"]:active{
  transform:translateY(0) scale(0.98);
}

.btn-yellow:hover{
  box-shadow:0 8px 20px rgba(255,211,109,0.35);
}

.btn-primary:hover,
.btn-blue:hover{
  box-shadow:0 8px 20px rgba(10,10,10,0.18);
}

/* Nav */
.logo-img{
  transition:opacity .2s ease, transform .25s cubic-bezier(.22,1,.36,1);
}

.logo:hover .logo-img{
  opacity:0.9;
  transform:scale(1.02);
}

.nav-link{
  transition:color .18s ease, background .18s ease, transform .18s ease;
}

.nav-link:hover{
  transform:translateY(-1px);
}

.site-header{
  transition:box-shadow .25s ease, background .25s ease;
}

.site-header.is-scrolled{
  box-shadow:0 8px 24px rgba(10,10,10,0.06);
}

/* Filters / chips */
.discover-filters{
  animation:fade-up .6s cubic-bezier(.22,1,.36,1) both;
}

.chip{
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.chip:hover{
  transform:translateY(-1px);
}

/* Organiser landing */
.org-hero-copy > *{
  opacity:0;
  animation:fade-up .7s cubic-bezier(.22,1,.36,1) both;
}

.org-hero-copy > *:nth-child(1){animation-delay:.05s;}
.org-hero-copy > *:nth-child(2){animation-delay:.12s;}
.org-hero-copy > *:nth-child(3){animation-delay:.2s;}
.org-hero-copy > *:nth-child(4){animation-delay:.28s;}
.org-hero-copy > *:nth-child(5){animation-delay:.36s;}

.org-hero-visual{
  opacity:0;
  animation:slide-in-right .8s cubic-bezier(.22,1,.36,1) .15s both;
}

.org-hero-visual img{
  transition:transform .5s ease;
}

.org-hero-visual:hover img{
  transform:scale(1.04);
}

.org-signup-card{
  animation:fade-up .7s cubic-bezier(.22,1,.36,1) .1s both;
}

/* Pagination */
.page-btn{
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.page-btn:hover:not(:disabled){
  transform:translateY(-1px);
}

/* Auth shells */
.auth-shell{
  animation:fade-up .55s cubic-bezier(.22,1,.36,1) both;
}
