/* ============================================================
   JadeFlow Studio — feuille de style partagée
   Polices : Cormorant Garamond (titres) + Mulish (texte)
   ============================================================ */
:root{
  --ivory:#F5F1E7;
  --cream:#ECE5D6;
  --jade-deep:#1B3A2F;
  --jade:#2F6A50;
  --jade-soft:#5C8C73;
  --sage:#A9C4B2;
  --sage-pale:#D6E3D8;
  --clay:#BB6A45;
  --clay-soft:#D89B7B;
  --ink:#243029;
  --muted:#5d6b62;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"Mulish",-apple-system,BlinkMacSystemFont,sans-serif;
  --radius:22px;
  --maxw:1140px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* atmospheric background */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(60% 50% at 85% 8%, rgba(169,196,178,.45), transparent 70%),
    radial-gradient(50% 45% at 5% 75%, rgba(214,227,216,.55), transparent 70%),
    radial-gradient(40% 40% at 90% 95%, rgba(187,106,69,.10), transparent 70%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;opacity:.04;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.wrap-narrow{max-width:720px;margin:0 auto;padding:0 26px}

/* ---------- NAV ---------- */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:rgba(245,241,231,.78);border-bottom:1px solid rgba(27,58,47,.08)}
nav{display:flex;align-items:center;justify-content:space-between;
  max-width:var(--maxw);margin:0 auto;padding:16px 26px;gap:18px;flex-wrap:wrap}
.brand{font-family:var(--display);font-size:1.5rem;font-weight:600;
  color:var(--jade-deep);letter-spacing:.3px;line-height:1;text-decoration:none}
.brand span{font-style:italic;color:var(--clay)}
.brand small{display:block;font-family:var(--body);font-size:.62rem;
  letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:500}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.92rem}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--clay)}
.btn{display:inline-block;font-weight:600;text-decoration:none;cursor:pointer;
  border:none;font-family:var(--body);transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn-primary{background:var(--clay);color:#fff;padding:13px 26px;border-radius:100px;
  font-size:.94rem;letter-spacing:.2px;box-shadow:0 8px 22px -10px rgba(187,106,69,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(187,106,69,.8);background:#a85c3a}
.btn-ghost{background:transparent;color:var(--jade-deep);border:1.5px solid var(--jade-soft);
  padding:11px 24px;border-radius:100px;font-size:.94rem}
.btn-ghost:hover{background:var(--jade-deep);color:var(--ivory);border-color:var(--jade-deep)}
@media(max-width:680px){
  .nav-links{gap:16px;width:100%;justify-content:space-between;font-size:.84rem}
}

/* ---------- HERO ---------- */
.hero{position:relative;padding:84px 0 70px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:var(--jade);margin-bottom:22px}
.eyebrow::before{content:"";width:30px;height:1.5px;background:var(--clay)}
h1{font-family:var(--display);font-weight:600;color:var(--jade-deep);
  font-size:clamp(2.8rem,5.6vw,4.4rem);line-height:1.05;letter-spacing:0}
h1 em{font-style:italic;color:var(--clay);font-weight:500}
.hero p.lead{font-size:1.12rem;color:var(--muted);margin:24px 0 34px;max-width:36ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-aside{position:relative;aspect-ratio:4/5;border-radius:160px 160px 28px 28px;
  background:linear-gradient(160deg,var(--sage),var(--jade-soft) 70%,var(--jade));
  box-shadow:0 40px 70px -30px rgba(27,58,47,.55);overflow:hidden;display:flex;
  align-items:flex-end;justify-content:center}
.hero-aside::before{content:"";position:absolute;width:160%;height:160%;top:-30%;left:-30%;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.4),transparent 45%)}
.hero-aside .ph{position:relative;color:rgba(255,255,255,.78);font-size:.78rem;
  letter-spacing:.2em;text-transform:uppercase;padding:0 0 24px;text-align:center}
.float{position:absolute;background:var(--ivory);border-radius:18px;padding:14px 18px;
  box-shadow:0 18px 40px -18px rgba(27,58,47,.45);font-size:.82rem}
.float .num{font-family:var(--display);font-size:1.7rem;font-weight:600;color:var(--jade-deep);line-height:1}
.float .lbl{color:var(--muted);font-size:.72rem}
.float.f1{top:18px;left:-26px}
.float.f2{bottom:30px;right:-22px}
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:38px}
  .hero-aside{max-width:340px;margin:0 auto;width:100%}
  .float.f1{left:0}.float.f2{right:0}
}

/* ---------- SECTIONS ---------- */
section{padding:74px 0}
.sec-head{max-width:62ch;margin-bottom:48px}
.sec-head .eyebrow{margin-bottom:16px}
h2{font-family:var(--display);font-weight:600;color:var(--jade-deep);
  font-size:clamp(2.1rem,3.8vw,3rem);line-height:1.1;letter-spacing:0}
h2 em{font-style:italic;color:var(--clay);font-weight:500}
.sec-head p{color:var(--muted);font-size:1.05rem;margin-top:16px}

/* method */
.method{background:var(--cream);border-radius:40px;margin:0 14px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:var(--ivory);border-radius:var(--radius);padding:26px 24px;
  border:1px solid rgba(27,58,47,.06);transition:transform .3s,box-shadow .3s}
.step:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(27,58,47,.4)}
.step .n{font-family:var(--display);font-style:italic;font-size:2rem;color:var(--clay);
  display:block;margin-bottom:8px}
.step h3{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--jade-deep);margin-bottom:7px}
.step p{font-size:.93rem;color:var(--muted)}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.steps{grid-template-columns:1fr}}

/* tarifs */
.tariffs{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:880px;margin:0 auto}
.card{background:#fff;border-radius:var(--radius);padding:30px 28px;position:relative;
  border:1px solid rgba(27,58,47,.08);display:flex;flex-direction:column;gap:6px}
.card.feature{border:1.5px solid var(--clay);background:linear-gradient(180deg,#fff, #fdf6f0)}
.ribbon{position:absolute;top:-12px;right:22px;background:var(--clay);color:#fff;
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 14px;border-radius:100px;box-shadow:0 8px 18px -8px rgba(187,106,69,.8)}
.card h3{font-family:var(--display);font-weight:600;font-size:1.7rem;color:var(--jade-deep)}
.card .meta{font-size:.86rem;color:var(--muted);margin-bottom:6px}
.price{font-family:var(--display);font-size:2.8rem;font-weight:600;color:var(--jade);line-height:1;margin:6px 0 2px}
.price small{font-size:1rem;color:var(--muted);font-weight:400}
.price .was{font-size:1.2rem;color:var(--clay);text-decoration:line-through;margin-left:8px;font-family:var(--body);font-weight:400}
.card ul{list-style:none;margin:10px 0 0;font-size:.92rem;color:var(--ink)}
.card li{padding:5px 0 5px 24px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:12px;width:9px;height:9px;
  border-radius:50%;background:var(--sage)}
@media(max-width:680px){.tariffs{grid-template-columns:1fr}}

/* split / what it is */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split .visual{aspect-ratio:1/1;border-radius:50% 50% 50% 12px;
  background:linear-gradient(150deg,var(--sage-pale),var(--sage));position:relative;
  box-shadow:0 30px 60px -30px rgba(27,58,47,.45);display:flex;align-items:center;justify-content:center}
.split .visual span{color:var(--jade-deep);opacity:.55;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase}
.split p{color:var(--muted);font-size:1.04rem;margin-bottom:14px}
.split a.inline{color:var(--clay);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--clay-soft)}
@media(max-width:780px){.split{grid-template-columns:1fr;gap:30px}.split .visual{max-width:300px;order:-1}}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.q{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:16px;
  margin-bottom:12px;overflow:hidden}
.q summary{cursor:pointer;padding:20px 24px;font-weight:600;font-size:1.02rem;
  color:var(--jade-deep);list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:16px}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"+";font-family:var(--display);font-size:1.7rem;color:var(--clay);
  transition:transform .3s;line-height:1}
.q[open] summary::after{transform:rotate(45deg)}
.q .a{padding:0 24px 22px;color:var(--muted);font-size:.97rem}

/* booking CTA */
.booking{background:var(--jade-deep);border-radius:40px;margin:0 14px;color:var(--sage-pale);
  text-align:center;position:relative;overflow:hidden}
.booking::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(169,196,178,.25),transparent 65%);top:-160px;right:-120px}
.booking h2{color:#fff}
.booking p{color:var(--sage-pale);max-width:46ch;margin:18px auto 30px;font-size:1.06rem}
.booking .btn-primary{font-size:1.02rem;padding:16px 38px}

/* practical */
.practical{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.info h4{font-family:var(--display);font-weight:600;color:var(--jade-deep);font-size:1.4rem;margin-bottom:8px}
.info p{color:var(--muted);font-size:.95rem}
.info a{color:var(--clay);text-decoration:none}
@media(max-width:680px){.practical{grid-template-columns:1fr;gap:18px}}

/* footer */
footer{background:var(--cream);padding:46px 0 30px;margin-top:20px}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.foot .brand{font-size:1.4rem}
.foot-links{display:flex;gap:20px;font-size:.9rem;flex-wrap:wrap}
.foot-links a{color:var(--ink);text-decoration:none}
.foot-links a:hover{color:var(--clay)}
.legal{text-align:center;color:var(--muted);font-size:.78rem;margin-top:26px;
  border-top:1px solid rgba(27,58,47,.1);padding-top:20px}
.disclaimer{font-size:.82rem;color:var(--muted);max-width:64ch;margin:0 auto;text-align:center;font-style:italic}

/* rating badge */
.rating{display:inline-flex;align-items:center;gap:10px;margin-top:24px;
  background:#fff;border:1px solid rgba(27,58,47,.1);border-radius:100px;
  padding:8px 16px;box-shadow:0 10px 26px -16px rgba(27,58,47,.4)}
.stars{color:#E0A23B;letter-spacing:2px;font-size:.95rem}
.rating b{color:var(--jade-deep);font-weight:700}
.rating span{color:var(--muted);font-size:.86rem}

.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:#fff;border:1px solid rgba(27,58,47,.07);border-radius:var(--radius);
  padding:26px 24px;position:relative;transition:transform .3s,box-shadow .3s}
.quote:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(27,58,47,.4)}
.quote .mark{font-family:var(--display);font-style:italic;font-size:3rem;color:var(--sage);
  line-height:.4;display:block;height:22px}
.quote p{font-size:1.2rem;color:var(--jade-deep);font-family:var(--display);font-style:italic;
  font-weight:500;margin:8px 0 16px;line-height:1.35}
.quote .who{font-size:.82rem;color:var(--muted)}
.quote .who b{color:var(--jade-deep);font-weight:600;display:block;font-family:var(--body)}
.quote .s{color:#E0A23B;font-size:.8rem;letter-spacing:1px}
@media(max-width:820px){.quotes{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.quotes{grid-template-columns:1fr}}

/* ============================================================
   ARTICLES
   ============================================================ */
.article-hero{padding:54px 0 10px}
.back{display:inline-block;font-size:.85rem;color:var(--muted);text-decoration:none;
  margin-bottom:24px;font-weight:500;transition:color .2s}
.back:hover{color:var(--clay)}
.article-hero h1{font-size:clamp(2.3rem,4.6vw,3.4rem);margin-top:4px}
.standfirst{font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--muted);
  margin-top:20px;line-height:1.4;max-width:60ch}

.prose{padding:30px 0 30px}
.prose h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:40px 0 14px;font-weight:600}
.prose h3{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--jade-deep);margin:28px 0 10px}
.prose p{margin:0 0 18px;font-size:1.07rem;color:var(--ink)}
.prose strong{color:var(--jade-deep);font-weight:700}
.prose a{color:var(--clay);text-decoration:none;border-bottom:1.5px solid var(--clay-soft);font-weight:600}
.prose a:hover{border-color:var(--clay)}
.prose ul{list-style:none;margin:0 0 20px}
.prose li{position:relative;padding:6px 0 6px 26px;font-size:1.06rem;color:var(--ink)}
.prose li::before{content:"";position:absolute;left:2px;top:15px;width:9px;height:9px;
  border-radius:50%;background:var(--sage)}
.prose blockquote{margin:28px 0;padding:20px 26px;background:var(--cream);
  border-left:3px solid var(--clay);border-radius:0 16px 16px 0;
  font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--jade-deep);line-height:1.4}

.cta-block{background:var(--jade-deep);color:var(--sage-pale);border-radius:26px;
  padding:38px 34px;text-align:center;margin:44px 0 10px}
.cta-block h3{font-family:var(--display);font-weight:600;color:#fff;font-size:1.9rem;margin-bottom:8px}
.cta-block p{color:var(--sage-pale);margin:0 auto 22px;max-width:44ch;font-size:1rem}

/* lire aussi */
.lire-aussi h2{text-align:center;margin-bottom:32px}
.la-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.la-card{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:18px;
  padding:24px 22px;text-decoration:none;display:block;transition:transform .3s,box-shadow .3s}
.la-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(27,58,47,.4)}
.la-card .cat{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);font-weight:600}
.la-card h4{font-family:var(--display);font-weight:600;font-size:1.35rem;color:var(--jade-deep);margin:8px 0 0;line-height:1.2}
@media(max-width:780px){.la-grid{grid-template-columns:1fr}}

/* load animation */
.reveal{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}

/* ---------- bandeau offre (supprimable) ---------- */
.promo-offer{background:var(--jade-deep);color:var(--sage-pale);border-radius:28px;
  padding:34px;margin-top:34px;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;
  align-items:center;position:relative;overflow:hidden}
.promo-offer::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(187,106,69,.28),transparent 65%);top:-130px;left:-90px}
.promo-offer-head{position:relative;z-index:1}
.promo-offer .tag{display:inline-block;background:var(--clay);color:#fff;font-size:.7rem;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:14px}
.promo-offer-head h3{font-family:var(--display);font-weight:600;color:#fff;font-size:1.9rem;line-height:1.12;margin-bottom:8px}
.promo-offer-head p{color:var(--sage-pale);font-size:.96rem}
.promo-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;z-index:1}
.tier{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);
  border-radius:18px;padding:18px 14px;text-align:center}
.tier .t-lbl{display:block;font-size:.84rem;color:var(--sage-pale);min-height:38px;line-height:1.25}
.tier .t-lbl em{color:#fff;font-style:italic;font-size:.78rem}
.tier .t-price{display:block;font-family:var(--display);font-weight:600;font-size:2.3rem;color:#fff;line-height:1.1;margin:8px 0 2px}
.tier .t-note{display:block;font-size:.74rem;color:var(--sage)}
@media(max-width:780px){.promo-offer{grid-template-columns:1fr;gap:22px}}
@media(max-width:520px){.promo-tiers{grid-template-columns:1fr}}

/* ============================================================
   AJOUTS REFONTE — visuels, SEO UX, cartes guides
   ============================================================ */
img{max-width:100%;height:auto;display:block}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.94}
.hero-aside .ph{display:none}
.float{z-index:2}
.split .visual{overflow:hidden;background:transparent}
.split .visual img{width:100%;height:100%;object-fit:cover;border-radius:inherit;box-shadow:inherit}
.guides{padding-top:10px}
.guides .sec-head{text-align:center;margin-left:auto;margin-right:auto}
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.guide-card{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 18px 38px -28px rgba(27,58,47,.45);transition:transform .25s ease, box-shadow .25s ease}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(27,58,47,.55)}
.guide-card img{aspect-ratio:4/3;width:100%;object-fit:cover;background:var(--cream)}
.guide-card .g-content{padding:18px 18px 20px}
.guide-card .cat{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--clay)}
.guide-card h3{font-family:var(--display);font-size:1.35rem;line-height:1.12;color:var(--jade-deep);margin:8px 0}
.guide-card p{font-size:.88rem;line-height:1.55;color:var(--muted)}
.article-visual{margin:32px 0 0;border-radius:30px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(27,58,47,.55);border:1px solid rgba(27,58,47,.08)}
.article-visual img{width:100%;aspect-ratio:1200/520;object-fit:cover}
.prose .mini-summary{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:20px;padding:20px 22px;margin:28px 0;box-shadow:0 16px 34px -30px rgba(27,58,47,.5)}
.prose .mini-summary strong{display:block;margin-bottom:8px}
@media(max-width:980px){.guide-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.guide-grid{grid-template-columns:1fr}.article-visual img{aspect-ratio:1.45/1}.hero{padding-top:54px}}

