/* zv-motion.css: tum sayfalar icin kaydirma gecisleri + ic sayfa hero acilisi.
   Gizleme yalniz JS'in / erken betigin ekledigi html.zv-reveal ve html.zv-ph ile (JS yoksa her sey gorunur). */
.zv-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;overflow:hidden}
.zv-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#38bdf8);transform:scaleX(0);transform-origin:0 50%;will-change:transform}
html.zv-reveal .rv{opacity:0;transform:translate3d(0,26px,0);filter:blur(6px)}
html.zv-reveal .rv.rv-3d{transform:translate3d(0,34px,0) rotateX(8deg);transform-origin:50% 100%}
html.zv-reveal .rv.in{opacity:1;transform:none;filter:none;transition:opacity .7s cubic-bezier(.16,1,.3,1) var(--d,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--d,0ms),filter .7s ease var(--d,0ms)}
/* kart ici kademeler: kart girdikten sonra sirayla */
html.zv-reveal .rv .rv-k{opacity:0;transform:translate3d(0,10px,0)}
html.zv-reveal .rv .rv-k.card-icon,html.zv-reveal .rv .rv-k.how-num,html.zv-reveal .rv .rv-k.ico{transform:scale(.6)}
html.zv-reveal .rv.in .rv-k{opacity:1;transform:none;transition:opacity .5s ease calc(var(--d,0ms) + 220ms + var(--k,0) * 55ms),transform .6s cubic-bezier(.34,1.56,.64,1) calc(var(--d,0ms) + 220ms + var(--k,0) * 55ms)}
/* telefon: daha kisa mesafe, daha hafif bulaniklik ve egim */
@media (max-width:640px){
html.zv-reveal .rv{transform:translate3d(0,18px,0);filter:blur(3px)}
html.zv-reveal .rv.rv-3d{transform:translate3d(0,22px,0) rotateX(5deg)}
html.zv-reveal .rv.in{transition-duration:.6s,.65s,.6s}
}
.bento-grid{perspective:1200px}
/* eyebrow: soldan acilan klip + ince cizgi */
html.zv-reveal .rv-e{position:relative;clip-path:inset(0 100% 0 0)}
html.zv-reveal .rv-e::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
html.zv-reveal .rv-e.in{clip-path:inset(0 0 0 0);transition:clip-path .8s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
html.zv-reveal .rv-e.in::after{animation:zvLine 1s ease var(--d,0ms) both}
@keyframes zvLine{0%{transform:scaleX(0);opacity:1}60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* baslik: kelime kelime maske */
.rv-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.rv-wi{display:inline-block}
html.zv-reveal .rv-t .rv-wi{transform:translate3d(0,108%,0)}
html.zv-reveal .rv-t.in .rv-wi{transform:none;transition:transform .85s cubic-bezier(.16,1,.3,1) calc(var(--d,0ms) + var(--i,0) * 45ms)}
/* hero -> ilk bolum perdesi (yalniz #audience varsa) */
#audience{position:relative}
#audience::before{content:"";position:absolute;left:0;right:0;top:-1px;height:180px;pointer-events:none;z-index:1;opacity:var(--cv,0);background:linear-gradient(to bottom,var(--bg),transparent)}
/* bento isik parlamasi (yalniz .bento-card varsa) */
.bento-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(0,229,163,.12),transparent 65%)}
[data-theme="light"] .bento-card::after{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(0,160,115,.10),transparent 65%)}
@media (hover:hover) and (pointer:fine){.bento-card:hover::after{opacity:1}}

/* ---- ic sayfa hero acilisi (yalniz .page-hero; ana sayfa .hero etkilenmez). ~1.1 s, bir kez ---- */
@keyframes zvPhUp{from{opacity:0;transform:translate3d(0,14px,0);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes zvPhUpM{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}
@keyframes zvPhW{from{transform:translate3d(0,108%,0)}to{transform:none}}
@keyframes zvPhG1{from{opacity:0;transform:translateX(-50%) scale(.82)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes zvPhG{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
html.zv-ph .page-hero .container>*{animation:zvPhUp .65s cubic-bezier(.16,1,.3,1) both}
html.zv-ph .page-hero .container>:nth-child(1){animation-duration:.55s}
html.zv-ph .page-hero .container>:nth-child(3){animation-delay:300ms}
html.zv-ph .page-hero .container>:nth-child(4){animation-delay:420ms}
html.zv-ph .page-hero .container>:nth-child(n+5){animation-delay:520ms}
html.zv-ph .page-hero .container>h1{animation:none;opacity:0}
html.zv-ph.zv-go .page-hero .container>h1{opacity:1}
html.zv-ph.zv-go .page-hero h1 .rv-wi{animation:zvPhW .8s cubic-bezier(.16,1,.3,1) calc(80ms + var(--i,0) * 50ms) both}
html.zv-ph:has(.page-hero) .ambient-glow-1{animation:zvPhG1 1.1s ease-out both}
html.zv-ph:has(.page-hero) .ambient-glow-2,html.zv-ph:has(.page-hero) .ambient-glow-3{animation:zvPhG 1.1s ease-out 120ms both}
.ambient-glow-1,.ambient-glow-2,.ambient-glow-3{will-change:translate}
@media (max-width:640px){html.zv-ph .page-hero .container>*{animation-name:zvPhUpM}}

@media (prefers-reduced-motion:reduce){
html.zv-reveal .rv,html.zv-reveal .rv.rv-3d{transform:none;filter:none}
html.zv-reveal .rv.in{transition:opacity .15s linear}
html.zv-reveal .rv-e{clip-path:none}
html.zv-reveal .rv-e::after{display:none}
html.zv-reveal .rv-t .rv-wi{transform:none}
html.zv-reveal .rv .rv-k{opacity:1;transform:none}
#audience::before,.bento-card::after{display:none}
html.zv-ph .page-hero .container>*,html.zv-ph .page-hero h1 .rv-wi,html.zv-ph .ambient-glow-1,html.zv-ph .ambient-glow-2,html.zv-ph .ambient-glow-3{animation:none}
html.zv-ph .page-hero .container>h1{opacity:1}
}
