/* Avaleht 1: GSAP 3.15 + React Bits efektid */
.fx-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#650E3D,#B80049,#EEBBBB);pointer-events:none}

/* ScrollVelocity */
.fx-vel{padding:70px 0 10px;overflow:hidden;display:grid;gap:4px}
.fx-vel__row{overflow:hidden;white-space:nowrap}
.fx-vel__track{display:inline-flex;align-items:center;gap:.5em;will-change:transform;font-size:clamp(40px,6.4vw,96px);font-weight:600;letter-spacing:-.04em;line-height:1.1;padding-right:.5em;color:var(--text)}
.fx-vel__track i{font-style:normal;color:var(--magenta);font-size:.45em}
.fx-vel__row--alt .fx-vel__track{color:transparent;-webkit-text-stroke:1.5px var(--accent-strong)}
[data-theme=dark] .fx-vel__row--alt .fx-vel__track{-webkit-text-stroke-color:var(--rose)}
.fx-vel__row--alt .fx-vel__track i{-webkit-text-stroke:0;color:var(--rose)}

/* Spotlight / MagicBento edge light */
.fx-host{position:relative;isolation:isolate}
.fx-spot{--mx:50%;--my:50%;--o:0;position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:var(--o);
  background:radial-gradient(300px circle at var(--mx) var(--my),rgba(184,0,73,.12),transparent 65%)}
.fx-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:radial-gradient(220px circle at var(--mx) var(--my),rgba(184,0,73,.85),rgba(238,187,187,.4) 40%,transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
[data-theme=dark] .fx-spot{background:radial-gradient(300px circle at var(--mx) var(--my),rgba(238,187,187,.12),transparent 65%)}

/* Tilt + glare */
.person__img{transform-style:preserve-3d;will-change:transform;position:relative}
.fx-glare{position:absolute;inset:0;pointer-events:none;opacity:var(--g,0);transition:opacity .4s;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),transparent 55%);mix-blend-mode:soft-light}
#meist{overflow-x:clip}

/* ClickSpark */
.fx-sparks{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:90}

/* SplitText mask lines */
[data-split-h]{will-change:transform}
