/* ===================== Bilan de santé 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}
}

/* ===== Page ville (bilan de santé à Lyon) ===== */
.cv-sec{padding:clamp(80px,9vw,140px) 0}
.cv-head{display:flex;flex-direction:column;gap:20px;max-width:760px;margin-bottom:clamp(44px,5vw,72px)}
.cv-answer{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--muted);max-width:60ch}
.on-dark .cv-answer{color:var(--on-dark-muted)}

/* hero */
.cv-hero{min-height:clamp(720px,100svh,960px)}
.cv-hero .scrim{background:linear-gradient(to top,rgba(18,18,17,.92) 0%,rgba(18,18,17,.42) 55%,rgba(18,18,17,.55) 100%)}
.cv-hero-g{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(40px,5vw,96px);align-items:end}
.cv-hero-l{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,32px)}
.cv-hero .cv-h1{font-size:clamp(44px,5.6vw,88px);line-height:1.02;max-width:14ch}
.cv-sub{font-size:clamp(21px,1.8vw,27px);line-height:1.22;color:rgba(255,255,255,.9);max-width:30ch}
.cv-cta{display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap}
.cv-team{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:var(--r-img);padding:24px;display:flex;flex-direction:column;gap:18px}
.cv-faces{display:flex}
.cv-faces span{width:64px;height:64px;border-radius:999px;overflow:hidden;border:2px solid rgba(255,255,255,.9);margin-left:-14px;background:var(--umber-2)}
.cv-faces span:first-child{margin-left:0}
.cv-faces img{width:100%;height:100%;object-fit:cover}
.cv-team p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.9)}
.cv-team .serif{font-size:24px;line-height:1.15;color:var(--white)}
.cv-team small{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.72)}
.cv-hf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cv-hf li{display:flex;flex-direction:column;gap:4px;font-size:15px}
.cv-hf b{font-weight:500}
.cv-hf small{font-size:13px;color:rgba(255,255,255,.7)}

/* check-up ponctuel / Ikare */
.cv-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,104px);align-items:start}
.cv-intro .h2{max-width:13ch}
.cv-cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.5}
.cv-cmp th,.cv-cmp td{padding:18px 20px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.cv-cmp thead th{border-top:0;font-weight:500;font-size:13px;color:var(--subtle);padding-top:0}
.cv-cmp thead th.own{color:var(--white);background:var(--ink);border-radius:14px 14px 0 0;padding-top:18px;font-size:14px}
.cv-cmp th[scope=row]{font-weight:500;color:var(--ink);width:24%}
.cv-cmp td{color:var(--muted)}
.cv-cmp td.own{background:var(--white);color:var(--ink);border-top-color:var(--line);box-shadow:inset 1px 0 0 var(--line),inset -1px 0 0 var(--line)}
.cv-cmp tr:last-child td.own{border-radius:0 0 14px 14px;box-shadow:inset 1px 0 0 var(--line),inset -1px 0 0 var(--line),inset 0 -1px 0 var(--line)}

/* longévité */
.cv-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cv-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:14px}
.cv-card h3{font-family:var(--serif);font-size:clamp(24px,2vw,30px);line-height:1.1}
.cv-card p{font-size:15px;line-height:1.55;color:var(--muted)}
.cv-big{font-family:var(--serif);font-size:clamp(56px,5vw,76px);line-height:.9;letter-spacing:-.02em;color:var(--ink)}
.cv-src{font-size:12.5px;color:var(--subtle);margin-top:auto}

/* piliers */
.cv-pil-s{background:var(--umber)}
.cv-pil{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--r-img);overflow:hidden}
.cv-p{background:var(--umber);padding:clamp(26px,2.4vw,36px);display:flex;flex-direction:column;gap:18px;min-height:440px}
.cv-p .num{font-size:13px;color:var(--on-dark-muted)}
.cv-p h3{font-family:var(--serif);font-size:clamp(28px,2.4vw,36px);line-height:1.05;color:var(--on-dark)}
.cv-p dl{margin:auto 0 0;display:flex;flex-direction:column;gap:16px}
.cv-p dt{font-size:12.5px;color:var(--on-dark-muted);margin-bottom:4px}
.cv-p dd{margin:0;font-size:15px;line-height:1.5;color:var(--on-dark)}
.cv-p svg{color:var(--on-dark)}
.cv-pil-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}

