:root{--bg:#0f1420;--stone:#1a2234;--ice:#eef3f8;--mute:#9aa8bd;--glow:#8fd3ff}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ice);font:400 1.05rem/1.65 Figtree,system-ui,sans-serif}
a{color:inherit}h1,h2,h3{font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1.05;letter-spacing:.01em}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 5vw;z-index:9;background:linear-gradient(var(--bg),transparent)}
header nav{display:flex;flex-wrap:wrap;gap:4px 20px}
header nav a{text-decoration:none;color:var(--mute);font-size:.92rem}header nav a:hover,header nav a[aria-current]{color:var(--ice)}
.lang{display:flex;gap:4px;flex:none}
.lang a{border:1px solid #33405a;color:var(--mute);padding:5px 11px;border-radius:99px;text-decoration:none;font-size:.85rem}
.lang a:hover{border-color:var(--glow);color:var(--glow)}
.lang a[aria-current]{background:var(--ice);color:var(--bg);border-color:var(--ice)}
.hero{min-height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;padding:110px 5vw 50px;background:radial-gradient(ellipse at 50% 38%,#223253 0,var(--bg) 62%)}
.brand{display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,48px);flex-wrap:wrap}
.brand img{width:min(80vw,400px);height:auto;filter:invert(1);mix-blend-mode:screen;animation:glow 5s ease-in-out infinite alternate}
@keyframes glow{to{filter:invert(1) drop-shadow(0 0 22px #8fd3ff88)}}
.hero h1{font-size:clamp(2.3rem,6vw,4.4rem);max-width:13em}
@media(min-width:900px){.brand{flex-wrap:nowrap}.brand img{width:300px;flex:none}.hero h1{text-align:left;font-size:clamp(2.2rem,4vw,3.4rem);max-width:11em}}
.hero p{max-width:34rem;margin:22px auto 30px;color:var(--mute)}
.cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-block;padding:14px 30px;border-radius:99px;background:var(--ice);color:var(--bg);text-decoration:none;font-weight:600}
.btn:hover{background:var(--glow)}.btn.o{background:none;color:var(--ice);border:1px solid #4a5b7a}.btn.o:hover{border-color:var(--glow);color:var(--glow)}
section{padding:clamp(60px,10vw,120px) 5vw;max-width:1100px;margin:auto}
h2{font-size:clamp(2.4rem,7vw,4.6rem);margin-bottom:26px}
.about p{max-width:42rem;font-size:1.2rem;color:#cfd8e6}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:#26314a;border-block:1px solid #26314a}
.grid div{background:var(--bg);padding:30px 24px}.grid h3{font-size:1.7rem;margin-bottom:8px}.grid p{color:var(--mute);font-size:.98rem}
.big{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.big a{display:block;background:var(--stone);padding:44px 32px;text-decoration:none;transition:background .2s}.big a:hover{background:#243050}
.big h3{font-size:2.4rem}.big p{color:var(--mute);margin:8px 0 18px}.big span{color:var(--glow)}
dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px}dt{color:var(--mute)}dd a{color:var(--glow)}
details{border-bottom:1px solid #26314a;padding:16px 0}summary{cursor:pointer;font-weight:600}details p{color:var(--mute);margin-top:8px}details a{color:var(--glow)}
.soc{display:flex;flex-wrap:wrap;gap:12px}.soc a{display:flex;align-items:center;gap:9px;padding:11px 20px;border:1px solid #33405a;border-radius:99px;text-decoration:none}
.soc a:hover{border-color:var(--glow);color:var(--glow)}.soc svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.pagehead{padding-top:150px;padding-bottom:10px}
.pagehead h1{font-size:clamp(2.3rem,6.5vw,4.4rem);margin-bottom:20px}
.pagehead .lead{max-width:44rem;font-size:1.2rem;color:#cfd8e6}
.bc ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin-bottom:18px;font-size:.9rem;color:var(--mute)}
.bc li+li::before{content:"›";margin-right:6px}.bc a{text-decoration:none}.bc a:hover{color:var(--glow)}
.page section{padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(30px,5vw,60px)}
.page h2{font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:16px}
.page p,.page li{max-width:46rem;color:#cfd8e6}.page ul{padding-left:1.2rem}.page li+li{margin-top:6px}
.page a:not(.btn){color:var(--glow)}
.cal{list-style:none;padding:0!important;border-block:1px solid #26314a}
.cal li{display:grid;grid-template-columns:max-content 1fr;gap:6px 28px;padding:18px 0;max-width:none!important}.cal li+li{border-top:1px solid #26314a;margin-top:0}
.cal time{font-family:Anton,Impact,sans-serif;font-size:1.4rem;color:var(--ice)}.cal strong{display:block;color:var(--ice)}
#artistes{padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(30px,5vw,60px)}
#artistes h2{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:18px}
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:14px;width:max-content;list-style:none;padding:0;margin:0;animation:marq 45s linear infinite}
.marq:hover .track,.marq:focus-within .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(calc(-50% - 7px))}}
.track li{flex:0 0 clamp(88px,11vw,112px)}
.track figure{margin:0}
.track img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--stone)}
.track figcaption{margin-top:8px;font:700 .78rem/1.2 Figtree,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(prefers-reduced-motion:reduce){.marq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.track{animation:none}.track li[aria-hidden]{display:none}}
footer{padding:40px 5vw;text-align:center;color:var(--mute);font-size:.85rem;border-top:1px solid #26314a}
footer nav ul{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;list-style:none;padding:0;margin-bottom:18px;font-size:.92rem}
footer a{color:var(--ice)}footer p+p{margin-top:8px}
@media(max-width:860px){header{position:static;flex-direction:column;align-items:flex-start;background:var(--bg);padding-bottom:12px}.hero{min-height:auto;padding-top:40px}.pagehead{padding-top:36px}dl{grid-template-columns:1fr;gap:2px}dd{margin-bottom:12px}.cal li{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.brand img{animation:none}html{scroll-behavior:auto}}
