:root {
  --red: #c1121f;
  --green: #2d6a4f;
  --light: #f8f9fa;
  --gray: #6c757d;

  /* DARK theme tokens (default) */
  --dark: #0d1117;
  --darker: #080b10;
  --card-bg: #111827;
  --border: rgba(255,255,255,0.07);
  --text: #f8f9fa;
  --text-muted: rgba(255,255,255,.6);
  --text-faint: rgba(255,255,255,.4);
  --nav-bg: rgba(13,17,23,0.92);
  --surface-soft: rgba(255,255,255,.04);
  --surface-softer: rgba(255,255,255,.03);
  --surface-faint: rgba(255,255,255,.02);
  --shadow-card: 0 12px 32px rgba(0,0,0,.3);
  --shadow-strong: 0 20px 60px rgba(0,0,0,.4);
  --hero-grad-1: rgba(45,106,79,.18);
  --hero-grad-2: rgba(193,18,31,.12);
  --th-grad-1: rgba(45,106,79,.10);
  --th-grad-2: rgba(193,18,31,.10);
  --tag-bg: rgba(193,18,31,.12);
  --tag-color: #e05261;
  --event-grad: linear-gradient(135deg, rgba(193,18,31,.08) 0%, rgba(45,106,79,.08) 100%);
  --cta-grad: linear-gradient(135deg,rgba(193,18,31,.08),rgba(45,106,79,.08));
}

[data-theme="light"] {
  --dark: #f5f6f8;
  --darker: #ffffff;
  --card-bg: #ffffff;
  --border: rgba(15,23,42,0.08);
  --text: #0f172a;
  --text-muted: rgba(15,23,42,.7);
  --text-faint: rgba(15,23,42,.5);
  --nav-bg: rgba(255,255,255,0.85);
  --surface-soft: rgba(15,23,42,.04);
  --surface-softer: rgba(15,23,42,.03);
  --surface-faint: rgba(15,23,42,.02);
  --shadow-card: 0 8px 24px rgba(15,23,42,.08);
  --shadow-strong: 0 20px 60px rgba(15,23,42,.12);
  --hero-grad-1: rgba(45,106,79,.10);
  --hero-grad-2: rgba(193,18,31,.08);
  --th-grad-1: rgba(45,106,79,.07);
  --th-grad-2: rgba(193,18,31,.07);
  --tag-bg: rgba(193,18,31,.10);
  --tag-color: #c1121f;
  --event-grad: linear-gradient(135deg, rgba(193,18,31,.05) 0%, rgba(45,106,79,.05) 100%);
  --cta-grad: linear-gradient(135deg,rgba(193,18,31,.05),rgba(45,106,79,.05));
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:'Segoe UI',system-ui,sans-serif; background:var(--dark); color:var(--text); transition:background .3s ease, color .3s ease; overflow-x:hidden; }
img { max-width:100%; height:auto; }

/* NAV */
nav {
  position:fixed; top:0; width:100%; z-index:1000;
  background:var(--nav-bg); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; height:70px;
  transition:background .3s ease, border-color .3s ease;
}
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-logo img { width:42px; height:42px; object-fit:contain; }
.nav-logo span { font-weight:700; font-size:1.1rem; color:var(--text); letter-spacing:.5px; }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.nav-links a { color:var(--text-muted); text-decoration:none; font-size:.9rem; font-weight:500; transition:color .2s; }
.nav-links a:hover { color:var(--text); }
.nav-statuts {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:18px;
  border:1px solid var(--border); background:var(--surface-soft);
  font-size:.82rem !important;
}
.nav-statuts:hover { border-color:var(--text-faint); background:var(--surface-softer); }