/* douze mois */
.cv-year{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.cv-year:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--line-strong)}
.cv-step{position:relative;display:flex;flex-direction:column;gap:10px;padding-top:40px}
.cv-step:before{content:"";position:absolute;top:2px;left:0;width:15px;height:15px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink)}
.cv-step.key:before{background:var(--ink)}
.cv-step .when{font-size:13px;color:var(--subtle)}
.cv-step h3{font-family:var(--serif);font-size:clamp(22px,1.8vw,27px);line-height:1.1}
.cv-step p{font-size:14.5px;line-height:1.55;color:var(--muted)}

/* médecins */
.cv-doc-s{background:var(--umber-deep)}
.cv-doc-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(40px,5vw,88px);align-items:end}
.cv-doc-l{display:flex;flex-direction:column;gap:24px;padding-bottom:8px}
.cv-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cv-docs figure{margin:0;display:flex;flex-direction:column;gap:14px}
.cv-docs figure:nth-child(2){transform:translateY(-48px)}
.cv-ph{position:relative;aspect-ratio:4/5;border-radius:var(--r-img);overflow:hidden;background:var(--umber-2)}
.cv-ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform 1.2s var(--ease)}
.cv-ph:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);background:linear-gradient(to top,rgba(18,18,17,.28),rgba(18,18,17,0) 40%)}
.cv-docs figcaption{display:flex;flex-direction:column;gap:3px}
.cv-docs figcaption b{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--on-dark)}
.cv-docs figcaption span{font-size:13px;color:var(--on-dark-muted);display:flex;align-items:center;gap:7px}
.cv-doc-note{font-size:15px;line-height:1.55;color:var(--on-dark-muted);border-top:1px solid var(--line-dark);padding-top:22px}
@media (hover:hover){.cv-docs figure:hover .cv-ph img{transform:scale(1.035)}}

/* Lyon */
.cv-local{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,5vw,88px);align-items:center}
.cv-local-l{display:flex;flex-direction:column;gap:24px}
.cv-labs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.cv-labs li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.cv-labs li span{color:var(--subtle);font-size:13px;white-space:nowrap}
.cv-moment{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px;font-size:15px;line-height:1.5;color:var(--muted)}
.cv-moment b{color:var(--ink);font-weight:500}
.cv-map{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;gap:12px}
.cv-map svg{width:100%;height:auto;display:block}
.cv-map .riv{fill:none;stroke:#D9D6CF;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.cv-map .lab{fill:var(--ink)}
.cv-map .halo{fill:var(--ink);opacity:.08}
.cv-map text{font-family:var(--sans);font-size:13px;fill:var(--muted)}
.cv-map text.rv-name{font-size:11.5px;fill:var(--taupe);font-style:italic}

/* prix */
.cv-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.cv-offer{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);padding:clamp(26px,2.6vw,38px);display:flex;flex-direction:column;gap:16px}
.cv-offer.dark{background:var(--ink);border-color:var(--ink);color:var(--white)}
.cv-offer h3{font-family:var(--serif);font-size:30px;line-height:1.1}
.cv-offer .amt{font-family:var(--serif);font-size:clamp(48px,4.4vw,64px);line-height:1;letter-spacing:-.02em}
.cv-offer .amt small{font-family:var(--sans);font-size:15px;letter-spacing:0;margin-left:6px;opacity:.75}
.cv-offer p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.cv-offer.dark p{color:var(--on-dark-muted)}
.cv-offer .pill{margin-top:auto;justify-content:space-between}

