/* KAVEVA — le ciel commun (12/10/2026) : noir, étoiles turquoise qui dérivent, étoiles filantes de temps en temps */
.kv-ciel{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.kv-ciel.fixe{position:fixed}
.kv-ciel .kv-etoiles{position:absolute;inset:-40px;opacity:.9;
  background-image:radial-gradient(1.6px 1.6px at 9% 14%,#B5F6FA 50%,transparent 51%),radial-gradient(2px 2px at 80% 10%,#00EEF2 50%,transparent 51%),radial-gradient(1.4px 1.4px at 22% 31%,#5CE8F0 50%,transparent 51%),radial-gradient(1.4px 1.4px at 90% 36%,#00EEF2 50%,transparent 51%),radial-gradient(1px 1px at 52% 6%,#00EEF2 50%,transparent 51%),radial-gradient(2px 2px at 6% 50%,#5CE8F0 50%,transparent 51%),radial-gradient(1.4px 1.4px at 94% 56%,#00EEF2 50%,transparent 51%),radial-gradient(1px 1px at 36% 22%,#B5F6FA 50%,transparent 51%),radial-gradient(1.4px 1.4px at 66% 26%,#B5F6FA 50%,transparent 51%),radial-gradient(1px 1px at 46% 44%,#00EEF2 50%,transparent 51%),radial-gradient(1.6px 1.6px at 72% 62%,#B5F6FA 50%,transparent 51%),radial-gradient(1px 1px at 16% 70%,#00EEF2 50%,transparent 51%);
  background-size:390px 520px;animation:kvDerive 90s linear infinite}
.kv-ciel canvas{position:absolute;inset:0;width:100%;height:100%}
@keyframes kvDerive{to{background-position:0 -520px}}
@media (prefers-reduced-motion:reduce){.kv-ciel .kv-etoiles{animation:none}}

/* Le logo : une lumière qui tourne sur les deux demi-cercles, l'ombre qui suit (à l'opposé de la lumière) */
.kv-logo{position:relative;display:inline-block;width:fit-content;height:fit-content;line-height:0;vertical-align:middle;flex:none}
.kv-logo>img{animation:kvOmbre 4.5s linear infinite}
.kv-lum{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask:url(/brand/kaveva-arcs-mask.png) center/100% 100% no-repeat;mask:url(/brand/kaveva-arcs-mask.png) center/100% 100% no-repeat;mix-blend-mode:screen;mix-blend-mode:plus-lighter}
.kv-lum i{position:absolute;left:50%;top:50%;width:300%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(0deg);background:conic-gradient(from 0deg,transparent 0deg 300deg,rgba(0,238,242,.75) 330deg,#fff 348deg,#fff 354deg,rgba(181,246,250,.85) 357deg,transparent 360deg);animation:kvTourne 4.5s linear infinite}
@keyframes kvTourne{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes kvOmbre{
  0%,100%{filter:drop-shadow(0 6px 5px rgba(0,0,0,.75)) drop-shadow(0 -2px 8px rgba(0,238,242,.35))}
  25%{filter:drop-shadow(-6px 0 5px rgba(0,0,0,.75)) drop-shadow(2px 0 8px rgba(0,238,242,.35))}
  50%{filter:drop-shadow(0 -6px 5px rgba(0,0,0,.75)) drop-shadow(0 2px 8px rgba(0,238,242,.35))}
  75%{filter:drop-shadow(6px 0 5px rgba(0,0,0,.75)) drop-shadow(-2px 0 8px rgba(0,238,242,.35))}}
@media (prefers-reduced-motion:reduce){.kv-logo>img,.kv-lum i{animation:none}.kv-lum{display:none}}
