/* Dely: minimal pink orb that rides along the page, plus light scroll
   effects. Decorative only; with JS off or reduced motion the page reads
   exactly as before. Everything animated here is transform/opacity. */

/* ---------- spots: invisible anchors the orb docks onto ---------- */
.dely-spot{display:block;position:absolute;aspect-ratio:1;pointer-events:none;z-index:0}
.dely-spot[data-dely=hero]{width:120px;left:-44px;bottom:104px}
.hero-cta{position:relative}
.dely-spot[data-dely=hero-m]{display:none}
.paper>.wrap{position:relative}
.dely-spot[data-dely=funkce]{width:140px;right:5%;top:10px}
.calc-copy,.pricing-copy{position:relative}
.dely-spot[data-dely=kalkulacka],.dely-spot[data-dely=cena]{position:relative;width:110px;margin-top:40px}
.roadmap-stage{position:relative}
.dely-spot[data-dely=plan]{width:130px;right:5%;top:10px}
@media(max-width:1050px){
  .dely-spot[data-dely=hero]{width:100px;left:-16px}
  .dely-spot[data-dely=funkce]{width:120px;right:0}
}
@media(max-width:760px){
  .dely-spot[data-dely=hero]{display:none}
  .dely-spot[data-dely=hero-m]{display:block;width:70px;left:calc(100% + 18px);top:-7px}
  .dely-spot[data-dely=funkce]{width:66px;right:0;top:-12px}
  .dely-spot[data-dely=kalkulacka]{position:absolute;margin:0;width:62px;right:0;top:64px}
  .dely-spot[data-dely=cena]{position:absolute;margin:0;width:70px;right:4px;top:48px}
  .dely-spot[data-dely=plan]{width:64px;right:0;top:-28px}
}

/* ---------- traveler: lives in document space, so it scrolls natively ---------- */
.dely-layer{position:absolute;left:0;top:0;width:100%;height:0;z-index:40;pointer-events:none}
.dely-pos{position:absolute;left:0;top:0;width:200px;height:200px;transform-origin:0 0;will-change:transform;opacity:0;transition:opacity .6s ease}
.dely-layer.on .dely-pos{opacity:1}
.dely-bob,.dely-tilt{position:absolute;inset:0;transform-origin:50% 70%}
.dely-bob{will-change:transform}
.dely-glow{position:absolute;inset:-45%;border-radius:50%;background:radial-gradient(closest-side,#ff298a59,#ff298a1f 55%,transparent);pointer-events:none}
.dely-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dely-hit{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dely-eye{transform-box:fill-box;transform-origin:50% 50%;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.dely-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:dely-blink 5.4s infinite}
[data-mood=happy] .dely-eye{transform:scale(1.08,.42)}
[data-mood=wow] .dely-eye{transform:scale(1.18)}
[data-mood=sleep] .dely-eye{transform:scale(1.1,.12)}
[data-mood=sleep] .dely-eyes,[data-mood=wow] .dely-eyes{animation:none}
@keyframes dely-blink{0%,94%,100%{transform:scaleY(1)}96.5%{transform:scaleY(.1)}}

/* speech bubble (sits in the same 200px box, counter-scaled by JS) */
.dely-bubble{position:absolute;left:100px;bottom:178px;width:max-content;max-width:230px;padding:10px 14px;border-radius:16px 16px 16px 4px;background:#fff;color:#1c1b1d;font:700 14px/1.35 Manrope,sans-serif;letter-spacing:0;box-shadow:0 14px 34px -14px #000c;opacity:0;transform-origin:0 100%;transform:scale(var(--bs,1)) translate(-8%,8px) scale(.9);transition:opacity .22s ease,transform .32s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.dely-bubble.show{opacity:1;transform:scale(var(--bs,1)) translate(-8%,0)}
.dely-bubble[data-dir=l]{border-radius:16px 16px 4px 16px;transform:scale(var(--bs,1)) translate(-92%,8px) scale(.9)}
.dely-bubble[data-dir=l].show{transform:scale(var(--bs,1)) translate(-92%,0)}
.dely-bubble[data-dir=s]{left:186px;bottom:100px;transform:scale(var(--bs,1)) translate(-6px,6px) scale(.9)}
.dely-bubble[data-dir=s].show{transform:scale(var(--bs,1))}
.dely-bubble[data-tone=dark]{background:#1c1b1d;color:#f5f3f4}
@media(max-width:760px){.dely-bubble{font-size:13px;padding:8px 12px;max-width:200px}}

/* ---------- scroll progress ---------- */
.dely-bar{position:fixed;left:0;top:0;width:100%;height:3px;z-index:70;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#ff298a,#ff9ccb);pointer-events:none;will-change:transform}

/* ---------- reveal / split words (one-shot, opacity + translate only) ---------- */
.js .reveal{opacity:0;translate:0 30px;transition:opacity .7s ease,translate .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;translate:none}
.js .split .wi{display:inline-block;opacity:0;translate:0 .45em;transition:opacity .5s ease,translate .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 50ms)}
.js .split.in .wi{opacity:1;translate:none}

/* ---------- panel reveal: the light section opens up once when it arrives ---------- */
.js .paper.dely-panel{clip-path:inset(36px 4.5vw round 56px);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}
.js .paper.dely-panel.in{clip-path:inset(0 0 round 0)}

/* ---------- kinetic rows between pricing and roadmap ---------- */
.dely-kinetic{overflow:hidden;padding:24px 0 88px;user-select:none;pointer-events:none}
.k-row{display:flex;gap:.35em;white-space:nowrap;font-weight:800;font-size:clamp(3rem,8.5vw,8rem);line-height:1.04;letter-spacing:-.04em;will-change:transform}
.k-row span,.k-row i{color:#ffffff17;font-style:normal}
.k-row em{color:var(--pink);font-style:normal}
.k-row.k-rev{font-size:clamp(1.6rem,4vw,3.6rem);margin-top:10px}
.k-row.k-rev span{color:#ffffff38}
.k-row.k-rev i{color:var(--pink)}
@media(max-width:760px){.dely-kinetic{padding:8px 0 56px}}

@media(prefers-reduced-motion:reduce){
  .js .reveal,.js .split .wi{opacity:1;translate:none;transition:none}
  .js .paper.dely-panel{clip-path:none;transition:none}
  .dely-eyes{animation:none}
}