@media (max-width:1180px){
  .cv-pil{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv-p{min-height:380px}
  .cv-year{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
  .cv-year:before{display:none}
}
@media (max-width:1000px){
  .cv-hero-g,.cv-intro,.cv-doc-g,.cv-local{grid-template-columns:1fr}
  .cv-team{max-width:460px}
  .cv-hf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv-proof,.cv-price{grid-template-columns:1fr}
  .cv-docs figure:nth-child(2){transform:none}
}
@media (max-width:760px){
  .cv-pil{grid-template-columns:1fr}
  .cv-p{min-height:0}
  .cv-year{grid-template-columns:1fr}
  .cv-docs{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .cv-docs figure{scroll-snap-align:start}
  .cv-labs{grid-template-columns:1fr}
  .cv-cmp th,.cv-cmp td{padding:14px 12px;font-size:14px}
  .cv-cmp th[scope=row]{width:30%}
}


/* ce que nous mesurons : six domaines cliquables */
.cv-checks-head{display:flex;align-items:flex-end;gap:clamp(20px,3vw,40px);margin-bottom:clamp(28px,3vw,44px);flex-wrap:wrap}
.cv-huge{font-family:var(--serif);font-size:clamp(110px,13vw,200px);line-height:.82;letter-spacing:-.03em;color:var(--ink)}
.cv-huge-l{font-family:var(--serif);font-size:clamp(28px,2.8vw,42px);line-height:1.1;max-width:18ch;display:flex;flex-direction:column;gap:12px;padding-bottom:6px}
.cv-huge-l small{font-family:var(--sans);font-size:14px;color:var(--subtle)}
.cv-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:16px}
@media (min-width:1001px){.cv-checks .cv-chk:first-child{grid-column:span 2}}
.cv-chk{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);transition:border-color .3s,box-shadow .3s}
.cv-checks details:first-of-type,.cv-checks details:last-of-type{border:1px solid var(--line)}
.cv-checks .cv-chk[open]{border-color:var(--ink);box-shadow:0 18px 40px rgba(27,26,24,.08)}
.cv-chk summary{padding:clamp(22px,2.2vw,30px);gap:18px;justify-content:flex-start}
.cv-chk summary:after{margin-left:auto}
.cv-chk-i{width:56px;height:56px;flex:0 0 56px;border-radius:999px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.cv-chk-t{display:flex;flex-direction:column;gap:4px}
.cv-chk-t b{font-family:var(--serif);font-weight:400;font-size:clamp(32px,2.8vw,42px);line-height:1;color:var(--ink)}
.cv-chk-t small{font-size:14px;color:var(--subtle)}
.cv-chk-d{padding:0 clamp(22px,2.2vw,30px) clamp(22px,2.2vw,30px);display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.6;color:var(--muted)}
.cv-chk-link{font-size:14px;color:var(--ink);text-underline-offset:4px}
.cv-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
.cv-big{font-size:clamp(80px,8vw,124px)}
.cv-hf b{font-size:17px}
/* modalités de prélèvement */
.cv-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cv-mode{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.cv-mode h3{font-family:var(--serif);font-size:26px;line-height:1.05}
.cv-mode p{font-size:14px;line-height:1.5;color:var(--muted)}
@media (max-width:1000px){.cv-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-proof{grid-template-columns:1fr}}
@media (max-width:760px){.cv-checks,.cv-modes{grid-template-columns:1fr}}

/* ===== repasse SEO / GEO / conversion ===== */
.cv-card .cv-big{font-family:var(--serif);font-size:clamp(96px,9vw,140px);line-height:.85;letter-spacing:-.03em;color:var(--ink);margin-bottom:4px}
.cv-city{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,88px);align-items:center}
.cv-city-l{display:flex;flex-direction:column;gap:20px}
.cv-city-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cv-stat{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:12px}
.cv-stat .cv-stat-n{font-family:var(--serif);font-size:clamp(64px,6vw,96px);line-height:.9;letter-spacing:-.03em;color:var(--ink)}
.cv-stat .cv-stat-l{font-size:15px;line-height:1.5;color:var(--muted)}
.cv-stat .cv-stat-s{font-size:12.5px;color:var(--subtle);margin-top:auto}
.cv-map .city{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:4 4}
.cv-map text.city-t{font-family:var(--serif);font-size:22px;fill:var(--ink)}
@media (max-width:1000px){.cv-city{grid-template-columns:1fr}}
@media (max-width:620px){.cv-city-r{grid-template-columns:1fr}}
.cv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cv-micro{font-size:13.5px;color:rgba(255,255,255,.75);margin-top:-8px}
.cv-ess-s{padding-bottom:clamp(56px,6vw,96px)}
.cv-ess{background:var(--white);border:1px solid var(--line);border-radius:var(--r-img);padding:clamp(26px,3vw,44px);display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px clamp(24px,4vw,64px)}
.cv-ess-k{font-family:var(--serif);font-size:clamp(26px,2.2vw,32px);line-height:1.1}
.cv-ess ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.cv-ess li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.55;color:var(--ink)}
.cv-ess li:first-child{border-top:0;padding-top:0}
.cv-ess li:before{content:"";position:absolute;left:0;top:21px;width:7px;height:7px;border-radius:999px;background:var(--ink)}
.cv-ess li:first-child:before{top:9px}
.cv-ess-d{grid-column:2;font-size:12.5px;color:var(--subtle)}
.cv-cmp-box{overflow-x:auto}
.cv-cmp{min-width:760px}
.cv-cmp th[scope=row]{width:18%}
.cv-cmp thead th{vertical-align:bottom}
.cv-chk-mk{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cv-chk-mk a{display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--paper);font-size:13px;color:var(--ink);text-decoration:none;transition:background-color .3s}
.cv-chk-mk a:hover{background:var(--line)}
.cv-chk-d a{color:var(--ink)}
a.cv-src{color:var(--ink);text-underline-offset:4px}
.cv-midcta{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;margin-top:clamp(40px,4vw,64px)}
.cv-midcta .small{max-width:42ch}
.cv-inl{color:inherit;text-underline-offset:4px;font-size:15px}
.cv-doc-note .cv-inl{color:var(--on-dark);margin-left:4px}
.cv-labs-t{font-family:var(--serif);font-size:24px;line-height:1.15;margin-top:8px}
.cv-labs li{flex-direction:column;gap:2px;justify-content:flex-start}
.cv-labs li b{font-weight:500}
.cv-labs li span{white-space:normal}
.cv-inc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cv-inc li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.45}
.cv-inc .ck{width:20px;height:20px;border-radius:999px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;flex:0 0 20px;margin-top:1px}
.cv-lm{background:var(--mist);border-radius:var(--r-img);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.cv-lm-l{display:flex;flex-direction:column;gap:16px}
.cv-lm-r{display:flex;flex-direction:column;gap:12px}
.cv-lm-c{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px;text-decoration:none;color:var(--ink);transition:border-color .3s,transform .35s var(--ease)}
.cv-lm-c b{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15}
.cv-lm-c span{display:inline-flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}
.cv-lm-c .ar{width:36px;height:36px;border-radius:999px;background:var(--ink);color:var(--white);display:inline-flex;align-items:center;justify-content:center}
@media (hover:hover){.cv-lm-c:hover{border-color:var(--ink);transform:translateY(-2px)}}
.cv-end{background:var(--mist);padding:clamp(56px,6vw,88px) 0}
.cv-end-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,64px)}
.cv-crumb{grid-column:1/-1}
.cv-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--subtle)}
.cv-crumb li+li:before{content:"›";margin-right:8px}
.cv-crumb a{color:var(--muted);text-underline-offset:3px}
.cv-end-c{display:flex;flex-direction:column;gap:14px}
.cv-end-t{font-family:var(--serif);font-size:24px;line-height:1.1}
.cv-srcs{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.cv-srcs a{color:var(--ink);word-break:break-word}
.cv-rev{font-size:13px;color:var(--subtle)}
.cv-rev a,.cv-ess-d a{color:var(--ink);text-underline-offset:3px}
.cv-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.cv-links a{color:var(--ink);text-underline-offset:4px}
@media (max-width:1000px){.cv-ess{grid-template-columns:1fr}.cv-ess-d{grid-column:1}.cv-lm{grid-template-columns:1fr}.cv-end-g{grid-template-columns:1fr}}
