:root{--bg:#080808;--s0:#0e0e10;--s1:#1c1b1d;--s2:#201f22;--s3:#2a2a2c;--p:#ffc174;--pc:#f59e0b;--sec:#ffc640;--ink:#e5e1e4;--var:#d8c3ad;--out:#a08e7a;--line:#534434;--max:60rem;--hmax:70rem;--gut:1.25rem;--f:'Montserrat','Plus Jakarta Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--sec);outline-offset:3px}
.ms{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;line-height:1;display:inline-block;width:1em;overflow:hidden;white-space:nowrap;font-size:1.5rem;font-feature-settings:'liga'}
.wrap{width:min(var(--max),100% - 2*var(--gut));margin-inline:auto}
main{padding:4rem 0 6rem}
.grad{background:linear-gradient(90deg,#f3dba5,#e2b858);-webkit-background-clip:text;background-clip:text;color:transparent}

/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;background:rgba(8,8,8,.7);backdrop-filter:blur(14px);box-shadow:0 1px 8px rgba(0,0,0,.4);padding-top:env(safe-area-inset-top,0)}
.top .in{height:4rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:min(var(--hmax),100% - 2*var(--gut));margin-inline:auto}
.ib{width:2.75rem;height:2.75rem;border:0;background:none;border-radius:50%;color:#fff;display:grid;place-items:center}
.ib.menu .ms{font-size:2.3rem}
.ib:hover{background:var(--s3)}
.who{display:flex;align-items:center;gap:.5rem}
.who small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--p);font-weight:800}
.who b{display:block;font-weight:600;font-size:1rem;line-height:1.2}
.dlinks{display:none;gap:1.6rem;font-weight:600;font-size:.9rem;color:var(--var)}
.dlinks a:hover,.dlinks a.on{color:var(--p)}
.right{display:flex;align-items:center;gap:.6rem}
.logo{height:2.7rem;width:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;height:3.5rem;padding:0 2rem;border-radius:99px;font-weight:700;border:0;transition:transform .15s}
.btn:active{transform:scale(.96)}
.btn.gold{color:#613b00;background:linear-gradient(90deg,#ffddb8,#f59e0b,#d97706);box-shadow:0 0 30px rgba(245,158,11,.38)}
.btn.dark{background:rgba(28,27,29,.7);color:#fff;backdrop-filter:blur(8px)}
.btn.dark:hover{background:var(--s3)}
.btn.sm{height:2.75rem;padding:0 1.2rem;font-size:.85rem}
.top .btn{display:none}

/* drawer */
.drawer{position:fixed;inset:0;z-index:60;display:none}
.drawer.open{display:block}
.drawer .bd{position:absolute;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(6px)}
.drawer aside{position:absolute;inset:0 auto 0 0;width:84%;max-width:24rem;background:var(--s0);display:flex;flex-direction:column;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.drawer .hd{height:4rem;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;font-weight:800;color:var(--p);font-size:1.3rem}
.drawer nav{flex:1;overflow:auto;padding:1rem 1.25rem;display:grid;gap:.25rem;align-content:start}
.drawer nav a{display:flex;align-items:center;gap:1rem;height:3rem;padding:0 1rem;border-radius:99px;color:var(--var);font-weight:600}
.drawer nav a:hover,.drawer nav a.on{background:var(--s2);color:#fff}
.drawer .tag{padding:1.5rem 1.25rem 0;color:var(--sec);font-weight:800;font-size:1.2rem;letter-spacing:.05em}
.drawer .tag p{font:400 .85rem var(--f);color:var(--out);margin-top:.3rem;letter-spacing:0}
.drawer .ft{padding:1.25rem;background:var(--s2);display:grid;gap:.6rem;font-size:.75rem;color:var(--var)}

/* bottom nav */
.bnav{position:fixed;inset:auto 0 0;z-index:50;background:rgba(14,14,16,.88);backdrop-filter:blur(14px);box-shadow:0 -2px 12px rgba(0,0,0,.6);padding-bottom:env(safe-area-inset-bottom,0)}
.bnav div{display:flex;justify-content:space-around;height:5rem;max-width:32rem;margin:auto;align-items:center}
.bnav a{display:grid;justify-items:center;gap:.25rem;font-size:.7rem;font-weight:600;color:var(--var);width:3.6rem}
.bnav a.on{color:var(--p);font-weight:800}

/* hero */
.hero{position:relative;text-align:center;padding:10rem 0 3rem;overflow:hidden}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:99px;background:rgba(42,42,44,.8);color:var(--p);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1{font-size:clamp(2.1rem,7.5vw,3.5rem);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:#fff;margin:1.5rem 0 .75rem}
.sub{color:var(--var);max-width:26rem;margin-inline:auto;font-size:.95rem}
.cta{display:grid;gap:.9rem;max-width:22rem;margin:2rem auto 0}
.cta .btn{height:3.4rem;border-radius:.9rem}
.cta .btn.gold{background:linear-gradient(90deg,#f1efe9,#e9bd3d);color:#111;box-shadow:none}
.cta .btn.dark{background:#000;border:1.5px solid #e3a93a;color:#fff;backdrop-filter:none}
.hash{margin-top:1.5rem;font-weight:800;font-size:1.3rem;color:#8d8d8d}.hash b{color:var(--sec)}

/* sections */
.sec{padding:3rem 0}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .8rem;border-radius:99px;background:rgba(227,170,0,.2);color:var(--sec);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h2{font-size:clamp(1.3rem,3.2vw,1.8rem);line-height:1.15;color:#fff;font-weight:700;letter-spacing:-.015em;margin:.6rem 0 .4rem}
.lead{color:var(--out);max-width:40rem}
.grid{display:grid;gap:1rem;margin-top:1.8rem}
@media(min-width:700px){.grid.c2{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.grid.c3{grid-template-columns:repeat(3,1fr)}}
.card{background:#000;border:none;border-radius:1rem;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.7);display:flex;flex-direction:column}
.card .im{position:relative;width:100%;aspect-ratio:1/1;height:auto;overflow:hidden;background:#000}
.card .im img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .im img{transform:scale(1.03)}
.card .im::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 22%);pointer-events:none}
.card .ic{display:none}
.card .bd2{padding:.9rem 1.1rem 1.2rem;background:#000}
.card small{color:var(--p);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
h3{font-size:1.05rem;font-weight:700;color:#fff;margin:.2rem 0 0}
.card p,.box p{color:var(--var);font-size:.92rem}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.chips span{padding:.25rem .7rem;border-radius:99px;background:var(--s3);font-size:.72rem;font-weight:500;color:var(--var)}
.box{background:#000;border:none;border-radius:1.2rem;padding:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.box.gold{border:none;background:#000}
.box .ms{color:var(--p);font-size:2rem;margin-bottom:.6rem}

/* countdown */
.count{margin:.5rem auto;padding:1.2rem;border-radius:1rem;background:#000;border:none;box-shadow:0 10px 30px rgba(0,0,0,.6);display:grid;gap:1rem;align-items:center}
.count .t b{display:block;color:var(--p);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.count .n{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center}
.count .n div{background:#111;border-radius:.8rem;padding:.5rem}
.count .n strong{display:block;font-size:1.2rem;color:var(--sec)}
.count .n small{font-size:.6rem;color:var(--out);text-transform:uppercase}
@media(min-width:640px){.count{grid-template-columns:1fr auto}}

/* faq */
.faq{display:grid;gap:.5rem;margin-top:1.5rem}
.faq div{background:#000;border:none;border-radius:.8rem;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.faq button{width:100%;padding:1rem;background:none;border:0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:600;color:#fff}
.faq button:hover{color:var(--p)}
.faq p{display:none;padding:0 1rem 1rem;color:var(--var);font-size:.92rem}
.faq .o p{display:block}
.faq .o .ms{transform:rotate(180deg)}

/* a propos */
.steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid}
.steps li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--line)}
.steps .nb{font-size:2.1rem;font-weight:800;line-height:1;color:var(--pc)}
.steps p{color:var(--var);font-size:.95rem}
table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.92rem}
th,td{padding:.9rem 1rem;border:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--p);background:var(--s1)}
td{color:var(--var)}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}

/* footer */
.foot{margin-top:3rem;background:var(--s0);padding:2.5rem 1.25rem;text-align:center;display:grid;gap:1rem;justify-items:center;box-shadow:0 -1px 16px rgba(0,0,0,.5)}
.foot .h{color:var(--sec);font-weight:800;font-size:1.2rem;letter-spacing:.05em}
.foot p{color:var(--out);font-size:.85rem;max-width:28rem}
.foot .soc{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}
.foot .soc a{padding:.4rem 1rem;border-radius:99px;background:rgba(42,42,44,.8);border:1px solid rgba(83,68,52,.3);font-size:.8rem;font-weight:500}
.foot .soc a:hover{color:var(--p);border-color:var(--p)}

@media(min-width:900px){
 main{padding-bottom:0}
 .bnav,.ib.menu{display:none}
 .dlinks,.top .btn{display:flex}
 .cta{grid-template-columns:1fr 1fr;max-width:30rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.hero.home{display:flex;flex-direction:column;padding:2rem 0 0;position:relative}
.jury{position:relative;margin:1.5rem auto 0;width:100%;display:flex;align-items:flex-end;justify-content:center}
.jury img{position:relative;width:100%;height:auto;display:block;object-fit:contain;object-position:center bottom}

.contact{max-width:36rem;margin:2rem auto 0;text-align:center;padding:2.2rem 1.5rem}
.contact .ms{font-size:2.6rem}
.contact p{margin:.8rem auto 0;color:var(--ink);font-size:1.05rem}
.contact .num{display:block;margin:1.2rem 0;font-size:1.4rem;font-weight:800;color:var(--sec);letter-spacing:.04em}
.contact .cta{margin-top:1.4rem}
.btn svg{width:1.3rem;height:1.3rem;margin-right:.6rem;fill:currentColor}

/* page à propos */
.intro{padding:2.5rem 0 1rem}
.intro .row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.tagh{font-weight:800;font-size:1rem;color:var(--sec);letter-spacing:.05em}
.intro h1{font-size:clamp(1.6rem,4.6vw,2.6rem);margin:1rem 0;text-align:left}
.intro .lead{color:var(--var);font-size:1.05rem}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.8rem}
.metrics div{background:var(--s1);border-radius:1rem;padding:1rem;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.metrics b{display:block;font-size:1.25rem;line-height:1.2;color:var(--p)}
.metrics span{display:block;font-size:.8rem;font-weight:600;color:var(--var);margin-top:.2rem}
.metrics small{font-size:.72rem;color:var(--out)}
.split{display:grid;gap:2rem;align-items:center}
.poster{border-radius:1rem;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.8);background:var(--s0)}
.poster img{width:100%;height:auto}
.panel{background:#000;border:none;border-radius:2rem;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 12px 40px rgba(0,0,0,.6)}
.checks{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.8rem}
.checks li{display:flex;gap:.7rem;font-size:.95rem}
.checks .ms{color:var(--sec);font-size:1.3rem;flex:none}
.pn{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--pc);color:#472a00;margin-bottom:.8rem}
.final{text-align:center;padding:clamp(2rem,6vw,3rem) 1.5rem;border-radius:2rem;background:#000;border:none;display:grid;justify-items:center;gap:.6rem;box-shadow:0 12px 40px rgba(0,0,0,.6)}
.final .cta{width:100%;margin-top:1rem}
@media(min-width:760px){.metrics{grid-template-columns:repeat(4,1fr)}}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}}

/* ===== Responsive : mobile d'abord, puis échelle fluide jusqu'à 5000 px =====
   Toutes les tailles sont en rem : en changeant la taille de base de la page par palier,
   la mise en page garde exactement les mêmes proportions sur tous les écrans. */
img,svg,video{max-width:100%}
html{font-size:93.75%}
@media(max-width:359px){html{font-size:84.4%}.btn{padding:0 1.2rem}.bnav a{width:3.2rem}.count .n strong{font-size:1.15rem}}
@media(max-width:480px){.cta{max-width:100%}.steps li{grid-template-columns:2.8rem 1fr;gap:.8rem}.steps .nb{font-size:2.2rem}.final,.panel{border-radius:1.2rem}}
@media(max-height:520px) and (orientation:landscape){.hero.home{min-height:auto}.drawer aside{overflow:auto}}
@media(min-width:600px) and (max-width:899px){.cta{max-width:26rem}.jury{max-width:100%}}
@media(max-width:1100px){.dlinks{gap:1.1rem}}
@media(min-width:1200px){:root{--max:min(90vw,80rem);--hmax:min(94vw,88rem)}}
@media(min-width:600px){:root{--gut:clamp(1.5rem,4vw,3rem)}}
@media(min-width:1200px){:root{--gut:clamp(2rem,5vw,6rem)}}
@media(min-width:1600px){html{font-size:106.25%}}
@media(min-width:1920px){html{font-size:118.75%}}
@media(min-width:2560px){html{font-size:142.5%}}
@media(min-width:3200px){html{font-size:178%}}
@media(min-width:3840px){html{font-size:212.5%}}
@media(min-width:4600px){html{font-size:262.5%}}
@media(hover:none){.card:hover .im img{transform:none}}
/* accueil : navigation et centrage */
.ht{width:min(var(--max),100% - 2*var(--gut));margin-inline:auto}
.dlinks{margin-left:auto}

/* accueil : format grand écran / ordinateur (la photo du jury est agrandie et complète) */
@media(min-width:900px){
 .hero.home{height:calc(100svh - 4rem);min-height:38rem;padding-top:3.2rem}
 .hero.home h1{font-size:clamp(2.2rem,min(4.6vw,7vh),3.6rem);margin:1.2rem 0 .6rem}
 .hero.home .sub{font-size:1rem}
 .hero.home .cta{margin-top:1.8rem}
 .hero.home .cta .btn{height:3.3rem}
 .hero.home .hash{margin-top:1.2rem;font-size:1.2rem}
 .jury{flex:1 1 0;min-height:14rem;margin:0 auto;padding-top:1rem}
 .jury img{width:100%;max-width:min(100%,82rem);height:100%;object-fit:contain;object-position:center bottom}
}
@media(max-height:520px) and (orientation:landscape){
 .hero.home{height:auto;min-height:0}
 .jury{flex:none}
 .jury img{height:auto}
}

/* initiateur */
.founder{display:flex;align-items:center;gap:1.8rem;padding:1.8rem}
.ellipse{flex:none;width:6.5rem;height:6.5rem;aspect-ratio:1;border-radius:50%;object-fit:cover;border:2px solid var(--pc);box-shadow:0 0 30px rgba(245,158,11,.3)}
.founder h2{margin:.5rem 0 .2rem}
.role{display:block;color:var(--p);font-weight:700;font-size:.85rem;letter-spacing:.04em}
.founder .lead{color:var(--var);margin-top:.8rem}
@media(max-width:560px){.founder{flex-direction:column;text-align:center}.founder .lead{margin-inline:auto}}
/* 4 catégories */
.grid.c4{grid-template-columns:1fr}
@media(min-width:560px){.grid.c4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.grid.c4{grid-template-columns:repeat(4,1fr)}}
.contact .cta{max-width:100%}
.contact .btn{white-space:nowrap}

/* FAQ : sans photo, conserve son alignement actuel */
.faqsec{display:block}
.faqleft{display:grid;gap:1.6rem;max-width:min(100%, 54rem);margin-inline:0;text-align:left}
.faqhead .lead{margin-top:.5rem}
.faq{margin-top:0}
.faq button{padding:1.1rem 1.2rem;font-size:.95rem}
.faq p{padding:0 1.2rem .8rem;line-height:1.65}
.faq p:last-child{padding-bottom:1.2rem}
.faq p strong{color:var(--p)}

/* pied de page en colonnes */
.foot{margin-top:4rem;padding:3.2rem 0 0;display:block;text-align:left;border-top:1px solid #1f1f1f;box-shadow:none}
.fw{width:min(var(--hmax),100% - 2*var(--gut));margin-inline:auto}
.fg{display:grid;gap:2.2rem;grid-template-columns:1fr}
@media(min-width:560px){.fg{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.fg{grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:3rem}}
.foot h4{margin:0 0 1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--p);font-weight:800}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.foot li a{color:var(--var);font-size:.88rem}
.foot li a:hover{color:var(--p)}
.flogo{height:2.6rem;width:auto;margin-bottom:1rem}
.fcol p{color:var(--out);font-size:.85rem;max-width:22rem;margin-bottom:1rem}
.fbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:2.6rem;padding:1.3rem 0 1.6rem;border-top:1px solid #1f1f1f;font-size:.78rem;color:var(--out)}

/* page sponsor : sobre et sombre sans image d'arrière-plan */
.hero.sp{padding:5.2rem 0 3rem;min-height:auto}
.sp-wrap{max-width:48rem;margin-inline:auto;text-align:center}
.sp-wrap h1{margin:.8rem 0 .5rem}
.sp-wrap .sub{margin-inline:auto;max-width:32rem}
.sp-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin:1.6rem 0 2rem}
.wa-link{background:linear-gradient(90deg,#ffddb8,#f59e0b,#d97706);color:#472600;font-weight:700}
.wa-link svg{width:1.3rem;height:1.3rem;margin-right:.5rem;fill:currentColor}

/* À propos : bannière sobre sans photo de fond */
.banner{padding:4.5rem 0 2.5rem;border-bottom:1px solid #1a1a1a}
.banner .intro{padding:0;text-align:center}
.banner .intro h1{font-size:clamp(1.9rem,5vw,3.2rem);line-height:1.15;margin:0 auto 1.2rem;max-width:54rem;text-align:center;letter-spacing:-.02em}
.banner .intro .lead{max-width:44rem;margin:0 auto;text-align:center;font-size:1.05rem;color:var(--var);line-height:1.65}
.banner .metrics{max-width:52rem;margin:2.4rem auto 0}

/* Demande de partenariat et dossier sponsoring PDF (box noire sans bordure) */
.doc-banner{margin:2rem auto 0;background:#000;border:none;border-radius:1.2rem;padding:2rem 1.6rem;max-width:38rem;box-shadow:0 12px 35px rgba(0,0,0,.7);text-align:center}
.doc-info{width:100%}
.doc-info h3{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .5rem}
.doc-info p{color:var(--var);font-size:.92rem;line-height:1.6;margin:0 0 1.3rem;max-width:32rem;margin-inline:auto}
.doc-cta{display:flex;justify-content:center}
.doc-cta .btn{height:3.2rem;padding:0 1.8rem}
.pdf-link-wrap{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08);width:100%}
.pdf-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:var(--var);font-size:.88rem;text-decoration:none;transition:color .2s;flex-wrap:wrap}
.pdf-link:hover{color:var(--p)}
.pdf-link strong{color:var(--sec);text-decoration:underline;text-underline-offset:3px}
.pdf-link .ms{font-size:1.2rem;color:var(--p)}