/* Kinesis Réadaptation — consolidated production layer */
.typewriter-caret{display:none!important}
.hero-carousel .hero-shade,.hero-shade{background:linear-gradient(90deg,rgba(7,17,31,.34) 0%,rgba(8,20,35,.18) 45%,rgba(11,20,34,.08) 78%),linear-gradient(180deg,rgba(4,8,14,.08) 0%,rgba(4,8,14,0) 30%,rgba(4,8,14,.12) 100%)!important}
.hero-carousel{background:#f4f0f5!important}
.hero-carousel-controls{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important;box-shadow:0 10px 24px rgba(11,18,31,.10)}
.hero-carousel-controls>button{background:rgba(255,255,255,.18)!important}
.center-hero-shade{background:linear-gradient(90deg,rgba(11,24,40,.28),rgba(12,22,39,.08))!important}
.center-story-video .institutional-video-frame,.center-story-images img,.page-hero-media img,.page-hero-media>span{box-shadow:0 10px 24px rgba(22,19,32,.08)!important}
.center-story-video .institutional-video-frame{overflow:hidden;border-radius:22px;background:#fff;border:1px solid #e4dde8}
.center-story-video video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#000}
.center-story-video .video-corner{display:none}
.technology-rail button{box-shadow:0 10px 24px rgba(46,24,57,.08)}
.technology-rail button:after{background:linear-gradient(180deg,rgba(11,24,42,0) 30%,rgba(11,24,42,.24) 68%,rgba(11,24,42,.60) 100%)!important}
.technology-rail button>span{background:rgba(255,255,255,.34)!important;border-color:rgba(255,255,255,.88)!important}
.technology-rail small{color:#eef5f0!important}
.technology-rail button:hover,.technology-rail button.active{box-shadow:0 14px 32px rgba(46,24,57,.15)!important;transform:translateY(-4px)!important}
.technology-detail{background:linear-gradient(125deg,#fff 0%,#fbf9fc 56%,#f6fbf7 100%)!important;box-shadow:0 12px 30px rgba(44,23,54,.10)!important}
.team-member-card.priority-card{border-color:#d6cae0!important;box-shadow:0 14px 32px rgba(80,41,102,.12)!important}
.team-member-card.priority-card .team-member-photo span{background:rgba(255,255,255,.92);color:var(--violet)}

/* One entrance-animation engine. */
.kin-motion-item{opacity:0;will-change:transform,opacity,clip-path;backface-visibility:hidden;transform-origin:center center;transition-property:transform,opacity,clip-path;transition-duration:var(--kin-duration,1.7s),var(--kin-opacity-duration,1.25s),var(--kin-duration,1.7s);transition-timing-function:cubic-bezier(.16,.82,.2,1),ease,cubic-bezier(.16,.82,.2,1);transition-delay:var(--kin-delay,0s)}
.kin-motion-item.kin-motion-visible{opacity:1;transform:none!important;clip-path:inset(0 0 0 0 round 0)!important}
.kin-motion-item.kin-motion-settled{will-change:auto}
.kin-left{transform:translate3d(calc(-1 * clamp(150px,24vw,300px)),0,0) rotate(-2.2deg) scale(.95)}
.kin-right{transform:translate3d(clamp(150px,24vw,300px),0,0) rotate(2.2deg) scale(.95)}
.kin-rise{transform:translate3d(0,105px,0) scale(.96)}
.kin-drop{transform:translate3d(0,-85px,0) scale(.97)}
.kin-pop{transform:translate3d(0,48px,0) scale(.80)}
.kin-tilt-left{transform:translate3d(-150px,45px,0) rotate(-5deg) scale(.93)}
.kin-tilt-right{transform:translate3d(150px,45px,0) rotate(5deg) scale(.93)}
.kin-image-left{transform:translate3d(-120px,0,0) scale(1.08);clip-path:inset(0 100% 0 0 round 20px)}
.kin-image-right{transform:translate3d(120px,0,0) scale(1.08);clip-path:inset(0 0 0 100% round 20px)}
.kin-scale{transform:scale(.72) rotate(-1.5deg)}
.kin-motion-inner{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s ease,transform 1.05s cubic-bezier(.16,.82,.2,1);transition-delay:var(--kin-inner-delay,.32s)}
.kin-motion-visible .kin-motion-inner,.kin-motion-visible.kin-motion-inner{opacity:1;transform:none}
.kin-inner-left{transform:translate3d(-35px,0,0)}
.kin-inner-right{transform:translate3d(35px,0,0)}
.kin-motion-visible.kin-live-image img,.kin-motion-visible.kin-live-image>img{animation:kin-image-breathe 8s ease-in-out 1.7s infinite alternate}
@keyframes kin-image-breathe{from{transform:scale(1)}to{transform:scale(1.025)}}
.kin-motion-visible .kin-icon-live{animation:kin-icon-float 3.8s ease-in-out .6s infinite}
@keyframes kin-icon-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(2deg)}}
.kin-motion-visible.need-card:hover,.need-grid .kin-motion-visible:hover,.daily-tip-grid .kin-motion-visible:hover,.values-grid>.kin-motion-visible:hover,.compact-values>.kin-motion-visible:hover,.related-grid .kin-motion-visible:hover,.team-member-card.kin-motion-visible:hover,.leaders.team-leaders article.kin-motion-visible:hover,.contact-grid>.kin-motion-visible:hover,.technology-rail button.kin-motion-visible:hover,.gallery-rich figure.kin-motion-visible:hover{transform:translateY(-7px) scale(1.01)!important;transition:transform .55s ease,box-shadow .55s ease,border-color .55s ease!important}
@media(max-width:900px){.kin-left{transform:translate3d(-135px,0,0) rotate(-1.5deg) scale(.96)}.kin-right{transform:translate3d(135px,0,0) rotate(1.5deg) scale(.96)}.kin-tilt-left{transform:translate3d(-110px,35px,0) rotate(-3deg) scale(.95)}.kin-tilt-right{transform:translate3d(110px,35px,0) rotate(3deg) scale(.95)}.kin-rise{transform:translate3d(0,78px,0) scale(.97)}.kin-drop{transform:translate3d(0,-62px,0) scale(.98)}.kin-image-left{transform:translate3d(-80px,0,0) scale(1.06);clip-path:inset(0 100% 0 0 round 15px)}.kin-image-right{transform:translate3d(80px,0,0) scale(1.06);clip-path:inset(0 0 0 100% round 15px)}}
@media(prefers-reduced-motion:reduce){.kin-motion-item,.kin-motion-inner{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}}

/* Everyday-advice layout and numbering. */
.daily-tip-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important}
.daily-tip-grid>article>span{display:grid!important;place-items:center!important;line-height:1!important;font-variant-numeric:tabular-nums}
@media(max-width:900px){.daily-tip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:580px){.daily-tip-grid{grid-template-columns:1fr!important}}

/* Media safety: direct animated media never disappears if an observer is delayed. */
main img.kin-motion-item.kin-media-safe,main video.kin-motion-item.kin-media-safe{opacity:1!important;clip-path:none!important}
main img.kin-motion-item.kin-media-safe:not(.kin-motion-visible),main video.kin-motion-item.kin-media-safe:not(.kin-motion-visible){transform:translate3d(0,14px,0) scale(1.035)!important}
main img.kin-motion-item.kin-media-safe.kin-motion-visible,main video.kin-motion-item.kin-media-safe.kin-motion-visible{transform:none!important}

/* Hero carousel arrows. */
.hero-carousel-controls button[aria-label="Image précédente"] svg,.hero-carousel-controls button[aria-label="Previous image"] svg{transform:rotate(180deg)!important}
.hero-carousel-controls button[aria-label="Image suivante"] svg,.hero-carousel-controls button[aria-label="Next image"] svg{transform:none!important}

/* Slogan: one animation only — sequential letter bounce. */
.hero-slogan .eyebrow.light,.hero-slogan h1,.hero-slogan h1>.hero-slogan-line,.hero-slogan h1>.hero-slogan-line::before,.hero-slogan h1>.hero-slogan-line::after,.hero-typewriter-pulse,.hero-typewriter-pulse svg,.hero-typewriter-pulse span{animation:none!important;transform:none!important;filter:none!important}
.hero-slogan h1{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:0!important;overflow:visible!important}
.hero-slogan h1::before,.hero-slogan h1::after{content:none!important;display:none!important}
.hero-slogan h1>.hero-slogan-line{display:inline!important;visibility:visible!important;opacity:1!important;overflow:visible!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important}
.hero-slogan h1>.hero-slogan-line.accent{color:#7ad27f!important}
.hero-slogan .bounce-letter{display:inline-block!important;visibility:visible!important;opacity:1!important;position:relative;transform-origin:50% 100%;will-change:transform;animation:kin-letter-bounce 3.65s cubic-bezier(.22,.72,.22,1) infinite!important;animation-delay:calc(var(--bounce-i,0) * 72ms)!important}
.hero-slogan .bounce-space{width:.28em}
.hero-slogan .hero-slogan-line.accent .bounce-letter{color:#7ad27f!important;-webkit-text-fill-color:#7ad27f!important}
@keyframes kin-letter-bounce{0%,8%,100%{transform:translate3d(0,0,0) scale(1,1)}2.2%{transform:translate3d(0,-.12em,0) scale(.98,1.04)}4.2%{transform:translate3d(0,-.43em,0) scale(1.01,1.02)}6.2%{transform:translate3d(0,.055em,0) scale(1.05,.91)}7.2%{transform:translate3d(0,-.08em,0) scale(.99,1.025)}}
@media(max-width:580px){.hero-slogan h1{display:block!important}.hero-slogan h1>.hero-slogan-line{display:inline!important}}
@media(prefers-reduced-motion:reduce){.hero-slogan .bounce-letter{animation:none!important}}

.language-switch-form{margin:0;padding:0;display:inline-flex;border:0;background:transparent}.language-switch-form .language-switch{cursor:pointer;font-family:inherit}

/* V69 appointment requests */
.appointment-consent-v69{font-size:.8rem!important;font-weight:500!important;line-height:1.55;color:#5d6673}.appointment-consent-row{display:flex;align-items:flex-start;gap:10px}.appointment-consent-row input{width:18px!important;height:18px!important;min-width:18px;margin-top:2px}.appointment-submit-result-v69{grid-column:1/-1;margin-bottom:14px;padding:16px 18px;border-radius:12px;border:1px solid #dfe3e8;background:#f8f9fa}.appointment-submit-result-v69 strong{display:block;margin-bottom:5px}.appointment-submit-result-v69 p{margin:0 0 8px;line-height:1.55;font-size:.84rem}.appointment-submit-result-v69 span{font-size:.78rem}.appointment-submit-result-v69.success{border-color:#bcdcc4;background:#f2faf4;color:#235d32}.appointment-submit-result-v69.error{border-color:#ecc9c4;background:#fff5f3;color:#9d3328}.appointment-form button[disabled]{opacity:.68;cursor:wait}

/* V74 fail-safe: public content must never remain hidden if animation JS is unavailable. */
.kin-motion-item,.kin-motion-inner{opacity:1!important;visibility:visible!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}
.site-loader{animation-duration:1.2s!important;animation-iteration-count:1!important}
