:root { --c2a-navy:#363172; --c2a-purple:#876afa; --c2a-orange:#fa8039; --c2a-light:#f8f7fd; }
body { font-family:'Nunito',sans-serif; color:#1a1a2e; }

.top-banner { height:10px; background:linear-gradient(90deg,#876afa,#b87ab0,#fa8039); }

.navbar { border-bottom:1px solid #eee; }
.navbar-collapse { box-shadow:0 8px 24px rgba(30,45,107,.10); border-radius:0 0 16px 16px; padding:0 1rem 1rem; margin:0 -12px; }
@media (min-width:992px) { .navbar-collapse { box-shadow:none; border-radius:0; padding:0; margin:0; } }
.navbar-nav { padding-top:1rem; }
@media (min-width:992px) { .navbar-nav { padding-top:0; } }
.nb-main { font-size:15px; font-weight:800; color:var(--c2a-navy); line-height:1.1; }
.nb-sub  { font-size:10px; font-weight:600; color:#6b7280; letter-spacing:.08em; }
.nav-link { font-weight:600; font-size:16px; color:var(--c2a-navy) !important; opacity:.75; }
.nav-link:hover { opacity:1; }
.btn-nav { background:var(--c2a-navy) !important; color:#fff !important; opacity:1 !important; border-radius:50px !important; padding:10px 22px !important; font-size:15px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; }

.hero-section { background:var(--c2a-light); padding:80px 0 60px; }
.hero-tag { display:inline-block; background:rgba(123,111,212,.12); color:var(--c2a-purple); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:6px 16px; border-radius:50px; margin-bottom:1.25rem; }
.hero-title { font-size:clamp(2rem,5vw,3rem); font-weight:800; color:var(--c2a-navy); line-height:1.2; }
.hero-title span { color:var(--c2a-purple); }
.hero-sub { font-size:18px; color:#6b7280; font-weight:500; }
.hero-visual { border-radius:16px; background:linear-gradient(135deg,rgba(123,111,212,.1),rgba(232,128,58,.1)); border:2px dashed rgba(123,111,212,.3); display:flex; align-items:center; justify-content:center; color:var(--c2a-purple); font-size:14px; font-weight:600; }

/* Boutons Bootstrap avec arrondi 50px */
.btn-primary-c2a, .btn.btn-primary-c2a {
  background:var(--c2a-navy); color:#fff; border-radius:50px; padding:13px 32px; font-size:14px; font-weight:700; border:none; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; text-align:center; text-transform:uppercase; letter-spacing:.06em; transition:transform .2s,box-shadow .2s;
}
.btn-primary-c2a:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(30,45,107,.25); color:#fff; }
.btn-outline-c2a, .btn.btn-outline-c2a {
  border:2px solid var(--c2a-navy); color:var(--c2a-navy); border-radius:50px; padding:11px 32px; font-size:14px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; text-align:center; text-transform:uppercase; letter-spacing:.06em; transition:background .2s,color .2s; background:transparent;
}
.btn-outline-c2a:hover { background:var(--c2a-navy); color:#fff; }
.btn-white-c2a, .btn.btn-white-c2a {
  background:#fff; color:var(--c2a-navy); border-radius:50px; padding:13px 32px; font-size:14px; font-weight:800; border:none; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; text-align:center; text-transform:uppercase; letter-spacing:.06em; transition:transform .2s;
}
.btn-white-c2a:hover { transform:translateY(-2px); color:var(--c2a-navy); }

.section-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c2a-orange); }
.section-title  { font-size:clamp(1.5rem,3vw,2.1rem); font-weight:800; color:var(--c2a-navy); line-height:1.25; }

/* QUI SOMMES-NOUS */
.about-section { padding:80px 0; }
.about-card { border-left:4px solid var(--c2a-purple); background:var(--c2a-light); border-radius:0 12px 12px 0; padding:1.5rem 2rem; }
.stat-card { border-radius:16px; padding:1.5rem; text-align:center; }
.stat-num { font-size:2.2rem; font-weight:800; line-height:1; }

/* POURQUOI */
.why-section { background:var(--c2a-navy); padding:80px 0; }
.why-section .section-label { color:var(--c2a-orange); }
.why-section .section-title { color:#fff; }
.why-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.75rem 1.5rem; height:100%; transition:background .2s; }
.why-card:hover { background:rgba(255,255,255,.13); }
.why-icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:1rem; background:rgba(255,255,255,.1); }
.why-title { font-size:16px; font-weight:700; color:#fff; margin-bottom:.4rem; }
.why-text  { font-size:16px; color:rgba(255,255,255,.65); line-height:1.6; margin:0; }

/* PRÉSIDENT */
.president-section { padding:80px 0; background:#fff; }
.president-quote { border-left:4px solid var(--c2a-orange); padding:1.5rem 2rem; background:var(--c2a-light); border-radius:0 12px 12px 0; font-size:18px; font-style:italic; color:#3a3a5c; line-height:1.8; }
.president-avatar { width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg,var(--c2a-purple),var(--c2a-navy)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:28px; font-weight:800; }

/* MEMBRES */
.members-section { background:#fff; padding:60px 0; overflow:hidden; }
.marquee-wrap { overflow:hidden; width:100%; }
.marquee-track { display:flex; width:max-content; animation:marquee 28s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.member-logo { display:flex; align-items:center; justify-content:center; width:200px; height:80px; flex-shrink:0; border:1px solid #e5e7eb; border-radius:12px; margin:0 12px; font-size:12px; font-weight:700; color:#6b7280; background:#fafafa; padding:0 1rem; text-align:center; transition:border-color .2s,color .2s; }
.member-logo:hover { border-color:var(--c2a-purple); color:var(--c2a-navy); }

/* AGENDA */
.agenda-section { background:var(--c2a-light); padding:80px 0; }
.event-pill { display:flex; align-items:center; gap:1.25rem; background:#fff; border-radius:12px; padding:1rem 1.5rem; border:1px solid #e5e7eb; transition:border-color .2s; }
.event-pill:hover { border-color:var(--c2a-purple); }
.event-badge { color:#fff; border-radius:10px; padding:8px 14px; text-align:center; flex-shrink:0; min-width:64px; }
.event-badge .day   { font-size:20px; font-weight:800; line-height:1; }
.event-badge .month { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; opacity:.8; }
.event-name { font-size:15px; font-weight:700; color:var(--c2a-navy); margin-bottom:2px; }
.event-desc { font-size:13px; color:#6b7280; margin:0; }
.agenda-note { font-size:13px; color:#6b7280; font-style:italic; border-top:1px solid #e5e7eb; padding-top:1rem; margin-top:.5rem; }

/* REJOINDRE */
.join-section { background:var(--c2a-navy); padding:80px 0; }
.join-section .section-title { color:#fff; }
.join-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:16px; padding:2rem; }
.join-visual { height:320px; border-radius:16px; background:rgba(255,255,255,.05); border:2px dashed rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:13px; font-weight:600; }

/* FOOTER */
footer { background:#111827; color:rgba(255,255,255,.5); padding:2.5rem 0; font-size:13px; }
footer a { color:rgba(255,255,255,.7); text-decoration:none; }
footer a:hover { color:#fff; }
.footer-brand { font-size:16px; font-weight:800; color:#fff; }