/* ============================================================
   I.P.A.D Médical - thème du site (sur le framework front / nc-)
   Maquettes : xd/ (1920 px). Conteneur de contenu : 1140 px.
   ============================================================ */
:root{
  --navy:#1c164c; --navy-2:#211a55;
  --orange:#f7b884; --rose:#f058e5; --rose-titre:#ee6fc6;
  --peche:#fcf1eb; --rose-pale:#fde4f3; --creme:#fef1e6;
  --texte:#26233f; --texte-doux:#4d4a63;
  --grad:linear-gradient(90deg,#f7b884 0%,#f388b4 55%,#f058e5 100%);
  --grad-diag:linear-gradient(135deg,#f7b884 0%,#f388b4 50%,#f058e5 100%);
  --font-titre:'Bebas Neue','Oswald',Impact,sans-serif;
  --font-texte:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-chiffre:'Outfit','Helvetica Neue',Arial,sans-serif;
  --rayon:16px; --rayon-sm:12px;
  --ombre:0 22px 44px -22px rgba(28,22,76,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
  --nc-accent:#f058e5;
}
html{scroll-behavior:smooth}
body.front{font-family:var(--font-texte);font-size:1rem;line-height:1.55;color:var(--texte);background:#fff;overflow-x:hidden}
:where(body.front) a{color:inherit;transition:color .2s var(--ease),opacity .2s var(--ease)}
strong,b{font-weight:700}
img{display:block}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--navy);color:#fff;padding:.6rem 1rem}
.skip-link:focus{left:1rem;top:1rem}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}

/* ---- layout ---- */
.container{max-width:1170px;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}
.section{position:relative;padding:clamp(56px,6vw,100px) 0}
.section-sm{position:relative;padding:clamp(36px,4vw,60px) 0}
.section-peche{background:var(--peche)}
.grille-2,.grille-3,.grille-4{display:grid;gap:20px}
.grille-2{grid-template-columns:1fr 1fr}
.grille-3{grid-template-columns:repeat(3,1fr)}
.grille-4{grid-template-columns:repeat(4,1fr);margin-top:20px}

/* ---- typo ---- */
.titre-section{font-family:var(--font-titre);font-weight:400;color:var(--navy);font-size:clamp(2rem,1.4rem + 1.6vw,2.6rem);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;margin-bottom:1.4rem}
.titre-section.titre-sm{font-size:clamp(1.7rem,1.3rem + 1vw,2.1rem)}
.titre-rose{font-family:var(--font-titre);font-weight:400;color:var(--rose-titre);text-transform:uppercase;line-height:1.05}
h3.titre-rose{font-size:clamp(1.7rem,1.3rem + 1vw,2.2rem);margin-bottom:.6rem}
.titre-bloc{font-family:var(--font-titre);font-weight:400;color:var(--navy);font-size:clamp(1.6rem,1.3rem + .8vw,2rem);line-height:1.05;text-transform:uppercase;margin-bottom:.7rem}
.surtitre{color:var(--texte-doux);margin-bottom:.2rem;font-size:1.05rem}
.intro-centre{text-align:center;font-size:clamp(1rem,.95rem + .2vw,1.15rem);margin:0 auto 2.4rem;max-width:820px}
.petit-texte{font-size:.86rem;line-height:1.45}
.leger{color:#7d7a90}
.lead-ipad{font-size:clamp(1.05rem,1rem + .3vw,1.3rem);line-height:1.6;color:var(--texte-doux)}
.texte-degrade,.tel-degrade{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.tel-degrade{display:inline-block;font-family:var(--font-chiffre);font-weight:600;letter-spacing:-.01em;line-height:1.1;text-decoration:none}
.tel-lg{font-size:clamp(2rem,1.5rem + 1.6vw,2.9rem)}
.email-lg{display:inline-block;font-family:var(--font-chiffre);font-weight:600;font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}
.filet{border:0;border-top:1px solid #f1d9d6;opacity:1;margin:0 auto 60px;max-width:900px}

/* ---- boutons ---- */
.btn-degrade{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.5em 1.6em;border-radius:999px;background:var(--grad);color:#fff!important;font-family:var(--font-texte);font-size:1rem;line-height:1.3;border:0;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s}
.btn-degrade:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(240,88,229,.7);filter:saturate(1.15)}
.btn-contour{display:inline-block;padding:.22em 1.1em;border:1px solid #fff;border-radius:999px;color:#fff;font-size:.82rem;line-height:1.4;transition:background .25s,color .25s}
.btn-tel{display:inline-block;padding:.12em 1.1em;border-radius:999px;background:var(--grad);color:#fff!important;font-family:var(--font-titre);font-size:clamp(1.6rem,1.3rem + .8vw,2rem);letter-spacing:.02em;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn-tel:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(240,88,229,.8)}

/* ============ HEADER ============ */
.site-header.nc-navbar{background:#fff;border-radius:0 0 30px 30px;padding:0;--nc-navbar-fond:#fff;--nc-navbar-encre:var(--navy);z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;max-width:1040px}
.header-logo img{width:125px;height:auto}
.nav-principale{display:flex;align-items:center;gap:clamp(18px,3.2vw,62px)}
.navlink{color:var(--navy);font-size:1rem;line-height:1.2;text-decoration:none;position:relative;max-width:8.6em}
.navlink:hover,.navlink.actif{color:var(--rose-titre)!important}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:12px}
.burger span{display:block;width:24px;height:2px;border-radius:2px;background:var(--navy)}
.menu-mobile{display:flex;flex-direction:column;gap:14px;font-size:1.05rem}
.menu-mobile a{color:var(--navy);text-decoration:none}
.menu-mobile .btn-degrade{align-self:flex-start;margin-top:8px}
.menu-mobile .tel-degrade{font-size:1.6rem}

/* ============ HERO ACCUEIL ============ */
.hero-accueil{position:relative;margin-top:-30px;min-height:clamp(560px,45vw,860px);display:flex;align-items:center;overflow:hidden;color:#fff;
  background:radial-gradient(90% 120% at 0% 30%,#53466f 0%,#6f6491 45%,#8b84a8 100%)}
.hero-accueil-photo{position:absolute;inset:0 0 0 auto;width:62%}
.hero-accueil-photo img{width:100%;height:100%;object-fit:cover;object-position:left center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.hero-accueil::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,48,96,.55) 0%,rgba(60,48,96,.15) 55%,rgba(60,48,96,0) 80%);pointer-events:none}
.hero-accueil .container{z-index:2;padding-top:60px;padding-bottom:40px}
.hero-accueil-contenu{width:min(640px,100%);margin-left:clamp(0px,4vw,60px);text-align:center}
.hero-cadre{position:relative;container-type:inline-size;width:100%;aspect-ratio:241/131;margin:0 0 1.2rem;background:url(../media/hero-cadre.svg) no-repeat center/contain;font-family:var(--font-titre);font-weight:400;text-transform:uppercase;text-align:left;color:#fff;line-height:.9}
.hero-cadre span{position:absolute;font-size:13.2cqw;letter-spacing:.02em;white-space:nowrap}
.hero-cadre .l1{left:25%;top:22%}
.hero-cadre .l2{left:36%;top:41%}
.hero-cadre .l3{left:21%;top:60%}
.hero-accroche{font-size:clamp(1.2rem,1rem + .8vw,1.85rem);margin-bottom:clamp(1.5rem,3vw,3.2rem)}
.hero-tel{font-size:clamp(2.6rem,1.8rem + 2.6vw,4.2rem);font-weight:700}
.hero-dispo{font-size:clamp(1.2rem,1rem + .8vw,1.85rem);margin:0}

/* ============ HERO PAGES ============ */
.hero-page{position:relative;margin-top:-30px;min-height:clamp(260px,20vw,400px);display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,#4c3f6e 0%,#6a5b8c 50%,#7d70a0 100%)}
.hero-page-photo{position:absolute;inset:0 0 0 auto;width:62%}
.hero-page-photo img{width:100%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32%);mask-image:linear-gradient(90deg,transparent 0,#000 32%)}
.hero-page::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,42,90,.55),rgba(55,42,90,0) 60%);pointer-events:none}
.hero-page .container{z-index:2;padding-top:56px;padding-bottom:26px}
.hero-page-titre{font-family:var(--font-titre);font-weight:400;font-size:clamp(2.8rem,2rem + 3vw,5rem);line-height:.92;text-transform:uppercase;margin:0 0 0 clamp(0px,6vw,110px);color:#fff}
.hero-page-titre span{display:block;font-family:var(--font-texte);text-transform:none;font-size:clamp(1.2rem,1rem + .9vw,2.1rem);line-height:1.15;margin-top:.15em;max-width:16em}

/* ============ BANDEAU DÉFILANT ============ */
.bandeau-defilant{background:var(--orange);color:#fff;padding:10px 0;overflow:hidden}
.bandeau-defilant .nc-marquee span{font-family:var(--font-titre);font-size:clamp(2rem,1.4rem + 1.8vw,3.3rem);line-height:1;text-transform:uppercase;white-space:nowrap}

/* ============ CARTES PHOTO ============ */
.carte-photo{position:relative;display:block;border-radius:var(--rayon-sm);overflow:hidden;aspect-ratio:362/317;color:#fff;text-decoration:none;background:var(--navy);isolation:isolate}
.carte-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.carte-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,50,0) 25%,rgba(20,15,50,.35) 55%,rgba(20,15,50,.82) 100%);z-index:1}
.carte-photo-corps{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.carte-photo-titre{font-family:var(--font-titre);font-size:clamp(1.6rem,1.3rem + .6vw,2rem);line-height:1;text-transform:uppercase}
.carte-photo-texte{font-size:.88rem;line-height:1.35}
.carte-photo .btn-contour{margin-top:8px}
a.carte-photo:hover img{transform:scale(1.06)}
a.carte-photo:hover .btn-contour{background:#fff;color:var(--navy)}
.carte-photo-statique{aspect-ratio:auto;min-height:270px}

/* ============ BLOCS ============ */
.bloc{position:relative;border-radius:var(--rayon);padding:28px 30px;overflow:hidden}
.bloc p:last-child{margin-bottom:0}
.bloc-rose{background:var(--rose-pale)}
.bloc-creme{background:var(--creme)}
.bloc-peche{background:var(--peche)}
.bloc-centre{display:flex;flex-direction:column;justify-content:center;align-items:center}
.bloc-degrade{background:var(--grad-diag);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:34px 40px}
.bloc-degrade::after{content:"";position:absolute;right:-26px;bottom:-26px;width:90px;height:90px;opacity:.45;background:linear-gradient(#fff,#fff) center/100% 34% no-repeat,linear-gradient(#fff,#fff) center/34% 100% no-repeat}
.tel-blanc{font-family:var(--font-titre);font-size:clamp(2.1rem,1.6rem + 1.2vw,2.8rem);color:#fff!important;text-decoration:none;line-height:1.1;margin:.1em 0 .3em}
.bloc-plus{padding:44px 40px;display:flex;flex-direction:column;justify-content:center}
.bloc-plus p{max-width:23em;position:relative;z-index:1}
.bloc-plus::after{content:"";position:absolute;right:-36px;bottom:-36px;width:150px;height:150px;opacity:.55;background:linear-gradient(#f8c4e6,#f8c4e6) center/100% 34% no-repeat,linear-gradient(#f8c4e6,#f8c4e6) center/34% 100% no-repeat}
.pastille-plus{display:inline-block;position:relative;width:.8em;height:.8em;border-radius:50%;background:var(--navy);vertical-align:-.04em;margin:0 .12em}
.pastille-plus::before,.pastille-plus::after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.pastille-plus::before{width:56%;height:16%}
.pastille-plus::after{width:16%;height:56%}
.liste-badges{list-style:none;padding:0;margin:0;font-size:clamp(1rem,.95rem + .3vw,1.2rem);line-height:1.3;color:var(--navy)}
.liste-badges li{position:relative;padding-left:34px;margin-bottom:.8rem}
.liste-badges li::before{content:"";position:absolute;left:0;top:.05em;width:22px;height:22px;background:var(--grad-diag);clip-path:polygon(50% 0,61% 12%,78% 8%,82% 25%,97% 33%,90% 50%,97% 67%,82% 75%,78% 92%,61% 88%,50% 100%,39% 88%,22% 92%,18% 75%,3% 67%,10% 50%,3% 33%,18% 25%,22% 8%,39% 12%)}
.liste-badges li::after{content:"";position:absolute;left:7px;top:.32em;width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.photo-arrondie{border-radius:var(--rayon);overflow:hidden;min-height:220px}
.photo-arrondie img{width:100%;height:100%;object-fit:cover}

/* ============ ACCOMPAGNEMENT ============ */
.liste-atouts{list-style:none;padding:0;margin:2rem 0 0;max-width:520px}
.liste-atouts li{display:flex;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid rgba(28,22,76,.25)}
.liste-atouts li:last-child{border-bottom:0}
.liste-atouts img{flex:0 0 60px;width:60px;height:auto;max-height:76px;object-fit:contain}
.liste-atouts div p{margin:0}
.liste-atouts div{font-size:clamp(.98rem,.95rem + .2vw,1.12rem);line-height:1.45}

/* ---- composition duo (photo + photo inclinée + cercle contact) ---- */
.duo{position:relative;max-width:560px;margin-left:auto;margin-bottom:60px}
.duo-principale{width:var(--duo-main,70%);margin-left:auto;aspect-ratio:var(--duo-ratio,373/577);border-radius:var(--rayon);overflow:hidden;background:#eee}
.duo-principale img{width:100%;height:100%;object-fit:cover}
.duo-inclinee{position:absolute;left:var(--duo-tl,4%);right:var(--duo-tr,auto);top:var(--duo-tt,23%);width:var(--duo-tw,50%);aspect-ratio:var(--duo-tratio,268/331);transform:rotate(var(--duo-rot,-9deg));border:7px solid #fff;border-radius:22px;overflow:hidden;box-shadow:var(--ombre);background:#ddd;transition:transform .5s var(--ease)}
.duo-inclinee img{width:100%;height:100%;object-fit:cover}
.duo:hover .duo-inclinee{transform:rotate(calc(var(--duo-rot,-9deg) * .6)) translateY(-4px)}
/* dispositions (reprises des maquettes) */
.duo--accueil{--duo-main:70%;--duo-ratio:373/577;--duo-tw:50%;--duo-tratio:268/331;--duo-tl:4%;--duo-tt:23%;--duo-rot:-9deg}
.duo--perfusion{--duo-main:65%;--duo-ratio:373/481;--duo-tw:47%;--duo-tratio:268/334;--duo-tl:4%;--duo-tt:21.6%;--duo-rot:-9deg;--duo-cl:67%;--duo-cw:26%}
.duo--nutrition{--duo-main:70%;--duo-ratio:372/408;--duo-tw:50%;--duo-tratio:265/231;--duo-tl:3.5%;--duo-tt:29.8%;--duo-rot:-9.8deg}
.duo--questions{--duo-main:75%;--duo-ratio:370/359;--duo-tw:40%;--duo-tratio:197/250;--duo-tl:4%;--duo-tt:15%;--duo-rot:-8.8deg;--duo-cl:62.6%;--duo-cw:30%}
.duo--equipe{--duo-main:69%;--duo-ratio:373/420;--duo-tw:48%;--duo-tratio:259/324;--duo-tl:auto;--duo-tr:5.6%;--duo-tt:14%;--duo-rot:12.5deg;margin-left:0;margin-right:auto}
.duo--equipe .duo-principale{margin-left:0}
.cercle-contact{position:absolute;left:var(--duo-cl,65%);bottom:0;width:var(--duo-cw,28%);aspect-ratio:1;transform:translateY(48%);border-radius:50%;background:var(--grad-diag);display:grid;place-items:center;box-shadow:0 14px 30px -14px rgba(240,88,229,.8);z-index:3;transition:transform .3s var(--ease)}
.cercle-contact:hover{transform:translateY(48%) scale(1.06)}
.cercle-texte{position:absolute;inset:7%;width:86%;height:86%;animation:cercle-tourne 22s linear infinite}
.cercle-fleche{width:34%;height:34%;transition:transform .3s var(--ease)}
.cercle-contact:hover .cercle-fleche{transform:translateX(4px)}
@keyframes cercle-tourne{to{transform:rotate(360deg)}}

/* ---- vagues décoratives ---- */
.zone-vagues,.engagements,.confiance,.questions-intro,.demarche-bento,.equipe{position:relative;overflow-x:clip}
.vague{position:absolute;z-index:0;pointer-events:none;height:auto;width:clamp(110px,11vw,230px)}
/* le trait vertical du bord du SVG (≈11 px sur 229 / 324) sort de l'écran */
.vague-g{left:0;top:18%;transform:translateX(-5.5%)}
.vague-d{right:0;top:2%;transform:translateX(4%)}
.zone-vagues .vague-g{top:40%}
.zone-vagues .vague-d{top:58%}
/* Engagements : section basse -> vagues ajustées à la hauteur de la section (proportions conservées) pour ne pas être coupées */
.engagements .vague{top:6%;height:88%;width:auto}
.confiance .vague-g{top:5%;width:clamp(110px,11vw,210px)}
.questions-intro .vague-g{top:0}
.questions-intro .vague-d{top:0}
.section > .container,.zone-vagues > section{position:relative;z-index:1}

/* ---- autres prestations ---- */
.autres-prestations p{margin-bottom:.4rem;font-size:1.05rem}

/* ============ ACCUEIL : ENGAGEMENTS / BENTO ============ */
.engagements-accueil{padding-top:0}
.logo-centre{width:clamp(170px,14vw,240px);height:auto;margin:0 auto 1rem}
.grille-bento{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:minmax(270px,auto);gap:18px}
.grille-bento .bento-large{grid-column:span 2}
.grille-bento > :nth-child(n+4){min-height:315px}
.grille-bento .bloc-rose,.grille-bento .bloc-creme{display:flex;flex-direction:column;justify-content:center}
.grille-bento .carte-photo-titre{font-size:clamp(1.6rem,1.3rem + .8vw,2.1rem)}
.grille-bento .carte-photo-texte{font-size:.95rem;max-width:34em}

/* ============ CONFIANCE (blobs) ============ */
.blobs{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:clamp(16px,2.5vw,40px);margin-top:2.5rem}
/* zoom x2 au survol (propriété scale : se cumule avec les rotations/décalages et l'animation d'apparition) */
.blob{position:relative;z-index:1;scale:1;transition:scale .55s cubic-bezier(.34,1.56,.64,1),box-shadow .55s ease;cursor:default}
.blob:hover{scale:2;z-index:10;box-shadow:0 30px 60px -30px rgba(28,22,76,.45)}
.blob{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin:0;width:clamp(200px,15vw,280px);aspect-ratio:1.15;padding:28px}
.blob-orange{background:var(--orange);color:#fff;border-radius:46% 54% 43% 57% / 55% 48% 52% 45%;transform:rotate(-4deg)}
.blob-orange blockquote{margin:0;font-size:.85rem;line-height:1.3;position:relative;padding:0 6px}
.blob-orange blockquote::before,.blob-orange blockquote::after{font-family:Georgia,serif;font-size:2.6rem;line-height:0;position:absolute}
.blob-orange blockquote::before{content:"\201C";left:-8px;top:10px}
.blob-orange blockquote::after{content:"\201D";right:-6px;bottom:-14px}
.blob-orange figcaption{font-size:.8rem;margin-top:14px;opacity:.95}
.blob-rose{background:#ef7cc9;color:#fff;border-radius:58% 42% 48% 52% / 46% 58% 42% 54%;transform:translateY(30px)}
.blob b,.blob span{display:block}
.blob b{font-family:var(--font-chiffre);font-weight:600;font-size:clamp(1.8rem,1.4rem + 1vw,2.4rem);line-height:1}
.blob span{font-family:var(--font-titre);font-size:clamp(1.6rem,1.3rem + .8vw,2.1rem);line-height:1;text-transform:uppercase}
.blob-photo{padding:0;overflow:hidden;border-radius:56% 44% 52% 48% / 50% 50% 50% 50%;aspect-ratio:1.13;width:clamp(220px,16vw,290px);transform:rotate(-8deg)}
.blob-photo img{width:100%;height:100%;object-fit:cover;transform:rotate(8deg) scale(1.15)}
.blob-clair{background:var(--peche);color:var(--rose-titre);border-radius:48% 52% 55% 45% / 52% 45% 55% 48%;transform:translateY(40px)}
.blob-clair b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ============ DÉMARCHE ============ */
.processus-onglets .nc-onglets{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 30px}
.processus-onglets .nc-onglet{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;height:clamp(120px,9vw,140px);padding:16px 20px;border-radius:var(--rayon-sm);overflow:hidden;color:#fff;text-align:left;isolation:isolate}
.processus-onglets .nc-onglet img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s var(--ease)}
.processus-onglets .nc-onglet::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,22,76,.62),rgba(28,22,76,.2));transition:background .3s}
.processus-onglets .nc-onglet.nc-actif::before{background:linear-gradient(90deg,rgba(240,88,229,.78),rgba(120,70,200,.45))}
.processus-onglets .nc-onglet:hover{color:#fff}
.processus-onglets .nc-onglet:hover img{transform:scale(1.06)}
.etape-num{position:absolute;top:12px;left:18px;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--navy);font-family:var(--font-titre);font-size:1.15rem;line-height:28px;text-align:center}
.etape-titre{font-family:var(--font-titre);font-size:clamp(1.3rem,1.1rem + .5vw,1.65rem);line-height:1.05;text-transform:uppercase;max-width:15em}
.processus-onglets .btn-contour{display:none;font-size:.75rem;padding:.1em .9em}
.processus-onglets .nc-onglet.nc-actif .btn-contour{display:inline-block}
.processus-onglets .nc-panneaux{margin-top:30px}
.processus-onglets .nc-panneau{background:var(--peche);border-radius:var(--rayon);padding:26px 30px 20px;font-size:.95rem}
.processus-onglets .nc-panneau ul,.processus-onglets .nc-panneau ol{padding-left:1.2rem}
.processus-onglets .nc-panneau li{margin-bottom:.25rem}
.demarche-bento .grille-2{grid-auto-rows:minmax(270px,auto)}
.demarche-bento .grille-2 > :nth-child(n+3){min-height:315px}
.demarche-bento .bloc-rose{display:flex;flex-direction:column;justify-content:center;padding:32px 34px}
.demarche-bento .bloc-rose img{width:110px;height:auto;margin-bottom:.6rem}
.demarche-bento .grille-4 .bloc{padding:24px 22px;font-size:.92rem}
.demarche-bento .grille-4 .bloc-rose,.demarche-bento .grille-4 .petit-texte{display:flex;flex-direction:column;justify-content:center}

/* ============ PAGES SOIN (perfusion / nutrition) ============ */
.soin-intro .titre-section{margin-bottom:.1rem}
.soin-sous{color:var(--navy);font-size:1.05rem;margin-bottom:.9rem}
/* liste à puces sur un axe vertical : picto, puis trait continu (un segment par élément) et points centrés sur l'axe */
.liste-soins{--axe:40px;--trait:3px;--point:18px;--pad:calc(var(--axe) + 30px);--rose-trait:#f27ac3;position:relative}
.liste-soins-ico{display:block;height:auto;margin:0}
.liste-soins-ico--goutte{width:56px;margin-left:calc(var(--axe) - 28px)}
.liste-soins-ico--poche{width:78px;margin-left:calc(var(--axe) - 78px * .495)}   /* tuyau à 49,5 % de la largeur de l'image */
.liste-soins ul{list-style:none;margin:0;padding:0 0 0 var(--pad)}
.liste-soins li{position:relative;padding:.6rem 0;color:var(--texte-doux);font-size:clamp(1.05rem,1rem + .25vw,1.2rem);line-height:1.35}
.liste-soins li::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--axe) - var(--pad) - var(--trait) / 2);width:var(--trait);background:var(--rose-trait)}
.liste-soins li:last-child::after{bottom:50%}
.liste-soins li::before{content:"";position:absolute;z-index:1;top:50%;left:calc(var(--axe) - var(--pad) - var(--point) / 2);width:var(--point);height:var(--point);margin-top:calc(var(--point) / -2);border-radius:50%;background:var(--rose-trait)}
/* animation progressive (classe .anime posée par js/script.js, .anime-go à l'arrivée à l'écran) */
.liste-soins{--d:.32s;--d0:.45s}
.liste-soins.anime .liste-soins-ico{opacity:0;transform:translateY(-14px);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.liste-soins.anime li{opacity:0;transform:translateX(-10px);transition:opacity .4s ease,transform .4s ease;transition-delay:calc(var(--d0) + var(--i,0) * var(--d) + var(--d) * .5)}
.liste-soins.anime li::after{transform:scaleY(0);transform-origin:top;transition:transform var(--d) linear;transition-delay:calc(var(--d0) + var(--i,0) * var(--d))}
.liste-soins.anime li:last-child::after{transition-duration:calc(var(--d) * .5)}
.liste-soins.anime li::before{transform:scale(0);transition:transform .35s cubic-bezier(.34,1.8,.64,1);transition-delay:calc(var(--d0) + var(--i,0) * var(--d) + var(--d) * .45)}
.liste-soins.anime-go .liste-soins-ico{opacity:1;transform:none}
.liste-soins.anime-go li{opacity:1;transform:none}
.liste-soins.anime-go li::after{transform:scaleY(1)}
.liste-soins.anime-go li::before{transform:scale(1)}

/* ---- prise en charge globale ---- */
.grille-pec{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:2.2rem}
.grille-pec > *{min-height:268px}
.pec-a,.pec-b,.pec-c{grid-column:span 2}
.pec-d,.pec-e{grid-column:span 3;min-height:314px}
.pec-photo{border-radius:var(--rayon-sm);overflow:hidden}
.pec-photo img{width:100%;height:100%;object-fit:cover}
.pec-b,.pec-c,.pec-d{display:flex;flex-direction:column;justify-content:center}
.pec-c p,.pec-d p{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.3;color:var(--navy)}
.pec-d .tel-degrade{font-size:clamp(2rem,1.6rem + 1.2vw,2.7rem);font-weight:700}

/* ---- engagements ---- */
.engagements p{max-width:860px;margin-left:auto;margin-right:auto;font-size:clamp(1rem,.95rem + .25vw,1.18rem)}

/* ============ MULTIMODAL ============ */
.cartes-mad{margin-top:1.5rem}
.carte-mad{position:relative;border-radius:var(--rayon-sm);overflow:hidden;aspect-ratio:362/440;box-shadow:0 12px 30px -18px rgba(28,22,76,.35)}
.carte-mad img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.carte-mad:hover img{transform:scale(1.05)}
.carte-mad h3{position:absolute;left:0;bottom:0;margin:0;padding:18px 40px 14px 22px;min-width:76%;background:#fff;border-radius:0 46px 0 0;font-family:var(--font-titre);font-weight:400;font-size:clamp(1.5rem,1.2rem + .6vw,1.9rem);line-height:1.02;text-transform:uppercase;color:var(--rose-titre)}
.carte-mad-decalee{margin-top:50px}

/* ============ QUESTIONS ============ */
.canal{padding:18px 0;border-bottom:1px solid var(--navy);max-width:300px}
.canal:last-child{border-bottom:0}
.canal p{margin-bottom:.3rem;color:var(--navy);font-size:1.1rem}
.faq .titre-section{font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem)}
.faq .nc-faq{--nc-faq-bord:rgba(28,22,76,.25);border-top:0}
.faq .nc-faq__bouton{font-weight:400;font-size:clamp(1rem,.95rem + .25vw,1.2rem);color:var(--navy);padding:.9rem 0;align-items:flex-end}
.faq .nc-faq__bouton:hover{color:var(--rose-titre)}
.faq .nc-faq__icone{width:28px;height:28px;border:2px solid var(--navy);border-radius:50%;flex:0 0 28px}
.faq .nc-faq__icone::before{width:9px;height:9px;background:transparent;border-right:2.5px solid var(--navy);border-top:2.5px solid var(--navy);border-radius:0;transform:translate(-65%,-50%) rotate(45deg)}
.faq .nc-faq__icone::after{display:none}
.faq .nc-faq__bouton[aria-expanded="true"] .nc-faq__icone{background:var(--grad-diag);border-color:transparent}
.faq .nc-faq__bouton[aria-expanded="true"] .nc-faq__icone::before{border-color:#fff;transform:translate(-50%,-70%) rotate(135deg)}
.faq .nc-faq__corps{color:var(--texte-doux)}
.faq .nc-faq__corps a{color:var(--rose-titre);text-decoration:underline}

/* ============ CONTACT ============ */
.contact .grille-3 > *{min-height:205px}
.contact .bloc-centre address,.contact .bloc-centre p{font-style:normal;font-size:1.1rem;margin:0;color:var(--navy)}
.sous-bloc{font-size:1.9rem!important;margin-bottom:.1rem!important}
.lien-tel{font-size:1.4rem;color:var(--navy);text-decoration:none;letter-spacing:.03em}
.contact-astreinte{min-height:305px}
.contact-astreinte .maj{text-transform:uppercase;font-size:1.15rem;line-height:1.3}
.contact-astreinte hr{width:90px;border-top:3px solid #fff;opacity:1;margin:10px auto 20px}
.contact-astreinte .tel-blanc{font-family:var(--font-texte);font-weight:700;font-size:clamp(1.8rem,1.4rem + 1vw,2.3rem)}
.contact .titre-section{margin-bottom:1.6rem}
.form-complet .champ{border:1px solid var(--navy);border-radius:999px;padding:.75em 1.4em;font-size:1rem;color:var(--navy);background:#fff}
.form-complet textarea.champ{border-radius:10px;min-height:165px;resize:vertical}
.form-complet .champ::placeholder{color:var(--navy)}
.form-pied{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:14px}
.form-complet .form-rgpd{color:var(--texte-doux)}

/* ---- champs communs ---- */
.champ{display:block;width:100%;font:inherit;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
select.champ{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;background-size:11px;padding-right:2.4em!important}
.champ:focus{border-color:var(--rose)!important;box-shadow:0 0 0 3px rgba(240,88,229,.18)}
.est-valide .champ:invalid{border-color:#e5484d!important}
.form-rgpd{font-size:.75rem;line-height:1.4;margin:12px 0}
.form-rgpd a{text-decoration:underline}
.form-msg{margin-top:12px;font-size:.95rem;font-weight:600}
.form-msg:empty{display:none}
.form-msg.is-ok{color:#1f9d55}
.form-msg.is-erreur{color:#e5484d}
.champ-piege{position:absolute;left:-9999px}

/* ============ PIED : bloc astreinte / recrutement + footer ============ */
/* le bloc de pied (astreinte / recrutement) est le dernier Paragraphe : le pied de page remonte sous sa moitié basse */
.bloc-pied{position:relative;z-index:2;padding-top:clamp(20px,3vw,50px)}
.site-footer{position:relative;z-index:1;background:radial-gradient(55% 70% at 0% 0%,#f8c49b 0%,rgba(248,196,155,0) 100%),radial-gradient(50% 70% at 100% 100%,#f4b2ef 0%,rgba(244,178,239,0) 100%),var(--peche)}
body:has(.bloc-pied) .site-footer{margin-top:-150px;padding-top:calc(150px + clamp(50px,5vw,70px))}
.bloc-astreinte{background:var(--navy-2);color:#fff;border-radius:var(--rayon-sm);padding:clamp(28px,3.5vw,46px) clamp(24px,4vw,56px);max-width:1040px;margin:0 auto;box-shadow:0 30px 60px -30px rgba(28,22,76,.6)}
.astreinte-texte h2{font-family:var(--font-titre);font-weight:400;font-size:clamp(1.7rem,1.4rem + .8vw,2.15rem);line-height:1.25;text-transform:uppercase;color:#fff;margin-bottom:.4rem}
.astreinte-texte p{font-size:clamp(1.1rem,1rem + .4vw,1.4rem);margin-bottom:1.4rem}
.astreinte-texte{text-align:left}
.astreinte-texte .btn-tel{margin-left:clamp(0px,6vw,90px)}
.form-titre{text-align:center;font-size:clamp(1.1rem,1rem + .3vw,1.35rem);margin-bottom:.8rem}
.form-compact .champ{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.85);border-radius:3px;padding:.42em .8em;font-size:.82rem}
.form-compact .champ::placeholder{color:rgba(255,255,255,.9)}
.form-compact select.champ{color:rgba(255,255,255,.9)}
.form-compact select.champ option{color:var(--navy)}
.form-compact .form-rgpd{color:rgba(255,255,255,.9)}
.form-compact .btn-degrade{padding:.3em 1.8em;font-size:.95rem}
.form-compact .form-msg.is-ok{color:#9ff0c0}

.bloc-recrutement{position:relative;max-width:1000px;margin:0 auto;border-radius:30px;overflow:hidden;min-height:275px;display:flex;align-items:center;background:#18241f;color:#fff;box-shadow:0 30px 60px -30px rgba(28,22,76,.5)}
.recrutement-photo{position:absolute;inset:0 0 0 auto;width:62%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.recrutement-texte{position:relative;padding:34px clamp(24px,5vw,48px);max-width:560px}
.recrutement-texte h2{font-family:var(--font-titre);font-weight:400;font-size:clamp(1.8rem,1.4rem + 1vw,2.5rem);line-height:1;color:#fff;margin-bottom:.4rem}
.recrutement-texte p{font-size:clamp(1rem,.95rem + .3vw,1.2rem);line-height:1.3;margin-bottom:1rem}
.recrutement-mail{display:inline-flex;align-items:center;gap:16px;text-decoration:none}
.rond-cloche{width:44px;height:44px;border-radius:50%;background:#f3f3f3;color:#555;display:grid;place-items:center;flex:0 0 44px}
.recrutement-mail .texte-degrade{font-family:var(--font-chiffre);font-weight:600;font-size:clamp(1.3rem,1.1rem + .7vw,1.75rem)}

.site-footer{padding:clamp(50px,5vw,70px) 0 22px;color:var(--navy);font-size:.92rem}
.footer-marque{display:flex;flex-direction:column;align-items:center;gap:22px}
.footer-marque img{width:200px;height:auto}
.rond-linkedin{width:46px;height:46px;border-radius:50%;border:2px solid #f27ac3;color:#f27ac3!important;display:grid;place-items:center;transition:background .25s,color .25s}
.rond-linkedin:hover{background:#f27ac3;color:#fff!important}
.footer-titre{font-family:var(--font-titre);font-weight:400;font-size:1.45rem;line-height:1;text-transform:uppercase;color:var(--navy);margin-bottom:.7rem}
.footer-liens{display:flex;flex-direction:column;gap:2px;margin:0}
.footer-liens a{color:var(--navy);text-decoration:none}
.footer-liens a:hover,.footer-bas a:hover{color:var(--rose-titre)}
.footer-fax{display:block}
.site-footer address{font-style:normal;margin:0}
.footer-bas{margin-top:clamp(40px,5vw,70px);padding-top:18px;border-top:1px solid rgba(28,22,76,.3);text-align:center;font-size:.84rem}
.footer-bas a{color:var(--navy);text-decoration:none}

/* ============ MENTIONS ============ */
.texte-legal .titre-section{margin-top:2rem;margin-bottom:.6rem}
.texte-legal .container{max-width:900px}

/* ============ RESPONSIVE ============ */
@media (max-width:1199.98px){
  .nav-principale{gap:22px}
  .navlink{font-size:.92rem}
}
@media (max-width:991.98px){
  .nav-principale{display:none}
  .burger{display:flex}
  .header-inner{min-height:78px}
  .header-logo img{width:100px}
  .hero-accueil-photo,.hero-page-photo{width:100%;opacity:.55}
  .hero-accueil-contenu{margin:0 auto}
  .grille-bento{grid-template-columns:1fr 1fr}
  .grille-bento > :first-child{grid-column:span 2}
  .grille-pec{grid-template-columns:1fr 1fr}
  .pec-a,.pec-b,.pec-c,.pec-d,.pec-e{grid-column:auto}
  .pec-d{grid-column:span 2}
  .pec-e{grid-column:span 2}
  .grille-4{grid-template-columns:1fr 1fr}
  .grille-3{grid-template-columns:1fr 1fr}
  .grille-3 > .photo-arrondie{grid-column:span 2}
  .processus-onglets .nc-onglets{grid-template-columns:1fr 1fr;gap:16px}
  .duo{margin-left:auto;margin-right:auto}
  .vague{display:none}
  .astreinte-texte{text-align:center}
  .astreinte-texte .btn-tel{margin-left:0}
  .recrutement-photo{width:100%;opacity:.45}
  .carte-mad-decalee{margin-top:0}
}
@media (max-width:767.98px){
  .grille-2,.grille-bento,.grille-pec,.grille-3,.grille-4{grid-template-columns:1fr}
  .grille-bento > *,.grille-bento .bento-large,.pec-d,.pec-e,.grille-3 > .photo-arrondie{grid-column:auto}
  .processus-onglets .nc-onglets{grid-template-columns:1fr}
  .carte-photo{aspect-ratio:4/3}
  .blob-rose,.blob-clair{transform:none}
  .form-pied{flex-direction:column;align-items:stretch}
  .hero-page-titre{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .cercle-texte{animation:none}
  .blob{transition:none}
  .carte-photo img,.carte-mad img,.duo-inclinee,.btn-degrade{transition:none}
}

/* ---- contenus CMS (texte riche) ---- */
.liste-badges ul{list-style:none;padding:0;margin:0}
.liste-soins > ul,.liste-soins > p{margin:0}
.bloc-degrade p{margin-bottom:.4rem}
.texte-riche h3{font-family:var(--font-titre);font-weight:400;color:var(--navy);font-size:1.6rem;margin-top:1.4rem}
.hero-accroche p{margin:0}

/* ---- zoom x1.2 au survol de tous les encadrés (propriété scale : n'écrase pas les transform existants) ---- */
.bloc,.carte-photo,.carte-mad,.pec-photo,.photo-arrondie,.bloc-recrutement,.bloc-astreinte,.processus-onglets .nc-onglet{
  position:relative;z-index:1;scale:1;transform-origin:center;transition:scale .45s cubic-bezier(.34,1.4,.64,1),box-shadow .45s ease}
.bloc:hover,.carte-photo:hover,.carte-mad:hover,.pec-photo:hover,.photo-arrondie:hover,.bloc-recrutement:hover,.processus-onglets .nc-onglet:hover,
.bloc-astreinte:hover,.bloc-astreinte:focus-within{scale:1.2;z-index:5;box-shadow:0 34px 70px -30px rgba(28,22,76,.55)}
@media (hover:none){.bloc:hover,.carte-photo:hover,.carte-mad:hover,.pec-photo:hover,.photo-arrondie:hover,.bloc-recrutement:hover,.processus-onglets .nc-onglet:hover{scale:1}}
@media (prefers-reduced-motion:reduce){.bloc,.carte-photo,.carte-mad,.pec-photo,.photo-arrondie,.bloc-recrutement,.bloc-astreinte,.processus-onglets .nc-onglet{transition:none}}

/* iOS : pas de zoom automatique au focus -> champs à 16 px minimum sur écrans tactiles ;
   et pas d'agrandissement de l'encadré bleu au focus (il s'ajouterait au zoom/clavier) */
@media (hover:none),(pointer:coarse){
  .champ,.form-compact .champ,.form-complet .champ{font-size:16px}
  .bloc-astreinte:focus-within{scale:1}
}

/* pas de zoom au survol / focus sous 1200 px (encadrés x1.2, bulles x2, encadré bleu) */
@media (max-width:1199.98px){
  .bloc:hover,.carte-photo:hover,.carte-mad:hover,.pec-photo:hover,.photo-arrondie:hover,.bloc-recrutement:hover,.processus-onglets .nc-onglet:hover,
  .bloc-astreinte:hover,.bloc-astreinte:focus-within,.blob:hover{scale:1}
}

/* pages courtes : footer poussé en bas de l'écran (équivalent CSS de pushFooter, sans jQuery) */
body.front{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body.front > main{flex:1 0 auto}
body.front > .site-header,body.front > .site-footer{flex-shrink:0}