/* ============================================================
   AJOUTS V2 — images réelles + page Qui suis-je + plus d'articles
   ============================================================ */
.about-home .split{align-items:center}
.about-home .visual{border-radius:34px;overflow:hidden;aspect-ratio:4/5;max-width:420px;margin-left:auto}
.about-home .visual img{width:100%;height:100%;object-fit:cover}
.note-card{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:20px;padding:18px 20px;box-shadow:0 16px 40px -30px rgba(27,58,47,.45);margin:22px 0}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px;padding:0;list-style:none}
.pill-list li{background:var(--sage-pale);color:var(--jade-deep);padding:9px 14px;border-radius:999px;font-size:.88rem;font-weight:600}
.prose .post-meta{font-size:.9rem;color:var(--muted);margin-top:14px}
.author-box{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:26px;padding:24px;box-shadow:0 18px 40px -30px rgba(27,58,47,.45);margin:28px 0 10px}
.author-box img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.article-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.article-links-grid .la-card{min-height:165px}
@media(max-width:820px){.author-box{grid-template-columns:1fr}.article-links-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.article-links-grid{grid-template-columns:1fr}}

/* ============================================================
   V3 — Homepage premium conversion + SEO UX
   ============================================================ */
.trust-band{padding:0 0 42px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trust-grid div{background:#fff;border:1px solid rgba(27,58,47,.08);border-radius:20px;padding:18px 20px;box-shadow:0 16px 40px -32px rgba(27,58,47,.5)}
.trust-grid strong{display:block;font-family:var(--display);font-size:1.45rem;color:var(--jade-deep);line-height:1.05;margin-bottom:6px}
.trust-grid span{display:block;color:var(--muted);font-size:.92rem;line-height:1.5}
.experience{padding:36px 0 72px}
.experience-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;background:linear-gradient(135deg,#fff,var(--cream));border:1px solid rgba(27,58,47,.08);border-radius:34px;padding:34px;box-shadow:0 30px 70px -52px rgba(27,58,47,.65)}
.experience-card h2{margin-bottom:16px}
.experience-card p{color:var(--muted);font-size:1.02rem}
.experience-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.experience-steps div{background:rgba(255,255,255,.78);border:1px solid rgba(27,58,47,.07);border-radius:22px;padding:22px 18px}
.experience-steps span{font-family:var(--display);font-style:italic;font-size:1.8rem;color:var(--clay);display:block;margin-bottom:6px}
.experience-steps strong{display:block;color:var(--jade-deep);font-size:1rem;margin-bottom:7px}
.experience-steps p{font-size:.88rem;line-height:1.55;margin:0}
.reassurance{padding-top:20px}
.reassurance .visual{border-radius:34px;aspect-ratio:4/3;overflow:hidden;background:transparent}
.reassurance .visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){
  .trust-grid{grid-template-columns:1fr}
  .experience-card{grid-template-columns:1fr;padding:26px}
  .experience-steps{grid-template-columns:1fr}
}

/* ============================================================
   Correctif contraste boutons CTA
   ============================================================ */
.cta-block .btn,
.cta-block .btn:visited,
.cta-block .btn-primary,
.cta-block .btn-primary:visited,
.booking .btn,
.booking .btn:visited,
.booking .btn-primary,
.booking .btn-primary:visited,
a.btn-primary,
a.btn-primary:visited{
  color:#fff !important;
  text-decoration:none;
}

.cta-block .btn-primary:hover,
.booking .btn-primary:hover,
a.btn-primary:hover{
  color:#fff !important;
}

/* ============================================================
   V5 — Correctifs affichage mobile
   ============================================================ */

/* Base mobile plus stable */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

img{
  max-width:100%;
}

/* Navigation mobile : évite le menu écrasé et les boutons invisibles */
@media(max-width:760px){
  header{
    position:sticky !important;
    top:0 !important;
  }

  nav{
    padding:14px 18px;
    display:block;
  }

  .brand{
    display:block;
    font-size:1.45rem;
    margin-bottom:12px;
  }

  .nav-links{
    width:100%;
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:10px;
    justify-content:flex-start;
    padding:2px 0 6px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .nav-links::-webkit-scrollbar{
    display:none;
  }

  .nav-links a{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:.82rem;
    padding:8px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.58);
  }

  .nav-links a.btn,
  .nav-links a.btn-primary{
    padding:8px 14px;
    color:#fff !important;
    background:var(--clay);
  }

  .promo{
    font-size:.78rem;
    line-height:1.35;
    padding:8px 12px;
  }
}

/* Hero mobile : image pleine largeur sous le texte */
@media(max-width:860px){
  .hero{
    padding:42px 0 34px;
  }

  .hero .wrap{
    grid-template-columns:1fr;
    gap:28px;
  }

  h1{
    font-size:clamp(2.25rem,12vw,3.2rem);
    line-height:1.02;
  }

  .hero p.lead{
    font-size:1rem;
    max-width:none;
    margin:20px 0 24px;
  }

  .hero-cta{
    gap:10px;
  }

  .hero-cta .btn{
    width:100%;
    text-align:center;
  }

  .hero-aside{
    width:100%;
    max-width:none;
    aspect-ratio:4/3;
    border-radius:34px;
    margin:0;
  }

  .hero-art{
    object-fit:cover;
  }

  .float{
    position:static;
    display:inline-block;
    margin:10px 8px 0 0;
    padding:10px 14px;
  }

  .float.f1,
  .float.f2{
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }

  .hero-aside .float{
    position:absolute;
  }

  .hero-aside .float.f1{
    left:12px;
    top:12px;
  }

  .hero-aside .float.f2{
    right:12px;
    bottom:12px;
  }

  .float .num{
    font-size:1.25rem;
  }

  .float .lbl{
    font-size:.66rem;
  }
}

/* Sections : marges plus compactes */
@media(max-width:760px){
  .wrap,
  .wrap-narrow{
    padding-left:18px;
    padding-right:18px;
  }

  section{
    padding:48px 0;
  }

  .sec-head{
    margin-bottom:30px;
  }

  h2{
    font-size:clamp(1.85rem,9vw,2.45rem);
  }

  .eyebrow{
    font-size:.68rem;
    letter-spacing:.18em;
    margin-bottom:14px;
  }

  .eyebrow::before{
    width:22px;
  }
}

/* Grilles mobile */
@media(max-width:760px){
  .trust-grid,
  .steps,
  .tariffs,
  .quotes,
  .guide-grid,
  .practical,
  .article-links-grid{
    grid-template-columns:1fr !important;
  }

  .trust-grid{
    gap:12px;
  }

  .guide-card{
    border-radius:20px;
  }

  .guide-card img{
    aspect-ratio:16/10;
  }

  .card,
  .quote,
  .step{
    padding:22px 20px;
  }
}

/* Split sections mobile */
@media(max-width:780px){
  .split{
    grid-template-columns:1fr;
    gap:24px;
  }

  .split .visual,
  .about-home .visual,
  .reassurance .visual{
    width:100%;
    max-width:none;
    aspect-ratio:16/11;
    order:-1;
    margin:0;
    border-radius:28px;
  }

  .split .visual img,
  .about-home .visual img,
  .reassurance .visual img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Bloc expérience mobile */
@media(max-width:860px){
  .experience{
    padding:24px 0 48px;
  }

  .experience-card{
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 20px;
    border-radius:28px;
  }

  .experience-steps{
    grid-template-columns:1fr;
    gap:12px;
  }
}

/* Articles mobile : lecture plus confortable */
@media(max-width:760px){
  .article-hero{
    padding:34px 0 0;
  }

  .article-hero h1{
    font-size:clamp(2rem,10vw,2.65rem);
  }

  .standfirst{
    font-size:1.18rem;
    margin-top:16px;
  }

  .article-visual{
    margin-top:24px;
    border-radius:24px;
  }

  .article-visual img{
    aspect-ratio:16/10;
    width:100%;
    object-fit:cover;
  }

  .prose{
    padding-top:24px;
  }

  .prose p,
  .prose li{
    font-size:1rem;
  }

  .prose h2{
    font-size:1.65rem;
    margin-top:32px;
  }

  .cta-block{
    padding:24px 20px;
    border-radius:24px;
  }

  .cta-block .btn,
  .cta-block .btn-primary{
    width:100%;
    text-align:center;
  }
}

/* Footer mobile */
@media(max-width:760px){
  footer{
    padding:34px 0 24px;
  }

  .foot{
    align-items:flex-start;
  }

  .foot-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
    width:100%;
    font-size:.84rem;
  }

  .legal,
  .disclaimer{
    text-align:left;
  }
}

/* Très petits écrans */
@media(max-width:390px){
  .nav-links a{
    font-size:.78rem;
    padding:7px 9px;
  }

  h1{
    font-size:2.12rem;
  }

  .hero-aside{
    aspect-ratio:1/1;
  }

  .float{
    display:none;
  }

  .price{
    font-size:2.35rem;
  }
}

/* ============================================================
   V6 — Page accès / Comment s'y rendre
   ============================================================ */
.access-alert{
  background:#fff7ef;
  border:1px solid rgba(187,106,69,.24);
  border-left:5px solid var(--clay);
  border-radius:20px;
  padding:18px 20px;
  margin:8px 0 28px;
  box-shadow:0 16px 36px -32px rgba(187,106,69,.45);
}
.access-alert strong{
  display:block;
  color:var(--clay);
  font-weight:800;
  margin-bottom:6px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.76rem;
}
.access-alert p{margin:0;color:var(--ink)}
.access-steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:24px 0 30px;
}
.access-step{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:22px;
  padding:22px 20px;
  box-shadow:0 18px 40px -34px rgba(27,58,47,.45);
}
.access-step span{
  font-family:var(--display);
  font-style:italic;
  font-size:1.85rem;
  color:var(--clay);
  display:block;
  line-height:1;
  margin-bottom:10px;
}
.access-step h3{
  margin:0 0 8px;
  font-size:1.28rem;
}
.access-step p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.55;
}
.access-teaser{
  padding:34px 0 28px;
}
.access-teaser-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  padding:26px 28px;
  box-shadow:0 22px 54px -42px rgba(27,58,47,.55);
}
.access-teaser-card h2{
  font-size:clamp(1.8rem,3vw,2.35rem);
  margin-bottom:8px;
}
.access-teaser-card p{
  color:var(--muted);
  max-width:62ch;
}
@media(max-width:760px){
  .access-steps{
    grid-template-columns:1fr;
  }
  .access-teaser-card{
    display:block;
    padding:24px 20px;
  }
  .access-teaser-card .btn{
    width:100%;
    text-align:center;
    margin-top:18px;
  }
}

/* ============================================================
   V8 — Header fixe fiable mobile + desktop
   ============================================================ */

/* Variables de hauteur du bandeau + menu */
:root{
  --top-promo-h: 40px;
  --top-header-h: 78px;
  --top-total-h: calc(var(--top-promo-h) + var(--top-header-h));
}

/* On réserve la place du bandeau + menu pour que le contenu ne passe pas dessous */
body{
  padding-top:var(--top-total-h);
}

/* Bandeau promo fixé tout en haut */
.promo{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:1001 !important;
  min-height:var(--top-promo-h);
  display:flex !important;
  align-items:center;
  justify-content:center;
}

/* Menu fixé sous le bandeau promo */
header{
  position:fixed !important;
  top:var(--top-promo-h) !important;
  left:0 !important;
  right:0 !important;
  z-index:1000 !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(245,241,231,.94) !important;
  border-bottom:1px solid rgba(27,58,47,.10);
}

/* Ancrages : évite que les sections soient cachées sous le menu fixe */
section,
article,
[id]{
  scroll-margin-top:calc(var(--top-total-h) + 18px);
}

/* Desktop : hauteur normale du menu */
header nav{
  min-height:var(--top-header-h);
}

/* Mobile : hauteur plus grande car le logo + menu passent sur deux lignes */
@media(max-width:760px){
  :root{
    --top-promo-h: 46px;
    --top-header-h: 112px;
  }

  body{
    padding-top:var(--top-total-h);
  }

  header{
    top:var(--top-promo-h) !important;
  }

  header nav{
    min-height:var(--top-header-h);
    padding-top:12px;
    padding-bottom:10px;
  }

  .promo{
    min-height:var(--top-promo-h);
    font-size:.76rem;
    line-height:1.25;
    padding:6px 12px;
  }
}

/* Très petits écrans : bandeau plus compact */
@media(max-width:390px){
  :root{
    --top-promo-h: 44px;
    --top-header-h: 108px;
  }

  .promo{
    font-size:.70rem;
  }
}

/* ============================================================
   V9 — Correctif final menu fixe mobile
   ============================================================ */

/*
  Principe :
  - Le header/menu est fixe en haut.
  - Le bandeau promo n'est plus fixe : il défile normalement.
  - C'est plus fiable sur mobile, notamment Safari iOS.
*/

:root{
  --fixed-header-h: 78px;
}

body{
  padding-top:var(--fixed-header-h) !important;
}

/* Le bandeau promo redevient un élément normal de la page */
.promo{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:auto !important;
  min-height:0 !important;
  display:block !important;
}

/* Le menu reste toujours visible */
header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  width:100% !important;
  background:rgba(245,241,231,.96) !important;
  border-bottom:1px solid rgba(27,58,47,.10) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transform:translateZ(0);
  will-change:transform;
}

/* Le header n'est plus positionné sous le bandeau */
.promo + header{
  top:0 !important;
}

/* Ancrages corrigés avec la hauteur du menu seulement */
section,
article,
[id]{
  scroll-margin-top:calc(var(--fixed-header-h) + 18px) !important;
}

/* Desktop */
header nav{
  min-height:var(--fixed-header-h);
}

/* Mobile */
@media(max-width:760px){
  :root{
    --fixed-header-h: 112px;
  }

  body{
    padding-top:var(--fixed-header-h) !important;
  }

  header{
    position:fixed !important;
    top:0 !important;
  }

  header nav{
    min-height:var(--fixed-header-h);
    padding:12px 18px 10px !important;
  }

  .brand{
    margin-bottom:10px;
  }

  .nav-links{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    -webkit-overflow-scrolling:touch;
  }

  .nav-links a{
    flex:0 0 auto !important;
  }
}

/* Très petits écrans */
@media(max-width:390px){
  :root{
    --fixed-header-h: 106px;
  }

  header nav{
    min-height:var(--fixed-header-h);
  }
}

/* ============================================================
   V12 — Atelier auto-drainage
   ============================================================ */
.workshop-box{
  background:linear-gradient(135deg,#fff,var(--cream));
  border:1px solid rgba(27,58,47,.08);
  border-radius:24px;
  padding:24px 22px;
  margin:28px 0;
  box-shadow:0 18px 44px -34px rgba(27,58,47,.45);
}
.workshop-box h3{
  margin-top:0;
}
.workshop-box ul{
  margin-bottom:0;
}
.atelier-teaser{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:28px auto 0;
  max-width:880px;
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:24px;
  padding:24px 26px;
  box-shadow:0 18px 44px -36px rgba(27,58,47,.45);
}
.atelier-teaser .tag{
  display:inline-block;
  background:var(--sage-pale);
  color:var(--jade-deep);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  margin-bottom:10px;
}
.atelier-teaser h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:1.65rem;
  line-height:1.15;
  margin:0 0 6px;
}
.atelier-teaser p{
  color:var(--muted);
  margin:0;
}
@media(max-width:760px){
  .atelier-teaser{
    display:block;
    padding:22px 20px;
  }
  .atelier-teaser .btn{
    width:100%;
    text-align:center;
    margin-top:18px;
  }
}

/* ============================================================
   V14 — CTA atelier intégré à la carte tarif
   ============================================================ */
.card .card-cta{
  margin-top:18px;
  align-self:flex-start;
}

.card .btn-ghost.card-cta{
  border-color:var(--clay-soft);
  color:var(--clay);
  background:#fff;
}

.card .btn-ghost.card-cta:hover{
  background:var(--clay);
  color:#fff;
  border-color:var(--clay);
}

@media(max-width:760px){
  .card .card-cta{
    width:100%;
    text-align:center;
  }
}

/* ============================================================
   V16 — Page services & tarifs
   ============================================================ */