.nav-burger {
  display:none;
  width:38px; height:38px; border-radius:10px;
  background:var(--surface-soft); border:1px solid var(--border);
  cursor:pointer; padding:0;
  flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.nav-burger span {
  display:block; width:18px; height:2px; border-radius:2px;
  background:var(--text); transition:transform .25s, opacity .2s;
}
.nav-burger.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.nav-burger.active span:nth-child(2) { opacity:0; }
.nav-burger.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.nav-cta {
  background:var(--red); color:#fff; padding:9px 22px; border-radius:6px;
  text-decoration:none; font-size:.85rem; font-weight:600; transition:opacity .2s;
}
.nav-cta:hover { opacity:.85; }

.nav-right { display:flex; align-items:center; gap:14px; }
.theme-toggle {
  width:38px; height:38px; border-radius:10px;
  background:var(--surface-soft); border:1px solid var(--border);
  color:var(--text); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, border-color .2s, transform .2s;
}
.theme-toggle:hover { background:var(--surface-softer); border-color:var(--text-faint); transform:translateY(-1px); }
.theme-toggle svg { display:block; }
.theme-icon-sun { display:none; }
.theme-icon-moon { display:block; }
[data-theme="light"] .theme-icon-sun { display:block; }
[data-theme="light"] .theme-icon-moon { display:none; }

/* HERO */
.hero {
  min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  padding:100px 5% 60px;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, var(--hero-grad-1) 0%, transparent 70%),
              radial-gradient(ellipse 60% 40% at 80% 80%, var(--hero-grad-2) 0%, transparent 70%),
              var(--darker);
  transition:background .3s ease;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(193,18,31,.15); border:1px solid rgba(193,18,31,.3);
  color:var(--tag-color); padding:6px 16px; border-radius:20px; font-size:.8rem; font-weight:600;
  margin-bottom:28px; letter-spacing:1px; text-transform:uppercase;
}
.hero h1 { font-size:clamp(2.2rem,5vw,4rem); font-weight:800; line-height:1.1; max-width:820px; margin-bottom:20px; }
.hero h1 span { color:var(--red); }
.hero p { font-size:1.1rem; color:var(--text-muted); max-width:580px; line-height:1.7; margin-bottom:40px; }
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.btn-primary {
  background:var(--red); color:#fff; padding:14px 32px; border-radius:8px;
  text-decoration:none; font-weight:700; font-size:.95rem; transition:all .2s;
  box-shadow:0 4px 24px rgba(193,18,31,.35);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(193,18,31,.4); }
.btn-outline {
  background:transparent; color:var(--text); padding:14px 32px; border-radius:8px;
  text-decoration:none; font-weight:600; font-size:.95rem;
  border:1.5px solid var(--border); transition:all .2s;
}
.btn-outline:hover { border-color:var(--text-muted); background:var(--surface-soft); }
.hero-stats { display:flex; gap:48px; margin-top:72px; flex-wrap:wrap; justify-content:center; }
.stat { text-align:center; }
.stat-num { font-size:2rem; font-weight:800; color:var(--text); }
.stat-num span { color:var(--red); }
.stat-label { font-size:.8rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:1px; margin-top:4px; }

/* SECTIONS */
section { padding:90px 5%; }
.section-tag {
  display:inline-block; background:var(--tag-bg); color:var(--tag-color);
  padding:4px 14px; border-radius:12px; font-size:.75rem; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; margin-bottom:14px;
}
.section-title { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:800; margin-bottom:12px; }
.section-sub { color:var(--text-faint); font-size:1rem; line-height:1.7; max-width:560px; }
.section-header { margin-bottom:56px; }
.section-dark { background:var(--darker); transition:background .3s ease; }

/* ABOUT */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.about-img-wrap {
  border-radius:20px; overflow:hidden; border:1px solid var(--border);
  box-shadow:0 20px 60px rgba(0,0,0,.4); aspect-ratio:1;
}
.about-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.about-text h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:800; margin-bottom:20px; }
.about-text p { color:var(--text-muted); line-height:1.8; margin-bottom:16px; }
.value-list { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.value-list li { display:flex; align-items:flex-start; gap:12px; color:var(--text-muted); font-size:.9rem; }
.value-list li::before { content:'✦'; color:var(--red); flex-shrink:0; margin-top:1px; }

/* COMMITTEE */
.pole-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:48px; }
.pole-tab {
  padding:9px 22px; border-radius:24px; border:1.5px solid var(--border);
  background:transparent; color:var(--text-faint); font-size:.85rem; font-weight:600;
  cursor:pointer; transition:all .2s;
}
.pole-tab.active, .pole-tab:hover { background:var(--red); border-color:var(--red); color:#fff; }
.pole-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:20px; }
.member-card {
  background:var(--card-bg); border:1px solid var(--border); border-radius:14px;
  padding:24px 20px; text-align:center; transition:all .25s;
}
.member-card:hover { border-color:rgba(193,18,31,.4); transform:translateY(-4px); box-shadow:var(--shadow-card); }
.member-avatar {
  width:64px; height:64px; border-radius:50%; margin:0 auto 14px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; font-weight:700; color:#fff;
}
.member-name { font-weight:700; font-size:.95rem; margin-bottom:4px; }
.member-role { color:var(--text-faint); font-size:.78rem; }
.member-pole-badge { display:inline-block; margin-top:10px; padding:2px 10px; border-radius:10px; font-size:.72rem; font-weight:600; }

