/* =========================================================
GÖKÇE & YALÇIN — PREMIUM ANIMATIONS
Luxury Edition
========================================================= */

/* =========================================================
SCROLL REVEAL
========================================================= */

.reveal{
opacity:0;
transform:translateY(24px);
transition:
opacity .8s cubic-bezier(.16,1,.3,1),
transform .8s cubic-bezier(.16,1,.3,1);
}

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

.reveal-delay-1{transition-delay:.10s;}
.reveal-delay-2{transition-delay:.20s;}
.reveal-delay-3{transition-delay:.30s;}
.reveal-delay-4{transition-delay:.40s;}

/* =========================================================
HERO PARALLAX
========================================================= */

.hero-bg{
will-change:transform;
}

/* =========================================================
LUXURY LIGHT SWEEP
========================================================= */

.hero{
position:relative;
overflow:hidden;
}

.hero::before{
content:"";
position:absolute;
inset:0;
width:35%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.05),
transparent
);

transform:translateX(-200%);
animation:luxurySweep 14s linear infinite;
pointer-events:none;
z-index:1;
}

@keyframes luxurySweep{
to{
transform:translateX(400%);
}
}

/* =========================================================
PREMIUM CARD HOVER
========================================================= */

.gallery-item,
.memory-card{
position:relative;
overflow:hidden;

transition:
transform .45s cubic-bezier(.16,1,.3,1),
box-shadow .45s ease;
}

.gallery-item:hover,
.memory-card:hover{
transform:translateY(-6px);

box-shadow:
0 15px 40px rgba(0,0,0,.18),
0 0 20px rgba(201,162,91,.12);
}

.gallery-item img,
.gallery-item video{
transition:transform .6s cubic-bezier(.16,1,.3,1);
}

.gallery-item:hover img,
.gallery-item:hover video{
transform:scale(1.04);
}

/* =========================================================
GOLD BUTTON HOVER
========================================================= */

button,
.btn,
.primary-btn{
transition:
transform .35s ease,
box-shadow .35s ease;
}

button:hover,
.btn:hover,
.primary-btn:hover{
transform:translateY(-2px);

box-shadow:
0 10px 25px rgba(201,162,91,.18);
}

/* =========================================================
CONFETTI
========================================================= */

.gy-confetti-particle{
position:fixed;
pointer-events:none;
z-index:999999;
animation:gy-fall linear forwards;
}

@keyframes gy-fall{
0%{
transform:translateY(-20px) rotate(0deg);
opacity:1;
}

100%{
transform:translateY(110vh) rotate(540deg);
opacity:0;
}
}

/* =========================================================
MOBILE
========================================================= */

@media (max-width:768px){

.gallery-item:hover,
.memory-card:hover{
transform:none;
}

.hero::before{
opacity:.5;
}

}
/* =========================================================
   WEB COMPAT — animasyonların baştan gösterilmesini önler
   Safari ve eski Chrome için fill-mode garantisi
========================================================== */
.hero-tag,
.hero h1,
.hero-date,
.hero-divider,
.hero-sub,
.hero-scroll {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
