@charset "utf-8";
/* Règles communes chargées après le style propre à chaque page */
/* titre-trait */
main h2.sec-title::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--orange);margin:14px 0 20px}
main .mission-box h2.sec-title::after{margin:14px auto 0}
/* /titre-trait */
/* titres-taille */
main h2.sec-title{font-size:clamp(1.7rem,3.3vw,2.3rem)}
/* /titres-taille */

/* harmonie : 3 types de cartes, mêmes arrondis, mêmes espacements (13 octobre 2026) */
/* 1. Carte claire (type principal) : fond blanc, bord fin, arrondi 18 px */
main :is(.why-card,.scard,.at-card,.offer,.plan,.tool,.reason,.tcard,.bg-card,.fam,.cas-card,.res,.quote,.fm,.ill-card,.tf){border-radius:18px;border:1px solid var(--line);box-shadow:none}
main .tcard{border-top:1px solid var(--line)}
main .plan.featured{border:2px solid var(--orange)}
main .at-more{border:2px dashed var(--line)}
/* 2. Carte chiffre ou programme : même base + trait orange en haut */
main :is(.ws,.block){border-radius:18px}
/* 3. Grands encadrés (blocs sombres, encarts, bandeaux) : arrondi 24 px */
main :is(.box,.pml-box,.mm-teaser,.profile,.coach-cta,.cs-box){border-radius:24px}
main :is(.tband,.price-band,.mission-mini,.b2b-line,.athlete-band){border-radius:0 18px 18px 0}
/* Espacement régulier entre le sous-titre d'une section et son contenu */
main .sec-sub + :is(.offers,.profiles,.ws-grid,.plans,.flow4,.quotes,.fit,.faq,.mm-teaser,.two-ill,.res3,.cas3,.program,.day,.gain-grid,.at-grid,.bg-grid,.trainings-grid,.why,.reasons,.workshops,.tools6,.enjeux){margin-top:32px}
main .sec-title + :is(.quotes,.ws-grid,.at-grid){margin-top:32px}
/* /harmonie */
/* final-duo : un seul bloc de fin, appel principal + encart secondaire (voir .claude/bloc-final-duo.js) */
.final-duo{text-align:left}
.final-duo .box{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;padding:52px}
.final-duo .lead{margin:0 0 28px;max-width:none}
.final-duo .ctas{justify-content:flex-start}
.fd-side{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:24px}
.fd-side.fd-radar{grid-template-columns:110px 1fr}
.fd-side .radar{width:100%;max-width:110px;margin:0}
.fd-side .radar .grid{fill:none;stroke:#fff;stroke-opacity:.3}
.fd-side .radar .shape{fill:var(--orange);fill-opacity:.22;stroke:var(--orange);stroke-width:2}
.fd-kicker{display:block;font:600 .75rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.fd-side h3{font:600 1.3rem/1.2 var(--serif);color:var(--on-dark);margin:0 0 8px}
.fd-side p{margin:0 0 12px;color:var(--on-dark-muted);font-size:.95rem}
.fd-side .link-arrow{display:inline-block;color:#fff;font-weight:600}
.fd-side .fd-second{display:block;margin-top:8px;font-weight:500;color:var(--on-dark-muted)}
.fd-side small{display:block;margin-top:10px;color:var(--on-dark-muted);font-size:.8rem}
@media (max-width:860px){.final-duo .box{grid-template-columns:1fr;padding:40px 24px}.fd-side.fd-radar{grid-template-columns:80px 1fr;padding:20px}.fd-side .radar{max-width:80px}}
/* /final-duo */
/* lead-simple : texte d'en-tête en une seule couleur, sans gras (13 octobre 2026) */
main :is(.hero,.page-hero) .lead{color:#3B3530}
main :is(.hero,.page-hero) .lead strong{font-weight:600;color:var(--ink)}
main :is(.hero,.page-hero) .lead + .lead{margin-top:-6px}
main .mission-mini .hl,main .mission-mini .hl span{color:var(--orange);background:none}
/* /lead-simple */
/* menu-leger : menu plus petit, cadre discret au survol, séparé du nom (13 octobre 2026) */
@media (min-width:961px){
  .nav{gap:4px;margin-left:24px;padding-left:20px;border-left:1px solid var(--line)}
  .nav a{font-size:.93rem;padding:7px 11px;border:1px solid transparent;border-radius:12px;transition:background .2s,border-color .2s,color .2s}
  .nav-2l small{font-size:.72rem}
  .nav a:not(.btn):hover,.nav a:not(.btn):focus-visible{background:var(--orange-soft);border-color:rgba(232,82,26,.22);color:var(--orange)}
  .nav a[aria-current="page"]{background:var(--card);border-color:var(--line)}
}
@media (min-width:961px) and (max-width:1200px){.nav{margin-left:16px;padding-left:12px}.nav a{font-size:.87rem;padding:6px 8px}.nav-2l small{font-size:.67rem}}
@media (min-width:961px) and (max-width:1080px){.brand small.brand-sub{display:none}.nav{gap:0}.nav a{padding:6px 6px}}
/* /menu-leger */
/* credit-will : un seul crédit par groupe de dessins WILL (14 octobre 2026) */
.will-cr{display:block;font-size:.66rem;line-height:1.2;color:var(--muted);opacity:.8;letter-spacing:.02em}
.will-cr-grp{margin:8px 0 0;text-align:right}
/* /credit-will */

/* liens-texte (V2) */
main .offer-txt a,main .tcard p a.inline-link,main a.inline-link{color:var(--orange);font-weight:600;text-decoration:none}
main .offer-txt a:hover,main a.inline-link:hover{text-decoration:underline}
/* /liens-texte */

/* menu-sombre : essai F, barre d'en-tête foncée (19 octobre 2026, V2) */
.site-header{background:#1E1B16;border-bottom:3px solid var(--orange)}
.site-header .brand{color:#F8F5F0}
.site-header .brand small{color:var(--orange)}
.site-header .brand small.brand-sub{color:rgba(248,245,240,.6)}
.site-header .menu-toggle{color:#F8F5F0;border-color:rgba(248,245,240,.3)}
.nav .m-cta{color:#fff!important}
@media (min-width:961px){
  .nav{gap:2px;border-left-color:rgba(248,245,240,.15)}
  .nav a:not(.btn){color:#F8F5F0;border:0!important;background:none!important;padding:8px 12px}
  .nav a:not(.btn):hover,.nav a:not(.btn):focus-visible,.nav a[aria-current="page"]{color:var(--orange)}
  .nav .m-cta{margin-left:12px;padding:10px 18px;font-size:.9rem}
}
@media (min-width:961px) and (max-width:1200px){.nav a:not(.btn){padding:6px 8px}.nav .m-cta{padding:9px 14px;font-size:.85rem}}
@media (max-width:960px){.nav{background:#1E1B16;border-bottom:3px solid var(--orange)}.nav a:not(.btn){color:#F8F5F0;border-bottom-color:rgba(248,245,240,.12)}.nav a[aria-current="page"]{color:var(--orange)}}
@media (min-width:961px){
  .nav a.nav-2l small{color:var(--orange);opacity:.95}
  .nav a.nav-2l:hover small,.nav a.nav-2l[aria-current="page"] small{color:#F2A07E}
  .nav a:not(.btn){padding:6px 10px}
}
@media (min-width:961px) and (max-width:1240px){.nav a:not(.btn){padding:5px 6px;font-size:.84rem}.nav-2l small{font-size:.64rem}.nav .m-cta{margin-left:6px;padding:8px 12px;font-size:.82rem}}
@media (max-width:960px){.nav a.nav-2l small{color:var(--orange)}}
.site-header a,.site-header button{-webkit-tap-highlight-color:transparent}
.site-header :focus:not(:focus-visible){outline:none}
.nav a:not(.btn):active,.nav a:not(.btn):focus{color:var(--orange)}
.nav a.nav-2l:hover small,.nav a.nav-2l:active small,.nav a.nav-2l[aria-current="page"] small{color:var(--orange)!important}
.site-header .menu-toggle:hover,.site-header .menu-toggle:active,.site-header .menu-toggle[aria-expanded="true"]{background:rgba(232,82,26,.15);border-color:var(--orange);color:#F8F5F0}
.site-header :focus-visible{outline-color:var(--orange)}
/* /menu-sombre */

/* orange-sur-fonce : orange plus clair sur les fonds sombres, plus lisible (essai du 21 octobre 2026) */
:is(.final .box,.hos-box,main .profile .pf-head,main .trainer-plus,.bg-head,.next,.who .pf-head,.site-header,.nav){--orange:#FF8A57}
:is(.final .box,.hos-box,main .profile .pf-head,main .trainer-plus,.bg-head,.next,.who .pf-head,.site-header,.nav) .btn-primary{--orange:#E8521A}
/* fonds sombres un peu moins foncés (21 octobre 2026) */
.final .box,.hos-box,.bg-head,.next,.site-header{background:#2E2924}
@media (max-width:960px){.nav{background:#2E2924}}
/* /orange-sur-fonce */

/* menu-2etages : nom + titre à gauche, « Qui je suis ? » avec la phrase en sous-titre (essai du 21 octobre 2026) */
@media (min-width:961px){.site-header .wrap{max-width:1260px}}
@media (min-width:961px) and (max-width:1199px){.nav a[href="/a-propos/"] small{white-space:normal;max-width:150px;line-height:1.25}}
@media (min-width:961px) and (max-width:1023px){.nav a[href="/a-propos/"] small{display:none}}
/* /menu-2etages */

/* menu-actif : page en cours dans un encart blanc, texte noir (21 octobre 2026, V2) */
.nav a[aria-current="page"]:not(.btn){background:#F8F5F0!important;color:#1E1B16!important;border-radius:10px}
.nav a.nav-2l[aria-current="page"] small{color:#C9461A!important}
@media (max-width:960px){.nav a[aria-current="page"]:not(.btn){padding-left:12px;padding-right:12px}}
/* /menu-actif */