/* EVENT */
.event-section {
  background:var(--event-grad);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  transition:background .3s ease;
}
.event-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.event-poster {
  border-radius:16px; overflow:hidden; box-shadow:var(--shadow-strong);
  border:1px solid var(--border); max-width:400px; margin:0 auto;
}
.event-poster img { width:100%; display:block; }
.event-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(193,18,31,.15); border:1px solid rgba(193,18,31,.3);
  color:var(--tag-color); padding:6px 14px; border-radius:20px; font-size:.75rem;
  font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:22px;
}
.event-info h2 { font-size:clamp(1.5rem,2.5vw,2.2rem); font-weight:800; line-height:1.2; margin-bottom:16px; }
.event-info h2 em { color:var(--red); font-style:normal; }
.event-speaker {
  display:flex; align-items:center; gap:14px;
  background:var(--surface-soft); border:1px solid var(--border);
  border-radius:12px; padding:16px 20px; margin:24px 0;
}
.speaker-icon {
  width:48px; height:48px; border-radius:50%; background:var(--red);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; color:#fff;
}
.speaker-name { font-weight:700; font-size:1rem; }
.speaker-role { color:var(--text-faint); font-size:.82rem; margin-top:2px; }
.event-details { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.event-detail { display:flex; align-items:center; gap:12px; color:var(--text-muted); font-size:.9rem; }
.event-detail .icon {
  width:36px; height:36px; border-radius:8px; background:var(--surface-soft);
  display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0;
}
.event-desc { color:var(--text-faint); font-size:.9rem; line-height:1.7; margin-bottom:8px; }

/* SPONSOR */
.sponsor-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; margin-bottom:72px; }
.sponsor-card { background:var(--card-bg); border:1px solid var(--border); border-radius:16px; padding:32px 24px; }
.sponsor-desc { color:var(--text-faint); font-size:.88rem; line-height:1.7; }

/* Partenaires actuels (logos showcase) */
.partners-block { margin-bottom:72px; }
.partners-title {
  text-align:center; font-size:.78rem; font-weight:700;
  color:var(--text-faint); text-transform:uppercase; letter-spacing:2px;
  margin-bottom:32px;
}
.partners-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:20px;
  max-width:900px;
  margin:0 auto;
}
.partner-tile {
  display:flex; align-items:center; justify-content:center;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:28px 24px;
  min-height:120px;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.partner-tile:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow-card);
  border-color:rgba(193,18,31,.3);
}
.partner-tile img {
  max-width:100%;
  max-height:64px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}
[data-theme="light"] .partner-tile {
  background:#ffffff;
  border:1px solid var(--border);
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}

