/* Pohyb: spoločná vrstva jemných animácií pre všetky stránky (build ju vloží do <head> za inline štýly).
   Všetko, čo obsah pred animáciou skrýva, platí len pod triedou .pohyb na <html>. Tú pridá malý skript v hlavičke,
   iba ak používateľ nemá zapnuté obmedzenie pohybu. Bez JS alebo s prefers-reduced-motion je obsah hneď viditeľný.
   Animujú sa len transform/translate/scale, opacity, filter a clip-path. */
:root{--pe:cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* Pri obmedzení pohybu stránky skracujú všetky prechody na .01ms, takže aj zmena veľkosti písma veľkých nápisov
   „prechádza“ a skript, ktorý ich prispôsobuje šírke, nameria starú hodnotu (nápis potom pretečie do strany). */
@media (prefers-reduced-motion:reduce){:is(.wm,.xp-wm,.brand-wm,.ft2-wm,.traveler),:is(.wm,.xp-wm,.brand-wm,.ft2-wm) *{transition:none!important}}

/* ---------- progresívne vylepšenie: bez .pohyb sú .rv prvky viditeľné aj pred pridaním .in ---------- */
html:not(.pohyb) .rv:not(.in){opacity:1;transform:none}

/* ---------- odhaľovanie sekcií pri scrollovaní (.rv pridáva .in existujúci IntersectionObserver aj pohyb.js) ---------- */
.pohyb .rv:not(.pv-done){transition:opacity 1s var(--pe) var(--d,0s),transform 1.1s var(--pe) var(--d,0s),filter 1s var(--pe) var(--d,0s),translate .55s var(--pe),box-shadow .55s var(--pe)}
.pohyb .rv:not(.in){opacity:0;transform:translate3d(0,26px,0)}
/* karty partnerstva: namiesto pruživého preskoku rovnaký mäkký nábeh ako zvyšok webu */
.pohyb .cols .col.rv:not(.in){transform:translate3d(0,32px,0)}
/* po dobehnutí odhalenia sa vráti rýchla odozva pre hover stavy kariet */
.pohyb .rv.pv-done{transition:opacity .5s var(--pe),transform .55s var(--pe),translate .55s var(--pe),box-shadow .55s var(--pe),background-color .35s,border-color .35s,color .35s}

/* ---------- hero: nábeh typografie po slovách, z rozostrenia do ostrosti ---------- */
.pohyb .hero h1 .ln{overflow:visible}
.pohyb .hero h1 .ln > span:not(.pw){animation:none;transform:none}
.pohyb .hero h1:not(.pw-hero) .ln > span{opacity:0}
.pohyb .hero h1 .ln span.pw{display:inline-block;transform:none;animation:pv-word 1.25s var(--pe) both;animation-delay:calc(.12s + var(--wi,0) * 75ms)}
@keyframes pv-word{from{opacity:0;transform:translate3d(0,.3em,0);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}
/* texty v hero sa jemne zaostria; to, čo je pod nadpisom, nabehne až po ňom */
.pohyb .hero .rv:is(.eyebrow,.intro,.crumbs,.players):not(.in){filter:blur(8px)}
.pohyb .hero h1 ~ .rv:not(.pv-done){transition-delay:calc(var(--d,0s) + .3s)}
/* decentný parallax fotky v hero sekcii (len translate) */
.pohyb .hero .bg{translate:0 var(--pv-y,0px);will-change:translate}

/* ---------- nadpisy sekcií: slová nabiehajú postupne ---------- */
.pohyb .pw-h .pw{display:inline-block;transition:opacity .9s var(--pe) var(--wd),transform 1.1s var(--pe) var(--wd),filter .9s var(--pe) var(--wd);--wd:calc(var(--pd,0s) + var(--wi,0) * 45ms)}
.pohyb .pw-h:not(.in) .pw{opacity:0;transform:translate3d(0,.38em,0);filter:blur(8px)}

/* ---------- odstupňované deti (štatistiky, odpočet, zoznamy) ---------- */
.pohyb .pv-kids > *{transition:opacity .9s var(--pe),transform 1.1s var(--pe);transition-delay:calc(var(--pd,0s) + var(--si,0) * 90ms)}
.pohyb .pv-kids:not(.in) > *{opacity:0;transform:translate3d(0,18px,0)}

/* ---------- fotky: odhalenie výrezom a jemné doostrenie mierky ---------- */
.pohyb .pv-img{transition:clip-path 1.3s var(--pe) var(--pd,0s),scale 1.8s var(--pe) var(--pd,0s),transform 1.2s var(--ease,var(--pe)),filter .4s,opacity 1.1s var(--pe)}
.pohyb .pv-img:not(.in){clip-path:inset(5% 4% round 14px);scale:1.06}
.pohyb .pv-img.in{clip-path:inset(0 round 0);scale:1}
/* galéria: dlaždice už nabiehajú, fotka v nich sa navyše jemne usadí */
.pohyb .grid a img{scale:1.06;transition:scale 1.6s var(--pe),transform 1.2s var(--pe),filter .4s}
.pohyb .grid a.in img{scale:1}
/* parallax pozadia vo výzve na konci podstránok */
.pohyb .cta2 .bg img{scale:1.12;translate:0 var(--pv-y,0px)}

/* ---------- napočítavané čísla: rozmer drží neviditeľná finálna hodnota, takže nič neposkočí ---------- */
pv-n{position:relative;display:inline-block;white-space:nowrap}
pv-n,pv-g,pv-l{font:inherit;color:inherit;letter-spacing:inherit}
pv-g{opacity:0}
pv-l{position:absolute;top:0;right:0;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- mikrointerakcie (len myš/trackpad) ---------- */
@media (hover:hover) and (pointer:fine){
  .pohyb .btn{translate:var(--mx,0px) calc(var(--my,0px) + var(--ly,0px));transition:color .4s,translate .6s var(--pe),box-shadow .5s var(--pe),scale .3s var(--pe)}
  .pohyb .btn:hover,.pohyb .btn:focus-visible{--ly:-2px;box-shadow:0 18px 32px -20px rgba(10,40,27,.55)}
  .pohyb .btn--line:hover{box-shadow:0 18px 34px -18px rgba(20,32,26,.38)}
  .pohyb .btn:active{--ly:0px;scale:.98}
  .pohyb .btn .ar{translate:var(--ax,0px) var(--ay,0px);transition:transform .45s var(--pe),translate .6s var(--pe)}
  /* karty: ľahké nadvihnutie a mäkší tieň */
  .pohyb .col:hover,.pohyb .col:focus-visible{translate:0 -4px;box-shadow:0 34px 60px -38px rgba(0,0,0,.65)}
  .pohyb .mg-i:hover,.pohyb .mos a:hover{translate:0 -3px;box-shadow:0 28px 46px -30px rgba(14,84,57,.45)}
  .pohyb .si,.pohyb .pf button,.pohyb .gs .nb,.pohyb .lg .nb{transition:background-color .35s,color .35s,border-color .35s,transform .45s var(--pe),translate .45s var(--pe)}
  .pohyb .pf button:hover{translate:0 -1px}
}
