/* ===================== Bilans de santé femme et homme ===================== */
.fm-sec{padding:clamp(72px,8vw,128px) 0}
/* Hero */
.fm-hero{min-height:clamp(700px,100svh,940px)}
.fm-scrim{background:linear-gradient(to top,rgba(18,18,17,.9) 0%,rgba(18,18,17,.35) 55%,rgba(18,18,17,.5) 100%)}
.fm-hero-g{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(40px,5vw,96px);align-items:end}
.fm-hero-l{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,32px)}
.fm-hero .fm-h1{font-size:clamp(44px,5.4vw,84px);line-height:1.02;max-width:13ch}
.fm-hero-sub{font-size:clamp(22px,1.9vw,28px);line-height:1.2;color:rgba(255,255,255,.88);max-width:26ch}
.fm-hero-cta{display:flex;align-items:center;gap:14px 26px;flex-wrap:wrap}
.fm-panel{background:rgba(245,244,241,.94);color:var(--ink);border-radius:22px;padding:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:14px}
.fm-p-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fm-p-t{font-family:var(--serif);font-size:21px}
.fm-p-s{font-size:12px;color:var(--subtle)}
.fm-p-rows{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:14px}
.fm-p-rows li{display:grid;grid-template-columns:1fr 64px 104px;align-items:center;gap:12px;padding:11px 14px;font-size:14px}
.fm-p-rows li+li{border-top:1px solid var(--line)}
.fm-p-sp path{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fm-p-sp.sv path{stroke:var(--surv)}
.fm-p-sp.ok path{stroke:var(--opt)}
.fm-p-st{font-style:normal;font-size:11.5px;justify-self:end;padding:4px 9px;border-radius:999px;white-space:nowrap}
.fm-p-st.sv{background:var(--surv-bg);color:var(--surv-text)}
.fm-p-st.ok{background:var(--opt-bg);color:var(--opt-text)}
.fm-p-note{background:var(--mist);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.fm-p-k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}
.fm-p-k i{width:8px;height:8px;border-radius:999px;background:var(--opt)}
.fm-p-note p{font-family:var(--serif);font-size:16.5px;line-height:1.35;color:var(--ink)}
.fm-hf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fm-hf li{display:flex;align-items:center;gap:14px}
.fm-hf-i{flex:none;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:var(--white)}
.fm-hf b{display:block;font-weight:500;font-size:15px;color:var(--white)}
.fm-hf small{display:block;font-size:13px;color:rgba(255,255,255,.7);margin-top:2px}
/* Introduction */
.fm-intro-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,110px);align-items:start}
.fm-intro-t{font-family:var(--serif);font-size:clamp(32px,3.5vw,54px);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
.fm-intro-r{display:flex;flex-direction:column;gap:18px;padding-top:8px}
.fm-intro-r p{font-size:clamp(16.5px,1.2vw,18px);line-height:1.7;color:var(--muted)}
.fm-intro-r strong{color:var(--ink);font-weight:600}
/* Médecin */
.fm-doc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,5vw,88px);align-items:center;padding:clamp(36px,5vw,80px);border-radius:28px;background:var(--umber-deep);color:var(--on-dark);overflow:hidden}
.fm-doc-l{display:flex;flex-direction:column;gap:24px}
.fm-doc-lead{font-size:clamp(16.5px,1.2vw,18px);line-height:1.65;color:var(--on-dark-muted);max-width:52ch}
.fm-doc-list{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.fm-doc-list li{display:flex;gap:16px;padding:22px 0;border-top:1px solid var(--line-dark)}
.fm-doc-list .num{font-family:var(--serif);font-size:18px;color:var(--on-dark-muted);padding-top:3px}
.fm-doc-list h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15;margin-bottom:8px}
.fm-doc-list p{font-size:14.5px;line-height:1.55;color:var(--on-dark-muted)}
.fm-doc-ordre{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:var(--on-dark-muted)}
.fm-venn{width:100%;height:auto;display:block;overflow:visible}
.fm-v-c{fill:none;stroke:rgba(245,244,241,.42);stroke-width:1.2}
.fm-v-in{fill:rgba(245,244,241,.1)}
.fm-v-l,.fm-v-r{transition:transform 1.4s var(--ease) .2s}
.rv:not(.in) .fm-v-l{transform:translateX(-26px)}
.rv:not(.in) .fm-v-r{transform:translateX(26px)}
.fm-v-lab{font-family:var(--serif);font-size:25px;fill:var(--on-dark)}
.fm-v-sub{font-family:var(--sans);font-size:13px;fill:var(--on-dark-muted)}
.fm-v-mid{font-family:var(--serif);font-style:italic;font-size:24px;fill:var(--on-dark)}
/* En-tête de section */
.fm-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px clamp(40px,6vw,110px);align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.fm-head .h2{max-width:15ch}
/* Mosaïque */
.fm-bento{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:14px}
.fm-b{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(26px,2.4vw,34px);border-radius:var(--r-img);background:var(--white);border:1px solid var(--line);overflow:hidden;transition:translate .5s var(--ease),box-shadow .5s var(--ease)}
.fm-b h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2vw,29px);line-height:1.12;padding-top:22px}
.fm-b-foot{margin-top:auto;align-self:flex-start;font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.fm-b p{font-size:15px;line-height:1.6;color:var(--muted);max-width:44ch}
.fm-b-i{width:46px;height:46px;border-radius:999px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.fm-b-main{grid-row:1/3;background:var(--umber);border-color:var(--umber);color:var(--on-dark);min-height:520px;justify-content:flex-start}
.fm-b-main .fm-b-i{background:rgba(245,244,241,.1);color:var(--on-dark)}
.fm-b-main h3{font-size:clamp(34px,3vw,46px);margin-top:0;padding-top:clamp(40px,6vw,96px)}
.fm-b-main p{color:var(--on-dark-muted);font-size:16px}
.fm-b-tags{position:relative;z-index:1;list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fm-b-tags li{font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-dark);color:var(--on-dark)}
.fm-waves{position:absolute;left:0;right:0;bottom:-6px;width:100%;height:34%;pointer-events:none}
.fm-b-main{padding-bottom:clamp(110px,10vw,150px)}
.fm-waves path{stroke:var(--on-dark-muted);stroke-width:1}
.fm-b-wide{gap:18px}
.fm-b-x{display:flex;flex-direction:column;gap:12px}
.fm-b-wide .fm-cort{margin-top:auto}
.fm-cort{flex:none;width:min(100%,230px);height:auto;overflow:visible;margin-top:4px}
.fm-cort .fm-cort-a{stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.fm-cort circle{fill:var(--ink)}
.fm-cort line{stroke:var(--line-strong);stroke-width:1}
.fm-cort text{font-family:var(--sans);font-size:11px;fill:var(--subtle)}
@media (hover:hover){.fm-b:hover{translate:0 -4px;box-shadow:0 24px 48px -28px rgba(18,18,17,.35)}}
.fm-more{display:flex;justify-content:center;margin-top:clamp(28px,3vw,40px)}
/* Marqueurs */
.fm-mk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,5vw,88px);align-items:center;padding:clamp(32px,4vw,64px);border-radius:28px;background:var(--mist)}
.fm-mk-l{display:flex;flex-direction:column;gap:22px}
.fm-mk-l .h2{max-width:12ch}
.fm-mk-l .lead strong{color:var(--ink);font-weight:600}
.fm-link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-size:15px;color:var(--ink);text-decoration:none;padding-bottom:4px;border-bottom:1px solid currentColor}
.fm-mk-r{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(10px,1.2vw,16px) clamp(22px,2.4vw,34px)}
.fm-grp{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px 20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.fm-grp h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2}
.fm-grp ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fm-grp a{display:inline-flex;font-size:14px;padding:9px 15px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background-color .3s,color .3s,border-color .3s}
@media (hover:hover){.fm-grp a:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}}
.fm-mk-foot{font-size:14px;color:var(--subtle);padding:18px 0 10px}
/* Témoignage + financement */
.fm-duo{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:14px;align-items:stretch}
.fm-quote{margin:0;display:flex;flex-direction:column;gap:24px;padding:clamp(28px,3vw,48px);border-radius:var(--r-img);background:var(--mist)}
.fm-quote blockquote{margin:0;font-size:clamp(28px,2.7vw,40px);line-height:1.18;letter-spacing:-.01em;color:var(--ink);max-width:22ch}
.fm-quote figcaption{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line-strong);max-width:52ch}
.fm-quote figcaption span{font-size:13px;font-weight:600;color:var(--ink)}
.fm-quote figcaption p{font-size:15px;line-height:1.6;color:var(--muted)}
.fm-duo .fund{height:100%}
/* Guide */
.fm-guide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);border-radius:28px;background:var(--umber-deep);color:var(--on-dark);overflow:hidden}
.fm-guide-v{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;margin:12px;border-radius:20px;background:radial-gradient(120% 90% at 50% 40%,#FAF9F6 0%,var(--mist) 60%,#E2DFD8 100%)}
.fm-guide-v img{width:min(62%,300px);height:auto;filter:drop-shadow(0 34px 40px rgba(18,18,17,.32));transform:rotate(-4deg);transition:transform .8s var(--ease)}
@media (hover:hover){.fm-guide:hover .fm-guide-v img{transform:rotate(-2deg) translateY(-6px)}}
.fm-guide-x{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:clamp(32px,4.5vw,72px)}
.fm-guide-x .h2{max-width:12ch}
.fm-guide-lead{font-size:clamp(16.5px,1.2vw,18px);line-height:1.65;color:var(--on-dark-muted);max-width:44ch}
.fm-guide-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.fm-guide-l li{display:flex;flex-direction:column;gap:6px;padding:20px 16px 20px 0}
.fm-guide-l li+li{padding-left:18px;border-left:1px solid var(--line-dark)}
.fm-guide-l b{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3vw,44px);line-height:1}
.fm-guide-l span{font-size:13.5px;line-height:1.4;color:var(--on-dark-muted)}
.fm-guide-x .pill{align-self:flex-start}
/* Responsive */
@media (max-width:1100px){
  .fm-hero-g{grid-template-columns:minmax(0,1fr) 360px}
  .fm-bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fm-b-main{grid-row:auto;grid-column:1/-1;min-height:420px}
}
@media (max-width:900px){
  .fm-hero-g{grid-template-columns:minmax(0,1fr)}
  .fm-panel{max-width:420px}
  .fm-intro-g,.fm-doc,.fm-head,.fm-mk,.fm-duo,.fm-guide{grid-template-columns:minmax(0,1fr)}
  .fm-doc-r{max-width:460px}
  .fm-guide-v{min-height:340px}
}
@media (max-width:640px){
  .fm-panel{display:none}
  .fm-hf{grid-template-columns:minmax(0,1fr);gap:14px}
  .fm-hero-cta .pill{flex:1;justify-content:space-between}
  .fm-doc-list{grid-template-columns:minmax(0,1fr)}
  .fm-bento{grid-template-columns:minmax(0,1fr)}
  .fm-grp{grid-template-columns:minmax(0,1fr);gap:12px}
  .fm-guide-l li{padding-right:10px}
  .fm-guide-l li+li{padding-left:12px}
  .fm-guide-x .pill{align-self:stretch;justify-content:space-between}
  .fm-mk,.fm-doc{border-radius:22px}
}
