/* V3 (Adi) — motion layer: floating scroll, reveals, unveils, micro-interactions */
:root{--glide:cubic-bezier(.16,1,.3,1)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
html.motion-ready{scroll-behavior:auto!important}

/* Softer, longer section reveals */
.motion-ready .reveal{transition:opacity 1.1s var(--glide),transform 1.3s var(--glide)!important;transform:translate3d(0,40px,0)}
.motion-ready .reveal.visible{transform:none}

/* Headlines: each word rises out of its own line */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em 0 .34em;margin:-.12em 0 -.34em}
.split .w > span{display:inline-block;transform:translate3d(0,108%,0);transition:transform 1.15s var(--glide)}
.split.in .w > span{transform:none}

/* Image unveil: opens from a soft inset */
.unveil{clip-path:inset(9% 7% 9% 7% round 28px);transition:clip-path 1.5s var(--glide)}
.unveil.in{clip-path:inset(0 0 0 0 round 0)}
.hero-stage.unveil.in,.moment-media.unveil.in,.season-frame.unveil.in,.case-card.unveil.in,.concept-canvas.unveil.in{clip-path:inset(0 0 0 0 round 24px)}
.unveil img,.unveil video{transition:scale 1.8s var(--glide)}
.unveil:not(.in) img,.unveil:not(.in) video{scale:1.12}
.transition-product.unveil,.why .rennweg-stage.unveil{clip-path:none}
.transition-product.unveil img{opacity:0;translate:0 40px;transition:opacity 1.2s var(--glide),translate 1.6s var(--glide),scale 1.8s var(--glide)}
.transition-product.unveil.in img{opacity:1;translate:0 0}



/* Staggered strengths, cards and rows */
#strengthWords > span{opacity:0;translate:0 30px;transition:opacity .9s var(--glide),translate 1.1s var(--glide);transition-delay:calc(var(--i,0) * 70ms)}
#strengthWords.in > span{opacity:1;translate:0 0}
#opportunities > .reveal,#capabilities > .reveal{transition-delay:calc(var(--i,0) * 90ms)!important}

/* Button transitions */
.text-link,.contact-actions a,.favorite-btn,.web-bag,.lang,.why-tab,.application-tab,.web-copy-panel button{transition:translate .5s var(--glide),background .25s,color .25s,border-color .25s!important}
.text-link span:last-child{display:inline-block;transition:transform .5s var(--glide)}
.text-link:hover span:last-child{transform:translateY(4px)}
.contact-actions a span:last-child{display:inline-block;transition:transform .5s var(--glide)}
.contact-actions a:hover span:last-child{transform:translate(3px,-3px)}

/* Tab and territory switches: soft crossfade */
.application-stage.swap .application-view.active{animation:stageIn .9s var(--glide)}
@keyframes stageIn{from{opacity:0;transform:translate3d(0,18px,0) scale(.99);filter:blur(4px)}to{opacity:1;transform:none}}
.concept-tab,.application-tab{transition:color .3s,background .3s,border-color .3s,translate .5s var(--glide)!important}

/* Moments and seasons: subtle hover lift */
.moment-media img{transition:scale 1.4s var(--glide)}

.season-scene .season-frame{transition:opacity .8s var(--glide),clip-path 1.5s var(--glide)}




/* Reduced motion: everything shows at once */
.motion-still .reveal,.motion-still .split .w > span,.motion-still #strengthWords > span{transform:none!important;opacity:1!important;filter:none!important;translate:none!important}
.motion-still .unveil{clip-path:none!important}
.motion-still .unveil img,.motion-still .unveil video{scale:1!important}
@media(max-width:760px){
  .unveil{clip-path:inset(5% 4% 5% 4% round 22px)}
  .motion-ready .reveal{filter:none}
}

/* After the unveil, release the clip so shadows and hovers show */
.unveil.done{clip-path:none!important}
.split .w{padding-right:.05em;margin-right:-.05em}

/* ---------- Chapter rail (right edge) ---------- */
.chapter-rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:4px;mix-blend-mode:difference}
.chapter-rail.show{opacity:1;pointer-events:auto}
.chapter-rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:12px;height:20px;color:#fff}
.chapter-rail i{display:block;width:6px;height:6px;border-radius:50%;background:#fff;opacity:.35;transition:opacity .4s,transform .5s var(--glide),height .5s var(--glide)}
.chapter-rail button:hover i{opacity:.8}
.chapter-rail button.on i{opacity:1;height:18px;border-radius:4px}
.chapter-rail .cr-label{font:500 11px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;white-space:pre;opacity:0;translate:8px 0;transition:opacity .4s,translate .5s var(--glide)}
.chapter-rail:hover .cr-label{opacity:.55}
.chapter-rail button:hover .cr-label,.chapter-rail:hover button.on .cr-label,.chapter-rail.flash button.on .cr-label{opacity:1;translate:0 0}
.chapter-rail button:focus-visible i{outline:1px solid #fff;outline-offset:3px}
@media(max-width:900px){.chapter-rail{display:none}}

/* ---------- Season bars are clickable ---------- */
#seasonProgressV4 i{cursor:pointer;position:relative}
#seasonProgressV4 i::before{content:"";position:absolute;inset:-10px 0}
#seasonProgressV4 i:hover{opacity:.9}


/* Season panel: name and note fade in softly instead of jumping */
#seasonName,#seasonNote,#seasonNumber{display:inline-block;animation:seasonSwap .6s var(--glide)}
#seasonNote{display:block}
@keyframes seasonSwap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Contact: no write buttons, just the people */
#contactActions{display:none!important}
