
:root{--red:#e30613;--red-dark:#b9000c;--ink:#101114;--muted:#68707b;--line:#e8ebef;--soft:#f6f7f9;--cream:#faf7f2;--shadow:0 24px 70px rgba(16,17,20,.10);--max:1180px;--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.section{padding:102px 0}.section-soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-cream{background:var(--cream);border-top:1px solid #eee5db;border-bottom:1px solid #eee5db}.kicker{margin:0 0 16px;color:var(--red);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:900}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,6.8vw,6.45rem);line-height:.88;letter-spacing:-.075em;margin-bottom:24px;font-weight:950}h2{font-size:clamp(2.1rem,4vw,4.7rem);line-height:.95;letter-spacing:-.06em;margin-bottom:18px;font-weight:920}h3{font-size:1.27rem;line-height:1.12;letter-spacing:-.025em;margin-bottom:10px}p{color:var(--muted)}.lead{font-size:clamp(1.1rem,1.45vw,1.32rem);color:#444a52;max-width:820px}.center{text-align:center;margin-inline:auto}.narrow{max-width:900px}.gradient{background:linear-gradient(94deg,#111 0%,#111 42%,var(--red) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.header{position:sticky;top:14px;z-index:50;width:min(1360px,calc(100% - 28px));margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px 12px 18px;border:1px solid rgba(16,17,20,.08);border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(20px);box-shadow:0 18px 60px rgba(16,17,20,.10)}.brand img{width:106px}.nav{display:flex;gap:2px;align-items:center}.nav a,.lang{padding:11px 13px;border-radius:999px;font-size:.86rem;font-weight:850;color:#30343a}.nav a:hover,.lang:hover{background:#f1f2f5}.nav a.active{background:var(--ink);color:#fff}.header-actions{display:flex;gap:8px;align-items:center}.menu-btn{display:none;width:44px;height:44px;border:0;border-radius:999px;background:#f1f2f5;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-btn span{width:18px;height:2px;background:#111;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:900;white-space:nowrap;transition:.22s ease}.btn-primary{background:var(--red);color:#fff;box-shadow:0 20px 52px rgba(227,6,19,.22)}.btn-primary:hover{background:var(--red-dark);transform:translateY(-2px)}.btn-outline{background:#fff;border-color:var(--line);box-shadow:0 12px 30px rgba(16,17,20,.06)}.btn-outline:hover{transform:translateY(-2px)}.btn-dark{background:#111;color:#fff}.text-link{display:inline-flex;margin-top:18px;font-weight:900;border-bottom:2px solid var(--red);padding-bottom:4px}.hero{position:relative;min-height:calc(100vh - 88px);display:grid;align-items:center;background:linear-gradient(180deg,#fff,#f8f8f8);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(227,6,19,.10),transparent 30rem),radial-gradient(circle at 12% 88%,rgba(16,17,20,.06),transparent 28rem);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 520px;gap:60px;align-items:center;padding:120px 0 86px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.pill{display:inline-flex;min-height:34px;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 8px 20px rgba(16,17,20,.05);font-size:.87rem;font-weight:850}.visual-img{border-radius:36px;box-shadow:var(--shadow);border:1px solid rgba(16,17,20,.08)}.floating-card{position:absolute;left:-22px;bottom:34px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);min-width:230px}.floating-card strong{display:block;font-size:2.25rem;color:var(--red);letter-spacing:-.07em;line-height:1}.floating-card span{font-weight:800;color:var(--muted);font-size:.88rem}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.metric,.card,.module,.proof,.quote,.role-card,.team-card,.partner-card,.process-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(16,17,20,.07)}.metric{padding:22px}.metric strong,.proof strong{display:block;font-size:2.35rem;line-height:1;color:var(--red);letter-spacing:-.07em}.metric span,.proof span{display:block;margin-top:8px;color:var(--muted);font-weight:750;font-size:.88rem}.band{padding:34px 0;background:var(--ink);color:#fff}.band-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.band p{margin:0;color:#d8d9dc}.logo-row{display:flex;gap:16px;flex-wrap:wrap}.logo-badge{height:70px;min-width:146px;border-radius:18px;background:#fff;padding:13px 18px;display:grid;place-items:center}.logo-badge img{max-height:44px}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:start}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{padding:28px}.card .num{display:inline-flex;color:var(--red);font-weight:950;letter-spacing:.16em;font-size:.78rem;margin-bottom:18px}.module{padding:34px;position:relative;overflow:hidden}.module:before{content:"";position:absolute;right:-80px;top:-80px;width:230px;height:230px;border-radius:50%;background:#fff1f2}.module>*{position:relative}.module ul,.role-card ul{padding-left:18px;color:#4d5560}.module li,.role-card li{margin:8px 0}.visual-card{padding:18px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.visual-card img{border-radius:24px;border:1px solid var(--line)}.visual-card div{padding:18px 8px 4px}.edge{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}.edge-symbol{display:grid;place-items:center;font-size:2.5rem;font-weight:950;color:var(--red)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.proof{padding:28px}.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.quote{padding:34px}.quote blockquote{font-size:1.08rem;line-height:1.55;color:#222;margin:0 0 22px}.quote cite{font-style:normal;color:var(--muted);font-weight:800}.partner-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.partner-card{padding:20px;min-height:154px;display:flex;flex-direction:column;justify-content:space-between}.partner-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-weight:950}.partner-card img{height:82px;object-fit:contain}.partner-feature .partner-card{min-height:245px}.partner-feature img{height:120px}.partner-note{text-align:center;color:#8a8f96;margin-top:24px;font-size:.86rem}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.process-card{padding:30px}.process-card strong{width:52px;height:52px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;margin-bottom:22px}.role-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:36px 0}.role-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(16,17,20,.06)}.role-tab.active{background:#111;color:#fff}.role-panel{display:none;grid-template-columns:.95fr 1.05fr;gap:30px}.role-panel.active{display:grid}.role-card{padding:34px}.role-card h3{font-size:2rem}.role-screen{padding:24px;border-radius:32px;background:linear-gradient(180deg,#fff,#f7f8fa);border:1px solid var(--line);box-shadow:var(--shadow)}.bar{height:12px;border-radius:999px;background:#eceff3;overflow:hidden;margin:14px 0}.bar i{display:block;height:100%;width:var(--w);background:var(--red);border-radius:999px}.screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.screen-mini{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.screen-mini strong{display:block;color:var(--red);font-size:1.4rem}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.team-card{padding:28px}.avatar{width:68px;height:68px;border-radius:22px;background:#fff1f2;color:var(--red);display:grid;place-items:center;font-weight:950;margin-bottom:18px}.team-card small{display:block;color:var(--red);font-weight:900;margin-bottom:12px}.demo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px}.form-card{padding:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:850}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:16px;padding:14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(227,6,19,.08)}.cta{background:#111;color:#fff}.cta p,.cta .kicker{color:#e6e6e6}.cta h2{color:#fff}.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer{padding:66px 0 32px;background:#fff;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,.8fr);gap:34px}.footer-logo{width:112px;margin-bottom:18px}.footer p,.footer span,.footer a{color:#69717d;font-size:.94rem;display:block;margin:8px 0}.footer a:hover{color:var(--red)}.footer h3{font-size:.82rem;letter-spacing:.15em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:#8d929a;font-size:.86rem}.language-hero{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 78% 18%,rgba(227,6,19,.11),transparent 30rem),linear-gradient(180deg,#fff,#f7f7f7)}.language-card{width:min(820px,calc(100% - 34px));padding:54px;border-radius:36px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.language-card img{width:142px;margin:0 auto 26px}.language-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.reveal{opacity:0;transform:translateY(16px);transition:.7s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}@media(max-width:1100px){.menu-btn{display:flex}.nav{position:fixed;left:14px;right:14px;top:84px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:18px}body.menu-open .nav{display:flex}.nav a{width:100%}.header .btn-primary{display:none}.hero-grid,.split,.role-panel,.demo-grid{grid-template-columns:1fr}.hero-visual{max-width:620px}.grid-3,.grid-4,.proof-grid,.process{grid-template-columns:repeat(2,1fr)}.edge{grid-template-columns:1fr}.edge-symbol{min-height:30px}.partner-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.section{padding:72px 0}h1{font-size:clamp(2.7rem,14vw,4.25rem)}h2{font-size:clamp(2rem,11vw,3.35rem)}.hero-grid{padding:96px 0 64px}.metric-row,.grid-2,.grid-3,.grid-4,.proof-grid,.quote-grid,.partner-feature,.partner-grid,.team-grid,.form-grid,.process,.screen-grid{grid-template-columns:1fr}.hero-actions,.cta-wrap{flex-direction:column;align-items:stretch}.btn{width:100%}.brand img{width:86px}.header{border-radius:24px}.floating-card{position:relative;left:auto;bottom:auto;margin-top:16px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.partner-feature .partner-card{min-height:190px}}

/* =========================================================
   FIXES VISUELS HOMEPAGE
   à coller tout en bas de assets/css/style.css
========================================================= */

/* ---------- HERO ---------- */

.hero-grid{
  grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
  gap: 44px;
  align-items: center;
}

.hero-copy{
  display: flex;
  flex-direction: column;
}

.hero-copy .lead{
  max-width: 900px;
}

.hero-visual{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.hero-player-img,
.hero-visual .visual-img{
  width: 100%;
  max-width: 700px;
  height: auto;
  object-fit: contain;
  object-position: left center;
  display: block;
  margin-left: -24px;
}

.metric-row{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.metric{
  min-height: 180px;
  padding: 26px 22px;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  box-shadow: 0 20px 55px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.metric strong{
  display: block;
  color: #ef1111;
  font-size: clamp(2.6rem, 4.2vw, 4rem);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.06em;
  margin-bottom: 12px;
}

.metric span{
  color: #6a7280;
  font-size: 1rem;
  line-height: 1.28;
  font-weight: 750;
}

.hero-inline-card{
  margin-top: 18px;
  width: fit-content;
  min-width: 320px;
  max-width: 420px;
  padding: 24px 26px;
  border-radius: 30px;
  background: #ffffff;
  border: 1px solid #e3e3e3;
  box-shadow: 0 22px 60px rgba(0,0,0,.08);
}

.hero-inline-card strong{
  display: block;
  color: #ef1111;
  font-size: clamp(2.2rem, 3.4vw, 3.2rem);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.06em;
  margin-bottom: 8px;
}

.hero-inline-card span{
  display: block;
  color: #6a7280;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
}

/* si l’ancien floating-card existe encore, on le neutralise */
.floating-card{
  position: static !important;
  inset: auto !important;
  margin-top: 16px;
  display: none;
}

/* ---------- BAND / LOGOS TRUST ---------- */

.logo-row{
  display: flex;
  align-items: stretch;
  gap: 18px;
  flex-wrap: wrap;
}

.logo-badge{
  width: 320px;
  min-height: 110px;
  padding: 18px 24px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid #e2e2e2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-badge img{
  width: 100%;
  max-width: 220px;
  max-height: 52px;
  object-fit: contain;
  display: block;
}

/* swiss olympic plus grand */
.logo-badge img[alt="Swiss Olympic"]{
  max-width: 250px;
  max-height: 62px;
}

/* ---------- SECTION PLATEFORME ---------- */

.visual-card{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 100%;
}

.visual-card img{
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center;
  display: block;
  margin-bottom: 22px;
  padding: 14px;
  border-radius: 22px;
  background: #f7f7f7;
  border: 1px solid #e6e6e6;
}

/* Même hauteur visuelle pour caisse / téléphone / laptop */
.visual-card:nth-child(1) img,
.visual-card:nth-child(2) img,
.visual-card:nth-child(3) img{
  height: 320px;
}

/* un peu plus de présence pour téléphone et laptop si besoin */
.visual-card img[src*="app-flow"]{
  object-position: center top;
}

.visual-card img[src*="dashboard"]{
  object-position: center top;
}

/* ---------- PARTNERS SECTION ---------- */

.partner-feature{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 28px;
}

.partner-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.partner-card{
  min-height: 240px;
  padding: 22px;
  border-radius: 34px;
  background: #ffffff;
  border: 1px solid #dfdfdf;
  box-shadow: 0 14px 36px rgba(0,0,0,.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.partner-feature .partner-card{
  min-height: 300px;
}

.partner-card span{
  display: block;
  color: #ef1111;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .16em;
  margin-bottom: 18px;
}

.partner-card img{
  width: 100%;
  height: 120px;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* grandes cartes du haut */
.partner-feature .partner-card img{
  height: 160px;
}

/* swiss olympic plus grand dans la partie partenaires */
.partner-card img[alt="Swiss Olympic"]{
  height: 145px;
  transform: scale(1.12);
}

/* EPFL / CHUV / HUG / Innosuisse / Venture Kick plus homogènes */
.partner-card img[alt="EPFL"]{
  height: 110px;
}

.partner-card img[alt="CHUV"],
.partner-card img[alt="HUG"],
.partner-card img[alt="Innosuisse"],
.partner-card img[alt="Venture Kick"]{
  height: 100px;
}

/* ---------- Responsive ---------- */

@media (max-width: 1200px){
  .metric-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hero-grid{
    grid-template-columns: 1fr;
  }

  .hero-visual{
    justify-content: center;
  }

  .hero-player-img,
  .hero-visual .visual-img{
    margin-left: 0;
    max-width: 620px;
  }
}

@media (max-width: 760px){
  .metric-row{
    grid-template-columns: 1fr;
  }

  .hero-inline-card{
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .partner-feature,
  .partner-grid{
    grid-template-columns: 1fr;
  }

  .logo-badge{
    width: 100%;
  }

  .visual-card img{
    height: 240px;
  }
}

/* Agrandir uniquement le logo Swiss Olympic */

.logo-badge img[alt="Swiss Olympic"]{
  max-width: 290px !important;
  max-height: 78px !important;
}

.partner-card img[alt="Swiss Olympic"]{
  height: 175px !important;
  transform: scale(1.22) !important;
}

/* =========================================================
   LANGUAGE SELECTOR
========================================================= */

.header-actions{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.language-selector{
  position: relative;
  z-index: 100;
}

.language-button{
  height: 46px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(17, 24, 39, .12);
  background: #ffffff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  transition: .2s ease;
}

.language-button:hover{
  transform: translateY(-1px);
  border-color: rgba(255,23,23,.35);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

.language-icon{
  font-size: 1rem;
  line-height: 1;
}

.language-label{
  font-size: .9rem;
}

.language-arrow{
  font-size: .9rem;
  color: #ef1111;
  margin-left: 2px;
}

.language-menu{
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 230px;
  padding: 10px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, .10);
  box-shadow: 0 28px 80px rgba(0,0,0,.18);
  display: none;
}

.language-selector:hover .language-menu,
.language-selector:focus-within .language-menu{
  display: grid;
  gap: 6px;
}

.language-menu a{
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 16px;
  color: #111827;
  text-decoration: none;
  transition: .18s ease;
}

.language-menu a:hover{
  background: #f5f5f5;
}

.language-menu strong{
  width: 38px;
  height: 30px;
  border-radius: 999px;
  background: #111827;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-size: .78rem;
  font-weight: 950;
}

.language-menu span{
  color: #374151;
  font-size: .92rem;
  font-weight: 750;
}

/* Version mobile */

@media(max-width:760px){
  .language-button{
    height: 44px;
    padding: 0 13px;
  }

  .language-label{
    display: none;
  }

  .language-menu{
    right: -8px;
    width: 210px;
  }
}

/* =========================================================
   TEAM SHOWCASE — 4 GRANDES CARTES + 3 CONSEILLERS
========================================================= */

.team-showcase-section{
  padding: 72px 0;
  background: #161b3a;
}

.team-showcase{
  width: 100%;
}

/* ---------- 4 grandes cartes ---------- */

.team-main-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.team-main-card{
  min-height: 520px;
  padding: 34px 26px 30px;
  border-radius: 28px;
  background: #242a4c;
  border: 1px solid rgba(255,255,255,.04);
  box-shadow: 0 22px 70px rgba(0,0,0,.18);
  color: #ffffff;
}

.team-main-photo-wrap{
  width: 250px;
  height: 250px;
  max-width: 100%;
  margin: 0 auto 30px;
  border-radius: 50%;
  overflow: hidden;
  background: #111827;
}

.team-main-photo{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.team-main-initials{
  width: 100%;
  height: 100%;
  display: none;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #ef1111, #111827);
  color: #ffffff;
  font-size: 4rem;
  font-weight: 950;
}

.team-main-card h3{
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 1.28rem;
  line-height: 1.1;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.team-main-card span{
  display: block;
  margin-bottom: 22px;
  color: #ff1717;
  font-size: 1.02rem;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.team-main-card p{
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 500;
}

/* ---------- Conseillers scientifiques ---------- */

.scientific-advisors-block{
  margin-top: 68px;
}

.scientific-advisors-block h2{
  margin: 0 0 18px;
  color: #ffffff;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .20em;
}

.scientific-advisors-grid{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.advisor-card{
  min-height: 128px;
  padding: 18px 22px;
  border-radius: 24px;
  background: #242a4c;
  border: 1px solid rgba(255,255,255,.04);
  box-shadow: 0 18px 55px rgba(0,0,0,.15);
  display: flex;
  align-items: center;
  gap: 18px;
  color: #ffffff;
}

.advisor-photo-wrap{
  flex: 0 0 auto;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  overflow: hidden;
  background: #111827;
}

.advisor-photo{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.advisor-initials{
  width: 100%;
  height: 100%;
  display: none;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #ef1111, #111827);
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 950;
}

.advisor-card h3{
  margin: 0 0 6px;
  color: #ffffff;
  font-size: 1.08rem;
  line-height: 1.15;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.advisor-card p{
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: .98rem;
  line-height: 1.38;
  font-weight: 500;
}

/* ---------- Responsive ---------- */

@media(max-width: 1280px){
  .team-main-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-main-photo-wrap{
    width: 230px;
    height: 230px;
  }
}

@media(max-width: 900px){
  .scientific-advisors-grid{
    grid-template-columns: 1fr;
  }

  .advisor-card{
    max-width: 560px;
    margin: 0 auto;
    width: 100%;
  }
}

@media(max-width: 680px){
  .team-showcase-section{
    padding: 48px 0;
  }

  .team-main-grid{
    grid-template-columns: 1fr;
  }

  .team-main-card{
    min-height: auto;
    padding: 28px 22px;
  }

  .team-main-photo-wrap{
    width: 190px;
    height: 190px;
  }

  .scientific-advisors-block{
    margin-top: 46px;
  }

  .advisor-card{
    align-items: flex-start;
  }
}

/* =========================================================
   PARTNER GRID — centrer 3 logos sur la 2e ligne
========================================================= */

.partner-grid-centered-3{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
}

/* 8 éléments au total :
   1 2 3 4 5
     6 7 8   -> centrés sous la première ligne
*/
.partner-grid-centered-3 .partner-card:nth-child(6){
  grid-column: 2;
}

.partner-grid-centered-3 .partner-card:nth-child(7){
  grid-column: 3;
}

.partner-grid-centered-3 .partner-card:nth-child(8){
  grid-column: 4;
}

/* Responsive */
@media (max-width: 1200px){
  .partner-grid-centered-3{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .partner-grid-centered-3 .partner-card:nth-child(6),
  .partner-grid-centered-3 .partner-card:nth-child(7),
  .partner-grid-centered-3 .partner-card:nth-child(8){
    grid-column: auto;
  }
}

@media (max-width: 900px){
  .partner-grid-centered-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .partner-grid-centered-3{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   DEMO PAGE — cartes déroulement en 2 par ligne
========================================================= */

.demo-process-2x2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.demo-process-2x2 .process-card {
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 900px) {
  .demo-process-2x2 {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   CLUB PARTNERS — logos clubs
========================================================= */

.club-partner-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 42px;
}

.club-partner-card {
  min-height: 180px;
  padding: 34px 28px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, .08);
  box-shadow: 0 22px 70px rgba(15, 23, 42, .08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.club-partner-card img {
  max-width: 150px;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 1100px) {
  .club-partner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .club-partner-grid {
    grid-template-columns: 1fr;
  }

  .club-partner-card {
    min-height: 150px;
  }

  .club-partner-card img {
    max-width: 130px;
    max-height: 100px;
  }
}