/* AD BUILDER : styles des sections libres (lignes, colonnes, modules), chargés seulement sur les pages qui en ont une */
/* ---------- Section libre : lignes, colonnes, modules (AD BUILDER 0.6) ---------- */
.fx.w-s{--wrap:900px}
.fx.w-l{--wrap:1360px}
.sec.free:has(> .fx.pad-s){padding-block:clamp(40px,5vw,64px)}
.sec.free:has(> .fx.pad-l){padding-block:clamp(96px,12vw,160px)}
.fx{display:grid; grid-template-columns:minmax(0,1fr); gap:var(--g-row,clamp(36px,4.5vw,56px))}
.fx-r{display:grid; grid-template-columns:var(--c); gap:var(--g-col,clamp(24px,3vw,40px))}
.fx-r.g-s{gap:16px}
.fx-r.g-l{gap:clamp(36px,5vw,72px)}
.fx-r.va-center{align-items:center}
.fx-r.va-bottom{align-items:end}
.fx-c{display:flex; flex-direction:column; min-width:0}
.fx-m{min-width:0}
.fx-m + .fx-m{margin-top:var(--g-obj,20px)}
.fx-m.fxs-0 + .fx-m{margin-top:0}
.fx-m.fxs-s + .fx-m{margin-top:calc(var(--g-obj,20px) / 2)}
.fx-m.fxs-l + .fx-m{margin-top:calc(var(--g-obj,20px) * 2)}
.fx-m.fxt-title.fxs-n + .fx-m{margin-top:16px}
.fx-m.fxt-title.fxs-n + .fx-m:not(.fxt-text):not(.fxt-button):not(.fxt-explain){margin-top:clamp(28px,3vw,44px)}   /* un titre de section et sa grille de cartes : de l'air */
.fx-m.fxa-c{text-align:center}
.fx-m.fxa-r{text-align:right}
.fx-m.fxa-c .fx-btn, .fx-m.fxa-c .fx-fig, .fx-m.fxa-c .fx-it{justify-content:center; margin-inline:auto}
.fx-m.fxa-r .fx-btn{justify-content:flex-end}
.fx-m.fxa-c .fx-p, .fx-m.fxa-c .lead{margin-inline:auto}
.fx-m .kick{margin-bottom:14px}
.fx-h{font-weight:700}
.fx-h1{font-size:var(--t-hero); font-weight:800}
.fx-h2{font-size:var(--t-h2)}
.fx-h3{font-size:clamp(24px,2.4vw,32px)}
.fx-h4{font-size:var(--t-h3)}
.fx-h.big{font-size:clamp(40px,5.4vw,72px); font-weight:800}
.fx-h.small{font-size:var(--t-h3)}
.fx-h .hl{color:var(--blue)}
.dark .fx-h .hl{color:var(--yellow)}
.fx-p{max-width:68ch; color:var(--ink-2)}
.fx-p.lead{font-size:var(--t-lead); margin-top:0}
.fx-p.small{font-size:var(--t-small)}
.dark .fx-p{color:var(--on-dark-2)}
.fx-btn{display:flex; flex-wrap:wrap; gap:12px}
.fx-lnk{display:inline-flex; align-items:center; gap:8px; font-weight:800; color:var(--navy); text-decoration:none; box-shadow:inset 0 -2px 0 var(--yellow)}
.fx-lnk .arr{width:18px; height:18px; transition:transform .2s var(--ease)}
.fx-lnk:hover .arr{transform:translateX(3px)}
.dark .fx-lnk{color:#fff}
.fx-fig{margin:0; display:grid; gap:10px}
.fx-img{width:100%; border-radius:var(--r-card)}
.fx-fig.as-card .fx-img{background:#fff; box-shadow:var(--e1); padding:clamp(12px,2vw,22px)}
.dark .fx-fig.as-card .fx-img{box-shadow:var(--e-dark)}
.fx-fig.round .fx-img{aspect-ratio:1/1; object-fit:cover; border-radius:50%; max-width:280px}
.fx-fig figcaption{font-size:var(--t-small); color:var(--ink-2)}
.dark .fx-fig figcaption{color:var(--on-dark-2)}
.fx-ul{list-style:none; margin:0; padding:0; display:grid; gap:12px}
.fx-ul li{display:flex; gap:12px; align-items:flex-start}
.fx-ul.check .ck2{flex:none; width:26px; height:26px; border-radius:50%; background:var(--yellow); color:var(--navy); display:grid; place-items:center; margin-top:2px}
.fx-ul.check .ck2 svg{width:15px; height:15px}
.fx-ul.dot li::before{content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--blue); margin-top:11px}
.fx-ul.num{counter-reset:fx}
.fx-ul.num li::before{counter-increment:fx; content:counter(fx); flex:none; width:30px; height:30px; border-radius:10px; background:var(--navy); color:#fff; display:grid; place-items:center; font:800 14px/1 var(--f-title)}
.dark .fx-ul.num li::before{background:var(--yellow); color:var(--navy)}
.fx-it{display:grid; gap:14px; align-content:start}
.fx-it.left{grid-template-columns:auto minmax(0,1fr); align-items:start}
.fx-ic{display:inline-grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--tint); color:var(--blue)}
.fx-ic svg{width:26px; height:26px}
.dark .fx-ic{background:rgba(255,255,255,.1); color:var(--yellow)}
.fx-ith{font-size:var(--t-h3); margin-bottom:6px}
.fx-it p{color:var(--ink-2)}
.dark .fx-it p{color:var(--on-dark-2)}
.fx-space.s-s{height:12px}
.fx-space.s-n{height:32px}
.fx-space.s-l{height:64px}
.fx-space.s-xl{height:110px}
.fx-hr{border:0; height:1px; background:color-mix(in srgb,var(--navy) 14%,transparent); margin:8px 0}
.dark .fx-hr{background:rgba(255,255,255,.18)}
.fx-hr.y{height:4px; width:64px; border-radius:4px; background:var(--yellow)}
.fx-m.fxa-c .fx-hr.y{margin-inline:auto}
.fx-shot{border-radius:18px; overflow:hidden; background:#fff; box-shadow:var(--e2)}
.dark .fx-shot{box-shadow:var(--e-dark)}
.fx-bar{display:flex; align-items:center; gap:7px; height:38px; padding:0 14px; background:#EEF2F7}
.fx-bar i{width:10px; height:10px; border-radius:50%; background:var(--tint)}
.fx-bar span{margin-left:10px; flex:1; min-width:0; height:24px; border-radius:999px; background:#fff; font-size:12.5px; line-height:24px; padding:0 12px; color:var(--ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fx-scr img{width:100%}
.fx-shot.f-phone{max-width:300px; margin-inline:auto; border-radius:40px; padding:12px; background:var(--navy)}
.fx-shot.f-phone .fx-scr{border-radius:30px; overflow:hidden; aspect-ratio:9/19; background:#fff}
.fx-shot.f-phone .fx-scr img{height:100%; object-fit:cover; object-position:top}
.fx-shot.f-none{box-shadow:var(--e1)}
.fx-vid{position:relative; aspect-ratio:16/9; border-radius:var(--r-card); overflow:hidden; background:var(--navy); box-shadow:var(--e2)}
.dark .fx-vid{box-shadow:var(--e-dark)}
.fx-vplay{position:absolute; inset:0; width:100%; border:0; display:grid; place-content:center; justify-items:center; gap:12px; padding:24px; background:radial-gradient(120% 90% at 30% 20%, #1D3A5A 0%, var(--navy) 60%); color:#fff; cursor:pointer; text-align:center}
.fx-vplay .pl{display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:var(--yellow); color:var(--navy); box-shadow:0 12px 30px rgba(5,12,22,.5); transition:transform .2s var(--ease)}
.fx-vplay:hover .pl{transform:scale(1.06)}
.fx-vplay .pl svg{width:32px; height:32px; margin-left:4px}
.fx-vplay .tt{font:700 clamp(18px,2vw,24px)/1.25 var(--f-title); max-width:30ch}
.fx-vplay small{font-size:13px; color:var(--on-dark-2)}
.fx-vid iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.fx-vid.empty{display:grid; place-content:center; justify-items:center; gap:10px; padding:24px; color:var(--on-dark-2); text-align:center; font-size:15px}
.fx-vid.empty .pl{color:var(--yellow)}
.fx-vid.empty svg{width:36px; height:36px}
.fx-card{position:relative; display:grid; gap:10px; align-content:start; padding:clamp(22px,2.4vw,30px); height:100%}
.fx-card.v-y{box-shadow:inset 0 4px 0 var(--yellow), var(--e1)}
.fx-card.v-d{background:var(--navy); color:#fff}
.fx-card.v-d p{color:var(--on-dark-2)}
.dark .fx-card.v-y{box-shadow:inset 0 4px 0 var(--yellow), var(--e-dark)}
.dark .fx-card.v-w{box-shadow:var(--e-dark)}
.dark .fx-card.v-d{background:rgba(255,255,255,.07); box-shadow:none}
.fx-card h3{font-size:var(--t-h3)}
.fx-card p{color:var(--ink-2)}
.fx-card .fx-n{display:inline-grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--navy); color:#fff; font:800 17px/1 var(--f-title)}
.fx-card.v-d .fx-n{background:var(--yellow); color:var(--navy)}
.fx-card .fx-ic{width:46px; height:46px; border-radius:14px}
.fx-card .fx-lnk{justify-self:start; margin-top:6px}
.fx-card.v-d .fx-lnk{color:#fff}
.fx-c > .fx-m.fxt-card:only-child{height:100%}
.fx-stat{display:grid; gap:8px; padding-top:22px; box-shadow:inset 0 3px 0 var(--yellow)}
.fx-qt{max-width:none}
.fx-qt blockquote{font-size:clamp(20px,2.2vw,28px)}
.fx-acc .qa h3{font-size:inherit}
.fx-tl{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px}
.fx-tab{height:44px; padding:0 18px; border:0; border-radius:var(--r-pill); background:var(--tint); color:var(--navy); font-weight:700; cursor:pointer; transition:background .2s var(--ease)}
.fx-tab:hover{background:#D6ECF8}
.fx-tab[aria-selected="true"]{background:var(--navy); color:#fff}
.dark .fx-tab{background:rgba(255,255,255,.08); color:#fff}
.dark .fx-tab[aria-selected="true"]{background:var(--yellow); color:var(--navy)}
.fx-pan{display:grid; gap:10px; padding:clamp(22px,2.4vw,30px); border-radius:var(--r-card); background:#fff; box-shadow:var(--e1); color:var(--ink)}
.fx-pan h3{font-size:var(--t-h3)}
.fx-pan p{color:var(--ink-2)}
.dark .fx-pan{box-shadow:var(--e-dark)}
.fx-tabs.ed-open .fx-pan + .fx-pan{margin-top:14px}
.fx-iv .sim-g.one{grid-template-columns:minmax(0,1fr); gap:0}
.fx-iv .sim-g.one > div:first-child:empty{display:none}
.fx-form{padding:clamp(22px,3vw,36px)}
@media (max-width:1000px){ .fx-r.n4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){
  .fx-r, .fx-r.n4{grid-template-columns:minmax(0,1fr)}
  .fx-r.rev{display:flex; flex-direction:column-reverse}
  .hm{display:none!important}
}
@media (min-width:861px){ .hd{display:none!important} }
/* Module interactif dans une colonne étroite : il se range selon la largeur de sa colonne, pas de l'écran */
.fx-iv{container-type:inline-size}
@container (max-width:760px){
  .fx-iv .tf-g, .fx-iv .fl-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-iv .sc, .fx-iv .sd{grid-template-columns:minmax(0,1fr)}
  .fx-iv .sd-s{padding-left:0}
}
@container (max-width:440px){
  .fx-iv .tf-g, .fx-iv .fl-g{grid-template-columns:minmax(0,1fr)}
  .fx-iv .sd-s{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.fx-icimg{display:inline-block; width:88px; height:88px}
.fx-icimg img{width:100%; height:100%; object-fit:contain}
.fx-it.left .fx-icimg{width:64px; height:64px}
.fx-card .fx-icimg{width:72px; height:72px}
/* ---------- 0.7 : tableau comparatif, tarifs, étapes, parcours en onglets, mosaïque, galerie, barres ---------- */
.sr{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.fx-cmp{overflow-x:auto; border-radius:var(--r-card); background:#fff; box-shadow:var(--e1); color:var(--ink)}
.dark .fx-cmp{box-shadow:var(--e-dark)}
.fx-cmp table{width:100%; min-width:520px; border-collapse:collapse; font-size:16px}
.fx-cmp th, .fx-cmp td{padding:14px 18px; text-align:center; box-shadow:inset 0 -1px 0 #E3E9F1}
.fx-cmp tbody th{text-align:left; font-weight:600; font-family:var(--f-body)}
.fx-cmp thead th{font:700 16px/1.25 var(--f-title); padding-block:18px}
.fx-cmp .hl{background:#F2F9FD}
.fx-cmp thead .hl{background:var(--navy); color:#fff}
.fx-cmp tr:last-child > *{box-shadow:none}
.fx-cmp .ck{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%}
.fx-cmp .ck svg{width:16px; height:16px}
.fx-cmp .ck.yes{background:var(--yellow); color:var(--navy)}
.fx-cmp .ck.no{background:#EEF1F5; color:var(--ink-2)}
.fx-cmp .ck.part{width:auto; height:auto; padding:4px 10px; border-radius:999px; background:var(--tint); font-size:13px; font-weight:700; color:var(--navy)}
.fx-hint{font-size:13px; color:var(--ink-2); margin-top:8px}
.fx-plans{display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:18px; align-items:stretch}
.fx-plan{display:flex; flex-direction:column; gap:10px; padding:clamp(22px,2.4vw,30px); border-radius:var(--r-card); background:#fff; box-shadow:var(--e1); color:var(--ink)}
.dark .fx-plan{box-shadow:var(--e-dark)}
.fx-plan.best{background:var(--navy); color:#fff; box-shadow:0 18px 44px color-mix(in srgb,var(--navy) 30%,transparent)}
.dark .fx-plan.best{background:#fff; color:var(--ink)}
.fx-ptag{font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--blue)}
.fx-plan.best .fx-ptag{color:var(--yellow)}
.dark .fx-plan.best .fx-ptag{color:var(--blue)}
.fx-plan h3{font-size:var(--t-h3)}
.fx-price{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.fx-price b{font:800 clamp(28px,3vw,38px)/1 var(--f-title)}
.fx-price span{font-size:15px; opacity:.8}
.fx-pp{color:var(--ink-2); font-size:16px}
.fx-plan.best .fx-pp{color:var(--on-dark-2)}
.dark .fx-plan.best .fx-pp{color:var(--ink-2)}
.fx-feats{list-style:none; margin:4px 0 0; padding:0; display:grid; gap:10px; font-size:15.5px}
.fx-feats li{display:flex; gap:10px; align-items:flex-start}
.fx-feats .ck2{flex:none; width:22px; height:22px; border-radius:50%; background:var(--yellow); color:var(--navy); display:grid; place-items:center; margin-top:2px}
.fx-feats .ck2 svg{width:13px; height:13px}
.fx-pbtn{margin-top:auto; padding-top:10px}
.fx-pbtn .btn{width:100%; justify-content:center}
.fx-plan.best .btn-p{box-shadow:0 10px 24px rgba(5,12,22,.5)}
.fx-pnote2{margin-top:16px; font-size:14.5px; color:var(--ink-2)}
.dark .fx-pnote2{color:var(--on-dark-2)}
.fx-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:24px; counter-reset:none}
.fx-steps li{display:grid; gap:12px; align-content:start; padding-top:18px; box-shadow:inset 0 3px 0 var(--yellow)}
.fx-steps li:nth-child(even){box-shadow:inset 0 3px 0 var(--blue)}
.fx-sn{display:inline-grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--navy); color:#fff; font:800 17px/1 var(--f-title)}
.dark .fx-sn{background:var(--yellow); color:var(--navy)}
.fx-steps h3{font-size:var(--t-h3); margin-bottom:6px}
.fx-steps p{color:var(--ink-2)}
.dark .fx-steps p{color:var(--on-dark-2)}
.fx-steps.col{grid-template-columns:minmax(0,1fr); gap:18px}
.fx-steps.col li{grid-template-columns:auto minmax(0,1fr); padding:0; box-shadow:none}
.fx-ptabs .fx-tab{display:inline-flex; align-items:center; gap:10px}
.fx-tn{display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:color-mix(in srgb,var(--navy) 10%,transparent); font-size:12.5px; font-weight:800}
.fx-tab[aria-selected="true"] .fx-tn{background:var(--yellow); color:var(--navy)}
.fx-ppan{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(20px,3vw,40px); align-items:center; padding:clamp(20px,2.6vw,32px); border-radius:var(--r-card); background:var(--tint); color:var(--ink)}
.dark .fx-ppan{background:rgba(255,255,255,.06); color:#fff}
.fx-ppt h3{font-size:var(--t-h3); margin-bottom:10px}
.fx-ppt p{color:var(--ink-2)}
.dark .fx-ppt p{color:var(--on-dark-2)}
.fx-ptabs.ed-open .fx-ppan + .fx-ppan{margin-top:14px}
.fx-bento{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:minmax(150px,auto); gap:16px}
.fx-tile{display:flex; flex-direction:column; justify-content:flex-end; gap:8px; padding:clamp(20px,2.2vw,28px); border-radius:var(--r-card); background:#fff; box-shadow:var(--e1); color:var(--ink); overflow:hidden}
.fx-tile.s-w{grid-column:span 2} .fx-tile.s-h{grid-row:span 2} .fx-tile.s-b{grid-column:span 2; grid-row:span 2}
.fx-tile.v-t{background:var(--tint); box-shadow:none}
.fx-tile.v-d{background:var(--navy); color:#fff; box-shadow:none}
.fx-tile.v-y{background:var(--yellow); color:var(--navy); box-shadow:none}
.dark .fx-tile.v-d{background:rgba(255,255,255,.07)}
.dark .fx-tile.v-w{box-shadow:var(--e-dark)}
.fx-tile h3{font-size:var(--t-h3)}
.fx-tile p{font-size:16px; opacity:.85}
.fx-timg{flex:1; display:grid; place-items:center; min-height:60px}
.fx-tim{max-height:180px; width:auto; max-width:100%}
.fx-gal{display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:16px}
.fx-gi{margin:0; display:grid; gap:8px}
.fx-gb{display:block; width:100%; padding:0; border:0; border-radius:18px; overflow:hidden; background:#fff; cursor:zoom-in; box-shadow:var(--e1)}
.fx-gim{width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; border-radius:18px; transition:transform .3s var(--ease)}
.fx-gb:hover .fx-gim{transform:scale(1.03)}
.fx-gi figcaption{font-size:14.5px; color:var(--ink-2)}
.dark .fx-gi figcaption{color:var(--on-dark-2)}
.fx-lb{position:fixed; inset:0; z-index:130; display:grid; place-items:center; padding:24px; background:rgba(8,18,30,.86)}
.fx-lb img{max-width:min(1100px,100%); max-height:82vh; width:auto; height:auto; border-radius:14px; background:#fff}
.fx-lb button{position:absolute; width:48px; height:48px; border:0; border-radius:50%; background:#fff; color:var(--navy); display:grid; place-items:center; cursor:pointer}
.fx-lb button svg{width:20px; height:20px}
.fx-lb .x{top:20px; right:20px} .fx-lb .pv{left:20px; top:50%} .fx-lb .nx{right:20px; top:50%}
.fx-lb p{position:absolute; bottom:22px; left:24px; right:24px; text-align:center; color:#fff; font-size:15px}
.fx-prog{list-style:none; margin:0; padding:0; display:grid; gap:18px}
.fx-pgt{display:flex; justify-content:space-between; gap:12px; font-size:16px; margin-bottom:8px}
.fx-pgt b{font-family:var(--f-title)}
.fx-pgb{height:12px; border-radius:999px; background:var(--tint); overflow:hidden}
.dark .fx-pgb{background:rgba(255,255,255,.12)}
.fx-pgb i{display:block; height:100%; width:var(--w); border-radius:999px; background:var(--blue); transition:width 1.1s var(--ease)}
.fx-prog li:nth-child(even) .fx-pgb i{background:var(--yellow)}
.fx-pgb i.pre{width:0}
@media (max-width:860px){
  .fx-plans, .fx-steps, .fx-gal{grid-template-columns:minmax(0,1fr)}
  .fx-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-ppan{grid-template-columns:minmax(0,1fr)}
  .fx-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-tile.s-b{grid-row:span 1}
}
@media (max-width:520px){ .fx-bento{grid-template-columns:minmax(0,1fr)} .fx-tile.s-w, .fx-tile.s-b{grid-column:span 1} .fx-tile.s-h{grid-row:span 1} }
@container (max-width:640px){ .fx-iv .fx-plans{grid-template-columns:minmax(0,1fr)} }
.fx-ppan .fx-scr{display:grid; place-items:center; background:#fff; min-height:200px}
.fx-ppan .fx-scr img{width:auto; max-width:100%; max-height:340px; object-fit:contain}
.fx-btn .btn-t{margin-left:0}
.fx-trio{position:relative; padding:0 0 46px 0}
.fx-trio .fx-shot{margin-right:10%}
.fx-ov{position:absolute; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 18px 44px rgba(8,18,30,.32)}
.fx-ov.ph{right:0; bottom:0; width:24%; border-radius:var(--r22,22px); padding:6px; background:var(--navy)}
.fx-ov.ph img{border-radius:16px}
.fx-ov.pg{right:20%; bottom:-6px; width:22%; border-radius:6px}
.fx-oimg{width:100%; display:block}
.fx-pmore{margin-top:14px}
.fx-ppt .fx-feats{margin-top:12px}
.fx-tk{font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--blue)}
.fx-tile.v-d .fx-tk{color:var(--yellow)}
.fx-tile.v-y .fx-tk{color:var(--navy)}
@media (max-width:860px){ .fx-trio{padding-bottom:30px} .fx-ov.ph{width:28%} .fx-ov.pg{display:none} }
.fx-form.form-card{margin-bottom:0; box-shadow:var(--e2)}
.dark .fx-form.form-card{box-shadow:var(--e-dark)}
.dark .fx-card:not(.v-d) .fx-lnk{color:var(--navy)}
.fx-btn .btn{max-width:100%; white-space:normal; text-align:center; line-height:1.2; min-height:48px; height:auto; padding-block:10px}
.fx-shot, .fx-scr{min-width:0} .fx-bar{min-width:0; overflow:hidden}
@media (max-width:860px){ .fx-r.rev > .fx-c{width:100%} }

/* ---------- Membres (0.8, refait en 0.8.2) : grille par groupes, filtres, parcours au clic dans une fenêtre au centre ---------- */
.fxt-members{container-type:inline-size}
.fx-mbw{display:grid; gap:clamp(36px,4vw,56px)}
.fx-mbs{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:34px 22px}
.fx-mbs li{min-width:0}
.fx-mbs li[hidden], .mb-grp[hidden]{display:none}
.mb-b{display:grid; justify-items:center; gap:6px; width:100%; padding:6px; border:0; background:none; font:inherit; color:inherit; text-align:center; border-radius:18px}
button.mb-b{cursor:pointer; transition:transform .2s var(--ease), box-shadow .2s var(--ease)}
button.mb-b:hover{transform:translateY(-3px)}
button.mb-b:focus-visible{outline:3px solid var(--blue); outline-offset:3px}
.mb-ph{position:relative; display:block; width:148px; height:148px; margin-bottom:10px}
.mb-ph > img{width:100%; height:100%}
.mb-ph .ed-imgb{right:0; top:0}
.mb-ph .ed-imgadd{position:static; width:100%; height:100%; border-radius:50%; display:grid; gap:4px; align-content:center}
.mb-img{width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; box-shadow:0 10px 30px color-mix(in srgb,var(--blue) 45%,transparent)}
.sh-soft .mb-img{border-radius:var(--r22,22px)}
.mb-ph.none{display:grid; place-items:center; border-radius:50%; background:var(--tint); color:var(--navy)}
.mb-ph.none svg{width:46px; height:46px}
.mb-tx{display:grid; gap:4px; justify-items:inherit}
.mb-n{font-size:17px; font-weight:800; overflow-wrap:anywhere}
.mb-r{font-size:15px; line-height:1.45; color:var(--ink-2); max-width:30ch; overflow-wrap:anywhere}
.dark .mb-r{color:var(--on-dark-2)}
.mb-more{display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:15px; font-weight:700; color:var(--navy)}
.mb-more svg{width:15px; height:15px}
.dark .mb-more{color:#fff}
/* Cartes (page Équipe) : photo carrée en noir et blanc, « Son parcours » sur la photo au survol */
.sh-card{gap:34px 28px}
.sh-card .mb-b{justify-items:stretch; align-content:start; gap:12px; padding:16px 16px 18px; border-radius:var(--r22,22px); background:var(--white); color:var(--navy); box-shadow:var(--e1); text-align:left}
.sh-card button.mb-b:hover{transform:translateY(-4px); box-shadow:var(--e2)}
.sh-card .mb-ph{width:auto; height:auto; aspect-ratio:1; margin:0; border-radius:18px; overflow:hidden; background:var(--tint)}
.sh-card .mb-ph.none{border-radius:18px}
.sh-card .mb-ph.none b{font:800 clamp(34px,3.4vw,46px)/1 var(--f-title)}
.sh-card .mb-img{border-radius:0; box-shadow:none; filter:grayscale(1)}
.sh-card .mb-ph .ed-imgadd{border-radius:18px}
.sh-card .mb-tx{padding:0 4px; justify-items:start}
.sh-card .mb-n{font:700 18px/1.2 var(--f-title)}
.sh-card .mb-r{color:var(--navy); max-width:none}
.sh-card .mb-more{position:absolute; left:12px; bottom:12px; margin:0; height:38px; padding:0 14px; border-radius:999px; background:var(--white); color:var(--navy); box-shadow:0 8px 20px color-mix(in srgb,var(--navy) 18%,transparent); opacity:0; transform:translateY(4px); transition:opacity .2s, transform .2s; pointer-events:none}
.sh-card button.mb-b:hover .mb-more, .sh-card button.mb-b:focus-visible .mb-more{opacity:1; transform:none}
@media (hover:none){ .sh-card .mb-more{opacity:1; transform:none} }
/* 0.11 : cartes à bandeau (format des vignettes de l'Accueil) : bandeau bleu très clair, photo ronde à cheval, cerclée de blanc */
.sh-band{gap:30px 24px}
.sh-band .mb-b{position:relative; justify-items:center; align-content:start; gap:10px; padding:28px 16px 22px; border-radius:var(--r26,26px); background:linear-gradient(var(--tint) 0 62px, var(--white) 62px); color:var(--navy); box-shadow:0 2px 4px color-mix(in srgb,var(--navy) 6%,transparent), 0 20px 50px color-mix(in srgb,var(--blue) 30%,transparent); text-align:center; height:100%}
.sh-band button.mb-b:hover{transform:translateY(-6px)}
.sh-band .mb-ph{width:112px; height:112px; margin:0 0 4px; border-radius:50%; box-shadow:0 0 0 6px var(--white); background:var(--tint)}
.sh-band .mb-img{border-radius:50%; box-shadow:none; filter:grayscale(1); transition:filter .35s var(--ease)}
.sh-band button.mb-b:hover .mb-img{filter:none}
.sh-band .mb-ph.none b{font:800 34px/1 var(--f-title)}
.sh-band .mb-tx{justify-items:center}
.sh-band .mb-n{font:800 18px/1.2 var(--f-title)}
.sh-band .mb-r{color:var(--navy); max-width:24ch}
.sh-band .mb-more{margin-top:auto; padding-top:6px; font-size:15px; font-weight:800; color:var(--navy)}
.sh-band .mb-more svg{transition:transform .2s var(--ease)}
.sh-band button.mb-b:hover .mb-more svg{transform:translateX(3px)}
.sh-band li:nth-child(even) button.mb-b:hover .mb-ph{transform:rotate(4deg)} .sh-band li:nth-child(odd) button.mb-b:hover .mb-ph{transform:rotate(-4deg)}
.sh-band .mb-ph{transition:transform .3s var(--ease)}
.mb-grp{display:grid; gap:22px}
.mb-gh{margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; font:800 clamp(26px,2.6vw,34px)/1.1 var(--f-title)}
.mb-gn{font:700 17px/1 var(--f-body)}
.mb-flt{display:flex; flex-wrap:wrap; gap:8px}
.mb-flt button{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border:0; border-radius:999px; background:var(--white); color:var(--navy); box-shadow:var(--e1); font:700 15px/1 var(--f-body); cursor:pointer}
.mb-flt button[aria-pressed="true"]{background:var(--navy); color:#fff; box-shadow:none}
.mb-flt .mb-c{display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border-radius:999px; background:var(--tint); color:var(--navy); font-size:15px}
.mb-flt button[aria-pressed="true"] .mb-c{background:rgba(255,255,255,.18); color:#fff}
.mb-flt button:focus-visible{outline:3px solid var(--blue); outline-offset:2px}
.dark .mb-flt button{box-shadow:none}
/* Fenêtre au centre : parcours d'un membre, ou une explication (module « Explication ») */
dialog.mb-d{border:0; padding:0; border-radius:28px; width:min(780px,calc(100% - 32px)); max-height:calc(100% - 32px); color:var(--navy); background:var(--white); box-shadow:0 30px 80px rgba(5,12,22,.45); overflow:auto; scrollbar-width:none}
dialog.mb-d::-webkit-scrollbar{display:none}
dialog.mb-d::backdrop{background:color-mix(in srgb,var(--navy) 60%,transparent)}
.mb-dw{position:relative; display:grid; grid-template-columns:240px minmax(0,1fr); gap:30px; padding:34px 36px 30px}
.mb-x{position:absolute; top:16px; right:16px; width:46px; height:46px; border:0; border-radius:50%; background:var(--tint); color:var(--navy); display:grid; place-items:center; cursor:pointer; z-index:1}
.mb-x svg{width:18px; height:18px}
.mb-x:focus-visible, .mb-nav button:focus-visible{outline:3px solid var(--blue); outline-offset:2px}
.mb-dimg{width:240px; height:240px; object-fit:cover; border-radius:var(--r22,22px); background:var(--tint)}
.sh-card .mb-dimg{filter:grayscale(1)}
.sh-round .mb-dimg{border-radius:50%}
.mb-dimg.none{display:grid; place-items:center; font:800 64px/1 var(--f-title)}
.mb-dt{display:grid; gap:12px; align-content:start; padding-right:40px; min-width:0}
.mb-dt h3{margin:0; font:700 30px/1.1 var(--f-title)}
.mb-dr{margin:0; font-size:16px; line-height:1.5}
.mb-bio{margin:0; font-size:16px; line-height:1.65}
.mb-tags{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px}
.mb-tags li{display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; background:var(--tint); font-size:15px; font-weight:700}
/* 0.37 : une bio par domaine, un bouton par domaine */
.mb-db{display:grid; gap:12px; margin-top:4px}
.mb-dbt{display:inline-flex; flex-wrap:wrap; justify-self:start; gap:6px; padding:0; background:none; scrollbar-width:none}   /* 0.38 : sélecteur à la taille de ses boutons (plus de zone vide) */
.mb-dbt::-webkit-scrollbar{display:none}
.mb-dbt button{flex:0 0 auto; min-height:38px; padding:0 15px; border:1.5px solid var(--navy); border-radius:999px; background:var(--white); color:var(--navy); font:700 15px/1 var(--f-body); white-space:nowrap; cursor:pointer; transition:background .15s, color .15s}
.mb-dbt button:hover{background:var(--tint)}
.mb-dbt button[aria-selected="true"]{background:var(--navy); color:var(--white)}
.mb-dbt button:focus-visible{outline:3px solid var(--blue); outline-offset:1px}
.mb-dbl{margin:0; justify-self:start; display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; background:var(--tint); font-size:15px; font-weight:700}
.mb-dbp{margin:0; font-size:16px; line-height:1.65}
@media (max-width:560px){ .mb-dbt button{min-height:36px; padding:0 13px; font-size:14px} }
.mb-ls{margin:4px 0 0; display:flex; flex-wrap:wrap; gap:8px}
.mb-l{display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:999px; background:var(--navy); color:#fff; font-weight:700; font-size:15px; text-decoration:none; overflow-wrap:anywhere}
.mb-l.o{background:var(--white); color:var(--navy); box-shadow:inset 0 0 0 2px var(--navy)}
.mb-l:hover{background:var(--blue); color:var(--navy)}
.mb-nav{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 24px; background:var(--tint)}
.mb-nav[hidden]{display:none}
.mb-nav button{display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border:0; border-radius:999px; background:var(--white); color:var(--navy); font:700 15px/1 var(--f-body); cursor:pointer}
.mb-pos{font-size:15px}
.xp-w{position:relative; display:grid; gap:26px; padding:44px 48px 40px}
.xp-w h3, .xp-ed h3{margin:0; padding-right:60px; font:800 clamp(30px,3.4vw,44px)/1.05 var(--f-title)}
.xp-rs, .xp-ed{display:grid}
.xp-r{display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:24px; padding:18px 0; border-top:2px solid var(--tint)}
.xp-r b{font:800 22px/1.2 var(--f-title); overflow-wrap:anywhere; hyphens:auto}
.xp-r p{margin:0; font-size:18px; line-height:1.55}
.xp-r.on{margin-top:6px; padding:26px 24px; border:0; border-radius:var(--r20,20px); background:var(--navy); color:#fff}
.xp-r.on b{color:var(--yellow)}
.xp-ed{gap:0; margin-top:18px; padding:22px; border-radius:var(--r20,20px); background:var(--white); box-shadow:var(--e1)}
@container (max-width:1000px){ .fx-mbs{grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr))} }
@container (max-width:760px){ .fx-mbs{grid-template-columns:repeat(min(var(--n),2),minmax(0,1fr))} }
@media (max-width:560px){ .fx-mbs{grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px} .mb-ph{width:112px; height:112px} .sh-card .mb-ph{width:auto; height:auto} .sh-card .mb-b{padding:10px 10px 14px} .mb-dw{grid-template-columns:minmax(0,1fr); padding:26px 22px; gap:20px} .mb-dimg{width:140px; height:140px} .mb-dt{padding-right:0} .mb-dt h3{font-size:24px} .xp-w{padding:30px 22px 24px} .xp-r{grid-template-columns:minmax(0,1fr); gap:6px} .mb-nav{padding:12px 14px} .mb-nav .mb-nn{display:none} }

/* ---------- Haut de page en section libre (0.8.2) : fond marine, bord en biais, illustration qui flotte ---------- */
.sec.free:has(> .fx.top){position:relative; padding-top:clamp(40px,5vw,72px); padding-bottom:calc(var(--edge) + clamp(28px,4vw,56px))}
.sec.free:has(> .fx.top) > .edge{z-index:0}
.sec.free:has(> .fx.top) + .sec{padding-top:clamp(48px,6vw,80px)}   /* après un biais : écart mesuré depuis le point bas, le côté haut ajoute déjà la hauteur du biais */
.fx.top{position:relative; z-index:1}
.fx.top .fx-h1{font-size:clamp(48px,6vw,88px); line-height:.98; letter-spacing:-.015em}
.fx.top .kick{margin-bottom:14px}
/* Variante d'image « Flottante » : l'illustration flotte, trois petites formes en contour bougent doucement autour (effet Floating Images, discret) */
.fx-fig.blob{position:relative; isolation:isolate; padding:4% 4% 0}
.fx-fig.blob::before, .fx-fig.blob::after{content:""; position:absolute; z-index:-1; border-radius:50%; box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--navy) 30%,transparent)}
.dark .fx-fig.blob::before, .dark .fx-fig.blob::after{box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.fx-fig.blob::before{width:3.2%; aspect-ratio:1; left:4%; top:14%}
.fx-fig.blob::after{width:5.2%; aspect-ratio:1; right:6%; bottom:16%}
.fx-fig.blob img{position:relative; display:block; width:100%; height:auto; border-radius:0; box-shadow:none; background:none}
@media (prefers-reduced-motion:no-preference){
  .hero-anim .fx-fig.blob img{animation:fxfloat 7s ease-in-out infinite}
  .hero-anim .fx-fig.blob::before{animation:fxdrift 9s ease-in-out infinite}
  .hero-anim .fx-fig.blob::after{animation:fxdrift2 11s ease-in-out infinite}
}
@keyframes fxfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes fxdrift{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-14px)}}
@keyframes fxdrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-16px,10px) scale(1.2)}}

/* ---------- Titres (0.8.2) : même échelle sur toutes les pages, mot animé, appel à l'action ---------- */
.fx-h2{font-size:clamp(36px,4.4vw,64px); font-weight:800; line-height:1.02; letter-spacing:-.01em}
.fx-h.big{font-size:clamp(40px,5vw,72px); font-weight:800; line-height:1; letter-spacing:-.012em}
.fx-h.cta{font-size:clamp(40px,5vw,72px); font-weight:800; line-height:1; letter-spacing:-.012em}
.fx-h3{font-weight:800}
.aw{color:var(--blue); margin-right:.1em}
.dark .aw{color:var(--yellow)}
.aw > span{display:inline-block; vertical-align:top; overflow:hidden; white-space:nowrap; max-width:4em; padding-bottom:.22em; margin-bottom:-.22em; text-decoration:line-through; text-decoration-color:transparent; text-decoration-thickness:.07em}
.aw > span:not(:last-child){max-width:0}
/* Le mot animé se joue une fois, quand le titre arrive à l'écran (site.js pose .aw-go) ; puis le bouton de la même section glisse en place (.aw-done) */
.aw-go .aw3 > .aw-1{animation:aw31 4.2s ease-in-out both} .aw-go .aw3 > .aw-2{animation:aw32 4.2s ease-in-out both} .aw-go .aw3 > .aw-3{animation:aw33 4.2s ease-in-out both}
.aw-go .aw2 > .aw-1{animation:aw21 3s ease-in-out both} .aw-go .aw2 > .aw-2{animation:aw22 3s ease-in-out both}
.aw-wait .fx-xpb{opacity:0; transform:translateX(-16px); transition:opacity .6s var(--ease), transform .7s cubic-bezier(.2,.8,.2,1)}
.aw-wait.aw-done .fx-xpb{opacity:1; transform:none}
@keyframes aw31{0%{max-width:0}8%,26%{max-width:4em; text-decoration-color:transparent}33%,36%{max-width:4em; text-decoration-color:currentColor}44%,100%{max-width:0; text-decoration-color:currentColor}}
@keyframes aw32{0%,44%{max-width:0; text-decoration-color:transparent}52%,64%{max-width:4em; text-decoration-color:transparent}71%,74%{max-width:4em; text-decoration-color:currentColor}82%,100%{max-width:0; text-decoration-color:currentColor}}
@keyframes aw33{0%,82%{max-width:0}92%,100%{max-width:4em}}
@keyframes aw21{0%{max-width:0}10%,45%{max-width:4em; text-decoration-color:transparent}55%,60%{max-width:4em; text-decoration-color:currentColor}72%,100%{max-width:0; text-decoration-color:currentColor}}
@keyframes aw22{0%,72%{max-width:0}88%,100%{max-width:4em}}

/* ---------- Boutons (0.8.2) : le premier porte l'action (bleu clair), les autres en contour ; toujours sur une ligne ---------- */
.btn-c{background:transparent; color:var(--navy); border-color:var(--navy); box-shadow:none}
.btn-c:hover{background:var(--navy); color:#fff}
.dark .btn-c{color:#fff; border-color:#fff}
.dark .btn-c:hover{background:#fff; color:var(--navy)}
.fx-btn{flex-wrap:nowrap}
.fx-btn .btn{white-space:nowrap}
@media (max-width:760px){ .fx-btn{flex-direction:column; align-items:stretch} .fx-btn .btn{width:100%; white-space:normal} }

/* ---------- Cartes à bandeau (0.8.2) : celles des enjeux de la landing théâtre-forum, réutilisées ---------- */
.fx-gains{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.fx-gains .was.none{min-height:72px; padding:0}
.fx-gains .card.gain{transition:transform .25s var(--ease), box-shadow .25s var(--ease)}
.fx-gains .card.gain:hover{transform:translateY(-4px); box-shadow:var(--e2)}
@container (max-width:760px){ .fx-gains{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .fx-gains{grid-template-columns:minmax(0,1fr)} }

/* Bouton blanc à bordure bleu clair (ouvre une explication) : il se remplit de bleu clair au survol */
.btn-b{background:var(--white); color:var(--blue); border-color:var(--blue); box-shadow:none}
.btn-b:hover{background:var(--blue); color:var(--navy)}
/* Un titre suivi d'une explication dans la même colonne : sur une ligne, le bouton centré à la hauteur du titre (page Équipe) */
@media (min-width:761px){
  .fx-c:has(> .fxt-title + .fxt-explain){display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:32px}
  .fx-c:has(> .fxt-title + .fxt-explain) > .fx-m:not(.fxt-title):not(.fxt-explain){grid-column:1 / -1}
  .fx-c:has(> .fxt-title + .fxt-explain) > .fxt-explain{justify-self:end; margin-top:0}
}
.sh-card li{display:grid}
.sh-card .mb-b{height:100%}
@media (min-width:1000px){ .fx-c:has(> .fxt-title + .fxt-explain) > .fxt-title .fx-h{white-space:nowrap} }
.fx-btn .btn{padding-inline:24px}
@media (max-width:560px){ .mb-flt{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-inline:-20px; padding:4px 20px 10px} .mb-flt::-webkit-scrollbar{display:none} .mb-flt button{flex:none} }
/* Petits boutons des fenêtres (fermer, précédent, suivant) : un mouvement discret et cohérent au survol */
.mb-x{transition:background .2s var(--ease), color .2s var(--ease), transform .25s var(--ease)}
.mb-x:hover{background:var(--navy); color:#fff; transform:rotate(90deg)}
.mb-nav button{transition:background .2s var(--ease), transform .2s var(--ease)}
.mb-nav button:hover{background:var(--blue)}
.mb-nav [data-mbs="-1"]:hover{transform:translateX(-3px)}
.mb-nav [data-mbs="1"]:hover{transform:translateX(3px)}
.mb-flt button{transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease)}
.mb-flt button:not([aria-pressed="true"]):hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){ .mb-x:hover, .mb-nav button:hover, .mb-flt button:hover{transform:none} }

/* ---------- Portraits en scène (0.8.4) : haut de page de la page Équipe, en éventail ou en bandeau ----------
   Entrée de page commune : le titre monte, puis la phrase, puis le bouton (--k), puis les portraits se mettent en place, et les chiffres clés en jaune se posent en dernier.
   Une seule fois ; l'état final est l'état sans animation (modification, moins d'animations, tests). */
.fc{position:relative}
.fc-l{list-style:none; margin:0; padding:0}
.fc-c{overflow:hidden; background:var(--white); color:var(--navy)}
.fc-ph{display:block}
.fc-img{display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1); border-radius:0; box-shadow:none}
.fc-ph .ed-imgadd{width:100%; height:100%; border-radius:0}
.fc-fig{font:800 1em/1 var(--f-title)}
/* Éventail : cinq cartes qui arrivent en pile puis s'ouvrent ; l'étiquette jaune dessous */
.fc-f{max-width:560px; margin-inline:auto; padding-bottom:64px}
.fc-f .fc-l{position:relative; aspect-ratio:560/330}
.fc-f .fc-c{position:absolute; left:34.5%; top:4%; width:31%; border-radius:var(--r22,22px); box-shadow:var(--e-dark); transform-origin:50% 120%; transform:var(--to); transition:transform .3s var(--ease)}
.fc-f .fc-ph{aspect-ratio:1}
.fc-f .fc-n{display:block; padding:10px 14px 12px; font:700 16px/1.2 var(--f-title)}
.fc-f .fc-c:nth-child(1){--to:translate(-92%,14%) rotate(-16deg); z-index:1}
.fc-f .fc-c:nth-child(2){--to:translate(-47%,3%) rotate(-8deg); z-index:2}
.fc-f .fc-c:nth-child(3){--to:none; z-index:3}
.fc-f .fc-c:nth-child(4){--to:translate(47%,3%) rotate(8deg); z-index:2}
.fc-f .fc-c:nth-child(5){--to:translate(92%,14%) rotate(16deg); z-index:1}
.fc-f .fc-c:hover{z-index:9}
.fc-tag{position:absolute; left:0; right:0; bottom:0; width:max-content; max-width:100%; margin:0 auto; display:flex; align-items:baseline; gap:8px; padding:12px 20px; border-radius:999px; background:var(--yellow); color:var(--navy); font-weight:800; font-size:17px; transform:rotate(-3deg); box-shadow:var(--e-dark)}
.fc-tag .fc-fig{font-size:22px}
/* Bandeau : pleine largeur, légèrement incliné, la case jaune au milieu */
.sec.free:has(.fc-s){overflow-x:clip}
.fc-s{margin-inline:calc(50% - 50vw); padding:clamp(24px,3vw,40px) 0 clamp(8px,2vw,24px)}
.fc-s .fc-l{display:flex; align-items:flex-start; justify-content:center; gap:clamp(10px,1.2vw,16px); transform:rotate(-3deg)}
.fc-s .fc-c{flex:none; width:clamp(108px,10.4vw,150px); aspect-ratio:150/180; border-radius:var(--r20,20px)}
.fc-s .fc-ph{height:100%}
.fc-s .fc-y{width:clamp(136px,13vw,190px); aspect-ratio:auto; align-self:stretch; display:grid; align-content:end; padding:14px 16px; background:var(--yellow); font:800 clamp(16px,1.4vw,20px)/1.1 var(--f-title); text-align:left}
.fc-s .fc-y .fc-fig{font-size:clamp(34px,3.3vw,48px); line-height:.9}
.fc-s .fc-y .fc-ft{display:block; margin-top:6px; font-size:clamp(15px,1.15vw,16.5px); line-height:1.2}
.fxt-faces{min-width:0}
@media (max-width:560px){ .fc-f .fc-l{aspect-ratio:560/290} .fc-f .fc-c{left:37%; width:26%; border-radius:16px} .fc-f .fc-n{font-size:15px; padding:6px 8px 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis} .fc-s .fc-y{padding:12px} }
@media (max-width:760px){ .fc-f{padding-bottom:56px} .fc-tag{font-size:15px; padding:10px 16px} }
@keyframes fxin{from{opacity:0; transform:translateY(26px)}to{opacity:1; transform:none}}
@keyframes fcspread{0%{opacity:0; transform:translateY(60px)}30%{opacity:1; transform:none}100%{opacity:1; transform:var(--to)}}
@keyframes fcpop{0%{opacity:0; transform:scale(.6) rotate(-3deg)}70%{opacity:1; transform:scale(1.06) rotate(-3deg)}100%{opacity:1; transform:rotate(-3deg)}}
@keyframes fcpop0{0%{opacity:0; transform:scale(.6)}70%{opacity:1; transform:scale(1.06)}100%{opacity:1; transform:none}}
@keyframes fcglide{from{transform:translateX(320px) rotate(-3deg)}to{transform:rotate(-3deg)}}
@keyframes fcfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:no-preference){
  .hero-anim .fx.top .fx-m:not(.fxt-faces){animation:fxin .8s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--k,0) * .15s)}
  .hero-anim .fc-f .fc-c{animation:fcspread 1.2s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(.35s + var(--i) * .06s)}
  .hero-anim .fc-tag{animation:fcpop .6s cubic-bezier(.2,.8,.2,1) 1.45s both}
  .hero-anim .fc-s .fc-l{animation:fcglide 1.6s cubic-bezier(.2,.8,.2,1) .35s both}
  .hero-anim .fc-s .fc-c{animation:fcfade .7s ease-out both; animation-delay:calc(.4s + var(--i) * .07s)}
  .hero-anim .fc-s .fc-y{animation:fcpop0 .6s cubic-bezier(.2,.8,.2,1) 1.45s both}
}
/* 0.30.1 : masquage par écran (téléphone ≤ 600 px, tablette 601 à 1 024 px, ordinateur ≥ 1 025 px) ; dans l'éditeur, l'élément reste visible, estompé */
@media (max-width:600px){ body:not(.editing) .hv-p{display:none!important} body.editing .hv-p{opacity:.45} }
@media (min-width:601px) and (max-width:1024px){ body:not(.editing) .hv-t{display:none!important} body.editing .hv-t{opacity:.45} }
@media (min-width:1025px){ body:not(.editing) .hv-d{display:none!important} body.editing .hv-d{opacity:.45} }

/* 0.38 : domaines des cartes de l'équipe (maquette validée par FJL le 11/11/2026) : premier domaine, « +n » bleu clair qui allonge la carte ; un point de couleur par domaine */
.fx-mbs li.has-tg{position:relative; display:flex; flex-direction:column}
.fx-mbs li.has-tg>.mb-tgw, .fx-mbs li.has-tg>.mb-tgx{transition:transform .2s var(--ease)}
.fx-mbs li.has-tg>.mb-b{flex:1; display:flex; flex-direction:column; align-items:center}
.sh-card li.has-tg>.mb-b{align-items:stretch}
.fx-mbs li.has-tg>.mb-b>.mb-tx{display:grid}
.sh-band li.has-tg:hover>button.mb-b, .sh-band li.has-tg:hover>.mb-tgw, .sh-band li.has-tg:hover>.mb-tgx{transform:translateY(-6px)}   /* la carte et ses domaines se soulèvent ensemble */
.sh-card li.has-tg:hover>button.mb-b, .sh-card li.has-tg:hover>.mb-tgw, .sh-card li.has-tg:hover>.mb-tgx{transform:translateY(-4px)}
.mb-tgph{display:block; height:28px; margin-top:auto}
.sh-band .mb-tgph{margin-top:auto}
.sh-band li.has-tg .mb-more{margin-top:0}
.mb-tgw{position:absolute; left:0; right:0; top:auto; bottom:64px; z-index:2; display:flex; justify-content:center; padding:0 12px; pointer-events:none}
.sh-card .mb-tgw{justify-content:flex-start; padding:0 20px}
.mb-tg{display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; max-width:100%; pointer-events:auto}
.sh-card .mb-tg{justify-content:flex-start}
.mb-dm{display:inline-flex; align-items:center; gap:7px; min-height:28px; padding:0 12px; border-radius:999px; background:var(--tint,#E8F4FB); color:var(--navy); font-size:14px; font-weight:700; white-space:nowrap}
.mb-dm i{flex:none; width:8px; height:8px; border-radius:50%; box-sizing:border-box; display:none}
.mb-dm[data-d] i{display:block}
.mb-dm[data-d="rps"] i{background:var(--yellow,#FFCC00)}
.mb-dm[data-d="vdhas"] i{background:var(--blue,#4DB4E8)}
.mb-dm[data-d="han"] i{background:var(--navy,#132438)}
.mb-dm[data-d="abs"] i{border:2px solid var(--yellow,#FFCC00)}
.mb-dm[data-d="org"] i{border:2px solid var(--blue,#4DB4E8)}
.mb-dm[data-d="ind"] i{border:2px solid var(--navy,#132438)}
.mb-dm[data-d="tech"] i{display:none}
.mb-tgm{flex:none; display:inline-flex; align-items:center; gap:3px; height:28px; padding:0 8px 0 11px; border:0; border-radius:999px; background:var(--blue,#4DB4E8); color:var(--navy,#132438); font:800 13.5px/1 var(--f-body); cursor:pointer; transition:background .15s, transform .15s}
.mb-tgm svg{width:15px; height:15px; transition:transform .2s var(--ease)}
.mb-tgm:hover{background:#3FA6DB; transform:translateY(-1px)}
.mb-tgm:focus-visible{outline:3px solid var(--navy); outline-offset:2px}
.mb-tgm[aria-expanded="true"] svg{transform:rotate(180deg)}
.mb-tgx{position:absolute; left:0; right:0; top:calc(100% - 18px); z-index:3; display:flex; flex-direction:column; align-items:center; gap:7px; padding:6px 16px 20px; background:var(--white,#fff); border-radius:0 0 var(--r26,26px) var(--r26,26px); box-shadow:0 18px 30px color-mix(in srgb,var(--navy) 10%,transparent)}
.mb-tgx[hidden]{display:none}
.sh-card .mb-tgx{align-items:flex-start; padding-left:20px; border-radius:0 0 var(--r22,22px) var(--r22,22px)}
.fx-mbs li.mb-open{z-index:4}
.fx-mbs.fx-mbs li.mb-open:hover>*{transform:none}   /* carte ouverte : elle ne bouge plus au survol */
.fx-mbs li.mb-open>.mb-b{border-bottom-left-radius:0; border-bottom-right-radius:0}
@media (prefers-reduced-motion:reduce){ .fx-mbs li.has-tg>*, .mb-tgm, .mb-tgm svg{transition:none} .fx-mbs li.has-tg:hover>*{transform:none} }
/* 0.39 : bandeau des photos du collectif qui défile, la vignette jaune fixe au centre ; pause au survol, au focus et au bouton */
.fc-mv{position:relative}
.fc-mv .fc-vp{width:110%; margin-left:-5%; overflow:hidden; transform:rotate(-3deg); padding:8px 0 12px}
.fc-mv .fc-l{transform:none; justify-content:center; width:auto}
.fc-mv.fc-run .fc-l{justify-content:flex-start; width:max-content; transform:translate3d(var(--fx,0px),0,0); will-change:transform}
.fc-mv .fc-c{opacity:1}
.fc-yw{position:absolute; inset:0; display:grid; place-items:center; z-index:2; pointer-events:none}
.fc-yw .fc-y{width:clamp(136px,13vw,190px); aspect-ratio:190/228; display:grid; align-content:end; padding:14px 16px; border-radius:var(--r20,20px); background:var(--yellow); color:var(--navy); font:800 clamp(16px,1.4vw,20px)/1.1 var(--f-title); text-align:left; transform:rotate(-3deg); box-shadow:0 14px 32px rgba(19,36,56,.28)}
.fc-yw .fc-fig{font-size:clamp(34px,3.3vw,48px); line-height:.9}
.fc-yw .fc-ft{display:block; margin-top:6px; font-size:clamp(15px,1.15vw,16.5px); line-height:1.2}
.fc-pz{position:absolute; right:clamp(16px,4vw,48px); bottom:0; z-index:3; width:40px; height:40px; border:0; border-radius:50%; display:none; place-items:center; background:var(--navy); color:#fff; cursor:pointer; box-shadow:0 6px 16px rgba(19,36,56,.25)}
.fc-mv.fc-run .fc-pz{display:grid}
.fc-pz svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round}
.fc-pz .fc-pl{fill:currentColor; stroke:none; display:none}
.fc-pz[aria-pressed=true] .fc-pa{display:none} .fc-pz[aria-pressed=true] .fc-pl{display:block}
.fc-pz:hover{background:#1d3550} .fc-pz:focus-visible{outline:3px solid var(--blue); outline-offset:3px}
@media (prefers-reduced-motion:reduce){ .fc-mv .fc-l{transform:none!important} }
