/* SBT Studio v2 — ortak hareket sistemi (js/motion.js ile). Tüm sayfalarda yüklenir.
 * Kural: gizleme yalnız html.js-motion varken yapılır; JS yoksa / hareket azaltılmışsa her şey görünür. */
:root{--mv-ease:cubic-bezier(.2,.7,.1,1);--mv-dur:.5s}

/* mevcut sayfa CSS'lerindeki .reveal gizlemesini güvenli hale getir */
html:not(.js-motion) .reveal{opacity:1!important;transform:none!important}

/* giriş: kaydırınca kademeli belirme */
.js-motion [data-mv]{transition:opacity var(--mv-dur) var(--mv-ease),transform var(--mv-dur) var(--mv-ease);transition-delay:var(--mv-d,0ms)}
.js-motion [data-mv]:not(.mv-in){opacity:0;transform:translateY(14px)}

/* giriş: başlıklar kelime kelime yükselir (satır maskesi) */
.mv-split .mv-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em 0 .2em;margin:-.06em 0 -.2em}
.mv-split .mv-wi{display:inline-block;transform:translateY(105%);transition:transform .55s var(--mv-ease);transition-delay:calc(min(var(--mv-i,0), 8) * 28ms)}
.mv-split.mv-in .mv-wi{transform:none}
/* gradyan/vurgulu kelimeler span içinde kalınca rengi korunsun */
.mv-split em .mv-wi,.mv-split .hl .mv-wi{color:inherit;background:inherit;-webkit-background-clip:inherit;background-clip:inherit}

/* etkileşim: kartlarda fareyi izleyen ışık (iç parlama + kenar) */
.mv-spot{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transition:opacity .35s var(--mv-ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(37,99,235,.09),transparent 45%)}
.mv-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(37,99,235,.55),transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
[data-mv-glow]:hover > .mv-spot{opacity:1}
.navy .mv-spot,.mv-dark .mv-spot{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(125,211,252,.10),transparent 45%)}
.navy .mv-spot::before,.mv-dark .mv-spot::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(125,211,252,.6),transparent 60%)}
[data-mv-glow]{transition:transform .45s var(--mv-ease),box-shadow .45s var(--mv-ease)}
@media (hover:hover) and (pointer:fine){[data-mv-glow]:hover{transform:translateY(-3px)}}

/* etkileşim: ana düğmeler fareye çekilir */
.mv-mag{translate:var(--tx,0px) var(--ty,0px);transition:translate .35s var(--mv-ease),background-color .25s,box-shadow .25s}

/* derinlik: fotoğraflarda hafif paralaks (mevcut transform'larla çakışmaz: ayrı translate/scale özellikleri) */
.mv-plx{translate:0 var(--plx,0px);scale:1.06}

/* ortam: menünün altında kaydırma ilerleme çizgisi */
.mv-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:200;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;
  background:linear-gradient(90deg,#7DD3FC,#2563EB 55%,#6366F1)}

@media (prefers-reduced-motion:reduce){
  .js-motion [data-mv]:not(.mv-in){opacity:1;transform:none}
  .mv-split .mv-wi{transform:none;transition:none}
  .mv-mag,.mv-plx{translate:none;scale:none;transition:none}
  [data-mv-glow]{transition:none}
}