.full-tariffs-link{
  max-width:880px;
  margin:24px auto 0;
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:22px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-shadow:0 18px 44px -36px rgba(27,58,47,.45);
}
.full-tariffs-link p{
  color:var(--muted);
  margin:0;
}
.pricing-list{
  display:grid;
  gap:22px;
  margin:28px 0;
}
.service-price-card{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:26px;
  padding:28px 26px;
  box-shadow:0 20px 48px -38px rgba(27,58,47,.48);
}
.service-price-head .cat{
  display:inline-block;
  color:var(--clay);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.service-price-card h2{
  margin:0 0 10px;
}
.service-price-head p{
  color:var(--muted);
}
.price-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin:20px 0 14px;
}
.price-options div{
  background:var(--cream);
  border:1px solid rgba(27,58,47,.06);
  border-radius:18px;
  padding:18px 16px;
}
.price-options strong{
  display:block;
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:2rem;
  line-height:1;
  margin-bottom:8px;
}
.price-options span{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.45;
}
@media(max-width:760px){
  .full-tariffs-link{
    display:block;
  }
  .full-tariffs-link .btn{
    width:100%;
    text-align:center;
    margin-top:16px;
  }
  .price-options{
    grid-template-columns:1fr;
  }
  .service-price-card{
    padding:24px 20px;
  }
}

/* ============================================================
   V19 — Pages lipœdème & endométriose
   ============================================================ */
.medical-note{
  background:#fff7ef;
  border:1px solid rgba(187,106,69,.22);
  border-left:5px solid var(--clay);
  border-radius:20px;
  padding:18px 20px;
  margin:8px 0 28px;
  box-shadow:0 16px 36px -32px rgba(187,106,69,.45);
}
.medical-note strong{
  display:block;
  color:var(--clay);
  font-weight:800;
  margin-bottom:6px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.76rem;
}
.medical-note p{
  margin:0;
}
.stages-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:24px 0 30px;
}
.stage-card{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:22px;
  padding:22px 20px;
  box-shadow:0 18px 40px -34px rgba(27,58,47,.45);
}
.stage-card span{
  display:inline-block;
  background:var(--sage-pale);
  color:var(--jade-deep);
  border-radius:999px;
  padding:6px 12px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:10px;
}
.stage-card h3{
  margin-top:0;
}
.stage-card p{
  color:var(--muted);
  margin-bottom:0;
}
@media(max-width:760px){
  .stages-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V20 — Nettoyage menu + nouveaux articles pédagogiques
   ============================================================ */
.comparison-table{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:24px 0 30px;
}
.comparison-table div{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:18px;
  padding:18px 16px;
  box-shadow:0 16px 34px -30px rgba(27,58,47,.45);
}
.comparison-table strong{
  display:block;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:1.35rem;
  margin-bottom:6px;
}
.comparison-table span{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}
@media(max-width:760px){
  .comparison-table{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V24 — Footer corrigé et structuré
   ============================================================ */
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(4,1fr);
  gap:30px;
  align-items:start;
}
.footer-brand p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
  margin-top:14px;
}
.footer-brand a:not(.brand){
  color:var(--clay);
  text-decoration:none;
  font-weight:700;
}
.footer-col h4{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:1.35rem;
  margin:0 0 12px;
}
.footer-col a{
  display:block;
  color:var(--ink);
  text-decoration:none;
  font-size:.9rem;
  line-height:1.35;
  margin:0 0 10px;
}
.footer-col a:hover,
.footer-legal-links a:hover{
  color:var(--clay);
}
.footer-bottom{
  border-top:1px solid rgba(27,58,47,.1);
  margin-top:34px;
  padding-top:22px;
}
.footer-bottom .disclaimer{
  margin:0 0 16px;
  max-width:760px;
}
.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:14px;
  font-size:.86rem;
}
.footer-legal-links a{
  color:var(--muted);
  text-decoration:none;
}
.footer-bottom .legal{
  text-align:left;
  border-top:0;
  margin-top:0;
  padding-top:0;
}
@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
}
@media(max-width:620px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .footer-col a{
    margin-bottom:8px;
  }
}

/* ============================================================
   V36 — Galerie photo et intégration des nouveaux visuels
   ============================================================ */
.photo-story{
  padding: 24px 0 8px;
}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.photo-card{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 60px -46px rgba(0,0,0,.22);
}
.photo-card img{
  display:block;
  width:100%;
  aspect-ratio: 16 / 10;
  object-fit:cover;
}
.photo-copy{
  padding:18px 18px 20px;
}
.photo-copy h3{
  margin:0 0 8px;
  font-size:1.2rem;
}
.photo-copy p{
  margin:0;
  color:var(--muted);
}
.card-inline-visual{
  display:block;
  width:100%;
  margin:14px 0 10px;
  border-radius:18px;
  aspect-ratio:16 / 10;
  object-fit:cover;
}
.service-banner{
  padding:26px 0 0;
}
@media (max-width: 980px){
  .photo-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V37 — Un visuel unique par article de blog
   ============================================================ */
.guides-note{
  max-width: 760px;
  margin: 10px auto 0;
  color: var(--muted);
}
.guide-card img{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
}

/* ============================================================
   HERO V39 — version plus moderne, épurée et immersive
   ============================================================ */
.hero.hero-modern{
  padding:72px 0 46px;
  overflow:hidden;
}
.hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:54px;
  align-items:center;
}
.hero-modern .hero-copy{
  position:relative;
  z-index:2;
  animation:heroFadeUp .9s cubic-bezier(.2,.7,.2,1) both;
}
.hero-modern h1{
  max-width:10.5ch;
  font-size:clamp(3.2rem,6vw,5.4rem);
  line-height:.96;
  letter-spacing:-.02em;
}
.hero-modern p.lead{
  max-width:34ch;
  font-size:1.08rem;
  color:var(--muted);
  margin:26px 0 30px;
}
.hero-modern .hero-cta{
  margin-bottom:8px;
}
.hero-modern .hero-visual{
  position:relative;
  min-height:700px;
  isolation:isolate;
  animation:heroFadeIn 1.1s ease both .12s;
}
.hero-modern .hero-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(10px);
  opacity:.78;
}
.hero-modern .hero-orb-a{
  width:420px;height:420px;right:18px;top:18px;
  background:radial-gradient(circle, rgba(169,196,178,.52), rgba(169,196,178,.08) 60%, transparent 72%);
}
.hero-modern .hero-orb-b{
  width:340px;height:340px;left:42px;bottom:20px;
  background:radial-gradient(circle, rgba(187,106,69,.18), rgba(187,106,69,.03) 62%, transparent 75%);
}
.hero-modern .hero-stack{
  position:absolute;
  overflow:hidden;
  box-shadow:0 28px 80px -38px rgba(27,58,47,.38);
  border:1px solid rgba(255,255,255,.55);
  background:#e8e0d3;
}
.hero-modern .hero-stack img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hero-modern .hero-stack-main{
  right:10px;top:0;
  width:min(460px,78%);
  height:640px;
  border-radius:42px;
  z-index:3;
}
.hero-modern .hero-main-image{
  object-position:center 18%;
  transform:scale(1.02);
}
.hero-modern .hero-stack-top{
  left:0;top:34px;
  width:min(220px,34%);
  height:272px;
  border-radius:30px;
  z-index:2;
  opacity:.94;
  animation:softFloat 9s ease-in-out infinite 1.2s;
}
.hero-modern .hero-stack-bottom{
  left:46px;bottom:22px;
  width:min(320px,48%);
  height:220px;
  border-radius:34px;
  z-index:1;
  opacity:.96;
  animation:softFloat 11s ease-in-out infinite 2s;
}
.hero-modern .hero-stack-main::after,
.hero-modern .hero-stack-top::after,
.hero-modern .hero-stack-bottom::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.12), transparent 26%, transparent 74%, rgba(27,58,47,.08));
  pointer-events:none;
}
.hero-modern .hero-stack-main::before{
  content:"";
  position:absolute;inset:auto 0 0 0;height:30%;
  background:linear-gradient(180deg, transparent, rgba(16,34,27,.18));
  z-index:1;pointer-events:none;
}
.hero-modern .rating{
  margin-top:18px;
}
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroFadeIn{
  from{opacity:0;transform:translateY(32px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes softFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
@media(max-width:1100px){
  .hero-shell{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);gap:34px}
  .hero-modern .hero-visual{min-height:620px}
  .hero-modern .hero-stack-main{width:min(420px,78%);height:580px}
  .hero-modern .hero-stack-top{width:min(196px,34%);height:246px}
  .hero-modern .hero-stack-bottom{width:min(296px,48%);height:206px;left:28px}
}
@media(max-width:860px){
  .hero.hero-modern{padding:48px 0 26px}
  .hero-shell{grid-template-columns:1fr;gap:28px}
  .hero-modern h1{max-width:none;font-size:clamp(2.65rem,11vw,4rem)}
  .hero-modern p.lead{max-width:none;font-size:1rem}
  .hero-modern .hero-cta{gap:10px}
  .hero-modern .hero-cta .btn{width:100%;text-align:center}
  .hero-modern .hero-visual{min-height:580px}
  .hero-modern .hero-stack-main{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:4/5;max-width:430px;margin:0 auto;border-radius:34px}
  .hero-modern .hero-stack-top{left:10px;top:18px;width:34%;height:auto;aspect-ratio:4/5;border-radius:24px}
  .hero-modern .hero-stack-bottom{left:auto;right:8px;bottom:18px;width:42%;height:auto;aspect-ratio:4/3;border-radius:24px}
  .hero-modern .hero-orb-a{width:280px;height:280px;right:-10px;top:26px}
  .hero-modern .hero-orb-b{width:240px;height:240px;left:-10px;bottom:0}
}
@media(max-width:560px){
  .hero-modern .hero-visual{min-height:520px}
  .hero-modern .hero-stack-main{max-width:none}
  .hero-modern .hero-stack-top{width:36%}
  .hero-modern .hero-stack-bottom{width:46%}
}

/* ============================================================
   HERO V40 — premium minimal / Apple x Aesop x clinique haut de gamme
   ============================================================ */
.hero.hero-luxe{padding:40px 0 34px;overflow:hidden}
.hero-luxe-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,500px);gap:56px;align-items:center}
.hero-copy-luxe{max-width:640px;position:relative;z-index:2;animation:luxeFadeUp .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy-luxe h1{font-size:clamp(3rem,4.6vw,4.6rem);line-height:.96;letter-spacing:-.035em;max-width:13ch;margin:14px 0 20px}
.hero-copy-luxe .lead{max-width:43ch;font-size:1.05rem;line-height:1.65;color:var(--muted);margin:0 0 24px}
.hero-copy-luxe .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}
.hero-copy-luxe .btn-ghost{padding:13px 24px;border-radius:999px;border:1px solid rgba(27,58,47,.2);background:rgba(255,255,255,.42);backdrop-filter:blur(8px)}
.hero-copy-luxe .btn-ghost:hover{background:var(--jade-deep);color:#fff;border-color:var(--jade-deep)}
.hero-visual-luxe{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;animation:luxeFadeIn 1s ease both .12s}
.hero-visual-luxe .hero-glow{position:absolute;inset:8% -6% 10% 8%;background:radial-gradient(ellipse at 70% 35%, rgba(188,167,138,.28), transparent 46%),radial-gradient(ellipse at 38% 70%, rgba(187,106,69,.12), transparent 48%),radial-gradient(ellipse at 55% 55%, rgba(169,196,178,.16), transparent 54%);filter:blur(12px);z-index:0}
.hero-luxe-figure{position:relative;z-index:1;width:min(100%,460px);height:520px;margin:0;border-radius:34px;overflow:hidden;box-shadow:0 34px 80px -34px rgba(27,58,47,.32);background:#dfd7ca}
.hero-luxe-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 26%, rgba(14,32,26,.08) 100%);pointer-events:none}
.hero-luxe-figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:translateZ(0)}
.hero-copy-luxe .rating{margin-top:18px}
@keyframes luxeFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes luxeFadeIn{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:no-preference){.hero-luxe-figure{animation:luxeFloat 12s ease-in-out infinite}}
@keyframes luxeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:1120px){.hero-luxe-shell{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:38px}.hero-visual-luxe{min-height:540px}.hero-luxe-figure{height:540px}}
@media(max-width:860px){.hero.hero-luxe{padding:42px 0 28px}.hero-luxe-shell{grid-template-columns:1fr;gap:24px}.hero-copy-luxe{max-width:none}.hero-copy-luxe h1{max-width:12ch;font-size:clamp(2.55rem,10vw,4rem)}.hero-copy-luxe .lead{max-width:none;font-size:1rem}.hero-copy-luxe .hero-cta .btn{width:100%;text-align:center}.hero-visual-luxe{min-height:auto}.hero-luxe-figure{width:100%;max-width:430px;height:340px;margin:0 auto}.hero-visual-luxe .hero-glow{inset:2% -8% 0 -2%}}
@media(max-width:680px){.hero-visual-luxe{display:none}}

/* ============================================================
   V42 — Inspiration Hippocrates : éditorial, premium, aéré
   ============================================================ */

body{background:#F7F3EA}
header{background:rgba(247,243,234,.84)}
.hero.hero-luxe{padding-bottom:42px}
.hero-copy-luxe h1{max-width:13ch}

.jf-manifesto,.jf-service-focus,.jf-offers,.jf-salon,.jf-guides,.jf-reviews{padding:92px 0}

.jf-manifesto-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}
.jf-manifesto-grid.reverse{grid-template-columns:.96fr 1.04fr}

.jf-section-image{border-radius:32px;overflow:hidden;box-shadow:0 28px 80px -48px rgba(27,58,47,.34);background:#E7DED0}
.jf-section-image img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}
.jf-section-copy{max-width:520px}
.jf-section-copy h2,.jf-centered h2,.jf-section-title-row h2{font-family:var(--display);color:var(--jade-deep);font-weight:600;letter-spacing:-.025em;line-height:1}
.jf-section-copy h2{font-size:clamp(2.6rem,4.8vw,4.6rem);margin-bottom:26px}
.jf-section-copy p{color:var(--muted);font-size:1.05rem;margin-bottom:18px}
.jf-link{display:inline-flex;align-items:center;gap:10px;color:var(--jade-deep);text-decoration:none;font-weight:700;margin-top:8px;border-bottom:1px solid rgba(27,58,47,.35)}
.jf-link::after{content:"→";transition:transform .25s ease}
.jf-link:hover::after{transform:translateX(4px)}

.jf-centered{max-width:760px;margin:0 auto 52px;text-align:center}
.jf-centered .eyebrow{justify-content:center}
.jf-centered h2{font-size:clamp(2.7rem,5vw,4.9rem);margin-bottom:20px}
.jf-centered p{color:var(--muted);font-size:1.08rem}

