/* DSK Congo - effets du site public. S'ajoute au design existant sans le modifier. */
html{scroll-behavior:smooth}
#dskProgress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--gold),var(--cyan),var(--blue));z-index:99999;pointer-events:none}
/* Menu */
.nav{transition:box-shadow .3s ease,background .3s ease}.nav.scrolled{box-shadow:0 14px 34px rgba(var(--navy-rgb),.28);background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}
.menu button{position:relative}.menu button::after{content:"";position:absolute;left:14%;right:14%;bottom:2px;height:3px;border-radius:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s ease}
.menu button:hover::after,.menu button.active::after{transform:scaleX(1)}
.logo{animation:dskGlow 3.2s ease-in-out infinite}
@keyframes dskGlow{50%{box-shadow:0 0 0 8px rgba(var(--gold-rgb),.3)}}
/* Accueil : titre mot par mot, halo, dégradé vivant, léger décalage au défilement */
.hero{background-size:200% 200%;animation:dskHero 18s ease-in-out infinite alternate}
@keyframes dskHero{to{background-position:100% 60%}}
.hero::before{content:"";position:absolute;width:560px;height:560px;right:-140px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.38),transparent 66%);animation:dskOrb 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes dskOrb{to{transform:translate(-90px,70px) scale(1.2)}}
.hero-content{transform:translateY(var(--py,0px));opacity:calc(1 - var(--po,0))}
.hero h1 .w{display:inline-block;opacity:0;transform:translateY(46px) rotate(3deg);animation:dskWord .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*75ms + 200ms)}
@keyframes dskWord{to{opacity:1;transform:none}}
.hero-content>:not(h1){opacity:0;animation:dskFade .8s ease forwards}
.hero-content>:nth-child(1){animation-delay:.1s}.hero-content>:nth-child(3){animation-delay:.9s}.hero-content>:nth-child(4){animation-delay:1.1s}.hero-content>:nth-child(5){animation-delay:1.25s}
@keyframes dskFade{to{opacity:1}}
/* Apparition au défilement : 4 mouvements différents */
.fx{opacity:0}.fx-up{transform:translateY(34px)}.fx-left{transform:translateX(-46px)}.fx-right{transform:translateX(46px)}.fx-zoom{transform:scale(.9)}
.fx.in{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}
.title.fx:after{transform:scaleX(0);transform-origin:left}.title.fx.in:after{transform:none;transition:transform .8s ease .25s}
/* Survols, halo de souris, boutons flottants */
.card{transition:transform .25s ease,box-shadow .3s ease}.card:hover{box-shadow:0 34px 80px rgba(var(--navy-rgb),.24)}
.card.tilt{transition:transform .1s ease-out,box-shadow .3s}
.news-slide img,.gallery img,.cover{transition:transform .7s ease}.media:hover .cover,.media:hover .gallery img{transform:scale(1.06)}
.media{overflow:hidden}
.float-btn{animation:dskPulse 2.8s ease-in-out infinite}
@keyframes dskPulse{0%,100%{box-shadow:0 10px 24px rgba(0,0,0,.25)}50%{box-shadow:0 10px 24px rgba(0,0,0,.25),0 0 0 10px rgba(var(--gold-rgb),.25)}}
#dskGlow{position:fixed;left:0;top:0;width:440px;height:440px;margin:-220px 0 0 -220px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.15),transparent 64%);pointer-events:none;z-index:5;opacity:0;transition:opacity .4s}
.btn,.menu button{position:relative;overflow:hidden}
.dsk-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:dskRipple .6s ease-out forwards;pointer-events:none}
@keyframes dskRipple{to{transform:scale(1);opacity:0}}
/* Message "mis à jour" et retour en haut */
#dskToast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);background:var(--navy);color:#fff;padding:11px 20px;border-radius:999px;font-weight:800;box-shadow:0 16px 40px rgba(var(--navy-rgb),.35);opacity:0;pointer-events:none;transition:.4s;z-index:99990;border:2px solid var(--gold)}
#dskToast.show{opacity:1;transform:translate(-50%,0)}
#dskTop{position:fixed;left:18px;bottom:18px;width:46px;height:46px;border:0;border-radius:50%;background:var(--navy);color:var(--gold);font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(var(--navy-rgb),.3);opacity:0;transform:translateY(20px);pointer-events:none;transition:.3s;z-index:9990}
#dskTop.show{opacity:1;transform:none;pointer-events:auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.fx,.hero h1 .w,.hero-content>*{opacity:1!important;transform:none!important}#dskGlow{display:none}}

