.fl { --fl-acc: #4F46E5; --fl-soft: #EEF0FF; --fl-ink: var(--primary, #1E2A52); --fl-muted: var(--text-muted, #576579); --fl-line: #D5DAE3; --fl-bg: #EAEDF1;
  width: 100%; max-width: 100%; align-self: stretch; overflow-x: clip; background: var(--fl-bg); color: var(--fl-ink); padding-bottom: clamp(40px, 6vw, 72px); }
.fl *, .fl *::before, .fl *::after { box-sizing: border-box; }
.fl mark { background: #FDE68A; color: inherit; padding: 0 2px; border-radius: 4px; }
.fl .jt-bandeau { background: linear-gradient(180deg, #0F2D42 0%, #103A48 55%, #11474F 100%); }
.fl .jt-bandeau::before { background: none; }
.fl .jt-bandeau::after { background: none; }
.fl .jt-bandeau h1 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; letter-spacing: -.02em; margin: 8px auto 10px; }

.fl .fl-wrap { box-sizing: content-box; max-width: 1040px; margin: 0 auto; padding: 26px clamp(16px, 4vw, 48px) 0; }
.fl-compte { margin: 0 0 14px; font-size: 15px; font-weight: 700; }
.fl-liste { display: grid; gap: 10px; }
.fl-ligne { display: flex; align-items: center; gap: 16px; background: #F2F4F4; border: 1px solid var(--fl-line); border-radius: 14px; padding: 16px 18px; color: var(--fl-ink); text-decoration: none;
  transition: transform .2s, box-shadow .2s, border-color .2s; }
.fl-ligne:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(20, 28, 58, .12); border-color: #9AA6BF; }
.fl-avatar { width: 60px; height: 60px; flex: none; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: #F2F4F4; border: 1px solid var(--fl-line);
  font-size: 19px; font-weight: 800; color: #fff; }
.fl-avatar.is-cabinet { border-radius: 14px; }
.fl-avatar img { width: 100%; height: 100%; object-fit: cover; }
.fl-avatar.is-cabinet img { object-fit: contain; }
.fl-avatar.is-initiale { background: #1E2A52; border-color: #1E2A52; }
.fl-avatar.is-cabinet.is-initiale { background: var(--fl-acc); border-color: var(--fl-acc); }
.fl-infos { flex: 1; min-width: 0; display: grid; gap: 5px; }
.fl-infos strong { font-size: 17px; font-weight: 800; }
.fl-mut { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 13.5px; color: var(--fl-muted); }
.fl-mut svg { flex: none; }
.fl-mut b { color: var(--fl-ink); }
.fl-mut .fl-ok { display: inline-flex; align-items: center; gap: 4px; color: #047152; font-weight: 700; }
.fl-nw { white-space: nowrap; }
.fl-trouve { font-size: 14px; font-weight: 600; color: #334155; }
.fl-sujets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.fl-sujets em { font-style: normal; padding: 3px 10px; border-radius: 100px; background: var(--fl-soft); color: #3730A3; font-size: 12.5px; font-weight: 700; }
.fl-voir { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--fl-acc); }
.fl-voir svg { transition: transform .2s; }
.fl-ligne:hover .fl-voir svg { transform: translateX(3px); }

.fl-vide { padding: 40px 24px; border: 1px dashed #CBD2E4; border-radius: 12px; background: #F2F4F4; text-align: center; color: var(--fl-muted); }
.fl-vide strong { display: block; margin-bottom: 6px; font-size: 17px; color: var(--fl-ink); }
.fl-vide p { margin: 0 0 8px; }
.fl-vide a { font-weight: 700; color: var(--fl-acc); }
.fl-appel { margin-top: 26px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 16px 20px;
  border: 1px solid var(--fl-line); border-radius: 12px; background: #F2F4F4; font-size: 14.5px; color: #334155; }
.fl-appel b { color: var(--fl-ink); }
.fl-appel a { padding: 9px 16px; border-radius: 100px; background: var(--fl-ink); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.fl-appel a:hover { background: var(--fl-acc); }

@media (max-width: 600px) {
  .fl-ligne { align-items: flex-start; gap: 12px; padding: 14px; }
  .fl-avatar { width: 48px; height: 48px; font-size: 16px; }
  .fl-voir { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fl *, .fl *::before, .fl *::after { transition: none !important; }
}

.fd { --fd-ink: var(--primary, #1E2A52); --fd-acc: #4F46E5; --fd-mut: var(--text-muted, #576579); --fd-line: #D5DAE3; --fd-bg: #EAEDF1;
  width: 100%; align-self: stretch; background: var(--fd-bg); color: var(--fd-ink); padding-bottom: 72px; }
.fd *, .fd *::before, .fd *::after { box-sizing: border-box; }
.fd-cadre { max-width: 1040px; margin: 0 auto; padding-inline: clamp(16px, 4vw, 48px); box-sizing: content-box; }
.fd-note { max-width: 1040px; margin: 16px auto 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px;
  background: #FFF7E6; color: #7A4B00; font-size: 14px; font-weight: 600; }
.fd-note a { color: inherit; font-weight: 800; }
.fd-note.is-succes { background: #ECFDF5; color: #065F46; }
.fd-tete { position: relative; isolation: isolate; color: #fff; background: linear-gradient(180deg, #0F2D42 0%, #103A48 55%, #11474F 100%); }
.fd-tete::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: none; }
.fd-une { position: relative; isolation: isolate; overflow: hidden; }
.fd-une-photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fd-une.avec-couverture { background: #141C3A; }
.fd-une.avec-couverture::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to top, rgba(12, 17, 38, .94) 0%, rgba(12, 17, 38, .78) 40%, rgba(12, 17, 38, .62) 70%, rgba(12, 17, 38, .5) 100%); }
.fd-une.avec-couverture .fd-tete-in { padding-top: clamp(150px, 24vh, 240px); }
.fd-une.avec-couverture .fd-titres h1, .fd-une.avec-couverture .fd-titres > .fd-mut { text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
.fd-tete-in { display: flex; align-items: flex-end; gap: 22px; padding-top: clamp(32px, 5vh, 56px); padding-bottom: clamp(24px, 4vh, 40px); }
.fd-photo { width: 110px; height: 110px; flex: none; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: #F2F4F4; box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
  font-size: 34px; font-weight: 800; color: #fff; }
.fd-photo.is-cabinet { border-radius: 22px; }
.fd-photo img { width: 100%; height: 100%; object-fit: cover; }
.fd-photo.is-cabinet img { object-fit: contain; }
.fd-photo.is-initiale { background: linear-gradient(140deg, #1E2A52, #4F46E5); box-shadow: 0 18px 40px rgba(0, 0, 0, .28), inset 0 0 0 3px rgba(255, 255, 255, .25); }
.fd-photo.is-cabinet.is-initiale { background: linear-gradient(140deg, #1E2A52, #4F46E5); }
.fd-titres { flex: 1; min-width: 0; display: grid; gap: 7px; }
.fd-titres h1 { margin: 0; font-size: clamp(24px, 3vw, 30px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; color: #fff; }
.fd-mut { margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; font-size: 14px; color: var(--fd-mut); }
.fd-mut b { color: var(--fd-ink); }
.fd-mut svg { flex: none; }
.fd-mut .fd-ok { display: inline-flex; align-items: center; gap: 4px; color: #047152; }
.fd-tete .fd-mut { font-size: 14.5px; color: rgba(255, 255, 255, .88); }
.fd-tete .fd-mut b { color: #fff; }
.fd-tete .fd-mut .fd-ok { padding: 4px 11px 4px 8px; border-radius: 100px; background: #047857; color: #fff; font-size: 12.5px; font-weight: 800; }
.fd-nw { white-space: nowrap; }
.fd-sujets { margin: 2px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.fd-sujets em { font-style: normal; padding: 4px 11px; border-radius: 100px; background: rgba(242, 244, 244, .14); border: 1px solid rgba(242, 244, 244, .3); color: #fff; font-size: 12.5px; font-weight: 700; }
.fd-actions { flex: none; width: 210px; display: grid; gap: 8px; }
.fd-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 12px; font-size: 15px; font-weight: 800; text-decoration: none; }
.fd-wa { background: #25D366; color: #fff; }
.fd-wa:hover { background: #1EB955; }
.fd-ecrire { background: var(--fd-ink); color: #fff; }
.fd-ecrire:hover { background: var(--fd-acc); }
.fd-tete .fd-ecrire { background: #F2F4F4; color: var(--fd-ink); }
.fd-tete .fd-ecrire:hover { background: #EEF0FF; color: var(--fd-ink); }
.fd-onglets-bande { background: #F2F4F4; border-bottom: 1px solid var(--fd-line); }
.fd-onglets { display: flex; gap: 26px; overflow-x: auto; }
.fd-onglets a { padding: 18px 0 15px; font-size: 15px; font-weight: 700; color: var(--fd-mut); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; }
.fd-onglets a[aria-current] { color: var(--fd-ink); border-color: var(--fd-acc); }
.fd-onglets a span { font-size: 12.5px; padding: 1px 7px; border-radius: 100px; background: #E2E6EA; margin-left: 4px; }
.fd-corps { padding-top: 24px; display: grid; gap: 12px; }
.fd-formation { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; background: #F2F4F4; border: 1px solid var(--fd-line); border-radius: 18px; padding: 20px 22px; }
.fd-f-txt { flex: 1; min-width: 0; display: grid; gap: 6px; }
.fd-f-txt h2 { margin: 0; font-size: 17px; font-weight: 800; }
.fd-f-txt > p { margin: 0; font-size: 14.5px; line-height: 1.55; color: #475569; }
.fd-programme summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--fd-acc); width: max-content; max-width: 100%; padding-block: 10px; margin-block: -6px; }
.fd-programme .jt-texte { margin-top: 10px; font-size: 14.5px; line-height: 1.65; color: #334155; }
.fd-f-act { flex: none; display: grid; gap: 10px; justify-items: end; }
.fd-f-act b { font-size: 17px; white-space: nowrap; }
.fd-demander { padding: 9px 18px; border-radius: 100px; border: 1px solid color-mix(in srgb, #4F46E5 40%, #F2F4F4); background: #F2F4F4; color: #4F46E5; font-size: 14px; font-weight: 700; text-decoration: none; }
.fd-demander:hover { background: #EEF0FF; }
.fd-photos { margin-top: 18px; }
.fd-photos .polas { --pola-acc: #11474F; --pola-ruban: rgba(17, 71, 79, .28); --pola-ruban-bis: rgba(15, 45, 66, .28); --pola-encre: #0F2D42; }
.fd-bloc { background: #F2F4F4; border: 1px solid var(--fd-line); border-radius: 18px; padding: clamp(18px, 3vw, 28px); font-size: 15.5px; line-height: 1.7; color: #334155; }
.fd-infos { margin: 0 0 16px; display: grid; gap: 12px; }
.fd-infos div { display: flex; gap: 16px; border-bottom: 1px solid #E2E6EA; padding-bottom: 10px; }
.fd-infos dt { width: 140px; flex: none; color: var(--fd-mut); font-size: 14px; }
.fd-infos dd { margin: 0; font-weight: 700; color: var(--fd-ink); font-size: 14.5px; }
.fd-infos a { color: var(--fd-acc); }
.fd-vide { margin: 0; padding: 28px; text-align: center; color: var(--fd-mut); background: #F2F4F4; border: 1px dashed #CBD2E4; border-radius: 12px; }
.fd-barre { display: none; }
.fd-select { width: 100%; font: inherit; font-size: 15px; padding: 12px 14px; border: 1px solid #DDE1EC; border-radius: 12px; background: #F2F4F4; color: var(--fd-ink); }
.fd-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 700px) {
  .fd { padding-bottom: 96px; }
  body:has(.fd-barre) .jt-pied { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .fd-une.avec-couverture .fd-tete-in { padding-top: clamp(110px, 18vh, 160px); }
  .fd-tete-in { flex-direction: column; align-items: center; text-align: center; }
  .fd-photo { width: 88px; height: 88px; font-size: 28px; }
  .fd-titres { justify-items: center; }
  .fd-titres .fd-mut, .fd-sujets { justify-content: center; }
  .fd-actions { display: none; }
  .fd-onglets { justify-content: center; gap: 18px; }
  .fd-formation { flex-direction: column; }
  .fd-f-act { width: 100%; grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; }
  .fd-infos div { flex-direction: column; gap: 2px; }
  .fd-barre { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #F2F4F4; border-top: 1px solid var(--fd-line); }
}
.fd-pages { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 6px; padding: 10px 2px; }
.fd-pages-liens { display: flex; flex-wrap: wrap; gap: 8px; }
.fd-page { min-width: 40px; height: 40px; padding: 0 14px; display: inline-grid; place-items: center; border-radius: 10px; border: 1px solid #DBE1EA; background: #F2F4F4; color: #1E2A52; font-weight: 700; text-decoration: none; }
.fd-page:hover { border-color: #0F766E; text-decoration: none; }
.fd-page.is-on { background: #0F766E; border-color: #0F766E; color: #fff; }
.fl-supprime { background: #ECFDF5; color: #065F46; border-radius: 10px; padding: 10px 14px; font-weight: 600; margin: 8px 0 12px; }
.fl-seo { margin-top: 26px; background: #F2F4F4; border: 1px solid #D5DAE3; border-radius: 14px; padding: clamp(22px, 3vw, 34px); }
.fl-seo h2 { font-size: 22px; font-weight: 800; margin: 0 0 12px; color: var(--fl-ink); }
.fl-seo p { color: #334155; font-size: 15px; line-height: 1.75; margin: 0 0 12px; max-width: 75ch; }
.fl-faq { margin-top: 22px; border-top: 1px solid #DADEE2; }
.fl-faq h3 { font-size: 16px; font-weight: 800; margin: 20px 0 6px; color: var(--fl-ink); }
.fl-faq details { border-bottom: 1px solid #DADEE2; padding: 14px 0; }
.fl-faq summary { font-weight: 700; cursor: pointer; font-size: 15px; padding-block: 9px; margin-block: -9px; }
.fl .jt-raz { display: inline-flex; align-items: center; min-height: 40px; margin-top: 2px; }
.fl-faq details p { margin: 10px 0 0; }

@media (min-width: 1025px) { .fl .fl-wrap, .fd-cadre, .fd-note { max-width: 1320px; } .fl .fl-wrap { box-sizing: border-box; } .fd-cadre { box-sizing: border-box; } }