.jf-service-focus{background:#EFE8DA;border-radius:46px;margin:0 18px}
.jf-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jf-focus-grid article{background:rgba(255,255,255,.72);border:1px solid rgba(27,58,47,.08);border-radius:26px;padding:30px 28px;min-height:230px}
.jf-focus-grid span{display:block;font-family:var(--display);font-size:2rem;color:var(--clay);margin-bottom:18px}
.jf-focus-grid h3{font-family:var(--display);color:var(--jade-deep);font-size:1.55rem;line-height:1.1;margin-bottom:12px}
.jf-focus-grid p{color:var(--muted);font-size:.96rem}

.jf-image-break{padding:46px 0 12px}
.jf-image-break img{display:block;width:100%;aspect-ratio:16 / 7;object-fit:cover;border-radius:34px;box-shadow:0 28px 90px -56px rgba(27,58,47,.38)}

.jf-section-title-row{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:44px}
.jf-section-title-row h2{font-size:clamp(2.4rem,4.5vw,4.3rem)}

.jf-offer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px}
.jf-offer-card{background:#fff;border-radius:28px;padding:34px 30px;border:1px solid rgba(27,58,47,.08);display:flex;flex-direction:column;gap:14px;min-height:340px}
.jf-offer-card.featured{background:linear-gradient(180deg,#fff,#FAF2EA);border-color:rgba(187,106,69,.28)}
.jf-offer-card h3{font-family:var(--display);font-size:2rem;line-height:1;color:var(--jade-deep)}
.jf-offer-card p{color:var(--muted)}
.jf-price{margin-top:auto;font-family:var(--display);font-size:3.3rem;line-height:1;color:var(--jade)}
.jf-offer-card small{color:var(--muted);margin-bottom:10px}

.jf-guides .guide-grid{grid-template-columns:repeat(4,1fr)}
.jf-guides .guide-card{border-radius:28px}
.jf-guides .guide-card img{aspect-ratio:1.12 / 1}

.jf-reviews{background:#EFE8DA;border-radius:46px;margin:0 18px 18px}
.booking{margin-top:0}

@media(max-width:980px){
  .jf-manifesto-grid,.jf-manifesto-grid.reverse{grid-template-columns:1fr;gap:34px}
  .jf-manifesto-grid.reverse .jf-section-image{order:-1}
  .jf-focus-grid,.jf-offer-grid,.jf-guides .guide-grid{grid-template-columns:1fr 1fr}
  .jf-section-title-row{display:block}
  .jf-section-title-row .jf-link{margin-top:18px}
}

@media(max-width:640px){
  .jf-manifesto,.jf-service-focus,.jf-offers,.jf-salon,.jf-guides,.jf-reviews{padding:58px 0}
  .jf-service-focus,.jf-reviews{border-radius:28px;margin-left:10px;margin-right:10px}
  .jf-focus-grid,.jf-offer-grid,.jf-guides .guide-grid{grid-template-columns:1fr}
  .jf-image-break img{aspect-ratio:1.25 / 1}
}

/* ============================================================
   V43 — Corrections alignements, contrastes et ancre Lymphaïa
   ============================================================ */

/* Bloc infos avant footer : centré, espacé, pas collé à gauche */
.jf-practical-section{
  padding:74px 0 82px;
}

.jf-practical-grid{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
  align-items:start;
}

.jf-practical-grid .info{
  background:rgba(255,255,255,.52);
  border:1px solid rgba(27,58,47,.08);
  border-radius:24px;
  padding:28px 26px;
  min-height:190px;
}

.jf-practical-grid .info h4{
  margin-bottom:12px;
}

.jf-practical-grid .info p{
  margin:0;
}

/* Nettoyage du footer : éviter une rupture visuelle trop forte */
footer{
  margin-top:0;
}

/* Menu : s'assurer que Lymphaïa arrive sur la bonne section avec un peu d'air sous le header sticky */
#methode{
  scroll-margin-top:96px;
}

@media(max-width:820px){
  .jf-practical-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .jf-practical-section{
    padding:52px 0 62px;
  }

}

/* Bloc infos avant footer : alignement propre */
.jf-practical-section{padding:74px 0 82px}
.jf-practical-grid{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
  align-items:start;
}
.jf-practical-grid .info{
  background:rgba(255,255,255,.52);
  border:1px solid rgba(27,58,47,.08);
  border-radius:24px;
  padding:28px 26px;
  min-height:190px;
}
.jf-practical-grid .info h4{margin-bottom:12px}
.jf-practical-grid .info p{margin:0}
footer{margin-top:0}
#methode{scroll-margin-top:96px}

/* Avis Google */
.jf-google-rating{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:8px auto 0;
  color:var(--muted);
}
.jf-google-rating span{
  color:#E0A23B;
  letter-spacing:2px;
}
.jf-google-rating strong{
  color:var(--jade-deep);
}
.jf-google-note{
  text-align:center;
  margin-top:28px;
}
.jf-google-note a{
  color:var(--clay);
  text-decoration:none;
  font-weight:700;
  border-bottom:1px solid rgba(187,106,69,.45);
}

@media(max-width:820px){
  .jf-practical-grid{grid-template-columns:1fr;gap:18px}
  .jf-practical-section{padding:52px 0 62px}

}

/* ============================================================
   V45 — Ancres menu distinctes : Le soin / Lymphaïa
   ============================================================ */
#soin,
#methode{
  scroll-margin-top:96px;
}

/* ============================================================
   V47 — Page blog classée par grandes catégories
   ============================================================ */
.blog-hero{
  padding:78px 0 46px;
}
.blog-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:56px;
  align-items:end;
}
.blog-hero h1{
  max-width:900px;
  font-size:clamp(3rem,6vw,5.6rem);
  line-height:.96;
  letter-spacing:-.035em;
  margin:16px 0 24px;
}
.blog-hero p{
  max-width:760px;
  color:var(--muted);
  font-size:1.12rem;
}
.blog-hero-card{
  background:#1B3A2F;
  color:#F8F2E8;
  border-radius:32px;
  padding:34px 30px;
  box-shadow:0 28px 80px -48px rgba(27,58,47,.48);
}
.blog-hero-card strong{
  display:block;
  font-family:var(--display);
  font-size:4.4rem;
  line-height:.9;
  color:#fff;
}
.blog-hero-card span{
  display:block;
  margin:12px 0 10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  color:#A9C4B2;
}
.blog-hero-card p{
  color:rgba(248,242,232,.78);
  font-size:.96rem;
}

.blog-categories-nav{
  position:sticky;
  top:69px;
  z-index:20;
  background:rgba(247,243,234,.86);
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(27,58,47,.08);
  border-bottom:1px solid rgba(27,58,47,.08);
}
.blog-categories-nav .wrap{
  display:flex;
  gap:12px;
  overflow:auto;
  padding-top:14px;
  padding-bottom:14px;
}
.blog-categories-nav a{
  flex:0 0 auto;
  text-decoration:none;
  color:var(--jade-deep);
  background:rgba(255,255,255,.58);
  border:1px solid rgba(27,58,47,.10);
  border-radius:999px;
  padding:9px 15px;
  font-size:.9rem;
  font-weight:700;
}
.blog-categories-nav a:hover{
  background:var(--jade-deep);
  color:#fff;
}

.blog-categories{
  padding-top:64px;
  padding-bottom:80px;
}
.blog-category{
  scroll-margin-top:138px;
  margin-bottom:76px;
}
.blog-category-head{
  max-width:720px;
  margin-bottom:30px;
}
.blog-category-head h2{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1;
  letter-spacing:-.025em;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.blog-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  text-decoration:none;
  color:inherit;
  min-height:100%;
  transition:transform .28s ease, box-shadow .28s ease;
}
.blog-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 70px -50px rgba(27,58,47,.45);
}
.blog-card img{
  display:block;
  width:100%;
  aspect-ratio:1.16 / 1;
  object-fit:cover;
}
.blog-card-content{
  padding:22px 20px 24px;
}
.blog-card .cat{
  display:block;
  color:var(--clay);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.68rem;
  font-weight:700;
  margin-bottom:12px;
}
.blog-card h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:1.45rem;
  line-height:1.08;
  margin-bottom:10px;
}
.blog-card p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}
.blog-cta{
  margin:0 18px 18px;
  padding:82px 0;
  text-align:center;
  background:#EFE8DA;
  border-radius:46px;
}
.blog-cta h2{
  font-size:clamp(2.2rem,4vw,4rem);
  max-width:780px;
  margin:0 auto 18px;
}
.blog-cta p{
  color:var(--muted);
  max-width:680px;
  margin:0 auto 28px;
}

@media(max-width:1080px){
  .blog-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .blog-hero-grid{grid-template-columns:1fr;gap:26px}
  .blog-hero-card{max-width:360px}
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .blog-hero{padding:52px 0 34px}
  .blog-categories{padding-top:42px}
  .blog-grid{grid-template-columns:1fr}
  .blog-cta{border-radius:28px;margin-left:10px;margin-right:10px;padding:58px 0}
}

/* ============================================================
   V48 — Tarifs homepage : présentation premium détaillée
   ============================================================ */
.sec-head.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.sec-head.center .eyebrow{
  justify-content:center;
}
.home-tarifs{
  padding:92px 0 80px;
}
.home-tarifs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  max-width:980px;
  margin:0 auto;
}
.home-tarif-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  padding:34px 34px 32px;
  min-height:520px;
  display:flex;
  flex-direction:column;
}
.home-tarif-card.main{
  border:1.5px solid rgba(187,106,69,.72);
  background:linear-gradient(180deg,#fff,#FFF8F3);
}
.home-tarif-card h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:2rem;
  line-height:1;
  margin-bottom:12px;
}
.home-tarif-card .meta,
.home-tarif-card .sub{
  color:var(--muted);
  font-size:.95rem;
}
.home-tarif-card .price{
  font-family:var(--display);
  color:var(--jade);
  font-size:3.2rem;
  line-height:1;
  margin:32px 0 6px;
}
.home-tarif-card .price small{
  font-family:var(--body);
  font-size:1rem;
  color:var(--muted);
}
.home-tarif-card ul{
  list-style:none;
  margin:26px 0 0;
  padding:0;
}
.home-tarif-card li{
  position:relative;
  padding:7px 0 7px 26px;
  color:var(--ink);
}
.home-tarif-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:17px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--sage);
}
.home-tarif-card.atelier img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:18px;
  margin:26px 0 22px;
}
.home-tarif-card .card-cta{
  width:100%;
  text-align:center;
  margin-top:auto;
}
.home-tarifs-link{
  max-width:980px;
  margin:28px auto 38px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  background:#fff;
  border-radius:22px;
  border:1px solid rgba(27,58,47,.07);
  padding:24px 28px;
}
.home-tarifs-link p{
  color:var(--muted);
  font-size:1.02rem;
}
.home-offer-banner{
  max-width:1100px;
  margin:0 auto;
  background:linear-gradient(135deg,#1B3A2F,#18362C);
  color:#F8F2E8;
  border-radius:30px;
  padding:38px 38px;
  display:grid;
  grid-template-columns:1.05fr 1.4fr;
  gap:34px;
  align-items:center;
  box-shadow:0 30px 80px -48px rgba(27,58,47,.5);
}
.home-offer-banner .offer-label{
  display:inline-flex;
  margin-bottom:18px;
  padding:7px 14px;
  border-radius:999px;
  background:var(--clay);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:800;
}
.home-offer-banner h3{
  font-family:var(--display);
  font-size:2.1rem;
  line-height:1.05;
  color:#fff;
  max-width:420px;
}
.home-offer-banner p{
  color:rgba(248,242,232,.78);
  margin-top:10px;
  max-width:460px;
}
.offer-prices{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.offer-prices div{
  border:1px solid rgba(248,242,232,.18);
  border-radius:18px;
  padding:20px 16px;
  text-align:center;
  background:rgba(255,255,255,.06);
}
.offer-prices span,
.offer-prices small{
  display:block;
  color:rgba(248,242,232,.7);
}
.offer-prices strong{
  display:block;
  font-family:var(--display);
  font-size:2.3rem;
  color:#fff;
  line-height:1;
  margin:14px 0 6px;
}
@media(max-width:860px){
  .home-tarifs-grid,
  .home-tarifs-link,
  .home-offer-banner{
    grid-template-columns:1fr;
  }
  .home-tarif-card{
    min-height:auto;
  }
  .offer-prices{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .home-tarifs{
    padding:62px 0;
  }
  .home-tarif-card,
  .home-offer-banner{
    padding:28px 22px;
    border-radius:24px;
  }
  .home-tarifs-link{
    padding:22px;
  }
}

/* ============================================================
   V53 — Nouveau service : acupression minceur sans drainage inclus
   ============================================================ */
.home-tarifs-grid{
  grid-template-columns:1fr 1fr 1fr;
  max-width:1180px;
}
.home-tarif-card.acupression{
  border:1.5px solid rgba(27,58,47,.34);
  background:linear-gradient(180deg,#FFFFFF,#F5EFE5);
  position:relative;
}
.service-badge{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:16px;
  padding:7px 13px;
  border-radius:999px;
  background:var(--jade-deep);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:800;
}
.home-tarif-card.acupression .price{
  color:var(--clay);
}
.home-tarif-card.acupression .btn-primary{
  margin-top:auto;
  text-align:center;
}
.service-acupression{
  padding:84px 0;
  background:#EFE8DA;
  margin:24px 18px;
  border-radius:42px;
}
.service-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:56px;
  align-items:start;
}
.service-detail h2,
.service-acupression h2{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:clamp(2.5rem,4vw,4.2rem);
  line-height:1;
  letter-spacing:-.025em;
  margin-bottom:22px;
}
.service-intro{
  font-size:1.12rem;
  color:var(--jade-deep);
  max-width:760px;
}
.service-points{
  list-style:none;
  padding:0;
  margin:28px 0 0;
  display:grid;
  gap:10px;
}
.service-points li{
  position:relative;
  padding-left:26px;
  color:var(--ink);
}
.service-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--sage);
}
.service-note{
  margin-top:24px;
  color:var(--muted);
  font-size:.92rem;
  font-style:italic;
}
.service-price-box{
  background:#fff;
  border-radius:28px;
  padding:30px 28px;
  border:1px solid rgba(27,58,47,.08);
  box-shadow:0 24px 70px -50px rgba(27,58,47,.35);
}
.service-price-box span{
  display:block;
  color:var(--muted);
  margin-bottom:12px;
}
.service-price-box strong{
  display:block;
  font-family:var(--display);
  color:var(--clay);
  font-size:4rem;
  line-height:1;
}
.service-price-box p{
  color:var(--muted);
  margin:10px 0 24px;
}
.service-card-acupression{
  border-color:rgba(187,106,69,.24) !important;
}
@media(max-width:980px){
  .home-tarifs-grid{
    grid-template-columns:1fr;
    max-width:720px;
  }
  .service-detail-grid{
    grid-template-columns:1fr;
  }
  .service-price-box{
    max-width:420px;
  }
}
@media(max-width:560px){
  .service-acupression{
    padding:58px 0;
    margin-left:10px;
    margin-right:10px;
    border-radius:28px;
  }
}

/* ============================================================
   V54 — Pages dédiées pour chaque soin
   ============================================================ */
.care-hero{
  padding:78px 0 58px;
}
.care-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:56px;
  align-items:end;
}
.care-hero h1{
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.95;
  letter-spacing:-.035em;
  margin:16px 0 22px;
  max-width:900px;
}
.care-hero p{
  max-width:760px;
  color:var(--muted);
  font-size:1.12rem;
}
.care-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.care-price-card{
  background:#1B3A2F;
  color:#F8F2E8;
  border-radius:30px;
  padding:32px 28px;
  box-shadow:0 28px 80px -48px rgba(27,58,47,.48);
}
.care-price-card span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#A9C4B2;
  font-size:.75rem;
  font-weight:800;
  margin-bottom:12px;
}
.care-price-card strong{
  display:block;
  font-family:var(--display);
  font-size:4rem;
  line-height:1;
  color:#fff;
}
.care-price-card p{
  color:rgba(248,242,232,.76);
  margin-top:10px;
  font-size:.98rem;
}
.care-content{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:58px;
  align-items:start;
  padding-bottom:84px;
}
.care-main{
  display:grid;
  gap:26px;
}
.care-section{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  padding:34px 34px;
}
.care-section h2,
.care-side h2,
.care-faq h2{
  font-family:var(--display);
  color:var(--jade-deep);
  line-height:1;
  letter-spacing:-.02em;
}
.care-section h2{
  font-size:2.3rem;
  margin-bottom:16px;
}
.care-section p{
  color:var(--muted);
  margin-bottom:12px;
}
.care-section p:last-child{
  margin-bottom:0;
}
.care-side{
  position:sticky;
  top:98px;
  background:#EFE8DA;
  border-radius:28px;
  padding:30px 28px;
}
.care-side h2{
  font-size:2rem;
  margin-bottom:12px;
}
.care-side p{
  color:var(--muted);
  margin-bottom:22px;
}
.care-side .btn{
  width:100%;
  text-align:center;
}
.care-faq{
  padding:76px 0;
  background:#EFE8DA;
  border-radius:46px;
  margin:0 18px 18px;
}
.care-faq-list{
  max-width:920px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.care-faq-item{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:20px;
  padding:20px 22px;
}
.care-faq-item summary{
  cursor:pointer;
  color:var(--jade-deep);
  font-weight:800;
}
.care-faq-item p{
  margin-top:12px;
  color:var(--muted);
}
@media(max-width:860px){
  .care-hero-grid,
  .care-content{
    grid-template-columns:1fr;
    gap:28px;
  }
  .care-side{
    position:static;
  }
  .care-price-card{
    max-width:360px;
  }
}
@media(max-width:560px){
  .care-hero{
    padding:54px 0 38px;
  }
  .care-section,
  .care-side{
    padding:26px 22px;
    border-radius:24px;
  }
  .care-faq{
    padding:58px 0;
    border-radius:28px;
    margin-left:10px;
    margin-right:10px;
  }
}

/* ============================================================
   V55 — Séparation acupression / accompagnement alimentaire
   ============================================================ */
.home-tarif-card.food-support{
  border:1.5px solid rgba(169,196,178,.55);
  background:linear-gradient(180deg,#FFFFFF,#F3F6EE);
}
.home-tarif-card.food-support .price small{
  display:block;
  font-family:var(--display);
  color:var(--jade);
  font-size:2.4rem;
  line-height:1;
}
.service-card-food-support{
  border-color:rgba(169,196,178,.42) !important;
}
.legal-safe{
  border-color:rgba(187,106,69,.24);
}
@media(max-width:1180px){
  .home-tarifs-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .home-tarifs-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V56 — Accompagnement alimentaire à 100 €
   ============================================================ */
.home-tarif-card.food-support .price{
  color:var(--clay);
}

/* ============================================================
   V57 — Page SEO locale drainage lymphatique Besançon 25000
   ============================================================ */
.local-rank-hero{
  padding:78px 0 62px;
}
.local-rank-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:58px;
  align-items:end;
}
.local-rank-hero h1{
  font-size:clamp(3rem,6vw,5.9rem);
  line-height:.94;
  letter-spacing:-.038em;
  margin:16px 0 24px;
  max-width:980px;
}
.local-rank-hero p{
  max-width:790px;
  color:var(--muted);
  font-size:1.12rem;
}
.local-rank-card{
  background:#1B3A2F;
  color:#F8F2E8;
  border-radius:30px;
  padding:32px 28px;
  box-shadow:0 28px 80px -48px rgba(27,58,47,.52);
}
.local-rank-card span{
  display:block;
  color:#A9C4B2;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.74rem;
  font-weight:800;
  margin-bottom:12px;
}
.local-rank-card strong{
  display:block;
  color:#fff;
  font-family:var(--display);
  font-size:2.8rem;
  line-height:1;
}
.local-rank-card p{
  color:rgba(248,242,232,.76);
  margin-top:14px;
}
.local-rank-keywords{
  padding:64px 0;
  background:#EFE8DA;
  border-radius:42px;
  margin:0 18px;
}
.local-rank-keywords h2{
  font-size:clamp(2.2rem,4vw,4rem);
  max-width:850px;
  margin:0 0 26px;
}
.keyword-cloud{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.keyword-cloud p{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:18px;
  padding:18px 20px;
  color:var(--jade-deep);
  font-weight:700;
}
.local-rank-note{
  max-width:840px;
  color:var(--muted);
  margin-top:22px;
  font-size:.95rem;
}
.local-rank-content{
  padding:78px 0;
}
.local-rank-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:58px;
  align-items:start;
}
.local-rank-main{
  display:grid;
  gap:26px;
}
.local-rank-main section{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  padding:34px 34px;
}
.local-rank-main h2{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:2.35rem;
  line-height:1.03;
  letter-spacing:-.02em;
  margin-bottom:16px;
}
.local-rank-main p{
  color:var(--muted);
  margin-bottom:12px;
}
.local-rank-main p:last-child{
  margin-bottom:0;
}
.local-rank-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:13px;
}
.local-rank-list li{
  color:var(--muted);
  padding-left:25px;
  position:relative;
}
.local-rank-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--sage);
}
.local-rank-side{
  position:sticky;
  top:96px;
  display:grid;
  gap:20px;
}
.local-rank-side > div{
  background:#EFE8DA;
  border-radius:24px;
  padding:26px 24px;
}
.local-rank-side h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:1.7rem;
  margin-bottom:10px;
}
.local-rank-side p,
.local-rank-side a:not(.btn){
  color:var(--muted);
}
.local-rank-side a:not(.btn){
  display:block;
  text-decoration:none;
  margin:10px 0;
  font-weight:700;
}
.local-rank-side .btn{
  width:100%;
  text-align:center;
  margin-top:14px;
}
.local-rank-faq{
  margin-top:0;
}
@media(max-width:880px){
  .local-rank-grid,
  .local-rank-content-grid{
    grid-template-columns:1fr;
  }
  .local-rank-side{
    position:static;
  }
  .keyword-cloud{
    grid-template-columns:1fr;
  }
  .local-rank-card{
    max-width:380px;
  }
}
@media(max-width:560px){
  .local-rank-hero{
    padding:54px 0 42px;
  }
  .local-rank-keywords{
    margin-left:10px;
    margin-right:10px;
    border-radius:28px;
    padding:48px 0;
  }
  .local-rank-main section{
    padding:26px 22px;
    border-radius:24px;
  }
}

