:root{--v:#009A44;--j:#FBDE4A;--r:#CE1126;--n:#0d0d0d;--f:#f9f7f3;--g:#e8e4dc;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--f);color:#333;font-family:"DM Sans",sans-serif;overflow-x:hidden;}

.apic-definition-bar{background:var(--n);color:#aaa;text-align:center;padding:.55rem 2rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #1a1a1a;}
/* LANG BAR */
.lang-bar{background:var(--n);display:flex;justify-content:flex-end;align-items:center;gap:.4rem;padding:.45rem 4rem;font-size:.78rem;}
.lang-bar span{color:#555;margin-right:.2rem;}
.lb{color:#aaa;padding:.25rem .65rem;border-radius:5px;border:1px solid #333;cursor:pointer;background:none;font-family:"DM Sans",sans-serif;font-size:.76rem;transition:all .2s;}
.lb:hover,.lb.on{background:var(--v);color:#fff;border-color:var(--v);}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:rgba(13,13,13,.97);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:.8rem 4rem;border-bottom:3px solid transparent;border-image:linear-gradient(to right,var(--v) 33%,var(--j) 33% 66%,var(--r) 66%) 1;}
.nav-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none;}
.nav-logo img{height:48px;width:auto;}
.nav-logo-text{display:flex;flex-direction:column;}
.logo-name{font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:900;color:#fff;line-height:1;}
.logo-sub{font-size:.55rem;color:#777;text-transform:uppercase;letter-spacing:.07em;}
.logo-rep{font-size:.62rem;color:var(--j);font-style:italic;margin-top:.1rem;}
.nav-links{display:flex;gap:.15rem;list-style:none;}
.nav-links a{text-decoration:none;color:#ccc;font-size:.74rem;font-weight:500;text-transform:uppercase;padding:.38rem .6rem;border-radius:5px;transition:background .2s,color .2s;}
.nav-links a:hover{background:rgba(255,255,255,.08);color:var(--j);}

/* DROPDOWN NAV */
.nav-dropdown { position:relative; }
.nav-dropdown > a { cursor:pointer; }
.nav-sub { display:none; position:absolute; top:100%; left:0; background:rgba(13,13,13,.98); border:1px solid #222; border-radius:8px; padding:.5rem 0; min-width:200px; z-index:300; list-style:none; box-shadow:0 8px 32px rgba(0,0,0,.5); }
.nav-sub li a { display:block; padding:.5rem 1rem; color:#ccc; text-decoration:none; font-size:.75rem; font-weight:500; text-transform:uppercase; transition:background .2s,color .2s; border-radius:0; }
.nav-sub li a:hover { background:rgba(255,255,255,.06); color:var(--j); }
.nav-dropdown:hover .nav-sub { display:block; }
.nav-cta{background:var(--r);color:#fff;padding:.5rem 1.2rem;border-radius:50px;font-size:.76rem;font-weight:600;text-decoration:none;white-space:nowrap;}
.nav-cta:hover{background:#a00e1d;}

/* HERO */
#accueil{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:8rem 4rem 6rem;background:var(--n);}
.h-flag{position:absolute;inset:0;z-index:0;opacity:.17;background:linear-gradient(135deg,var(--v) 0% 33%,var(--j) 33% 66%,var(--r) 66% 100%);}
.h-ov{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 80% 80% at 50% 50%,transparent 20%,rgba(13,13,13,.92) 100%);}
.h-deco{position:absolute;right:5%;top:50%;transform:translateY(-50%);font-size:16rem;opacity:.04;z-index:1;user-select:none;}
.h-content{position:relative;z-index:2;max-width:700px;}
.h-logo{margin-bottom:1.5rem;}
.h-logo img{height:90px;width:auto;filter:drop-shadow(0 4px 20px rgba(0,0,0,.5));}
.h-slogan{font-family:"Playfair Display",serif;font-size:clamp(1.9rem,4.2vw,3.5rem);font-weight:900;color:#fff;line-height:1.12;margin-bottom:1rem;letter-spacing:-.02em;}
.h-slogan em{font-style:italic;color:var(--j);}
.h-sous{font-size:.93rem;color:rgba(255,255,255,.6);line-height:1.75;max-width:500px;margin-bottom:2.5rem;}
.h-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.bv{background:var(--v);color:#fff;padding:.75rem 1.8rem;border-radius:7px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;}
.bj{background:var(--j);color:var(--n);padding:.75rem 1.8rem;border-radius:7px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;}
.br{background:var(--r);color:#fff;padding:.75rem 1.8rem;border-radius:7px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;}
.bv:hover{background:#007833;transform:translateY(-2px);}
.bj:hover{background:#ffe044;transform:translateY(-2px);}
.br:hover{background:#a00e1d;transform:translateY(-2px);}
.h-stats{position:absolute;bottom:3rem;right:4rem;z-index:2;display:flex;gap:3rem;}
.stat-num{font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:900;color:var(--j);line-height:1;}
.stat-lbl{font-size:.7rem;color:#777;text-transform:uppercase;letter-spacing:.09em;}

/* SECTIONS */
section{padding:6rem 4rem;}
.stag{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--r);margin-bottom:.6rem;}
h2{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:900;line-height:1.15;letter-spacing:-.02em;margin-bottom:.8rem;}
.sdesc{font-size:.92rem;color:#666;line-height:1.75;max-width:560px;margin-bottom:2.5rem;}
.div{width:56px;height:4px;background:linear-gradient(to right,var(--v),var(--r));border-radius:2px;margin:.7rem 0 2rem;}

/* INTERNATIONAL */
#international{background:var(--n);color:#fff;}
#international .stag{color:var(--j);}
#international h2{color:#fff;}
#international .sdesc{color:#bbb;}
.wm-banner{background:#1a1a1a;border-radius:18px;padding:2rem;margin-bottom:3rem;text-align:center;border:1px solid #222;}
.wm-title{font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:900;color:#fff;margin-bottom:.4rem;}
.wm-sub{font-size:.85rem;color:#999;}
.countries{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;}
.cc{background:#1a1a1a;border-radius:15px;padding:1.8rem;border-left:4px solid var(--v);transition:transform .25s,box-shadow .25s;}
.cc:nth-child(2){border-color:var(--j);}
.cc:nth-child(3){border-color:var(--r);}
.cc:nth-child(4){border-color:#4a90d9;}
.cc:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.4);}
.cc-flag{font-size:2.3rem;margin-bottom:.7rem;}
.cc-name{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.5rem;}
.cc-status{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem;padding:.2rem .7rem;border-radius:50px;display:inline-block;font-weight:600;}
.s-siege{background:rgba(251,222,74,.15);color:var(--j);}
.s-dev{background:rgba(0,154,68,.15);color:#4dff9a;}
.cc ul{list-style:none;}
.cc ul li{font-size:.8rem;color:#aaa;padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.05);}
.cc ul li::before{content:"→ ";color:var(--v);}

/* APROPOS */
#apropos{background:var(--f);}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.obj{display:flex;gap:1rem;margin-bottom:1.2rem;align-items:flex-start;}
.obj-ic{width:38px;height:38px;border-radius:9px;background:rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.obj-tx strong{display:block;font-size:.88rem;font-weight:600;margin-bottom:.2rem;}
.obj-tx span{font-size:.79rem;color:#888;line-height:1.5;}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.vc{background:#fff;border-radius:12px;padding:1.3rem;border-left:3px solid var(--v);box-shadow:0 2px 10px rgba(0,0,0,.06);}
.vc:nth-child(2){border-color:var(--j);}
.vc:nth-child(3){border-color:var(--r);}
.vc:nth-child(4){border-color:#999;}
.vc-t{font-weight:600;font-size:.86rem;margin-bottom:.3rem;}
.vc-d{font-size:.78rem;color:#888;line-height:1.5;}

/* IDENTITE */
#identite{background:var(--g);}
.id-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;}
.id-card{background:#fff;border-radius:14px;padding:1.8rem;border-top:4px solid var(--v);box-shadow:0 4px 18px rgba(0,0,0,.06);transition:transform .25s;}
.id-card:nth-child(2){border-color:var(--j);}
.id-card:nth-child(3){border-color:var(--r);}
.id-card:hover{transform:translateY(-5px);}
.id-ic{font-size:2rem;margin-bottom:.9rem;}
.id-t{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;margin-bottom:.5rem;}
.id-d{font-size:.81rem;color:#777;line-height:1.65;}

/* CULTURE */
#culture{background:var(--f);}
.cul-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;}
.cul-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);transition:transform .25s;}
.cul-card:hover{transform:translateY(-4px);}
.cul-img{height:120px;display:flex;align-items:center;justify-content:center;font-size:3rem;}
.cv{background:linear-gradient(135deg,#009A44,#00c257);}
.cj{background:linear-gradient(135deg,#FBDE4A,#ffe980);}
.cr{background:linear-gradient(135deg,#CE1126,#ff3a52);}
.cn{background:linear-gradient(135deg,#222,#444);}
.cul-b{padding:1rem;}
.cul-t{font-weight:600;font-size:.86rem;margin-bottom:.25rem;}
.cul-d{font-size:.77rem;color:#888;line-height:1.5;}

/* VIDEOS */
#videos{background:var(--n);color:#fff;}
#videos .stag{color:var(--j);}
#videos h2{color:#fff;}
#videos .sdesc{color:#bbb;}
.vid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.vid-card{background:#1a1a1a;border-radius:14px;overflow:hidden;transition:transform .25s;}
.vid-card:hover{transform:translateY(-4px);}
.vid-thumb{position:relative;height:180px;overflow:hidden;}
.vid-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.vid-info{padding:1rem;}
.vid-cat{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--j);margin-bottom:.3rem;font-weight:600;}
.vid-t{font-weight:600;color:#fff;font-size:.86rem;margin-bottom:.2rem;}
.vid-d{font-size:.75rem;color:#888;line-height:1.5;}
.vid-add{background:rgba(255,255,255,.04);border:2px dashed rgba(255,255,255,.13);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:270px;cursor:pointer;transition:background .2s;text-align:center;padding:2rem;}
.vid-add:hover{background:rgba(255,255,255,.07);}
.vid-add-ic{font-size:2.5rem;}
.vid-add strong{color:#ccc;}
.vid-add p{color:#777;font-size:.78rem;}

/* MODAL */
.modal-ov{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.85);align-items:center;justify-content:center;}
.modal-ov.open{display:flex;}
.modal-box{background:#111;border-radius:16px;padding:2rem;width:90%;max-width:520px;position:relative;}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;}
.modal-box h3{color:#fff;font-family:"Playfair Display",serif;margin-bottom:1.5rem;}
.modal-box label{color:#aaa;font-size:.79rem;margin-bottom:.3rem;display:block;}
.modal-box input{width:100%;padding:.72rem 1rem;background:#1a1a1a;border:1.5px solid #333;border-radius:8px;color:#fff;font-size:.86rem;margin-bottom:.9rem;font-family:"DM Sans",sans-serif;}
.modal-btns{display:flex;gap:.8rem;justify-content:flex-end;margin-top:.5rem;}
.mb{padding:.58rem 1.4rem;border-radius:7px;border:none;font-size:.82rem;font-weight:600;cursor:pointer;}
.mb-c{background:#333;color:#fff;}
.mb-a{background:var(--v);color:#fff;}

/* ACTUALITES */
#actualites{background:var(--g);}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;}
.ac-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.06);transition:transform .25s;}
.ac-card:hover{transform:translateY(-5px);}
.ac-img{height:160px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;}
.ac-body{padding:1.3rem;}
.ac-cat{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--r);font-weight:600;margin-bottom:.35rem;}
.ac-t{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;margin-bottom:.45rem;}
.ac-d{font-size:.79rem;color:#777;line-height:1.6;margin-bottom:.9rem;}
.ac-lire{color:var(--v);font-size:.77rem;font-weight:600;text-decoration:none;}

/* MEDIAS */
#medias{background:var(--f);}
.med-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.med-sec h3{font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:700;margin-bottom:1.2rem;}
.doc-item{background:#fff;border-radius:10px;padding:.85rem 1rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:.65rem;transition:box-shadow .2s;}
.doc-item:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);}
.doc-ic{font-size:1.4rem;flex-shrink:0;}
.doc-inf strong{display:block;font-size:.83rem;font-weight:600;}
.doc-inf span{font-size:.72rem;color:#999;}
.doc-dl{margin-left:auto;background:var(--v);color:#fff;border:none;border-radius:5px;padding:.32rem .7rem;font-size:.7rem;font-weight:600;cursor:pointer;white-space:nowrap;}
.camp-item{background:#fff;border-radius:10px;padding:.85rem 1rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:.65rem;}
.camp-ic{font-size:1.4rem;}
.camp-inf strong{display:block;font-size:.83rem;font-weight:600;}
.camp-inf span{font-size:.72rem;color:#999;}
.camp-badge{margin-left:auto;background:var(--j);color:var(--n);border-radius:50px;padding:.2rem .7rem;font-size:.67rem;font-weight:700;white-space:nowrap;}

/* EVENEMENTS */
#evenements{background:var(--g);}
.ev-list{max-width:780px;}
.ev-item{background:#fff;border-radius:14px;padding:1.3rem 1.7rem;display:flex;align-items:center;gap:1.6rem;box-shadow:0 4px 14px rgba(0,0,0,.06);margin-bottom:1rem;transition:transform .2s;}
.ev-item:hover{transform:translateX(6px);}
.ev-date{min-width:60px;text-align:center;background:var(--v);color:#fff;border-radius:10px;padding:.65rem .4rem;flex-shrink:0;}
.ev-day{font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:900;line-height:1;}
.ev-month{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;}
.ev-info{flex:1;}
.ev-t{font-weight:600;font-size:.9rem;margin-bottom:.2rem;}
.ev-l{font-size:.77rem;color:#888;}
.ev-tag{background:var(--j);color:var(--n);border-radius:50px;padding:.2rem .8rem;font-size:.68rem;font-weight:700;white-space:nowrap;}

/* PARTICIPER */
#participer{background:var(--n);color:#fff;}
#participer .stag{color:var(--j);}
#participer h2{color:#fff;}
#participer .sdesc{color:#bbb;}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;}
.plan{border-radius:18px;padding:2rem 1.5rem;border:2px solid #222;background:#1a1a1a;transition:transform .25s,box-shadow .25s;}
.plan:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.4);}
.plan.feat{background:var(--v);border-color:var(--v);}
.plan-name{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#777;margin-bottom:.7rem;}
.plan.feat .plan-name{color:rgba(255,255,255,.7);}
.plan-price{font-family:"Playfair Display",serif;font-size:2.5rem;font-weight:900;color:#fff;line-height:1;}
.plan-period{font-size:.74rem;color:#777;margin-bottom:1.3rem;}
.plan.feat .plan-period{color:rgba(255,255,255,.6);}
.plan-feats{list-style:none;margin-bottom:1.5rem;}
.plan-feats li{padding:.4rem 0;font-size:.79rem;color:#bbb;border-bottom:1px solid rgba(255,255,255,.06);}
.plan.feat .plan-feats li{color:rgba(255,255,255,.9);}
.plan-feats li::before{content:"✓  ";color:var(--v);font-weight:700;}
.plan.feat .plan-feats li::before{color:var(--j);}
.plan-btn{display:block;width:100%;padding:.72rem;border-radius:8px;text-align:center;text-decoration:none;font-size:.82rem;font-weight:600;background:rgba(255,255,255,.1);color:#fff;transition:background .2s;}
.plan-btn:hover{background:rgba(255,255,255,.2);}
.plan.feat .plan-btn{background:var(--j);color:var(--n);}
.plan.feat .plan-btn:hover{background:#ffe044;}

/* DON */
#soutenir{background:var(--r);color:#fff;text-align:center;}
#soutenir h2{color:#fff;}
#soutenir .sdesc{color:rgba(255,255,255,.8);margin:0 auto 2.5rem;}
.don-amounts{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;}
.don-btn{padding:.65rem 1.7rem;border-radius:7px;font-size:.9rem;font-weight:700;background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.28);cursor:pointer;transition:background .2s,transform .2s;}
.don-btn:hover,.don-btn.on{background:#fff;color:var(--r);transform:scale(1.04);}
.don-custom{display:flex;justify-content:center;gap:1rem;align-items:center;flex-wrap:wrap;}
.don-input{padding:.7rem 1.3rem;border-radius:7px;border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-size:.9rem;width:150px;text-align:center;font-family:"DM Sans",sans-serif;}
.don-input::placeholder{color:rgba(255,255,255,.5);}
.btn-don{background:var(--j);color:var(--n);padding:.75rem 2rem;border-radius:7px;font-size:.9rem;font-weight:700;border:none;cursor:pointer;transition:background .2s,transform .2s;}
.btn-don:hover{background:#ffe044;transform:translateY(-2px);}

/* NEWSLETTER */
.nl-banner{background:var(--j);padding:2.5rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.nl-banner h3{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:900;color:var(--n);}
.nl-banner p{font-size:.8rem;color:#555;margin-top:.3rem;}
.nl-form{display:flex;gap:.8rem;}
.nl-form input{width:260px;padding:.7rem 1rem;border-radius:7px;border:none;font-size:.84rem;font-family:"DM Sans",sans-serif;}
.nl-form button{background:var(--n);color:#fff;border:none;border-radius:7px;padding:.7rem 1.3rem;font-size:.82rem;font-weight:600;cursor:pointer;}

/* CONTACT */
#contact{background:var(--f);}
.cont-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;}
.cont-info p{font-size:.89rem;color:#666;line-height:1.75;margin-bottom:1.8rem;}
.c-det{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1rem;}
.c-ic{font-size:1.2rem;}
.c-tx strong{display:block;font-size:.82rem;font-weight:600;margin-bottom:.1rem;}
.c-tx span{font-size:.77rem;color:#999;}
.socials{display:flex;gap:.6rem;margin-top:1.3rem;flex-wrap:wrap;}
.soc-btn{padding:.42rem 1rem;border-radius:6px;background:var(--n);color:#fff;text-decoration:none;font-size:.73rem;font-weight:500;transition:background .2s;}
.soc-btn:hover{background:#333;}
form{display:flex;flex-direction:column;gap:.82rem;}
input,textarea,select{width:100%;padding:.8rem 1rem;border-radius:9px;border:1.5px solid var(--g);background:#fff;font-family:"DM Sans",sans-serif;font-size:.85rem;color:var(--n);transition:border-color .2s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--v);}
textarea{resize:vertical;min-height:120px;}
.sub-btn{background:var(--v);color:#fff;padding:.8rem 2rem;border-radius:8px;border:none;font-family:"DM Sans",sans-serif;font-size:.87rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:background .2s,transform .2s;}
.sub-btn:hover{background:#007833;transform:translateY(-2px);}

/* FOOTER */
footer{background:var(--n);color:#aaa;padding:3rem 4rem 2rem;}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem;}
.ft-brand img{height:55px;width:auto;margin-bottom:.6rem;}
.ft-brand p{font-size:.77rem;color:#555;line-height:1.6;margin-top:.4rem;}
.ft-col h4{color:#ddd;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.9rem;}
.ft-col a{display:block;color:#555;text-decoration:none;font-size:.77rem;margin-bottom:.4rem;transition:color .2s;}
.ft-col a:hover{color:var(--j);}
.ft-bottom{border-top:1px solid #1a1a1a;padding-top:1.3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.ft-bottom p{font-size:.72rem;color:#444;}
.flag-strip{height:4px;background:linear-gradient(to right,var(--v) 33.3%,var(--j) 33.3% 66.6%,var(--r) 66.6%);}


/* BUREAU */
.bureau-president { max-width:300px; }
.bureau-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:2rem; }
.bureau-card { background:#1a1a1a; border-radius:20px; overflow:hidden; transition:transform .25s,box-shadow .25s; text-align:center; }
.bureau-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.5); }
.bureau-photo-wrap { position:relative; background:#fff; min-height:260px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; }
.bureau-photo { width:100%; max-height:280px; object-fit:contain; object-position:bottom; display:block; }
.bureau-badge { display:inline-block; white-space:nowrap; padding:.25rem .9rem; border-radius:50px; font-size:.68rem; font-weight:700; letter-spacing:.05em; margin-bottom:.5rem; }
.bureau-info { padding:1.4rem; }
.bureau-nom { font-family:"Playfair Display",serif; font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
.bureau-role { font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.6rem; }
.bureau-desc { font-size:.78rem; color:#999; line-height:1.55; }
@media(max-width:900px){ .bureau-grid{grid-template-columns:1fr 1fr;} .bureau-president{max-width:100%;} }
@media(max-width:500px){ .bureau-grid{grid-template-columns:1fr;} }


/* SAPE */
.sape-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-bottom:3rem;}
.sape-card{background:#1a1a1a;border-radius:16px;padding:2rem;border-top:3px solid var(--j);transition:transform .25s,box-shadow .25s;}
.sape-card:nth-child(2){border-color:var(--v);}
.sape-card:nth-child(3){border-color:var(--r);}
.sape-card:nth-child(4){border-color:#gold;border-color:#c9a84c;}
.sape-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.4);}
.sape-icon{font-size:2.5rem;margin-bottom:1rem;}
.sape-titre{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.7rem;}
.sape-txt{font-size:.83rem;color:#aaa;line-height:1.65;}
.sape-citation{background:linear-gradient(135deg,#1a1a1a,#111);border-radius:20px;padding:3rem;text-align:center;border:1px solid #333;position:relative;}
.sape-quote{font-family:"Playfair Display",serif;font-size:6rem;color:var(--j);opacity:.3;line-height:.5;margin-bottom:1rem;}
.sape-citation blockquote{font-family:"Playfair Display",serif;font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;color:#fff;line-height:1.6;margin-bottom:1rem;}
.sape-auteur{font-size:.82rem;color:var(--j);font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
@media(max-width:900px){.sape-citation{padding:2rem 1.5rem;}}


/* RUMBA */
.rumba-hero{background:var(--n);border-radius:20px;padding:3rem;text-align:center;margin-bottom:3rem;position:relative;overflow:hidden;}
.rumba-hero::before{content:"🎵";font-size:12rem;position:absolute;opacity:.05;top:50%;left:50%;transform:translate(-50%,-50%);}
.rumba-badge-unesco{display:inline-block;background:linear-gradient(135deg,#c9a84c,#f0d080);color:#000;padding:.4rem 1.2rem;border-radius:50px;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.5rem;}
.rumba-big-quote{font-family:"Playfair Display",serif;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:900;color:#fff;font-style:italic;line-height:1.3;}
.rumba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-bottom:3rem;}
.rumba-card{background:#fff;border-radius:16px;padding:2rem;border-top:4px solid var(--v);box-shadow:0 4px 18px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;}
.rumba-card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(0,0,0,.12);}
.rumba-ic{font-size:2.3rem;margin-bottom:.9rem;}
.rumba-titre{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;margin-bottom:.6rem;}
.rumba-txt{font-size:.82rem;color:#777;line-height:1.65;}
.rumba-artistes{background:var(--n);border-radius:20px;padding:2.5rem;text-align:center;}
.rumba-artistes h3{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:1.5rem;}
.artistes-list{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;}
.artiste-chip{background:#1a1a1a;color:var(--j);border:1px solid #333;padding:.5rem 1.2rem;border-radius:50px;font-size:.82rem;font-weight:500;transition:background .2s,transform .2s;}
.artiste-chip:hover{background:#333;transform:scale(1.05);}
@media(max-width:900px){.rumba-hero{padding:2rem 1.5rem;}.rumba-artistes{padding:2rem 1.5rem;}}


/* BUREAU NOTICE & MEDIA UPLOAD */
.bureau-notice{background:rgba(206,17,38,.08);border:1px solid rgba(206,17,38,.2);color:var(--r);font-size:.75rem;padding:.45rem .9rem;border-radius:7px;margin-bottom:1rem;font-weight:500;}
.photo-upload-zone{background:#fff;border:2px dashed var(--gris);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;}
.photo-upload-zone:hover{border-color:var(--v);background:#f0faf4;}
.photo-upload-ic{font-size:2rem;}
.photo-upload-zone strong{font-size:.88rem;color:#333;}
.photo-upload-zone p{font-size:.75rem;color:#999;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem;margin-top:.5rem;}
.photo-thumb{border-radius:8px;overflow:hidden;aspect-ratio:1;position:relative;cursor:pointer;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.photo-thumb:hover img{transform:scale(1.05);}
.photo-thumb-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.6);color:#fff;font-size:.65rem;padding:.3rem .4rem;text-align:center;}
.doc-dl-lock{cursor:pointer;}


/* ── BIBLIOTHÈQUE ── */
.bib-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;}
.bib-filter{padding:.45rem 1.1rem;border-radius:50px;border:1.5px solid #333;background:transparent;color:#aaa;font-family:"DM Sans",sans-serif;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s;}
.bib-filter:hover,.bib-filter.on{background:var(--j);color:var(--n);border-color:var(--j);font-weight:700;}
.bib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;}
.bib-card{background:#1a1a1a;border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;cursor:pointer;}
.bib-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.5);}
.bib-card.hidden{display:none;}
.bib-cover{height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;text-align:center;}
.bib-cover-icon{font-size:3rem;}
.bib-cover-title{font-family:"Playfair Display",serif;font-size:.88rem;font-weight:700;color:#fff;line-height:1.3;}
.bib-info{padding:1.2rem;}
.bib-cat-badge{display:inline-block;padding:.18rem .65rem;border-radius:50px;font-size:.65rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem;}
.bib-titre{font-family:"Playfair Display",serif;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:.25rem;line-height:1.3;}
.bib-auteur{font-size:.72rem;color:var(--j);margin-bottom:.5rem;}
.bib-desc{font-size:.77rem;color:#aaa;line-height:1.5;margin-bottom:1rem;}
.bib-read-btn{width:100%;padding:.6rem;border-radius:8px;border:none;background:var(--v);color:#fff;font-family:"DM Sans",sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;}
.bib-read-btn:hover{background:#007833;transform:translateY(-1px);}
.bib-add-card{background:rgba(255,255,255,.04);border:2px dashed rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;}
.bib-add-card:hover{background:rgba(255,255,255,.07);}
.bib-add-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:2rem;}
.bib-add-content strong{color:#ccc;font-size:.88rem;}
.bib-add-content p{color:#777;font-size:.75rem;}

/* ── LECTEUR PDF ── */
.pdf-reader-overlay{display:none;position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.92);align-items:center;justify-content:center;}
.pdf-reader-overlay.open{display:flex;}
.pdf-reader-box{background:#111;border-radius:16px;width:95%;max-width:900px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.8);}
.pdf-reader-header{background:#1a1a1a;padding:.9rem 1.3rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #222;flex-shrink:0;flex-wrap:wrap;gap:.5rem;}
.pdf-reader-title{font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:#fff;}
.pdf-reader-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.pdf-action-btn{background:#333;color:#fff;border:none;border-radius:6px;padding:.3rem .6rem;font-size:.78rem;cursor:pointer;transition:background .2s;}
.pdf-action-btn:hover{background:#444;}
#pdfZoomLevel{color:#aaa;font-size:.75rem;min-width:38px;text-align:center;}
#pdfPageInfo{color:#aaa;font-size:.75rem;min-width:60px;text-align:center;}
.pdf-close-btn{background:var(--r);color:#fff;border:none;border-radius:6px;padding:.3rem .8rem;font-size:.9rem;cursor:pointer;font-weight:700;margin-left:.3rem;}
.pdf-reader-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;background:#222;}
#pdfCanvas{border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.5);max-width:100%;}
.pdf-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;gap:1rem;width:100%;}
.pdf-placeholder-icon{font-size:5rem;opacity:.4;}
.pdf-placeholder-title{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:#fff;}
.pdf-placeholder-text{font-size:.85rem;color:#888;line-height:1.7;max-width:400px;}
.pdf-placeholder-cat{display:inline-block;padding:.3rem .9rem;border-radius:50px;background:var(--v);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;}
@media(max-width:768px){.bib-filters{gap:.4rem;}.bib-filter{font-size:.72rem;padding:.38rem .85rem;}.pdf-reader-header{flex-direction:column;align-items:flex-start;}.pdf-reader-actions{width:100%;justify-content:flex-start;}}

/* REVEAL */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.h-content>*{animation:fadeUp .7s ease both;}
.h-content>*:nth-child(1){animation-delay:.1s;}
.h-content>*:nth-child(2){animation-delay:.25s;}
.h-content>*:nth-child(3){animation-delay:.4s;}
.h-content>*:nth-child(4){animation-delay:.55s;}
.rv{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease;}
.rv.vis{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:.8rem 1.5rem;}
  .nav-links{display:none;}
  section{padding:4rem 1.5rem;}
  #accueil{padding:7rem 1.5rem 4rem;}
  .h-stats,.h-deco{display:none;}
  .ap-grid,.med-grid,.cont-grid{grid-template-columns:1fr;gap:2rem;}
  .ft-top{grid-template-columns:1fr 1fr;gap:2rem;}
  .nl-banner{flex-direction:column;padding:2rem 1.5rem;}
  .nl-form{flex-direction:column;width:100%;}
  .nl-form input{width:100%;}
  .lang-bar{padding:.45rem 1.5rem;flex-wrap:wrap;}
}