.tier-section { margin-bottom:72px; }
.partnership-title { font-size:1.3rem; font-weight:700; margin-bottom:32px; text-align:center; color:var(--text-muted); }
.tier-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.tier-card { background:var(--card-bg); border-radius:16px; padding:28px 22px; text-align:center; position:relative; overflow:hidden; border:1px solid var(--border); }
.tier-card .top-accent { position:absolute; top:0; left:0; right:0; height:3px; }
.tier-card .badge { position:absolute; top:12px; right:12px; background:var(--red); color:#fff; font-size:.65rem; font-weight:700; padding:2px 8px; border-radius:8px; letter-spacing:.5px; }
.tier-list { list-style:none; font-size:.82rem; color:var(--text-faint); line-height:2; text-align:left; margin:0; padding:0; }
.tier-card .price { font-size:1.6rem; font-weight:800; margin-bottom:12px; }
.tier-card.bronze { border-color:rgba(205,161,94,.3); }
.tier-card.bronze .top-accent { background:#cd9a3e; }
.tier-card.silver { border-color:rgba(160,160,170,.4); }
.tier-card.silver .top-accent { background:#a0a0aa; }
.tier-card.gold { border-color:rgba(193,18,31,.4); background:linear-gradient(135deg,rgba(193,18,31,.03),rgba(45,106,79,.03)); }
.tier-card.gold .top-accent { background:linear-gradient(90deg,var(--red),var(--green)); }
.tier-card.platine { border-color:rgba(45,106,79,.4); }
.tier-card.platine .top-accent { background:var(--green); }

.cta-contact { text-align:center; background:var(--cta-grad); border:1px solid var(--border); border-radius:20px; padding:48px 32px; }

/* FOOTER */
footer { background:var(--darker); border-top:1px solid var(--border); padding:56px 5% 32px; text-align:center; transition:background .3s ease; }
.footer-comite { margin-bottom:40px; }
.footer-comite img { width:100%; max-width:720px; border-radius:16px; border:1px solid var(--border); box-shadow:var(--shadow-strong); }
.footer-logo { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:16px; }
.footer-logo img { width:36px; height:36px; object-fit:contain; }
.footer-logo span { font-weight:700; font-size:1rem; }
footer p { color:var(--text-faint); font-size:.82rem; margin-top:8px; }
.footer-links { display:flex; gap:24px; justify-content:center; margin:20px 0; flex-wrap:wrap; }
.footer-links a { color:var(--text-faint); text-decoration:none; font-size:.82rem; transition:color .2s; }
.footer-links a:hover { color:var(--text); }
.footer-copy { margin-top:6px; }

/* TALENTHUB */
.talenthub-section {
  background:
    radial-gradient(ellipse 60% 50% at 20% 10%, var(--th-grad-1) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 90%, var(--th-grad-2) 0%, transparent 60%),
    var(--darker);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  transition:background .3s ease;
}
.talenthub-section .section-header { text-align:center; margin-left:auto; margin-right:auto; }
.talenthub-section .section-sub { margin-left:auto; margin-right:auto; }
.th-accent {
  background:linear-gradient(90deg,var(--red),var(--green));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.th-features {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px; max-width:1100px; margin:0 auto 56px;
}
.th-feature {
  display:flex; align-items:center; gap:14px;
  background:var(--surface-softer); border:1px solid var(--border);
  border-radius:12px; padding:16px 18px;
}
.th-feature-icon {
  width:40px; height:40px; border-radius:10px;
  background:var(--surface-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0;
}
.th-feature-text { display:flex; flex-direction:column; line-height:1.3; }
.th-feature-text strong { font-size:.92rem; color:var(--text); font-weight:700; }
.th-feature-text span { font-size:.78rem; color:var(--text-faint); margin-top:2px; }

.th-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  max-width:1100px; margin:0 auto 56px;
}
.th-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:20px; padding:40px 36px; position:relative; overflow:hidden;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.th-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
}
.th-card-candidate::before { background:linear-gradient(90deg,var(--red),#e05261); }
.th-card-company::before { background:linear-gradient(90deg,var(--green),#52b788); }
.th-card-candidate:hover { border-color:rgba(193,18,31,.4); transform:translateY(-4px); box-shadow:var(--shadow-strong); }
.th-card-company:hover { border-color:rgba(45,106,79,.4); transform:translateY(-4px); box-shadow:var(--shadow-strong); }

.th-card-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(193,18,31,.15); border:1px solid rgba(193,18,31,.3);
  color:var(--tag-color); padding:6px 14px; border-radius:20px;
  font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  margin-bottom:20px;
}
.th-badge-green {
  background:rgba(45,106,79,.15); border-color:rgba(45,106,79,.4); color:var(--green);
}
.th-card h3 {
  font-size:1.5rem; font-weight:800; line-height:1.25; margin-bottom:14px; color:var(--text);
}
.th-card p {
  color:var(--text-faint); font-size:.92rem; line-height:1.7; margin-bottom:22px;
}
.th-list {
  list-style:none; display:flex; flex-direction:column; gap:10px;
  margin:0 0 28px; padding:0;
}
.th-list li {
  display:flex; align-items:flex-start; gap:10px;
  color:var(--text-muted); font-size:.88rem; line-height:1.5;
}
.th-list li::before {
  content:'✓'; color:var(--red); font-weight:700; flex-shrink:0;
  width:18px; height:18px; border-radius:50%;
  background:rgba(193,18,31,.15);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:.7rem; margin-top:2px;
}
.th-list-green li::before { color:var(--green); background:rgba(45,106,79,.15); }

.th-actions { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.btn-green {
  background:var(--green); color:#fff; padding:14px 32px; border-radius:8px;
  text-decoration:none; font-weight:700; font-size:.95rem; transition:all .2s;
  box-shadow:0 4px 24px rgba(45,106,79,.35);
  display:inline-block;
}
.btn-green:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(45,106,79,.45); }
.th-link {
  color:var(--text-faint); font-size:.82rem; text-decoration:none;
  transition:color .2s;
}
.th-link:hover { color:var(--text); }

.th-trust {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px; max-width:1100px; margin:0 auto;
  background:var(--surface-faint); border:1px solid var(--border);
  border-radius:16px; padding:28px 32px;
}
.th-trust-item { display:flex; align-items:center; gap:14px; }
.th-trust-icon {
  width:44px; height:44px; border-radius:10px;
  background:var(--surface-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; flex-shrink:0;
}
.th-trust-item strong {
  display:block; font-size:.9rem; color:var(--text); font-weight:700; margin-bottom:2px;
}
.th-trust-item span { font-size:.78rem; color:var(--text-faint); }
.th-trust-item span a { color:var(--tag-color); text-decoration:none; }
.th-trust-item span a:hover { text-decoration:underline; }

/* ============ RESPONSIVE ============ */

/* Tablet & below: nav becomes more compact, layouts start collapsing */
@media (max-width:1024px) {
  .nav-links { gap:22px; }
  .nav-links a { font-size:.85rem; }
  section { padding:72px 5%; }
  .about-grid, .event-grid { gap:40px; }
}

/* Mobile breakpoint: hamburger menu, single-column layouts */
@media (max-width:880px) {
  /* NAV: hamburger appears, links become a slide-down drawer */
  nav { padding:0 5%; }
  .nav-burger { display:flex; }
  .nav-cta { display:none; }

  .nav-links {
    position:fixed;
    top:70px; left:0; right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 5% 24px;
    background:var(--nav-bg);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow-card);
    transform:translateY(-110%);
    opacity:0;
    pointer-events:none;
    transition:transform .3s ease, opacity .25s ease;
    max-height:calc(100vh - 70px);
    overflow-y:auto;
  }
  .nav-links.open {
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .nav-links li { width:100%; }
  .nav-links a {
    display:block;
    padding:14px 4px;
    font-size:1rem;
    border-bottom:1px solid var(--border);
  }
  .nav-links li:last-child a { border-bottom:none; }
  .nav-statuts {
    margin-top:14px;
    justify-content:center;
    padding:12px 16px !important;
    border:1px solid var(--border) !important;
    border-radius:10px !important;
    font-size:.9rem !important;
  }
  .nav-statuts:hover { background:var(--surface-soft); }

  /* LAYOUTS: collapse to single column */
  .about-grid,
  .event-grid,
  .th-grid {
    grid-template-columns:1fr;
    gap:32px;
  }
  .about-img-wrap { max-width:480px; margin:0 auto; }
  .event-poster { max-width:340px; }

  /* HERO */
  .hero { padding:90px 5% 50px; min-height:auto; }
  .hero h1 { font-size:clamp(1.8rem, 7vw, 2.6rem); }
  .hero p { font-size:1rem; }
  .hero-stats { gap:32px; margin-top:56px; }
  .hero-btns { width:100%; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline { flex:1; min-width:140px; text-align:center; padding:13px 20px; }

  /* SECTIONS */
  section { padding:64px 5%; }
  .section-header { margin-bottom:40px; }

  /* COMITÉ */
  .pole-tabs { gap:8px; }
  .pole-tab { padding:8px 16px; font-size:.78rem; }
  .pole-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
  .member-card { padding:20px 14px; }
  .member-avatar { width:56px; height:56px; font-size:1.2rem; }

  /* EVENT */
  .event-info h2 { font-size:1.6rem; }

  /* TALENTHUB */
  .th-features { grid-template-columns:1fr 1fr; gap:12px; }
  .th-feature { padding:14px 14px; }
  .th-card { padding:32px 24px; }
  .th-card h3 { font-size:1.3rem; }
  .th-trust { padding:24px 20px; }
}

/* Small mobile: tighten everything further */
@media (max-width:480px) {
  nav { height:62px; padding:0 16px; }
  .nav-logo img { width:34px; height:34px; }
  .nav-logo span { font-size:1rem; }
  .nav-right { gap:8px; }
  .theme-toggle { width:36px; height:36px; }
  .nav-burger { width:36px; height:36px; }
  .nav-links { top:62px; }

  section { padding:56px 5%; }

  /* HERO */
  .hero { padding:80px 5% 40px; }
  .hero-badge { font-size:.7rem; padding:5px 12px; margin-bottom:20px; }
  .hero h1 { font-size:1.8rem; line-height:1.15; }
  .hero p { font-size:.95rem; margin-bottom:32px; }
  .hero-btns { flex-direction:column; gap:12px; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline { width:100%; }
  .hero-stats { gap:24px 20px; margin-top:48px; }
  .stat-num { font-size:1.6rem; }
  .stat-label { font-size:.7rem; }

  /* TYPO */
  .section-title { font-size:1.6rem; }
  .section-tag { font-size:.68rem; padding:3px 10px; }

  /* TALENTHUB */
  .th-features { grid-template-columns:1fr; }
  .th-card { padding:28px 22px; border-radius:16px; }
  .th-card h3 { font-size:1.2rem; }
  .th-card p { font-size:.88rem; }
  .th-trust { grid-template-columns:1fr; padding:22px 20px; }

  /* SPONSOR */
  .sponsor-grid { gap:14px; }
  .sponsor-card { padding:24px 20px; }
  .cta-contact { padding:36px 22px; }
  .partners-grid { gap:14px; grid-template-columns:1fr; max-width:300px; }
  .partner-tile { padding:22px 20px; min-height:100px; }
  .partner-tile img { max-height:54px; }

  /* EVENT */
  .event-section { padding:56px 5%; }
  .event-info h2 { font-size:1.4rem; }
  .event-detail { font-size:.85rem; }
  .event-speaker { padding:14px 16px; }

  /* FOOTER */
  footer { padding:40px 5% 28px; }
  .footer-links { gap:16px; }
}

/* SCROLL ANIM */
.fade-in { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.fade-in.visible { opacity:1; transform:none; }
/* ============ MODALE FICHE MEMBRE ============ */
.member-card { cursor:pointer; }
.member-card:focus-visible {
  outline:2px solid var(--red); outline-offset:3px;
}

.member-modal {
  position:fixed; inset:0; z-index:2000;
  display:none; align-items:center; justify-content:center;
  padding:20px;
}
.member-modal.open { display:flex; }

.member-modal-overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(4px);
}

.member-modal-box {
  position:relative; z-index:1;
  width:min(92vw, 380px);
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:18px;
  padding:36px 28px 30px;
  text-align:center;
  box-shadow:var(--shadow-strong);
  animation:mmPop .25s ease;
}
@keyframes mmPop {
  from { opacity:0; transform:scale(.92) translateY(10px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}

.member-modal-close {
  position:absolute; top:12px; right:14px;
  width:34px; height:34px; border-radius:9px;
  background:var(--surface-soft); border:1px solid var(--border);
  color:var(--text-muted); font-size:1.5rem; line-height:1;
  cursor:pointer; transition:all .2s;
  display:flex; align-items:center; justify-content:center;
}
.member-modal-close:hover {
  color:var(--text); border-color:var(--text-faint);
}

.member-modal-avatar {
  width:84px; height:84px; border-radius:50%;
  margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; font-weight:700; color:#fff;
}
.member-modal-name {
  font-size:1.25rem; font-weight:800; color:var(--text); margin-bottom:4px;
}
.member-modal-role {
  font-size:.85rem; color:var(--text-faint); margin-bottom:12px;
}
.member-modal-badge {
  display:inline-block; margin-bottom:24px;
  padding:3px 12px; border-radius:11px;
  font-size:.74rem; font-weight:600;
}

.member-modal-info {
  text-align:left; display:flex; flex-direction:column; gap:10px;
}
.mm-row {
  display:flex; align-items:center; gap:14px;
  padding:12px 16px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  border-radius:12px;
}
.mm-icon { font-size:1.2rem; flex-shrink:0; }
.mm-field { display:flex; flex-direction:column; gap:2px; min-width:0; }
.mm-label {
  font-size:.68rem; font-weight:700; letter-spacing:.5px;
  text-transform:uppercase; color:var(--text-faint);
}
.mm-value {
  font-size:.9rem; color:var(--text); font-weight:500;
  text-decoration:none; word-break:break-word;
}
a.mm-value:hover { color:var(--red); text-decoration:underline; }
.mm-value.mm-empty {
  color:var(--text-faint); font-weight:400;
  pointer-events:none; text-decoration:none;
}

@media (max-width:480px) {
  .member-modal-box { padding:32px 22px 26px; }
  .member-modal-avatar { width:72px; height:72px; font-size:1.5rem; }
}