/* ============================================================
   V58 — Menus propres, dropdown services, pages soins uniformes
   ============================================================ */

/* Dropdown Services */
.nav-links{
  align-items:center;
}
.nav-item{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-drop-toggle{
  appearance:none;
  border:0;
  background:transparent;
  font:inherit;
  color:inherit;
  cursor:pointer;
  padding:0;
}
.nav-drop-toggle::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-3px) rotate(45deg);
}
.nav-dropdown{
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:310px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(27,58,47,.10);
  box-shadow:0 28px 80px -42px rgba(27,58,47,.38);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
  z-index:1000;
}
.nav-services:hover .nav-dropdown,
.nav-services:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--jade-deep);
  line-height:1.25;
}
.nav-dropdown a:hover{
  background:#F3EEE4;
}
.nav-dropdown span{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:var(--muted);
}

/* Homepage : acupression seule, pas de carte alimentaire */
.home-tarifs-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:1180px;
}
.home-tarif-card.food-support{
  display:none !important;
}
.home-tarif-card.acupression .meta{
  max-width:92%;
}

/* Pages soins : uniformisation et réduction des redites */
.care-content-uniform .care-section{
  min-height:auto;
}
.care-content-uniform .care-section h2{
  margin-bottom:14px;
}
.care-faq-item p{
  max-width:760px;
}
.service-points li strong{
  color:var(--jade-deep);
}

@media(max-width:1040px){
  .home-tarifs-grid{
    grid-template-columns:1fr !important;
    max-width:720px;
  }
}
@media(max-width:820px){
  .nav-item.nav-services{
    display:block;
  }
  .nav-dropdown{
    position:static;
    transform:none;
    width:100%;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:none;
    margin-top:10px;
    background:rgba(255,255,255,.62);
  }
  .nav-services:hover .nav-dropdown,
  .nav-services:focus-within .nav-dropdown{
    transform:none;
  }
}

/* ============================================================
   V60 — Correction définitive menu haut + cartes combinaison
   ============================================================ */
