/* Blocs de l'éditeur Kanon Digital (s'adaptent aux couleurs du site) */
.kb{padding:56px 0}.kb .kb-title{margin:0 0 18px}.kb .kb-sub{opacity:.8;margin:-8px 0 22px}
.kb-video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}.kb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kb-audio{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:20px;border-radius:16px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.06)}.kb-audio audio{flex:1;min-width:240px;width:100%}
.kb-file{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:14px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.06);text-decoration:none;color:inherit;max-width:640px}
.kb-file .kb-ic{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:rgba(127,127,127,.15);flex:none}.kb-file b{display:block}.kb-file small{opacity:.7}.kb-file .kb-dl{margin-left:auto;font-weight:600;white-space:nowrap}
.kb-car{position:relative}.kb-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:16px;scrollbar-width:none}.kb-track::-webkit-scrollbar{display:none}
.kb-slide{flex:0 0 100%;scroll-snap-align:start;position:relative;margin:0}.kb-slide img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.kb-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.kb-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;font-size:20px;cursor:pointer}.kb-prev{left:12px}.kb-next{right:12px}
.kb-marquee{overflow:hidden;white-space:nowrap;padding:14px 0;font-weight:700;font-size:1.1rem;letter-spacing:.02em}.kb-marquee>div{display:inline-block;animation:kbm 30s linear infinite;padding-left:100%}
@keyframes kbm{to{transform:translateX(-100%)}}
.kb-band{padding:48px 0;text-align:center}.kb-band h2{margin:0 0 10px}.kb-band p{margin:0 auto 20px;max-width:640px;opacity:.9}
.kb-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.kb-member{text-align:center;padding:20px;border-radius:16px;border:1px solid rgba(127,127,127,.2)}
.kb-member img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block}.kb-member h3{margin:0;font-size:1.05rem}.kb-member p{margin:4px 0 0;opacity:.75;font-size:.9rem}
.kb-partners{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.kb-plist{display:flex;gap:56px;align-items:center;width:max-content;animation:kbp 40s linear infinite}.kb-plist img{height:56px;width:auto;max-width:180px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.2s}.kb-plist img:hover{filter:none;opacity:1}
@keyframes kbp{to{transform:translateX(-50%)}}
.kb-logo{text-align:center}.kb-logo img{max-height:120px;max-width:320px;width:auto;object-fit:contain}
@media(prefers-reduced-motion:reduce){.kb-marquee>div,.kb-plist{animation:none}}
@media(max-width:640px){.kb{padding:40px 0}.kb-file{flex-wrap:wrap}.kb-file .kb-dl{margin-left:0}}
.kbb{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:2px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.kbb-pill{border-radius:999px!important}.kbb-round{border-radius:10px!important}.kbb-square{border-radius:0!important}.kbb-leaf{border-radius:20px 0 20px 0!important}
.kbb-outline{background:transparent!important;border-color:currentColor}.kbb-ghost{background:transparent!important;border-color:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important;text-decoration:underline;text-underline-offset:5px}.kbb-ghost:after{content:"→";transition:transform .2s}.kbb-ghost:hover:after{transform:translateX(4px)}
.kbb-shadow{box-shadow:0 10px 24px rgba(0,0,0,.25)}.kbb-shadow:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.3)}.kbb-grad{background-image:linear-gradient(135deg,rgba(255,255,255,.3),rgba(0,0,0,.2))!important}
.kbb-s{padding:7px 14px!important;font-size:.85rem!important}.kbb-m{padding:12px 24px!important;font-size:1rem!important}.kbb-l{padding:16px 34px!important;font-size:1.15rem!important}
.kb-mode-btn{position:fixed;left:16px;bottom:16px;z-index:90;padding:9px 14px;border-radius:999px;border:1px solid rgba(127,127,127,.35);background:rgba(20,20,20,.75);color:#fff;font:600 13px/1 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
html[data-kbt="alt"] .kb-mode-btn{background:rgba(255,255,255,.85);color:#111}
.kb3-tilt,.kb3s-tilt :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img){transform:perspective(900px) rotateY(-12deg) rotateX(4deg);transition:transform .5s;box-shadow:18px 22px 40px rgba(0,0,0,.3)}.kb3-tilt:hover,.kb3s-tilt :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img):hover{transform:perspective(900px) rotateY(0) rotateX(0)}
.kb3-lift,.kb3s-lift :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img){transition:transform .3s,box-shadow .3s}.kb3-lift:hover,.kb3s-lift :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img):hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 48px rgba(0,0,0,.3)}
.kb3-depth,.kb3s-depth :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img){box-shadow:0 1px 2px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.12),0 12px 24px rgba(0,0,0,.14),0 24px 48px rgba(0,0,0,.16)}
.kb3-float,.kb3s-float :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img){animation:kb3f 5s ease-in-out infinite}
.kb3-pivot,.kb3s-pivot :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img){transition:transform .7s}.kb3-pivot:hover,.kb3s-pivot :is(.card,.kb-member,.acard,.post,figure,article,.tile,.chart,.panel,.feat-card,img):hover{transform:perspective(900px) rotateY(14deg) rotateX(-6deg)}
@keyframes kb3f{50%{transform:translateY(-12px)}}
.kb3t-relief{text-shadow:1px 1px 0 rgba(0,0,0,.25),2px 2px 0 rgba(0,0,0,.2),3px 3px 0 rgba(0,0,0,.15),4px 4px 6px rgba(0,0,0,.3)}
.kb3t-longue{text-shadow:1px 1px rgba(0,0,0,.18),2px 2px rgba(0,0,0,.16),3px 3px rgba(0,0,0,.14),4px 4px rgba(0,0,0,.12),5px 5px rgba(0,0,0,.1),6px 6px rgba(0,0,0,.08),8px 8px rgba(0,0,0,.06),10px 10px rgba(0,0,0,.04)}
.kb3t-grave{text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.45)}.kb3t-neon{text-shadow:0 0 4px currentColor,0 0 12px currentColor,0 0 28px currentColor}
.kb3t-persp{transform:perspective(500px) rotateX(16deg);transform-origin:bottom;text-shadow:0 6px 10px rgba(0,0,0,.35)}
@media(prefers-reduced-motion:reduce){[class*="kb3"],[class*="kb3"] *{animation:none!important;transition:none!important}}
.kb-audio-list{display:flex;flex-direction:column;gap:12px}.kb-audio small{opacity:.7;margin-left:6px}