.nav-links{
  display:flex;
  align-items:center;
  gap:22px;
}
.nav-links a,
.nav-drop-toggle{
  text-decoration:none;
}
.nav-item.nav-services{
  position:relative;
  display:flex;
  align-items:center;
  padding:22px 0;
  margin:-22px 0;
}
.nav-drop-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:inherit;
  cursor:pointer;
}
.nav-drop-toggle::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.nav-dropdown{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(6px);
  width:330px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(27,58,47,.12);
  box-shadow:0 28px 80px -42px rgba(27,58,47,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:9999;
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}
.nav-services:hover .nav-dropdown,
.nav-services:focus-within .nav-dropdown,
.nav-services.is-open .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  color:var(--jade-deep);
  line-height:1.25;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus{
  background:#F3EEE4;
}
.nav-dropdown span{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:var(--muted);
}
.combine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.combine-card,
.combine-grid a{
  display:block;
  text-decoration:none !important;
  color:var(--jade-deep) !important;
  background:#F7F3EA;
  border:1px solid rgba(27,58,47,.10);
  border-radius:20px;
  padding:20px 22px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.combine-card:hover,
.combine-grid a:hover{
  transform:translateY(-3px);
  border-color:rgba(187,106,69,.32);
  box-shadow:0 22px 58px -48px rgba(27,58,47,.45);
}
.combine-card strong,
.combine-grid a strong{
  display:block;
  margin-bottom:7px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:1.5rem;
  line-height:1.05;
}
.combine-card span,
.combine-grid a span{
  display:block;
  color:var(--muted);
  line-height:1.45;
}
.care-article-link{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  margin:22px 0 2px;
  padding:16px 18px;
  border-radius:18px;
  background:#EFE8DA;
  border:1px solid rgba(27,58,47,.08);
}
.care-article-link span{
  color:var(--muted);
  font-size:.82rem;
}
.care-article-link a{
  color:var(--clay);
  font-weight:800;
  text-decoration:none;
}
@media(max-width:820px){
  .nav-links{
    gap:14px;
  }
  .nav-item.nav-services{
    display:block;
    padding:0;
    margin:0;
  }
  .nav-dropdown{
    position:static;
    transform:none !important;
    width:100%;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    margin-top:10px;
    box-shadow:none;
    background:rgba(255,255,255,.64);
  }
  .nav-dropdown::before{
    display:none;
  }
  .combine-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V61 — Réparation menu, CTA, services, offre juin
   ============================================================ */
header{
  position:sticky;
  top:0;
  z-index:9998;
}
.nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  min-height:72px;
}
.brand{
  flex:0 0 auto;
  white-space:nowrap;
}
.nav-links{
  display:flex !important;
  flex:1 1 auto;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap;
}
.nav-links > a,
.nav-drop-toggle{
  font-size:.92rem;
  line-height:1;
  white-space:nowrap;
  text-decoration:none !important;
}
.nav-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:var(--clay) !important;
  color:#fff !important;
  border:1px solid var(--clay) !important;
  border-radius:999px;
  padding:11px 18px !important;
  box-shadow:0 14px 32px -22px rgba(187,106,69,.75);
}
.nav-cta:hover{
  background:#a95b3d !important;
  color:#fff !important;
}
.nav-item.nav-services{
  position:relative;
  display:flex !important;
  align-items:center;
  padding:26px 0;
  margin:-26px 0;
}
.nav-drop-toggle{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  color:inherit;
  cursor:pointer;
}
.nav-drop-toggle::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.nav-dropdown{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(6px);
  width:300px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(27,58,47,.12);
  box-shadow:0 28px 80px -42px rgba(27,58,47,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:9999;
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:20px;
}
.nav-services:hover .nav-dropdown,
.nav-services:focus-within .nav-dropdown,
.nav-services.is-open .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  color:var(--jade-deep);
  text-decoration:none !important;
  line-height:1.22;
  white-space:normal;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus{
  background:#F3EEE4;
}
.nav-dropdown span{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:var(--muted);
}
.services-new{
  padding:72px 0;
}
.services-new-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.services-new-grid .service-card{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:26px;
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.services-new-grid .service-card h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:2rem;
  line-height:1;
}
.services-new-grid .service-card p{
  color:var(--muted);
}
.services-new-grid .service-card strong{
  font-family:var(--display);
  color:var(--clay);
  font-size:2.4rem;
  line-height:1;
}
.services-new-grid .service-card a{
  margin-top:auto;
  color:var(--jade-deep);
  font-weight:800;
  text-decoration:none;
}
.home-offer-banner{
  max-width:1100px;
  margin:36px auto 0;
  background:linear-gradient(135deg,#1B3A2F,#18362C);
  color:#F8F2E8;
  border-radius:30px;
  padding:38px;
  display:grid;
  grid-template-columns:1.05fr 1.4fr;
  gap:34px;
  align-items:center;
  box-shadow:0 30px 80px -48px rgba(27,58,47,.5);
}
.home-offer-banner .offer-label{
  display:inline-flex;
  margin-bottom:18px;
  padding:7px 14px;
  border-radius:999px;
  background:var(--clay);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:800;
}
.home-offer-banner h3{
  font-family:var(--display);
  font-size:2.1rem;
  line-height:1.05;
  color:#fff;
  max-width:420px;
}
.home-offer-banner p{
  color:rgba(248,242,232,.78);
  margin-top:10px;
}
.offer-prices{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.offer-prices div{
  border:1px solid rgba(248,242,232,.18);
  border-radius:18px;
  padding:20px 16px;
  text-align:center;
  background:rgba(255,255,255,.06);
}
.offer-prices span,
.offer-prices small{
  display:block;
  color:rgba(248,242,232,.7);
}
.offer-prices strong{
  display:block;
  font-family:var(--display);
  font-size:2.3rem;
  color:#fff;
  line-height:1;
  margin:14px 0 6px;
}
.combine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.combine-card,
.combine-grid a{
  display:block;
  text-decoration:none !important;
  color:var(--jade-deep) !important;
  background:#F7F3EA;
  border:1px solid rgba(27,58,47,.10);
  border-radius:20px;
  padding:20px 22px;
}
.combine-card strong,
.combine-grid a strong{
  display:block;
  margin-bottom:7px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:1.5rem;
  line-height:1.05;
}
.combine-card span,
.combine-grid a span{
  display:block;
  color:var(--muted);
  line-height:1.45;
}
@media(max-width:1180px){
  .nav-links{
    gap:11px !important;
  }
  .nav-links > a,
  .nav-drop-toggle{
    font-size:.84rem;
  }
}
@media(max-width:980px){
  .nav{
    align-items:flex-start !important;
  }
  .nav-links{
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    white-space:normal;
  }
  .services-new-grid,
  .home-offer-banner,
  .offer-prices{
    grid-template-columns:1fr;
  }
}
@media(max-width:820px){
  .nav{
    flex-direction:column;
    align-items:flex-start !important;
  }
  .nav-links{
    width:100%;
    justify-content:flex-start !important;
  }
  .nav-item.nav-services{
    padding:0;
    margin:0;
    display:block !important;
  }
  .nav-dropdown{
    position:static;
    transform:none !important;
    width:100%;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    margin-top:10px;
    box-shadow:none;
    background:rgba(255,255,255,.64);
  }
  .nav-dropdown::before{
    display:none;
  }
  .combine-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V62 — Menu arborescent clair + fiches et articles liés
   ============================================================ */
.nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:26px !important;
  min-height:72px;
}
.brand{
  flex:0 0 auto;
  white-space:nowrap;
}
.nav-links{
  display:flex !important;
  flex:1 1 auto;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:20px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap;
}
.nav-links > a,
.nav-drop-toggle{
  font-size:.95rem;
  line-height:1;
  white-space:nowrap;
  text-decoration:none !important;
}
.nav-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:var(--clay) !important;
  color:#fff !important;
  border:1px solid var(--clay) !important;
  border-radius:999px;
  padding:11px 18px !important;
  box-shadow:0 14px 32px -22px rgba(187,106,69,.75);
}
.nav-item.nav-services{
  position:relative;
  display:flex !important;
  align-items:center;
  padding:26px 0;
  margin:-26px 0;
}
.nav-drop-toggle{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  color:inherit;
  cursor:pointer;
}
.nav-drop-toggle::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.nav-dropdown{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(6px);
  width:330px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(27,58,47,.12);
  box-shadow:0 28px 80px -42px rgba(27,58,47,.42);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:9999;
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:20px;
}
.nav-services:hover .nav-dropdown,
.nav-services:focus-within .nav-dropdown,
.nav-services.is-open .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  color:var(--jade-deep);
  text-decoration:none !important;
  line-height:1.22;
  white-space:normal;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus{
  background:#F3EEE4;
}
.nav-dropdown span{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:var(--muted);
}

/* Services : éviter les grandes cartes étroites et les textes coupés */
.services-new{
  padding:64px 0;
}
.services-new-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.services-new-grid .service-card{
  min-height:auto !important;
  padding:28px !important;
  border-radius:26px;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.services-new-grid .service-card h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:clamp(1.7rem,2.4vw,2.25rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.02em;
  margin:18px 0 12px;
  overflow-wrap:anywhere;
}
.services-new-grid .service-card p{
  font-size:1rem !important;
  line-height:1.55 !important;
  color:var(--muted);
}
.services-new-grid .service-card strong{
  font-family:var(--display);
  color:var(--clay);
  font-size:2.25rem !important;
  line-height:1;
  margin:14px 0;
}
.services-new-grid .service-card a{
  margin-top:auto;
  color:var(--jade-deep);
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid rgba(187,106,69,.55);
  padding-bottom:5px;
}

/* Articles associés sur les fiches */
.care-related{
  padding:62px 0;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:980px;
  margin:0 auto;
}
.related-card{
  display:block;
  text-decoration:none !important;
  color:var(--jade-deep) !important;
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:22px;
  padding:22px 24px;
}
.related-card strong{
  display:block;
  font-family:var(--display);
  font-size:1.6rem;
  line-height:1.05;
  margin-bottom:8px;
}
.related-card span{
  display:block;
  color:var(--muted);
  line-height:1.45;
}

/* Combinaisons : cartes lisibles */
.combine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.combine-card,
.combine-grid a{
  display:block;
  text-decoration:none !important;
  color:var(--jade-deep) !important;
  background:#F7F3EA;
  border:1px solid rgba(27,58,47,.10);
  border-radius:20px;
  padding:20px 22px;
}
.combine-card strong,
.combine-grid a strong{
  display:block;
  margin-bottom:7px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:1.5rem;
  line-height:1.05;
}
.combine-card span,
.combine-grid a span{
  display:block;
  color:var(--muted);
  line-height:1.45;
}
@media(max-width:1200px){
  .nav-links{gap:14px !important}
  .nav-links > a,.nav-drop-toggle{font-size:.88rem}
}
@media(max-width:1020px){
  .nav{align-items:flex-start !important}
  .nav-links{flex-wrap:wrap !important; justify-content:flex-end !important; white-space:normal}
  .services-new-grid,.related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .nav{flex-direction:column; align-items:flex-start !important}
  .nav-links{width:100%; justify-content:flex-start !important}
  .nav-item.nav-services{padding:0; margin:0; display:block !important}
  .nav-dropdown{position:static; transform:none !important; width:100%; opacity:1; visibility:visible; pointer-events:auto; margin-top:10px; box-shadow:none; background:rgba(255,255,255,.64)}
  .nav-dropdown::before{display:none}
  .services-new-grid,.related-grid,.combine-grid{grid-template-columns:1fr}
}

/* ============================================================
   V63 — Lymphaïa : une fiche soin + une page méthode
   ============================================================ */
.care-article-link{
  border-left:3px solid var(--clay);
}

/* ============================================================
   V64 — Correction affichage cartes Nouveautés
   ============================================================ */

/* Évite les titres coupés au milieu des mots dans la page Services */
.services-new-grid .service-card h3{
  font-size:clamp(1.45rem,1.7vw,1.9rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.015em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Réduit légèrement les textes secondaires pour aérer les cartes */
.services-new-grid .service-card p{
  font-size:.96rem !important;
  line-height:1.5 !important;
}

/* Prix plus proportionnés dans les cartes nouveautés */
.services-new-grid .service-card strong{
  font-size:2rem !important;
}

/* Cartes plus horizontales et moins étirées visuellement */
.services-new-grid .service-card{
  padding:28px 28px 26px !important;
  min-height:360px !important;
}

/* Améliore la largeur utile des cartes sur desktop */
.services-new-grid{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}

/* Sur tablette/mobile, on garde une meilleure lisibilité */
@media(max-width:1020px){
  .services-new-grid .service-card h3{
    font-size:1.8rem !important;
  }
}

@media(max-width:680px){
  .services-new-grid .service-card{
    min-height:auto !important;
  }
  .services-new-grid .service-card h3{
    font-size:1.75rem !important;
  }
}

/* ============================================================
   V66 — Liens manquants sur les blocs services
   ============================================================ */
.service-inline-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid rgba(187,106,69,.58);
  color:var(--clay) !important;
  text-decoration:none !important;
  font-weight:800;
  background:rgba(255,255,255,.56);
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.service-inline-link:hover{
  background:#fff;
  border-color:var(--clay);
  transform:translateY(-2px);
}

/* ============================================================
   V67 — Logo compact + liens services manquants
   ============================================================ */

/* Logo/header : suppression visuelle du sous-titre Besançon si une ancienne variante reste en cache */
.brand{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  line-height:1 !important;
}
.brand-main{
  font-family:var(--display) !important;
  font-size:2rem !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
  color:var(--jade-deep) !important;
}
.brand-accent{
  font-family:var(--display) !important;
  font-style:italic !important;
  font-size:1.6rem !important;
  line-height:1 !important;
  color:var(--clay) !important;
}
.brand-sub,
.brand-location,
.brand small,
.brand .location,
.brand .city{
  display:none !important;
}

/* Header compact, menu sur une ligne en desktop */
.nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  min-height:66px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:20px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  flex:1 1 auto !important;
}
.nav-links > a,
.nav-drop-toggle{
  font-size:.95rem !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.nav-cta{
  background:var(--clay) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:11px 20px !important;
  border:1px solid var(--clay) !important;
}

/* Liens ajoutés sur les blocs services */
.service-inline-link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid rgba(187,106,69,.58);
  color:var(--clay) !important;
  text-decoration:none !important;
  font-weight:800;
  background:rgba(255,255,255,.56);
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.service-inline-link:hover{
  background:#fff;
  border-color:var(--clay);
  transform:translateY(-2px);
}

/* Dropdown stable */
.nav-item.nav-services{
  position:relative;
  display:flex !important;
  align-items:center;
  padding:26px 0;
  margin:-26px 0;
}
.nav-dropdown{
  top:100% !important;
  z-index:9999 !important;
}

@media(max-width:1120px){
  .brand-main{font-size:1.8rem !important;}
  .brand-accent{font-size:1.42rem !important;}
  .nav-links{gap:14px !important;}
  .nav-links > a,
  .nav-drop-toggle{font-size:.88rem !important;}
}
@media(max-width:880px){
  .nav{
    flex-direction:column;
    align-items:flex-start !important;
    min-height:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  .nav-links{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    white-space:normal !important;
  }
}

/* ============================================================
   V68 — Tarif addiction auriculothérapie Teishin
   ============================================================ */
.service-addiction-detail,
.addiction-format{
  color:var(--muted);
  font-size:.98rem;
  line-height:1.5;
}

/* ============================================================
   V69 — Logo définitif + tuiles services uniformes
   ============================================================ */

/* Logo : aucune mention BESANÇON dans le header, même si un ancien style injectait un sous-titre */
header .brand,
header .brand-logo{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  position:relative !important;
}
header .brand::before,
header .brand::after,
header .brand-logo::before,
header .brand-logo::after,
header .brand-main::before,
header .brand-main::after,
header .brand-accent::before,
header .brand-accent::after{
  content:none !important;
  display:none !important;
}
header .brand small,
header .brand-sub,
header .brand-location,
header .brand .location,
header .brand .city{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
}
header .brand-main{
  font-family:var(--display) !important;
  font-size:1.95rem !important;
  line-height:1 !important;
  color:var(--jade-deep) !important;
  letter-spacing:-.02em !important;
}
header .brand-accent{
  font-family:var(--display) !important;
  font-size:1.55rem !important;
  font-style:italic !important;
  line-height:1 !important;
  color:var(--clay) !important;
}

/* Page Services : tuiles uniformes */
.services-page-v69{
  overflow:hidden;
}
.services-hero-v69{
  padding:78px 0 42px;
}
.services-hero-v69 h1{
  max-width:860px;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:.95;
  letter-spacing:-.035em;
  margin:16px 0 22px;
}
.services-hero-v69 p{
  max-width:760px;
  color:var(--muted);
  font-size:1.08rem;
}
.service-feature-v69{
  padding:10px 0 32px;
}
.services-grid-section-v69{
  padding:54px 0 78px;
}
.services-grid-v69{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.service-tile{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:28px;
  padding:28px;
  min-height:360px;
  display:flex;
  flex-direction:column;
  gap:16px;
  box-shadow:0 24px 70px -58px rgba(27,58,47,.45);
}
.service-tile-featured{
  min-height:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px auto;
  align-items:center;
  gap:28px;
  border-color:rgba(187,106,69,.26);
  background:linear-gradient(135deg,#fff,#FFF8F3);
}
.service-tile h2,
.service-tile h3{
  font-family:var(--display);
  color:var(--jade-deep);
  letter-spacing:-.02em;
  line-height:1.02;
  margin:0;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.service-tile h2{
  font-size:clamp(2.4rem,4vw,4rem);
}
.service-tile h3{
  font-size:clamp(1.75rem,2.2vw,2.25rem);
}
.service-tile p{
  color:var(--muted);
  line-height:1.55;
  margin:0;
}
.service-chip{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:900;
  color:#fff;
}
.chip-new{background:#C46F49;}
.chip-featured{background:#1B3A2F;}
.chip-wellness{background:#6F927B;}
.chip-support{background:#8A6F9A;}
.service-tile-meta{
  margin-top:auto;
}
.service-tile-meta strong{
  display:block;
  font-family:var(--display);
  color:var(--clay);
  font-size:2.55rem;
  line-height:1;
  margin-bottom:6px;
}
.service-tile-meta span{
  display:block;
  color:var(--muted);
  line-height:1.4;
}
.service-tile-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(187,106,69,.58);
  color:var(--clay) !important;
  text-decoration:none !important;
  font-weight:900;
  background:rgba(255,255,255,.72);
}
.service-tile-link:hover{
  background:#fff;
  border-color:var(--clay);
}
.services-note-v69{
  margin:0 18px 18px;
  padding:66px 0;
  text-align:center;
  background:#EFE8DA;
  border-radius:38px;
}
.services-note-v69 h2{
  font-size:clamp(2.2rem,4vw,4rem);
  margin-bottom:14px;
}
.services-note-v69 p{
  max-width:760px;
  margin:0 auto 26px;
  color:var(--muted);
}
@media(max-width:1040px){
  .services-grid-v69{
    grid-template-columns:1fr 1fr;
  }
  .service-tile-featured{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .services-grid-v69{
    grid-template-columns:1fr;
  }
  .service-tile{
    min-height:auto;
  }
  header .brand-main{font-size:1.75rem !important;}
  header .brand-accent{font-size:1.38rem !important;}
}

/* ============================================================
   V70 — Logo avec BESANÇON comme dans l’exemple fourni
   ============================================================ */

/* Le logo affiche bien JadeFlow Studio + BESANÇON sous le nom */
header .brand.brand-logo{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  min-width:220px;
}

header .brand-line{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:8px !important;
  line-height:1 !important;
}

header .brand-main{
  font-family:var(--display) !important;
  font-size:2.05rem !important;
  line-height:.92 !important;
  color:var(--jade-deep) !important;
  letter-spacing:-.02em !important;
}

header .brand-accent{
  font-family:var(--display) !important;
  font-size:1.62rem !important;
  font-style:italic !important;
  line-height:.92 !important;
  color:var(--clay) !important;
}

header .brand-city{
  display:block !important;
  visibility:visible !important;
  height:auto !important;
  overflow:visible !important;
  margin:0 !important;
  padding-left:3px !important;
  font-family:var(--body) !important;
  font-size:.74rem !important;
  line-height:1 !important;
  letter-spacing:.34em !important;
  color:rgba(27,58,47,.58) !important;
  font-weight:800 !important;
}

/* Annule explicitement les anciennes règles V69 qui masquaient la localisation */
header .brand.brand-logo .brand-city::before,
header .brand.brand-logo .brand-city::after{
  content:none !important;
  display:none !important;
}

@media(max-width:680px){
  header .brand.brand-logo{
    min-width:auto;
  }
  header .brand-main{
    font-size:1.78rem !important;
  }
  header .brand-accent{
    font-size:1.38rem !important;
  }
  header .brand-city{
    font-size:.66rem !important;
    letter-spacing:.28em !important;
  }
}

/* ============================================================
   V71 — Article LYTIS Longevity / Lymphaïa
   ============================================================ */
.article-hero-v71{
  padding:78px 0 48px;
}
.article-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:end;
}
.article-hero h1{
  font-size:clamp(3rem,6vw,5.6rem);
  line-height:.94;
  letter-spacing:-.035em;
  margin:16px 0 22px;
}
.article-hero p{
  color:var(--muted);
  max-width:780px;
  font-size:1.1rem;
}
.article-hero-media img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  border-radius:32px;
  display:block;
  box-shadow:0 26px 70px -50px rgba(27,58,47,.45);
}
.article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:54px;
  align-items:start;
  padding-bottom:84px;
}
.article-content{
  background:#fff;
  border:1px solid rgba(27,58,47,.08);
  border-radius:34px;
  padding:44px;
}
.article-content .lead{
  font-size:1.18rem;
  color:var(--jade-deep);
}
.article-content h2{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:clamp(2rem,3vw,3rem);
  line-height:1;
  margin:42px 0 16px;
}
.article-content p,
.article-content li{
  color:var(--muted);
  line-height:1.75;
}
.article-content a{
  color:var(--clay);
  font-weight:800;
  text-decoration:none;
}
.article-content ul{
  padding-left:1.2rem;
  display:grid;
  gap:10px;
}
.note-box{
  margin:30px 0;
  padding:22px 24px;
  border-radius:22px;
  background:#EFE8DA;
  border-left:4px solid var(--clay);
}
.note-box strong{
  color:var(--jade-deep);
}
.article-cta{
  margin-top:46px;
  padding:34px;
  border-radius:28px;
  background:#1B3A2F;
  color:#fff;
}
.article-cta h2{
  color:#fff;
  margin:8px 0 12px;
}
.article-cta p{
  color:rgba(255,255,255,.72);
}
.article-side{
  position:sticky;
  top:96px;
}
.side-card{
  background:#EFE8DA;
  border-radius:26px;
  padding:26px;
}
.side-card h3{
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:1.8rem;
  margin-bottom:12px;
}
.side-card a{
  display:block;
  color:var(--jade-deep);
  text-decoration:none;
  font-weight:800;
  padding:12px 0;
  border-bottom:1px solid rgba(27,58,47,.12);
}
@media(max-width:900px){
  .article-hero-grid,
  .article-layout{
    grid-template-columns:1fr;
  }
  .article-side{
    position:static;
  }
  .article-hero-media img{
    aspect-ratio:16/10;
  }
}
@media(max-width:560px){
  .article-content{
    padding:28px 22px;
    border-radius:26px;
  }
}

/* ============================================================
   V72 — Mise en forme des notes de soin
   ============================================================ */
.pack-note{
  margin-top:2px;
  padding:10px 12px;
  border-radius:14px;
  background:#F7F3EA;
  color:var(--jade-deep);
  font-size:.9rem;
  line-height:1.35;
}
.pack-note strong{
  color:var(--clay);
  font-weight:900;
}
.home-pack-note{
  margin:12px 0 0;
}
.pack-section{
  border-color:rgba(187,106,69,.18) !important;
}
.pack-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.pack-options div{
  border-radius:20px;
  background:#F7F3EA;
  border:1px solid rgba(27,58,47,.08);
  padding:22px 20px;
}
.pack-options strong{
  display:block;
  font-family:var(--display);
  color:var(--jade-deep);
  font-size:2.3rem;
  line-height:1;
}
.pack-options span{
  display:block;
  margin-top:8px;
  color:var(--clay);
  font-weight:900;
}
@media(max-width:560px){
  .pack-options{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V73 — Tuile de service dédiée
   ============================================================ */

/* Anciennes tuiles packs — conservées pour compatibilité. */
.service-pack-tile,
.home-pack-universal{
  background:linear-gradient(145deg,#1B3A2F 0%,#244D3E 52%,#C46F49 145%) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 28px 80px -44px rgba(27,58,47,.55) !important;
}
.service-pack-tile h3,
.home-pack-universal h3{
  color:#fff !important;
}
.service-pack-tile p,
.home-pack-universal p,
.home-pack-universal li{
  color:rgba(255,255,255,.78) !important;
}
.service-pack-tile .service-tile-meta strong,
.home-pack-universal .price{
  color:#fff !important;
}
.chip-pack{
  background:#F8F2E8 !important;
  color:#1B3A2F !important;
}
.pack-saving-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:6px 0 4px;
}
.pack-saving-grid div{
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  padding:18px 16px;
}
.pack-saving-grid strong{
  display:block;
  font-family:var(--display);
  font-size:2.35rem;
  line-height:1;
  color:#fff;
}
.pack-saving-grid span{
  display:block;
  margin-top:6px;
  color:#F8F2E8;
  font-weight:900;
  font-size:1.05rem;
}
.pack-highlight{
  font-weight:800;
}
.service-pack-tile .service-tile-link,
.home-pack-universal .btn{
  background:#fff !important;
  color:#1B3A2F !important;
  border-color:#fff !important;
}

/* Fiches : pack universel affiché une seule fois, dans une section dédiée */
.universal-pack-section{
  background:linear-gradient(145deg,#F8F2E8,#fff) !important;
  border-color:rgba(196,111,73,.24) !important;
}
.universal-pack-section .pack-options div{
  background:#1B3A2F !important;
  border-color:#1B3A2F !important;
}
.universal-pack-section .pack-options strong{
  color:#fff !important;
}
.universal-pack-section .pack-options span{
  color:#F8F2E8 !important;
}
@media(max-width:640px){
  .pack-saving-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V74 — Économies pack calculées par soin
   ============================================================ */
.pack-economy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:20px 0;
}
.pack-economy-card{
  border-radius:22px;
  background:#1B3A2F;
  border:1px solid rgba(27,58,47,.12);
  padding:24px 22px;
  color:#fff;
}
.pack-economy-card .pack-name{
  display:inline-flex;
  margin-bottom:14px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#F8F2E8;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:900;
}
.pack-economy-card strong{
  display:block;
  font-family:var(--display);
  font-size:3rem;
  line-height:1;
  color:#fff;
}
.pack-economy-card p{
  margin:12px 0 8px;
  color:rgba(255,255,255,.82) !important;
  line-height:1.45;
}
.pack-economy-card p b{
  color:#fff;
  font-weight:900;
}
.pack-economy-card small{
  display:block;
  color:#F8F2E8;
  line-height:1.45;
  font-weight:700;
}
.atelier-note{
  border-color:rgba(169,196,178,.32) !important;
  background:#F7F3EA !important;
}
.atelier-note h2{
  color:var(--jade-deep);
}
@media(max-width:680px){
  .pack-economy-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V75 — Correction menu Services sur mobile
   ============================================================ */

.nav-services .nav-dropdown{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media(min-width:821px){
  .nav-services:hover .nav-dropdown,
  .nav-services:focus-within .nav-dropdown,
  .nav-services.is-open .nav-dropdown{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }
}

@media(max-width:820px){
  .nav{
    gap:22px !important;
  }

  .nav-links{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:14px !important;
  }

  .nav-item.nav-services{
    position:relative !important;
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    padding:0 !important;
    margin:0 !important;
  }

  .nav-services .nav-dropdown{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    transform:none !important;
    width:min(320px, calc(100vw - 56px)) !important;
    max-height:0 !important;
    overflow:hidden !important;
    padding:0 12px !important;
    margin:0 !important;
    border-width:0 !important;
    box-shadow:0 24px 64px -42px rgba(27,58,47,.45) !important;
    background:rgba(255,255,255,.98) !important;
    z-index:9999 !important;
  }

  .nav-services.is-open .nav-dropdown{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    max-height:70vh !important;
    overflow:auto !important;
    padding:12px !important;
    border-width:1px !important;
  }

  .nav-services .nav-dropdown::before{
    display:none !important;
  }

  .nav-drop-toggle[aria-expanded="true"]::after{
    transform:translateY(2px) rotate(225deg) !important;
  }

  header{
    overflow:visible !important;
  }
}

/* ============================================================
   V77 — Dropdown Services mobile en panneau flottant complet
   ============================================================ */
header,
header .wrap,
.nav,
.nav-links,
.nav-item.nav-services{
  overflow:visible !important;
}

@media(min-width:821px){
  .nav-services .nav-dropdown{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    width:330px !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

@media(max-width:820px){
  .nav-services .nav-dropdown{
    position:fixed !important;
    top:var(--mobile-dropdown-top, 178px) !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    transform:none !important;
    margin:0 !important;
    padding:0 !important;

    max-height:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    border:0 !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 28px 80px -42px rgba(27,58,47,.55) !important;
    z-index:10050 !important;
  }

  .nav-services.is-open .nav-dropdown{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    padding:14px !important;
    border:1px solid rgba(27,58,47,.12) !important;
    max-height:calc(100vh - var(--mobile-dropdown-top, 178px) - 24px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .nav-services .nav-dropdown a{
    display:block !important;
    padding:14px 16px !important;
    border-radius:16px !important;
    background:rgba(248,242,232,.58) !important;
    margin:0 0 8px !important;
    white-space:normal !important;
  }

  .nav-services .nav-dropdown a:last-child{
    margin-bottom:0 !important;
  }

  .nav-services .nav-dropdown::before{
    display:none !important;
  }

  .nav-drop-toggle[aria-expanded="true"]::after{
    transform:translateY(2px) rotate(225deg) !important;
  }
}

/* ============================================================
   V81 — Clarification tarif Auriculothérapie
   ============================================================ */
.auriculo-tarif-clarity{
  border-color:rgba(187,106,69,.22) !important;
  background:linear-gradient(145deg,#fff,#F8F2E8) !important;
}
.auriculo-tarif-clarity strong{
  color:var(--jade-deep);
}
.auriculo-tarif-clarity ul{
  margin:14px 0 12px;
  padding-left:1.2rem;
}
.auriculo-tarif-clarity li{
  margin:.45rem 0;
}

/* ============================================================
   V84 — Article kiné vs drainage signature
   ============================================================ */
.compare-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0;}
.compare-box>div{border-radius:24px;padding:24px;background:#F8F2E8;border:1px solid rgba(27,58,47,.10);}
.compare-box h3{margin-top:0;color:var(--jade-deep);}
.article-sources{margin-top:34px;padding:24px;border-radius:24px;background:#faf8f3;border:1px solid rgba(27,58,47,.08);}
.article-sources h2{margin-top:0;}
@media(max-width:760px){.compare-box{grid-template-columns:1fr;}}

/* ============================================================
   V85 — Article addictions laser vs énergétique chinoise
   ============================================================ */
.article-sources{
  margin-top:34px;
  padding:24px;
  border-radius:24px;
  background:#faf8f3;
  border:1px solid rgba(27,58,47,.08);
}
.article-sources h2{
  margin-top:0;
}

/* ============================================================
   V86 — Promo été, Boost & Flow, Calendly et popup actualités
   ============================================================ */

.home-tarif-card.boost-flow,
.service-tile.boost-flow-tile{
  background:linear-gradient(145deg,#fff,#f3eee4);
  border-color:rgba(187,106,69,.22);
}

.boost-flow-hero{
  background:
    radial-gradient(circle at 85% 15%,rgba(187,106,69,.16),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.36),transparent);
}

.boost-flow-difference{
  border-color:rgba(47,106,80,.18) !important;
  background:linear-gradient(145deg,#fff,#eef4ef) !important;
}

.booking-v86 .booking-v86-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 14px;
}

.booking.booking-v86{
  padding:44px 0;
}

.calendly-booking-card{
  margin-top:14px;
  padding:12px;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(27,58,47,.12);
  box-shadow:0 30px 80px -60px rgba(27,58,47,.55);
}

.calendly-booking-copy{
  max-width:720px;
  margin:0 auto 12px;
  text-align:center;
}

.calendly-booking-copy h3{
  margin:0;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:clamp(1.7rem,3vw,2.5rem);
}

.calendly-embed-zone{
  min-height:0;
  border-radius:18px;
  background:#f8f4ec;
  border:1px dashed rgba(27,58,47,.28);
  overflow:hidden;
}

.calendly-placeholder{
  min-height:380px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:28px;
  text-align:center;
}

.calendly-placeholder strong{
  color:var(--jade-deep);
  font-size:1.12rem;
}

.calendly-inline-widget{
  width:100%;
}

body.newsletter-popup-open{
  overflow:hidden;
}

.newsletter-mini-trigger{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:12000;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 16px;
  border:1px solid rgba(27,58,47,.14);
  border-radius:999px;
  background:rgba(255,253,248,.96);
  color:var(--jade-deep);
  box-shadow:0 16px 46px -24px rgba(27,58,47,.5);
  font:700 .82rem/1 var(--body);
  cursor:pointer;
  backdrop-filter:blur(10px);
}

.newsletter-mini-trigger span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin:-5px 0 -5px -7px;
  border-radius:50%;
  background:var(--jade-deep);
  color:#fff;
}

.newsletter-mini-trigger:hover,
.newsletter-mini-trigger:focus-visible{
  background:var(--jade-deep);
  color:#fff;
}

@media(max-width:560px){
  .newsletter-mini-trigger{
    right:12px;
    bottom:12px;
    padding:10px 13px;
  }
}

.newsletter-popup{
  position:fixed;
  inset:0;
  z-index:20000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}

.newsletter-popup.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.newsletter-popup-overlay{
  position:absolute;
  inset:0;
  background:rgba(18,34,27,.68);
  backdrop-filter:blur(7px);
}

.newsletter-popup-dialog{
  position:relative;
  width:min(920px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  border-radius:30px;
  background:#fffdf8;
  box-shadow:0 34px 110px -38px rgba(0,0,0,.65);
}

.newsletter-popup-close{
  position:absolute;
  top:14px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(27,58,47,.14);
  background:rgba(255,255,255,.92);
  color:var(--jade-deep);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  z-index:2;
}

.newsletter-popup-copy{
  padding:clamp(30px,5vw,54px);
  background:
    radial-gradient(circle at 20% 0%,rgba(169,196,178,.58),transparent 42%),
    linear-gradient(145deg,#edf4ee,#f6eee5);
}

.newsletter-popup-copy h2{
  margin:10px 0 14px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.02;
}

.newsletter-popup-copy ul{
  margin:20px 0 0;
  padding-left:1.25rem;
}

.newsletter-popup-copy li{
  margin:.55rem 0;
}

.newsletter-popup-form{
  padding:clamp(30px,5vw,54px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:15px;
}

.newsletter-popup-form label > span:first-child{
  display:block;
  margin-bottom:6px;
  color:var(--jade-deep);
  font-weight:700;
  font-size:.9rem;
}

.newsletter-popup-form input[type="text"],
.newsletter-popup-form input[type="email"]{
  width:100%;
  border:1px solid rgba(27,58,47,.2);
  border-radius:14px;
  background:#fff;
  padding:13px 14px;
  color:var(--ink);
  font:inherit;
}

.newsletter-popup-form input:focus{
  outline:3px solid rgba(92,140,115,.22);
  border-color:var(--jade-soft);
}

.newsletter-name-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.newsletter-consent{
  display:grid !important;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:10px;
  font-size:.82rem;
  line-height:1.45;
}

.newsletter-consent input{
  margin-top:3px;
  width:18px;
  height:18px;
  accent-color:var(--jade);
}

.newsletter-consent span{
  margin:0 !important;
  font-weight:400 !important;
  color:var(--muted) !important;
}

.newsletter-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

.newsletter-submit{
  width:100%;
}

.newsletter-submit:disabled{
  opacity:.65;
  cursor:wait;
}

.newsletter-privacy{
  font-size:.74rem;
  color:var(--muted);
  text-align:center;
}

.newsletter-privacy a{
  color:var(--jade-deep);
}

.newsletter-form-status{
  min-height:1.3em;
  color:#9b3028;
  font-size:.84rem;
  font-weight:700;
}

.newsletter-success{
  text-align:center;
  padding:22px 0;
}

.newsletter-success strong{
  display:block;
  margin-bottom:10px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:2rem;
}

@media(max-width:760px){
  .newsletter-popup{
    align-items:flex-end;
    padding:10px;
  }

  .newsletter-popup-dialog{
    grid-template-columns:1fr;
    max-height:calc(100vh - 20px);
    border-radius:26px 26px 18px 18px;
  }

  .newsletter-popup-copy{
    padding:28px 22px 20px;
  }

  .newsletter-popup-copy ul{
    display:none;
  }

  .newsletter-popup-form{
    padding:22px;
  }

  .newsletter-name-grid{
    grid-template-columns:1fr;
  }

  .calendly-booking-card{
    padding:18px;
    border-radius:24px;
  }
}

/* ============================================================
   V90 — Accompagnement asiatique à la minceur
   ============================================================ */

.asian-slimming-hero{
  background:
    radial-gradient(circle at 84% 12%,rgba(187,106,69,.17),transparent 35%),
    radial-gradient(circle at 8% 86%,rgba(92,140,115,.15),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.42),transparent);
}

.home-tarif-card.asian-slimming-card,
.service-tile.asian-slimming-tile{
  background:linear-gradient(145deg,#fff,#f6efe6);
  border-color:rgba(187,106,69,.22);
}

.minceur-pillars{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}

.minceur-pillar{
  position:relative;
  padding:24px;
  border-radius:24px;
  background:#f8f4ec;
  border:1px solid rgba(27,58,47,.10);
}

.minceur-pillar h3{
  margin:8px 0 10px;
  color:var(--jade-deep);
  font-family:var(--display);
  font-size:1.55rem;
}

.minceur-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--jade-deep);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
}

.emotional-weight-section{
  background:
    radial-gradient(circle at 100% 0%,rgba(187,106,69,.13),transparent 40%),
    linear-gradient(145deg,#fff,#fbf4ec) !important;
  border-color:rgba(187,106,69,.2) !important;
}

.clarity-section{
  background:linear-gradient(145deg,#fff,#eef4ef) !important;
  border-color:rgba(47,106,80,.18) !important;
}

.clarity-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.clarity-grid > div{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(27,58,47,.09);
}

.clarity-grid strong{
  display:block;
  margin-bottom:6px;
  color:var(--jade-deep);
}

.care-steps{
  counter-reset:minceur-step;
  display:grid;
  gap:12px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}

.care-steps li{
  position:relative;
  padding:18px 18px 18px 62px;
  border-radius:18px;
  background:#faf8f3;
  border:1px solid rgba(27,58,47,.09);
}

.care-steps li::before{
  counter-increment:minceur-step;
  content:counter(minceur-step);
  position:absolute;
  top:17px;
  left:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--jade-deep);
  color:#fff;
  font-weight:800;
  font-size:.78rem;
}

.care-steps strong,
.care-steps span{
  display:block;
}

.care-steps strong{
  color:var(--jade-deep);
  margin-bottom:4px;
}

@media(max-width:820px){
  .minceur-pillars{
    grid-template-columns:1fr;
  }

  .clarity-grid{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   Accueil — choix tarifaire simplifié
   ============================================================ */
.home-pricing-choice{
  padding:76px 0;
  background:#f3eee5;
}

.pricing-choice-head{
  max-width:760px;
  margin:0 auto 34px;
}

.pricing-choice-head h2{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}

.pricing-choice-head > p{
  max-width:620px;
  margin:14px auto 0;
  color:var(--muted);
}

.pricing-choice-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:18px;
  align-items:stretch;
}

.signature-choice-card,
.quick-choice-card{
  position:relative;
  display:flex;
  flex-direction:column;
  border-radius:30px;
  padding:clamp(26px,4vw,46px);
}

.signature-choice-card{
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 92% 8%,rgba(187,106,69,.3),transparent 34%),
    var(--jade-deep);
  box-shadow:0 30px 80px -48px rgba(27,58,47,.72);
}

.signature-choice-card::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:280px;
  height:280px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  pointer-events:none;
}

.quick-choice-card{
  color:var(--ink);
  background:#fffdf8;
  border:1px solid rgba(27,58,47,.11);
}

.pricing-recommended,
.pricing-alternative{
  align-self:flex-start;
  display:inline-flex;
  margin-bottom:24px;
  padding:7px 12px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pricing-recommended{
  color:var(--jade-deep);
  background:#ffcf57;
}

.pricing-alternative{
  color:var(--jade-deep);
  background:#e8efe9;
}

.pricing-kicker{
  margin:0 0 6px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.72;
}

.signature-choice-card h3,
.quick-choice-card h3{
  margin:0 0 7px;
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
}

.signature-choice-card h3{
  color:#fff;
}

.quick-choice-card h3{
  color:var(--jade-deep);
  font-size:clamp(1.9rem,3vw,2.5rem);
}

.pricing-duration{
  margin:0 0 22px;
  font-weight:700;
  opacity:.78;
}

.signature-price,
.quick-price{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:14px;
}

.signature-price del{
  color:rgba(255,255,255,.58);
  font-size:1.15rem;
}

.signature-price strong,
.quick-price strong{
  font-family:var(--display);
  font-size:clamp(3.4rem,7vw,5.4rem);
  line-height:.85;
}

.signature-price strong{
  color:#fff;
}

.quick-price strong{
  color:var(--clay);
  font-size:clamp(3rem,5vw,4.1rem);
}

.pricing-value{
  max-width:540px;
  margin:4px 0 22px;
  color:#fff;
  font-size:1.04rem;
  font-weight:800;
}

.signature-choice-card ul{
  display:grid;
  gap:10px;
  margin:0 0 28px;
  padding:0;
  list-style:none;
}

.signature-choice-card li{
  position:relative;
  padding-left:25px;
  color:rgba(255,255,255,.86);
}

.signature-choice-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#ffcf57;
  font-weight:900;
}

.signature-choice-card .btn,
.quick-choice-card .btn{
  align-self:flex-start;
  margin-top:auto;
}

.signature-choice-card .btn-primary{
  background:#ffcf57;
  color:var(--jade-deep);
}

.signature-group-note{
  margin:16px 0 0;
  color:rgba(255,255,255,.68);
  font-size:.78rem;
}

.quick-choice-card > p:not(.pricing-kicker):not(.pricing-duration){
  margin:4px 0 28px;
  color:var(--muted);
}

.quick-choice-actions,
.service-card-actions{
  display:grid;
  gap:10px;
  margin-top:auto;
}

.quick-choice-actions .btn,
.service-card-actions .service-tile-link{
  width:100%;
  box-sizing:border-box;
  margin:0;
  text-align:center;
}

.service-detail-link{
  display:inline-flex;
  justify-content:center;
  color:var(--jade-deep);
  font-size:.85rem;
  font-weight:800;
  text-decoration:none;
}

.service-detail-link:hover{
  color:var(--clay);
}

.pricing-secondary-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.pricing-secondary-row a{
  display:block;
  padding:20px 22px;
  border:1px solid rgba(27,58,47,.1);
  border-radius:20px;
  background:rgba(255,255,255,.7);
  color:var(--jade-deep);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.pricing-secondary-row a:hover{
  transform:translateY(-2px);
  border-color:rgba(187,106,69,.34);
  background:#fff;
}

.pricing-secondary-row span,
.pricing-secondary-row strong,
.pricing-secondary-row small{
  display:block;
}

.pricing-secondary-row span{
  margin-bottom:5px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pricing-secondary-row strong{
  margin-bottom:5px;
  font-family:var(--display);
  font-size:1.45rem;
}

.pricing-secondary-row small{
  color:var(--muted);
}

.pricing-all-services{
  margin-top:24px;
  text-align:center;
}

@media(max-width:820px){
  .home-pricing-choice{
    padding:56px 0;
  }

  .pricing-choice-grid,
  .pricing-secondary-row{
    grid-template-columns:1fr;
  }

  .signature-choice-card,
  .quick-choice-card{
    border-radius:24px;
  }
}

.signature-upgrade{
  align-self:flex-start;
  margin:0 0 24px;
  padding:10px 14px;
  border:1px solid rgba(255,207,87,.38);
  border-radius:14px;
  background:rgba(255,207,87,.1);
  color:#ffdf89;
  font-weight:900;
}

.signature-upgrade strong,
.signature-upgrade span,
.service-duration-upgrade strong,
.service-duration-upgrade span{
  display:block;
}

.signature-upgrade span,
.service-duration-upgrade span{
  margin-top:3px;
  font-size:.78rem;
  font-weight:600;
  opacity:.82;
}

/* ============================================================
   Services & tarifs — hiérarchie de conversion
   ============================================================ */
.services-page-v69 .services-hero-v69{
  padding:58px 0 30px;
  text-align:center;
}

.services-page-v69 .services-hero-v69 .back{
  display:inline-flex;
  margin-bottom:24px;
}

.services-page-v69 .services-hero-v69 h1,
.services-page-v69 .services-hero-v69 p{
  margin-left:auto;
  margin-right:auto;
}

.services-page-v69 .services-hero-v69 h1{
  max-width:920px;
  font-size:clamp(2.8rem,5.4vw,5rem);
}

.services-page-v69 .service-feature-v69{
  padding:18px 0 42px;
}

.services-page-v69 .service-tile-featured{
  grid-template-columns:minmax(0,1.25fr) minmax(190px,.42fr) minmax(220px,.48fr);
  gap:32px;
  padding:clamp(30px,4vw,52px);
  color:#fff;
  border:0;
  background:
    radial-gradient(circle at 92% 8%,rgba(187,106,69,.34),transparent 34%),
    var(--jade-deep);
  box-shadow:0 34px 90px -52px rgba(27,58,47,.8);
}

.services-page-v69 .service-tile-featured h2{
  color:#fff;
}

.services-page-v69 .service-tile-featured p,
.services-page-v69 .service-tile-featured .service-tile-meta span{
  color:rgba(255,255,255,.76);
}

.services-page-v69 .service-tile-featured .chip-featured{
  margin-bottom:18px;
  color:var(--jade-deep);
  background:#ffcf57;
}

.service-signature-benefits{
  display:grid;
  gap:8px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}

.service-signature-benefits li{
  position:relative;
  padding-left:24px;
  color:rgba(255,255,255,.86);
}

.service-signature-benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#ffcf57;
  font-weight:900;
}

.services-page-v69 .service-tile-featured .service-tile-meta{
  margin:0;
}

.services-page-v69 .service-tile-featured .service-tile-meta del{
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.55);
  font-size:1.1rem;
}

.services-page-v69 .service-tile-featured .service-tile-meta strong{
  color:#fff;
  font-size:4.4rem;
}

.service-duration-upgrade{
  display:block;
  margin-top:16px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,207,87,.12);
  color:#ffdf89;
  font-size:.84rem;
  line-height:1.35;
}

.service-feature-actions{
  display:grid;
  gap:10px;
  align-content:center;
}

.service-feature-actions .btn,
.service-feature-actions .service-tile-link{
  width:100%;
  box-sizing:border-box;
  margin:0;
  text-align:center;
}

.service-feature-actions .btn-primary{
  background:#ffcf57;
  color:var(--jade-deep);
}

.service-feature-actions .service-tile-link{
  color:#fff !important;
  border-color:rgba(255,255,255,.3);
  background:transparent;
}

.services-page-v69 .services-grid-section-v69{
  padding:48px 0 68px;
  background:#f3eee5;
}

.services-page-v69 .services-grid-v69{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  max-width:980px;
  margin:0 auto;
}

.services-page-v69 .service-tile{
  min-height:330px;
}

.services-page-v69 .services-note-v69{
  max-width:1120px;
  margin:42px auto 18px;
  padding:52px 24px;
}

.services-page-v69 .services-conditions{
  margin:20px auto 0;
  font-size:.78rem;
}

@media(max-width:1040px){
  .services-page-v69 .service-tile-featured{
    grid-template-columns:1fr 1fr;
  }

  .service-feature-actions{
    grid-column:1 / -1;
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:680px){
  .services-page-v69 .service-tile-featured,
  .services-page-v69 .services-grid-v69,
  .service-feature-actions{
    grid-template-columns:1fr;
  }

  .service-feature-actions{
    grid-column:auto;
  }

  .services-page-v69 .service-tile-featured,
  .services-page-v69 .service-tile{
    min-height:auto;
    border-radius:24px;
  }
}


/* ---------- v93 : Lymphaïa, Expériences, grilles tarifaires ---------- */
.lymphaia-claim{font-family:var(--display);font-size:1.35rem;line-height:1.4;margin:.2rem 0 1rem}
.lymphaia-stamp{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;margin:1.4rem 0 0;padding:.9rem 1.1rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:rgba(255,255,255,.5);max-width:320px}
.lymphaia-stamp span:first-child{font-family:var(--display);font-size:1.15rem;letter-spacing:.16em;text-transform:uppercase}
.lymphaia-stamp span:nth-child(2){font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;opacity:.85}
.lymphaia-stamp span:last-child{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.care-price-card .price-note{font-size:.82rem;line-height:1.45;margin:.55rem 0 0;opacity:.9}
.care-highlight{margin-top:1rem;padding:1rem 1.15rem;border-left:3px solid var(--clay);background:rgba(0,0,0,.04);border-radius:0 8px 8px 0}
.care-rythme{font-family:var(--display);font-size:1.1rem;padding:.85rem 1rem;background:rgba(0,0,0,.035);border-radius:8px;text-align:center}
.care-cancel{margin-top:.9rem;font-size:.88rem;opacity:.85}
.pricing-after{font-size:.87rem;opacity:.8;margin-top:.35rem}
.tarif-grids{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:1.5rem 0 2rem;text-align:left}
.tarif-grid{padding:1.4rem 1.5rem;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:rgba(255,255,255,.55)}
.tarif-grid h3{font-family:var(--display);font-size:1.25rem;margin-bottom:.9rem}
.tarif-grid ul{list-style:none;padding:0;margin:0}
.tarif-grid li{padding:.5rem 0;border-bottom:1px dashed rgba(0,0,0,.09);font-size:.95rem}
.tarif-grid li:last-child{border-bottom:0}
.tarif-grid small{opacity:.65}
.tarif-rule{margin-top:1rem;font-size:.87rem;line-height:1.5;padding-top:.9rem;border-top:1px solid rgba(0,0,0,.09)}
.service-tile-meta del,.quick-price del{opacity:.55;margin-right:.4rem;font-weight:400}


/* ---------- v94 : filet de sécurité mise en page article ---------- */
.article-page{display:block}
.article-layout:not(:has(.article-side)){grid-template-columns:minmax(0,1fr)}
.side-card-cta p{font-size:.92rem;line-height:1.5;margin:.4rem 0 .9rem}
.side-card-cta .btn{width:100%;text-align:center}

.blog-external-cta{padding:56px 0;text-align:center}
.blog-external-cta h2{font-family:var(--display);font-size:1.7rem;margin-bottom:.6rem}
.blog-external-cta p{max-width:640px;margin:0 auto 1.2rem;opacity:.85}


/* ============================================================
   v95 — Correctifs : lisibilité, superpositions, nouvelle home
   ============================================================ */

/* -- Contraste : jamais de blanc sur fond jaune -- */
.pricing-recommended,
.chip-featured,
.signature-choice-card .btn-primary,
.service-feature-actions .btn-primary,
.first-price-badge{
  color:#1B3A2F !important;
}

/* -- Superposition : prix géants -- */
.signature-price strong,
.quick-price strong,
.first-price-amount strong{
  line-height:1 !important;
  display:inline-block;
  overflow-wrap:anywhere;
}
.signature-price,
.quick-price{
  flex-wrap:wrap;
  margin-bottom:18px;
}
.services-page-v69 .service-tile-featured .service-tile-meta strong{
  font-size:clamp(2.6rem,6vw,4.4rem);
  line-height:1;
  display:block;
}
.meta-after{display:block;margin-top:6px;font-size:.78rem;opacity:.78}

/* -- Bannière promo injectée -- */
.promo{
  display:block;background:var(--jade-deep);color:var(--sage-pale);
  text-align:center;font-size:.9rem;padding:10px 16px;
  text-decoration:none;transition:background .2s;
}
.promo:hover{background:#16312a}

/* -- Miroir -- */
.jf-mirror{padding:76px 0}
.jf-mirror-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.jf-mirror-grid .jf-section-copy h2{margin-bottom:14px}
.jf-mirror-grid p{margin-bottom:12px;color:var(--muted);line-height:1.65}
.jf-mirror-grid p strong{color:var(--ink)}

/* -- Signaux -- */
.jf-signals{padding:70px 0;background:#EFE8DA}
.signal-grid{list-style:none;padding:0;margin:26px auto 0;max-width:900px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.signal-grid li{position:relative;padding:14px 18px 14px 44px;background:#fff;
  border-radius:16px;font-size:.97rem;line-height:1.45}
.signal-grid li::before{content:"✦";position:absolute;left:18px;color:var(--clay);font-weight:700}
.jf-signals-note{max-width:760px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:.95rem}

/* -- Bénéfices -- */
.jf-benefits{padding:76px 0}
.benefit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px}
.benefit-cards article{padding:28px;background:#fff;border:1px solid rgba(27,58,47,.09);border-radius:24px}
.benefit-cards h3{font-family:var(--display);font-size:1.35rem;margin-bottom:8px}
.benefit-cards p{color:var(--muted);font-size:.96rem;line-height:1.55}
.jf-benefits-note{max-width:820px;margin:30px auto 0;text-align:center;color:var(--muted);line-height:1.6}
.jf-legal-note{max-width:820px;margin:16px auto 0;text-align:center;font-size:.82rem;opacity:.7;line-height:1.5}

/* -- Liens alternatifs de réservation -- */
.booking-alt-links{display:grid;gap:10px;margin-top:22px;text-align:center}
.booking-alt-links a{color:var(--clay);font-weight:600;text-decoration:none;font-size:.95rem}
.booking-alt-links a:hover{text-decoration:underline}
.booking-fallback{opacity:.72;font-size:.86rem !important;font-weight:500 !important}

/* -- Carte première séance -- */
.first-price-card{display:grid;grid-template-columns:1.15fr .85fr;gap:0;margin:30px auto 0;
  max-width:980px;border-radius:30px;overflow:hidden;
  box-shadow:0 30px 80px -50px rgba(27,58,47,.6)}
.first-price-main{padding:clamp(28px,4vw,46px);background:var(--jade-deep);color:#fff}
.first-price-badge{display:inline-block;margin-bottom:18px;padding:7px 13px;border-radius:999px;
  background:#ffcf57;color:#1B3A2F;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.first-price-main h3{font-family:var(--display);font-size:1.9rem;color:#fff;margin-bottom:4px}
.first-price-duration{color:rgba(255,255,255,.75);font-size:.92rem;margin-bottom:18px}
.first-price-amount{margin-bottom:24px}
.first-price-amount strong{font-family:var(--display);font-size:clamp(3.2rem,6vw,4.6rem);color:#fff}
.first-price-amount span{display:block;margin-top:6px;color:rgba(255,255,255,.75);font-size:.92rem}
.first-price-main .btn-primary{background:#ffcf57;color:#1B3A2F !important}
.first-price-included{list-style:none;margin:0;padding:clamp(28px,4vw,46px);background:#fffdf8;display:grid;gap:12px;align-content:center}
.first-price-included li{position:relative;padding-left:26px;color:var(--ink);font-size:.97rem}
.first-price-included li::before{content:"✓";position:absolute;left:0;color:var(--clay);font-weight:900}

/* -- Expériences -- */
.jf-experiences{padding:76px 0;background:#EFE8DA}
.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:28px}
.experience-card{padding:30px;background:#fff;border-radius:26px;border:1px solid rgba(27,58,47,.08)}
.experience-tag{display:inline-block;margin-bottom:12px;font-size:.72rem;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;color:var(--clay)}
.experience-card h3{font-family:var(--display);font-size:1.5rem;margin-bottom:2px}
.experience-card h3 b{color:var(--clay);font-size:1.7rem}
.experience-name{font-weight:700;margin-bottom:10px;font-size:.95rem}
.experience-card p{color:var(--muted);font-size:.95rem;line-height:1.55}
.experience-note{max-width:860px;margin:28px auto 0;padding:20px 24px;background:#fff;
  border-left:3px solid var(--clay);border-radius:0 16px 16px 0;line-height:1.6;font-size:.96rem}

/* -- Autres soins -- */
.jf-other-care{padding:76px 0}
.other-care-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:26px}
.other-care-card{display:block;padding:24px;border:1px solid rgba(27,58,47,.12);border-radius:20px;
  text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s;background:#fff}
.other-care-card:hover{border-color:var(--clay);transform:translateY(-2px)}
.other-care-card strong{display:block;font-family:var(--display);font-size:1.25rem;margin-bottom:6px}
.other-care-card span{color:var(--muted);font-size:.92rem;line-height:1.5}
.other-care-link{text-align:center;margin-top:28px}

/* -- Fréquence -- */
.jf-frequency{padding:76px 0;background:#EFE8DA}
.frequency-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:28px}
.frequency-steps article{padding:28px;background:#fff;border-radius:24px}
.frequency-steps .n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  margin-bottom:14px;border-radius:50%;background:var(--jade-deep);color:#fff;
  font-family:var(--display);font-size:1.25rem}
.frequency-steps h3{font-family:var(--display);font-size:1.3rem;margin-bottom:8px}
.frequency-steps p{color:var(--muted);font-size:.95rem;line-height:1.55}
.frequency-note{max-width:820px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:.94rem;line-height:1.6}

/* -- Infos pratiques -- */
.jf-practical-section{padding:70px 0}
.jf-practical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:26px}
.jf-practical-grid .info{padding:26px;background:#fff;border:1px solid rgba(27,58,47,.09);border-radius:22px}
.jf-practical-grid h4{font-family:var(--display);font-size:1.2rem;margin-bottom:10px}
.jf-practical-grid p{font-size:.94rem;line-height:1.6;margin-bottom:10px}

@media(max-width:900px){
  .jf-mirror-grid{grid-template-columns:1fr}
  .first-price-card{grid-template-columns:1fr}
}

.jf-reviews-link{text-align:center;margin-top:26px}
.jf-reviews-link a{color:var(--clay);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--clay-soft)}
.jf-mirror .jf-section-image img{width:100%;height:auto;display:block}
.booking-v86-head p{max-width:680px;margin:12px auto 0;color:var(--muted);line-height:1.6;text-align:center}
