/* ============================================================
   Tuina Loygue — feuille de style commune (toutes les pages)
   Un seul fichier à modifier pour changer le style partout.
   ============================================================ */
:root{
  --ink:#20262b; --ink2:#535d65;
  --blue:#1f4e79; --blue-d:#163a5c;
  --paper:#f6f2ea; --paper-2:#efe8da;
  --line:#ddd3c0; --jade:#4f7d6e; --gold:#b08d57;
  --maxw:1280px;
  --header-h:78px;          /* hauteur du header (sert au calage du logo) */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Manrope",sans-serif;font-weight:300;color:var(--ink);
  background:var(--paper);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.title{font-family:"Marcellus",serif;font-weight:400;letter-spacing:.01em}
.cor{font-family:"Cormorant Garamond",serif}
.tag{font-size:1.08rem;letter-spacing:.2em;text-transform:uppercase}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 2rem}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--blue-d);color:#e7eef5;font-size:.8rem;letter-spacing:.06em}
.topbar .w{max-width:var(--maxw);margin:0 auto;padding:.5rem 2rem;display:flex;
  justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.topbar a:hover{color:#fff}
.topbar .r{color:#cde0f0}

/* ---------- HEADER : menu G / logo centre / menu D ---------- */
header.site{background:var(--paper);position:sticky;top:0;z-index:60;
  border-bottom:1px solid var(--line)}
.nav{max-width:var(--maxw);margin:0 auto;min-height:var(--header-h);padding:0 1.5rem;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.6rem}
.nav ul{list-style:none;display:flex;gap:1.5rem;align-items:center}
.nav .l{justify-content:flex-end}
.nav .r{justify-content:flex-start}
.nav a.lk{font-size:.84rem;letter-spacing:.04em;color:var(--ink);position:relative;padding-bottom:3px;transition:color .25s;white-space:nowrap}
.nav a.lk::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--jade);transition:width .3s}
.nav a.lk:hover{color:var(--jade)}
.nav a.lk:hover::after{width:100%}

/* le logo : carré blanc centré dans le header, débordant légèrement vers le bas */
.logo-square{position:relative;z-index:70;width:118px;height:118px;background:#fff;border-radius:10px;margin:0 auto;
  margin-top:-28px;margin-bottom:-28px;
  box-shadow:0 18px 38px -16px rgba(22,33,44,.45),0 0 0 1px rgba(0,0,0,.05);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;transition:transform .3s}
.logo-square:hover{transform:translateY(-3px)}
.logo-square img{width:66px;height:auto}
.burger{display:none;background:none;border:none;font-size:1.5rem;color:var(--ink);cursor:pointer}

/* ---------- BOUTONS (communs) ---------- */
.btn{font-family:"Manrope";font-weight:400;font-size:.92rem;letter-spacing:.04em;
  padding:.92rem 2rem;border-radius:2px;transition:.3s;display:inline-block;cursor:pointer}
.btn-p{background:#f3ede1;color:var(--blue-d)}
.btn-p:hover{background:#fff;transform:translateY(-2px)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d);transform:translateY(-2px)}
.btn-o{border:1px solid rgba(243,237,225,.45);color:#f3ede1}
.btn-o:hover{border-color:#fff}
.btn-o-d{border:1px solid var(--line);color:var(--blue)}
.btn-o-d:hover{border-color:var(--blue)}

/* ---------- FOOTER ---------- */
footer.site{background:var(--ink);color:#b9b3a6;padding:4rem 2rem 2rem;margin-top:5rem}
.fin{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem}
.fin h4{font-family:"Marcellus",serif;font-weight:400;color:#fff;font-size:1.4rem;margin-bottom:.8rem}
.fin .col-t{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#cbb98e;margin-bottom:.8rem}
.fin a,.fin li{display:block;line-height:2;color:#b9b3a6;font-size:.92rem;list-style:none}
.fin a:hover{color:#fff}
.fb{max-width:var(--maxw);margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);
  text-align:center;font-size:.78rem;letter-spacing:.1em;color:#8a8478}

/* ---------- HERO ---------- */
.hero{position:relative;color:#f3ede1;
  background:linear-gradient(180deg,rgba(22,33,44,.55),rgba(22,33,44,.72)),
    radial-gradient(130% 120% at 78% 18%,#3a5a73 0%,#21384a 45%,#15222e 100%);
  min-height:70vh;display:flex;align-items:center;overflow:visible}
/* .hero .glyph remplacé par .hero-visual */
.hero .grain{position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay;pointer-events:none;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- YIN-YANG animé, traits fins, à droite du hero ---------- */
/* .hero .yy remplacé */
.hero .yy svg{width:100%;height:auto;display:block;
  animation:yyspin 60s linear infinite;transform-origin:50% 50%}
.hero .yy .stroke{fill:none;stroke:#f3ede1;stroke-width:1;vector-effect:non-scaling-stroke}
.hero .yy .dot{fill:#f3ede1}
@keyframes yyspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.hero .yy svg{animation:none}}
.hero-in{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;padding:5rem 2rem 6rem;width:100%}
.hero .kick{color:#cbb98e;margin-bottom:1.6rem;display:flex;align-items:center;gap:.9rem}
.hero .kick::before{content:"";width:44px;height:1px;background:#cbb98e}
.hero h1{font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.08;max-width:18ch;color:#fff}
.hero h1 em{font-style:italic;color:#dcc79a}
.hero p.lead{margin-top:1.5rem;font-size:1.12rem;max-width:40ch;color:rgba(243,237,225,.9)}
.hero .cta{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap}

/* ---------- INTRO ---------- */
.intro{max-width:880px;margin:5rem auto 0;padding:0 2rem;text-align:center}
.intro .lead-q{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;
  font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.35;color:var(--ink)}
.intro .lead-q b{font-style:normal;color:var(--blue)}
.intro p{margin-top:1.6rem;color:var(--ink2);font-size:1.05rem}
.intro .sig{margin-top:2rem;display:inline-flex;align-items:center;gap:.8rem;color:var(--jade);
  font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem}
.intro .sig::before,.intro .sig::after{content:"";width:30px;height:1px;background:var(--line)}

/* ---------- TROIS VOIES ---------- */
.voies{max-width:var(--maxw);margin:5.5rem auto;padding:0 2rem}
.voies .h{text-align:center;margin-bottom:3rem}
.voies .h .k{color:var(--gold);margin-bottom:.8rem}
.voies .h h2{font-family:"Marcellus",serif;font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--ink)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:1000px){.vgrid{grid-template-columns:1fr}}
.vcard{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2.3rem 1.9rem;
  transition:transform .3s,box-shadow .3s}
.vcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(22,33,44,.35)}
.vcard .gly{font-family:"Cormorant Garamond",serif;font-size:2.6rem;color:var(--blue);line-height:1}
.vcard h3{font-family:"Marcellus",serif;font-size:1.3rem;margin:.8rem 0 .6rem;color:var(--ink)}
.vcard .ro{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--jade);font-size:1.05rem;margin-bottom:.6rem}
.vcard p{color:var(--ink2);font-size:.97rem}

/* ---------- DÉFINITION (bande sombre) ---------- */
.def{background:var(--ink);color:#e7e1d4}
.def-in{max-width:var(--maxw);margin:0 auto;padding:5rem 2rem;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
.def .ph{aspect-ratio:4/5;border-radius:5px;background:linear-gradient(150deg,#33414b,#1d2730);
  border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;color:#73808a;font-size:.85rem;letter-spacing:.1em}
.def .ph .seal{position:absolute;bottom:18px;right:18px;width:54px;height:54px;background:var(--jade);
  color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-size:1.6rem}
.def h2{font-family:"Marcellus",serif;font-size:clamp(1.7rem,3.2vw,2.4rem);color:#fff;margin-bottom:1.2rem}
.def p{color:#c3bdb0;margin-bottom:1rem;font-size:1.02rem;max-width:48ch}
.def .pillars{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.def .pillars span{font-size:.8rem;letter-spacing:.06em;border:1px solid rgba(255,255,255,.2);
  padding:.4rem .9rem;border-radius:999px;color:#ddd6c8}
.def .who{margin-top:1.6rem;font-family:"Cormorant Garamond",serif;font-style:italic;color:#cbb98e;font-size:1.1rem}


/* ---------- CE QUE TRAITE LE TUINA ---------- */
.traite{max-width:var(--maxw);margin:5.5rem auto;padding:0 2rem}
.traite .h{text-align:center;margin-bottom:3rem}
.traite .h .k{color:var(--gold);margin-bottom:.8rem}
.traite .h h2{font-family:"Marcellus",serif;font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--ink)}
.tr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tr-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2.1rem 1.8rem;border-top:3px solid var(--jade)}
.tr-card .ic{font-family:"Cormorant Garamond",serif;font-size:2.2rem;color:var(--jade);line-height:1;margin-bottom:.6rem}
.tr-card h3{font-family:"Marcellus",serif;font-size:1.2rem;color:var(--ink);margin-bottom:.6rem}
.tr-card p{color:var(--ink2);font-size:.97rem}
/* ---------- CADRE DE PRATIQUE ---------- */
.cadre{background:var(--ink);color:#e7e1d4}
.cadre-in{max-width:var(--maxw);margin:0 auto;padding:5rem 2rem}
.cadre .head{max-width:640px;margin-bottom:3rem}
.cadre .k{color:var(--gold);margin-bottom:.9rem}
.cadre h2{font-family:"Marcellus",serif;font-size:clamp(1.7rem,3.2vw,2.4rem);color:#fff;line-height:1.18;margin-bottom:1rem}
.cadre .lead{color:#c3bdb0;font-size:1.08rem;max-width:60ch}
.cadre-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.eng{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:6px;
  padding:1.7rem 1.6rem;display:flex;gap:1.1rem;align-items:flex-start;transition:.3s}
.eng:hover{background:rgba(255,255,255,.07);transform:translateY(-3px)}
.eng .no{font-family:"Cormorant Garamond",serif;font-size:1.7rem;color:var(--gold);line-height:1;flex:none;
  width:40px;height:40px;border:1px solid rgba(176,141,87,.5);border-radius:50%;
  display:flex;align-items:center;justify-content:center}
.eng p{color:#d7d1c4;font-size:1rem;line-height:1.55;margin:0}
.eng p b{color:#fff;font-weight:500}
.cadre .note{margin-top:2rem;color:#a59f93;font-size:.95rem;font-style:italic;
  font-family:"Cormorant Garamond",serif;font-size:1.15rem}
@media(max-width:900px){.tr-grid{grid-template-columns:1fr}.cadre-grid{grid-template-columns:1fr}}
/* ---------- TÉMOIGNAGES ---------- */
.tem{max-width:var(--maxw);margin:5.5rem auto;padding:0 2rem}
.tem .h{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.8rem;flex-wrap:wrap;gap:1rem}
.tem .h .k{color:var(--gold);margin-bottom:.6rem}
.tem .h h2{font-family:"Marcellus",serif;font-size:clamp(1.7rem,3.2vw,2.3rem);color:var(--ink)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tcard{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2rem;
  border-top:3px solid var(--blue);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.tcard:hover{transform:translateY(-4px);box-shadow:0 24px 46px -30px rgba(22,33,44,.35)}
.tcard .qmark{font-family:"Cormorant Garamond",serif;font-size:2.4rem;color:var(--blue);line-height:0;height:1.2rem}
.tcard p{color:var(--ink2);font-size:.99rem;flex:1}
.tcard .meta{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:.9rem}
.tcard .meta .soin{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--jade)}
.tcard .meta .who{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;color:var(--ink)}

/* ---------- BANDEAU RDV ---------- */
.rdv{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rdv-in{max-width:var(--maxw);margin:0 auto;padding:3.5rem 2rem;display:flex;
  justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.rdv h3{font-family:"Marcellus",serif;font-size:1.6rem;color:var(--ink)}
.rdv p{color:var(--ink2);margin-top:.3rem}
.rdv .num{font-family:"Cormorant Garamond",serif;font-size:1.9rem;color:var(--blue)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .vgrid,.tgrid{grid-template-columns:1fr}
  .def-in{grid-template-columns:1fr;gap:2.5rem}.def .ph{max-width:340px;margin:0 auto;width:100%}
  .fin{grid-template-columns:1fr;gap:2rem;text-align:center;justify-items:center}
}
.rv{opacity:0;transform:translateY(20px);animation:r 1s ease forwards}
.d1{animation-delay:.12s}.d2{animation-delay:.3s}.d3{animation-delay:.5s}.d4{animation-delay:.68s}
/* LCP: le hero est peint immédiatement (pas de masquage initial qui retarde le Largest Contentful Paint). Le fondu reste, sans bloquer la peinture. */
.hero .rv{opacity:1!important;transform:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){.rv,.hero .rv{animation:none!important;opacity:1!important;transform:none!important}}
@keyframes r{to{opacity:1;transform:none}}

/* ---------- MOBILE : calligraphie derrière le texte, discrète ---------- */
@media(max-width:768px){
  /* .hero .glyph remplacé par .hero-visual */
  .hero-in{position:relative;z-index:5}
  /* .hero .yy remplacé */
}

/* ============ PAGES INTÉRIEURES ============ */
.page-hero{position:relative;color:#f3ede1;overflow:visible;
  background:linear-gradient(180deg,rgba(22,33,44,.62),rgba(22,33,44,.78)),
    radial-gradient(130% 120% at 78% 18%,#3a5a73,#21384a 45%,#15222e);
  padding:3.5rem 0 3rem}
.page-hero .grain{position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.page-hero .kick{color:#cbb98e;margin-bottom:.8rem}
.page-hero h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem);color:#fff;line-height:1.1}
.page-hero .lead{margin-top:1rem;color:rgba(243,237,225,.92);max-width:46ch;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.6}

/* ---- liste témoignages ---- */
.tem-list{padding:2.5rem 2rem 4rem}
.filtres{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem}
.filtre{font-size:.86rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;
  color:var(--ink2);background:#fff;transition:.2s;display:inline-flex;align-items:center;gap:.5rem}
.filtre span{font-size:.74rem;background:var(--paper-2);color:var(--ink2);border-radius:999px;padding:.05rem .5rem}
.filtre:hover{border-color:var(--jade);color:var(--jade)}
.filtre.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.filtre.on span{background:rgba(255,255,255,.2);color:#fff}

.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tc{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s}
.tc:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(22,33,44,.4)}
.tc-img{aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
.tc-img img{width:100%;height:100%;object-fit:cover}
.tc-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.tc-type{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-bottom:.6rem}
.tc-titre{font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:.6rem;line-height:1.2}
.tc-extrait{color:var(--ink2);font-size:.95rem;flex:1}
.tc-lire{margin-top:1.1rem;font-size:.86rem;color:var(--blue);letter-spacing:.02em}

.pagination{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:3rem}
.pagination a{min-width:38px;text-align:center;padding:.5rem .7rem;border:1px solid var(--line);border-radius:5px;
  color:var(--ink2);font-size:.9rem;transition:.2s}
.pagination a:hover{border-color:var(--blue);color:var(--blue)}
.pagination a.on{background:var(--blue);color:#fff;border-color:var(--blue)}

.proposer{margin-top:3.5rem;padding:2.5rem;background:var(--paper-2);border:1px solid var(--line);
  border-radius:8px;text-align:center}
.proposer p{font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:var(--ink);margin-bottom:1rem}

/* ---- détail témoignage ---- */
.tem-single{max-width:760px;padding:3rem 2rem 4rem}
.retour{color:var(--blue);font-size:.9rem;display:inline-block;margin-bottom:1.5rem}
.ts-type{color:var(--jade);margin-bottom:.6rem}
.ts-titre{font-size:clamp(2rem,4vw,2.8rem);font-weight:500;color:var(--ink);line-height:1.12;margin-bottom:1.5rem}
.ts-img{margin:1.5rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.ts-img img{width:100%;height:auto;display:block}
.ts-contenu{font-size:1.12rem;color:var(--ink);line-height:1.8}
.ts-contenu p{margin-bottom:1.1rem}
.ts-contenu ul{margin:0 0 1.1rem 1.4rem;display:flex;flex-direction:column;gap:.5rem}
.ts-foot{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between}

@media(max-width:900px){.tcards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tcards{grid-template-columns:1fr}}

/* ============ PAGES DE CONTENU (prose) ============ */
.prose{padding:3.5rem 2rem 4.5rem;max-width:1000px}
.lead-block{text-align:center;margin-bottom:3rem}
.lead-q{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.4;color:var(--ink)}
.lead-q b{font-style:normal;color:var(--blue)}
.prose h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.5rem;color:var(--ink);margin-bottom:.9rem}
.prose p{color:var(--ink2);font-size:1.05rem;margin-bottom:1rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.section-t{margin:2.5rem 0 1.5rem;font-size:1.7rem!important}

/* piliers */
.piliers-band{background:var(--ink);color:#e7e1d4;border-radius:8px;padding:2.5rem;text-align:center;margin:1rem 0 3rem}
.piliers-band .k{color:var(--gold);margin-bottom:1.2rem}
.piliers-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.pilier{font-size:.92rem;letter-spacing:.04em;border:1px solid rgba(255,255,255,.25);padding:.5rem 1.1rem;border-radius:999px;color:#ddd6c8}
.pilier.on{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:500}
.piliers-band .note{color:#a59f93;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.1rem;margin-top:1.4rem}

/* blocs Q/R (soins) */
.bloc-qa{display:grid;grid-template-columns:200px 1fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--line);align-items:start}
.bloc-qa .qa-label{font-size:2rem;color:var(--blue);font-weight:500}
.bloc-qa .qa-text p{margin-bottom:1rem}
.techniques{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
.techniques li{padding-left:1.4rem;position:relative;color:var(--ink2)}
.techniques li::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--jade);border-radius:50%}
.rythmes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.rythme{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.2rem}
.rythme .r-n{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold);flex:none;width:36px;height:36px;border:1px solid rgba(176,141,87,.5);border-radius:50%;display:flex;align-items:center;justify-content:center}
.rythme p{margin:0;font-size:.97rem}

/* praticien */
.prat-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:center;margin-bottom:3rem}
.prat-photo .ph-placeholder{aspect-ratio:4/5;background:linear-gradient(150deg,#e9e2d2,#d8cdb6);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#8a7f6a;font-size:.9rem;position:relative}
.prat-photo .seal{position:absolute;bottom:16px;right:16px;width:48px;height:48px;background:var(--jade);color:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.5rem}
.parcours{display:flex;flex-direction:column;gap:0}
.pc{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.pc-an{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--blue);font-weight:500}
.pc-tx{color:var(--ink2);font-size:1rem}

.cta-line{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem;justify-content:center}

@media(max-width:760px){
  .duo{grid-template-columns:1fr;gap:1.5rem}
  .bloc-qa{grid-template-columns:1fr;gap:.8rem}
  .bloc-qa .qa-label{font-size:1.6rem}
  .rythmes{grid-template-columns:1fr}
  .prat-intro{grid-template-columns:1fr;gap:1.5rem}.prat-photo .ph-placeholder{max-width:280px}
  .pc{grid-template-columns:80px 1fr;gap:1rem}
}

/* ============ CONTACT ============ */
.page-hero.small{padding:2.5rem 0 2rem}
.page-hero.small h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;padding:3.5rem 2rem 4.5rem;align-items:start}
.ci-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.6rem;margin-bottom:1.2rem}
.ci-t{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.ci-num{font-size:1.8rem;color:var(--blue);display:inline-block;margin-bottom:.5rem}
.ci-note{font-size:.9rem;color:var(--ink2)}
.horaires{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.horaires li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.horaires li:last-child{border-bottom:none}
.horaires span{color:var(--ink2)}.horaires b{color:var(--ink);font-weight:500;text-align:right}
.ci-rappel{background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:1.2rem;font-size:.92rem;color:var(--ink2)}
.contact-form h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.5rem;margin-bottom:.4rem}
.cf-sub{color:var(--ink2);font-size:.95rem;margin-bottom:1.5rem}

/* ============ FORMULAIRES ============ */
.form{display:flex;flex-direction:column;gap:1.1rem}
.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--ink);font-weight:500}
.form .opt{font-weight:300;color:var(--ink2);font-size:.82rem}
.form input,.form textarea,.form select{padding:.8rem;border:1px solid var(--line);border-radius:6px;font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--blue)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form .btn{align-self:flex-start;margin-top:.4rem}
.form .note{font-weight:300;color:var(--ink2);font-size:.85rem}
.cf-ok{background:#e8f2ec;border:1px solid #bcdcc9;color:#2f6a47;border-radius:8px;padding:1.5rem}
.cf-err{background:#fbeae8;border:1px solid #e8c4bd;color:var(--err);border-radius:8px;padding:1rem;margin-bottom:1.2rem}

/* ============ FORMATIONS ============ */
.sessions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.session{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.5rem;border-top:3px solid var(--blue)}
.session .s-date{font-size:1.3rem;color:var(--blue);font-weight:500}
.session .s-tit{font-weight:500;margin:.3rem 0}
.session .s-h{color:var(--ink2);font-size:.9rem}
.info-box{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:1.6rem;margin-top:1.5rem;color:var(--ink2)}

/* ============ AVANT/APRÈS & ANIMAUX ============ */
.aa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}
.aa-item .aa-ph{aspect-ratio:4/3;background:linear-gradient(150deg,#e9e2d2,#d8cdb6);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#8a7f6a;font-size:.85rem}

/* ============ LÉGAL ============ */
.legal h2{margin-top:2rem}
.legal-list{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin:1rem 0}
.legal-list li{padding-left:1.4rem;position:relative;color:var(--ink2)}
.legal-list li::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--jade);border-radius:50%}

@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .sessions{grid-template-columns:1fr}
  .aa-grid{grid-template-columns:1fr 1fr}
}

/* ============ MENU MOBILE ============ */
.mobile-menu{display:none}
@media(max-width:900px){
  /* header mobile : logo centré en haut, hamburger centré juste en dessous */
  .nav{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0 1rem;min-height:0}
  .nav ul.l,.nav ul.r{display:none}
  .logo-square{position:relative;margin:0 auto;order:1;width:92px;height:92px;
    margin-top:-8px;margin-bottom:0;transition:max-height .3s ease,opacity .25s ease,margin .3s ease,transform .3s ease}
  .logo-square img{width:54px}
  .burger{display:block;order:2;font-size:1.9rem;line-height:1;margin:.2rem 0 .5rem}

  /* au scroll : on n'affiche plus que le hamburger (logo replié) */
  header.site.scrolled .logo-square{opacity:0;transform:scale(.6);max-height:0;
    margin:0;overflow:hidden;pointer-events:none}
  header.site.scrolled .nav{padding-top:.3rem;padding-bottom:.3rem}
  header.site.scrolled .burger{margin:.3rem 0}

  /* panneau mobile déroulant */
  .mobile-menu{display:block;max-height:0;overflow:hidden;transition:max-height .35s ease;
    background:var(--paper);width:100%;order:3}
  header.site.menu-open .mobile-menu{max-height:80vh;border-top:1px solid var(--line);
    box-shadow:0 24px 40px -22px rgba(22,33,44,.4)}
  .mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
  .mobile-menu li{width:100%}
  .mobile-menu a{display:block;padding:1rem 1.6rem;font-size:1.05rem;color:var(--ink);
    text-align:center;border-bottom:1px solid rgba(0,0,0,.05)}
  .mobile-menu a.active{color:var(--blue);font-weight:500;background:var(--paper-2)}
  .burger[aria-expanded='true']{color:var(--jade)}

  /* topbar (1re ligne) centrée sur mobile, avec marge basse pour ne pas être chevauchée par le logo */
  .topbar .w{flex-direction:column;align-items:center;gap:.3rem;text-align:center;padding-bottom:1.4rem}
  .topbar .l,.topbar .r{justify-content:center}
}

/* ============ ZONES IMAGE ÉDITABLES ============ */
.zone-img{position:relative;overflow:hidden;border-radius:5px;background:linear-gradient(150deg,#33414b,#1d2730);
  display:flex;align-items:center;justify-content:center}
.zone-img img{width:100%;height:100%;object-fit:cover;display:block}
.zone-vide{color:#9aa6b0;font-size:.9rem;letter-spacing:.05em;text-align:center;padding:1rem}
/* la zone .def reprend le look de l'ancien bloc .ph */
.zone-def{border:1px solid rgba(255,255,255,.08)}
/* surbrillance éditable (admin) */
.zone-img.is-editable{outline:2px dashed rgba(176,141,87,.5);outline-offset:-6px;cursor:pointer;transition:outline .2s}
.zone-img.is-editable:hover{outline-color:var(--gold)}
.zone-btn{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  background:var(--gold);color:#1d2730;border:none;border-radius:5px;padding:.5rem 1rem;
  font-family:'Manrope',sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;
  opacity:0;transition:opacity .2s;box-shadow:0 6px 16px -6px rgba(0,0,0,.5);white-space:nowrap}
.zone-img.is-editable:hover .zone-btn{opacity:1}

/* barre d'admin */
.adminbar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:#1b2530;color:#cdd5de;
  font-family:'Manrope',sans-serif;font-size:.85rem;display:flex;align-items:center;gap:1.2rem;
  padding:.7rem 1.2rem;box-shadow:0 -8px 24px -12px rgba(0,0,0,.5)}
.adminbar .ab-dot{width:9px;height:9px;border-radius:50%;background:#5cba6a;flex:none}
.adminbar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.adminbar a:hover{color:var(--gold)}
.adminbar .ab-hint{margin-left:auto;color:#8c97a3;font-size:.8rem}

/* sélecteur d'image (modale) */
.zpick{position:fixed;inset:0;z-index:300;background:rgba(16,23,26,.7);display:none;align-items:center;justify-content:center;padding:1.5rem}
.zpick.on{display:flex}
.zpick-box{background:#fff;border-radius:10px;width:min(820px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.zpick-head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line)}
.zpick-head b{font-family:'Marcellus',serif;font-size:1.15rem}
.zpick-close{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--ink2);line-height:1}
.zpick-drop{margin:1.2rem 1.4rem;border:2px dashed var(--line);border-radius:8px;padding:1.4rem;text-align:center;color:var(--ink2);font-size:.92rem;transition:.2s}
.zpick-drop.over{border-color:var(--jade);background:#f0f6f3}
.zpick-drop kbd{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:.05rem .35rem;font-size:.82rem}
.btn-mini{background:var(--blue);color:#fff;border:none;border-radius:5px;padding:.4rem .9rem;font-size:.86rem;cursor:pointer}
.zpick-status{padding:0 1.4rem;min-height:1.2em;font-size:.88rem;color:var(--ink2)}
.zpick-status.err{color:var(--err)}
.zpick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem;padding:1rem 1.4rem 1.4rem;flex:1 1 auto;min-height:120px;overflow-y:auto}
.zpick-item{border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;background:#eee;aspect-ratio:1;padding:0;transition:.2s}
.zpick-item:hover{border-color:var(--jade);transform:translateY(-2px)}
.zpick-item img{width:100%;height:100%;object-fit:cover;display:block}
body{padding-bottom:0}
.adminbar~*{}

/* ============ ZONES IMAGE RONDES ============ */
.zone-img.ronde{border-radius:50%;aspect-ratio:1/1!important;width:100%;max-width:100%;background:transparent;border:none;box-shadow:none}
.zone-img.ronde img{border-radius:50%}
.zone-img.normale{border-radius:0;background:transparent;border:none;box-shadow:none}
/* Bordure optionnelle (contour blanc + ombre) — uniquement si activée */
.zone-img.avec-bordure{border:4px solid #fff;box-shadow:0 22px 45px -22px rgba(22,33,44,.4);background:linear-gradient(150deg,#e9e2d2,#d3c7ae)}
.zone-img.ronde .zone-vide{color:#8a7f6a;font-size:.82rem}
.zone-img.ronde.is-editable{outline-offset:-10px}
/* rangée de ronds décorative */
.ronds-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;max-width:760px;margin:3rem auto}
.ronds-row .r-item{text-align:center}
.ronds-row .r-cap{margin-top:.9rem;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--jade);font-size:1.05rem}
.rond-petit{max-width:200px;margin:0 auto}
/* bloc texte + rond côte à côte */
.split-rond{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:center;margin:3rem 0}
.split-rond.inv{grid-template-columns:1fr 280px}
@media(max-width:760px){
  .ronds-row{grid-template-columns:1fr 1fr;gap:1.2rem;max-width:420px}
  .split-rond,.split-rond.inv{grid-template-columns:1fr;gap:1.5rem;justify-items:center;text-align:center}
  .split-rond .rond-petit{max-width:220px}
}

/* ============ PILIERS : pastilles cliquables ============ */
a.pilier{cursor:pointer;transition:.2s;text-decoration:none}
a.pilier:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-2px)}
a.pilier.on:hover{filter:brightness(1.05)}

/* navigation entre piliers (en haut de page pilier) */
.piliers-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;justify-content:center}
.pn-pastille{font-size:.88rem;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--ink2);transition:.2s}
.pn-pastille:hover{border-color:var(--jade);color:var(--jade)}
.pn-pastille.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* encart avertissement (pilier non spécialité) */
.pilier-avert{background:#fbf4e6;border:1px solid #e8d5a8;border-left:3px solid var(--gold);
  border-radius:8px;padding:1.1rem 1.3rem;color:#7a5f2a;font-size:.98rem;margin-bottom:2rem;line-height:1.6}

/* tête de page pilier : idéogramme + intro */
.pilier-tete{display:flex;gap:1.6rem;align-items:flex-start;margin-bottom:1.5rem}
.pilier-gly{font-size:3.4rem;color:var(--blue);line-height:1;flex:none}
@media(max-width:600px){.pilier-tete{flex-direction:column;gap:.8rem}.pilier-gly{font-size:2.8rem}}

/* ============ SECTION CINQ PILIERS (accueil) ============ */
.piliers-section{padding:4.5rem 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ps-head{text-align:center;max-width:600px;margin:0 auto 3rem}
.ps-head .k{color:var(--gold);margin-bottom:.8rem}
.ps-head h2{font-family:'Marcellus',serif;font-size:clamp(1.9rem,3.6vw,2.6rem);color:var(--ink);margin-bottom:.8rem}
.ps-head p{color:var(--ink2);font-size:1.05rem}
.ps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem}
.ps-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.8rem 1rem;text-align:center;
  transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.ps-card:hover{transform:translateY(-6px);box-shadow:0 24px 45px -25px rgba(22,33,44,.4);border-color:var(--gold)}
.ps-gly{font-size:2.4rem;color:var(--blue);line-height:1;transition:color .3s}
.ps-card:hover .ps-gly{color:var(--gold)}
.ps-nom{font-family:'Marcellus',serif;font-size:1.15rem;color:var(--ink)}
.ps-sous{font-size:.8rem;color:var(--ink2);letter-spacing:.02em}
.ps-card.on{background:var(--blue);border-color:var(--blue)}
.ps-card.on .ps-gly,.ps-card.on .ps-nom{color:#fff}
.ps-card.on .ps-sous{color:#cbb98e;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.15rem}
.ps-card.on:hover{background:var(--blue-d)}
.ps-card.on:hover .ps-gly{color:#fff}
@media(max-width:860px){.ps-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ps-grid{grid-template-columns:1fr 1fr}.ps-gly{font-size:2rem}}

/* ============ cartes 'ce que traite' cliquables ============ */
a.tr-card{display:flex;flex-direction:column;text-decoration:none;cursor:pointer}
a.tr-card:hover{transform:translateY(-5px);box-shadow:0 24px 46px -28px rgba(22,33,44,.4);border-color:var(--jade)}
.tr-card .tr-lire{margin-top:1rem;font-size:.86rem;color:var(--blue);letter-spacing:.02em}

/* ============ témoignages d'illustration ============ */
.illus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.2rem}
.illus-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.4rem;
  display:flex;flex-direction:column;text-decoration:none;transition:transform .3s,box-shadow .3s;border-top:3px solid var(--jade)}
.illus-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(22,33,44,.35)}
.illus-q{font-size:2rem;color:var(--jade);line-height:0;height:1rem}
.illus-card p{color:var(--ink2);font-size:.95rem;flex:1;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.1rem;line-height:1.45}
.illus-lire{margin-top:1rem;font-size:.82rem;color:var(--blue)}
@media(max-width:760px){.illus-grid{grid-template-columns:1fr}}

/* ============ cinq piliers — présentation affinée ============ */
.piliers-section{padding:5rem 0}
.ps-grid{gap:1rem}
.ps-card{padding:2rem 1rem 1.7rem;border-radius:12px;position:relative;overflow:visible}
.ps-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .35s;border-radius:0 0 12px 12px}
.ps-card:hover::after{transform:scaleX(1)}
.ps-card.on::after{display:none}
.ps-gly{font-size:2.7rem;margin-bottom:.3rem}
.ps-nom{font-size:1.2rem;letter-spacing:.01em}
.ps-sous{margin-top:.35rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;line-height:1.3}
.ps-card .ps-sous{color:var(--jade)}
.ps-card.on .ps-sous{color:#cbb98e}

/* ============ cartes spécialités cliquables ============ */
a.vcard{display:flex;flex-direction:column;text-decoration:none;cursor:pointer}
a.vcard .tr-lire{margin-top:1rem;font-size:.86rem;color:var(--blue);letter-spacing:.02em}
a.vcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(22,33,44,.4)}

/* ============ HERO : visuel centré 2e colonne ============ */
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.hero-text{min-width:0}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;justify-self:start;margin-left:-3%}
.hero-visual .yy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(200px,20vw,300px);z-index:1;opacity:.5;pointer-events:none}
.hero-visual .yy svg{width:100%;height:auto;display:block;animation:yyspin 80s linear infinite;transform-origin:50% 50%}
.hero-visual .yy .stroke{fill:none;stroke:#d8b860;stroke-width:1;vector-effect:non-scaling-stroke}
.hero-visual .yy .dot{fill:#d8b860}
.hero-visual .glyph{position:relative;z-index:3;width:clamp(280px,30vw,400px);height:auto;
  pointer-events:none;user-select:none;
  filter:brightness(0) invert(78%) sepia(48%) saturate(620%) hue-rotate(2deg) brightness(95%)
    drop-shadow(0 14px 30px rgba(0,0,0,.45));}
@media(max-width:900px){
  .hero-in{grid-template-columns:1fr}
  .hero-visual{min-height:300px;margin-top:1.5rem}
  .hero-visual .glyph{width:clamp(180px,42vw,260px)}
  .hero-visual .yy{width:clamp(220px,52vw,320px)}
}

/* ============ MENU DESKTOP agrandi, style 'établissement de soins' ============ */
@media(min-width:901px){
  .nav a.lk{
    font-family:'Manrope',sans-serif;
    font-size:1rem;              /* agrandi (était .88rem) */
    font-weight:400;
    letter-spacing:.12em;        /* espacement comme le .tag */
    text-transform:uppercase;    /* même traitement que 'établissement de soins' */
  }
  .nav ul.l,.nav ul.r{gap:2rem}  /* un peu plus d'air entre les liens */
}

/* ============ CALLIGRAPHIE CHINOISE manuscrite (idéogrammes) ============ */
.gly, .ic, .ps-gly, .pilier-gly{
  font-family:'Ma Shan Zheng', 'Cormorant Garamond', serif !important;
  font-weight:400;
  line-height:1.05;
}
/* un peu plus grand car cette police est plus fine/aérée */
.ps-gly{font-size:3rem}
.pilier-gly{font-size:3.8rem}
.gly{font-size:2.8rem}
.ic{font-size:2.4rem}

/* ============ cartes spécialités : mini-image en haut à droite ============ */
a.vcard{position:relative}
.vcard-mini{position:absolute;top:1.3rem;right:1.3rem;width:100px;z-index:3}
.zone-img.ronde.mini{width:100px;border-width:3px;box-shadow:0 10px 22px -12px rgba(22,33,44,.5);
  aspect-ratio:1/1!important}
.zone-img.ronde.mini .zone-vide{font-size:.6rem;padding:.2rem}
/* la mini ne gêne pas le titre : on réserve un peu d'espace à droite de l'idéogramme */
.vcard .gly{padding-right:112px}
@media(max-width:560px){
  .vcard-mini{width:52px;top:1.1rem;right:1.1rem}.zone-img.ronde.mini{width:52px}
  .vcard .gly{padding-right:60px}
}

/* bouton retirer image (modale zone) */
.zpick-actions{padding:.4rem 1.4rem 1rem;flex:0 1 auto;max-height:45vh;overflow-y:auto}
.btn-clear{background:none;border:1px solid #d9c3bd;color:var(--err);border-radius:5px;
  padding:.45rem .9rem;font-size:.85rem;cursor:pointer;transition:.2s;font-family:'Manrope',sans-serif}
.btn-clear:hover{background:var(--err);color:#fff;border-color:var(--err)}

/* ============ IMAGE RONDE EN FONDU dans le hero de page ============ */
.page-hero{position:relative}
.page-hero .wrap{position:relative;z-index:2}
.hero-img-wrap{position:absolute;right:3%;top:0;bottom:0;width:auto;display:flex;align-items:flex-end;justify-content:center;z-index:3;pointer-events:none}
.hero-img-wrap .zone-img{width:400px;max-width:38vw;transform:translateY(150px);pointer-events:auto}
.zone-img.ronde.fondu{
  border:none;box-shadow:none;background:transparent;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 58%, transparent 76%);
          mask-image:radial-gradient(circle at 50% 50%, #000 58%, transparent 76%);
}
.zone-img.ronde.fondu .zone-vide{
  background:rgba(255,255,255,.06);border-radius:50%;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5)
}
.zone-img.ronde.fondu img{border-radius:50%}
/* dépassement : on agrandit la marge basse du hero */
.page-hero{padding-bottom:170px}
/* sur petit écran : l'image passe sous le titre, plus petite, centrée */
@media(max-width:760px){
  .hero-img-wrap{position:static;width:100%;margin:1.2rem 0 0}
  .hero-img-wrap .zone-img{transform:none;width:150px;margin:0 auto}
  .page-hero{padding-bottom:2.5rem}
}

/* bloc proposer en haut de la liste témoignages */
.proposer-top{margin:0 0 2rem;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.proposer-top p{margin:0;font-size:1.2rem}
@media(max-width:560px){.proposer-top{flex-direction:column;text-align:center}}

/* ============ PAGE PRATICIEN : CV + galerie ============ */
.prat-texte{margin:1.5rem 0 1rem}
.prat-texte p{font-size:1.06rem}
.cv-liste{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:1rem 0 1.5rem;
  counter-reset:cv}
.cv-liste li{position:relative;padding-left:1.6rem;color:var(--ink2);font-size:1rem;line-height:1.6}
.cv-liste li::before{content:'';position:absolute;left:0;top:.6em;width:8px;height:8px;
  background:var(--gold);border-radius:50%}
.prat-galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:1.5rem 0}
@media(max-width:760px){.prat-galerie{grid-template-columns:1fr 1fr}}

/* affiliations dans le footer */
.affil{max-width:var(--maxw);margin:0 auto;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}
.affil-t{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.affil a{color:#b9b3a6;font-size:.88rem;transition:.2s}
.affil a:hover{color:#fff}

/* ============ AGENDA FORMATIONS (events) ============ */
.events-list{display:flex;flex-direction:column;gap:1.2rem;margin-top:1rem}
.event-card{display:grid;grid-template-columns:200px 1fr;gap:0;background:#fff;border:1px solid var(--line);
  border-radius:10px;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s;border-left:3px solid var(--blue)}
.event-card:hover{transform:translateY(-3px);box-shadow:0 22px 45px -28px rgba(22,33,44,.4)}
.event-img{overflow:hidden;background:var(--paper-2)}
.event-img img{width:100%;height:100%;object-fit:cover;display:block}
.event-body{padding:1.4rem 1.6rem}
.event-date{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--blue);font-weight:500;margin-bottom:.3rem}
.event-titre{font-family:'Marcellus',serif;font-weight:400;font-size:1.2rem;color:var(--ink);margin-bottom:.5rem}
.event-desc{color:var(--ink2);font-size:.95rem;margin-bottom:.7rem}
.event-lien{font-size:.86rem;color:var(--blue);letter-spacing:.02em}
@media(max-width:640px){
  .event-card{grid-template-columns:1fr}
  .event-img{aspect-ratio:16/9}
}

/* lead-block : paragraphe sous la citation plus lisible */
.lead-block p:not(.lead-q){font-size:1.1rem;color:var(--ink2);margin-top:1rem}

/* image ronde 100px débordant en haut des cartes piliers */
.piliers-section{padding-top:6rem}  /* espace pour le débordement */
.ps-card{margin-top:50px}            /* place pour la bulle qui déborde */
.ps-mini{width:100px;margin:-100px auto 0.6rem;position:relative;z-index:4}
.zone-img.ronde.mini100{width:100px;border-width:3px;aspect-ratio:1/1!important;
  box-shadow:0 12px 26px -14px rgba(22,33,44,.55)}
.zone-img.ronde.mini100 .zone-vide{font-size:.62rem;padding:.2rem}
/* la carte 'on' (Tuina) : bulle déborde aussi joliment */
.ps-card.on .zone-img.ronde.mini100{border-color:#fff}
@media(max-width:560px){
  .ps-mini{width:80px;margin-top:-80px}
  .zone-img.ronde.mini100{width:80px}
}

/* centrer les ronds des rangées (ex: Le soin manuel / L'entretien de la vie) */

/* image ronde 'pont' superposée entre deux sections (accueil) */
.pont-rond{position:relative;z-index:5;width:200px;margin:-100px auto -100px;}
.pont-rond .zone-img.ronde{width:200px;border-width:5px;box-shadow:0 20px 40px -18px rgba(22,33,44,.5)}
/* on garde le padding-top de piliers-section assez grand pour ne pas chevaucher le contenu */
@media(max-width:560px){.pont-rond{width:104px;margin:-52px auto -52px}.pont-rond .zone-img.ronde{width:104px}}

/* logos affiliations footer (taille modérée) */
.affil-logos{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:center;margin-top:.6rem}
.affil-logo{display:flex;align-items:center;gap:.7rem;color:#b9b3a6;font-size:.84rem;transition:.2s}
.affil-logo:hover{color:#fff}
.affil-logo img{height:46px;width:auto;background:#fff;border-radius:8px;padding:5px}
.affil-medinat{font-family:'Marcellus',serif;font-size:1.3rem;letter-spacing:.04em;color:#7fa86b;
  background:#fff;border-radius:8px;padding:6px 12px}
@media(max-width:560px){.affil-logos{gap:1.2rem}.affil-logo img{height:38px}}

/* ============ POLICE CHINOISE : secours pour caractères manquants ============ */
/* Ma Shan Zheng ne couvre pas tous les sinogrammes : on ajoute des polices système larges en secours */
.gly, .ic, .ps-gly, .pilier-gly{
  font-family:'Ma Shan Zheng','Songti SC','SimSun','Noto Serif SC',serif !important;
}

/* rond avant la citation d'intro (accueil) */
.intro{position:relative}
.intro-rond{width:200px;margin:-130px auto 1.5rem;position:relative;z-index:5}
.intro-rond .zone-img.ronde{width:200px;border-width:5px;box-shadow:0 20px 40px -18px rgba(22,33,44,.5)}

.piliers-section{padding-top:7rem!important}
.intro{padding-top:3rem}

/* la grille et la section laissent déborder ; la carte garde son overflow */
.piliers-section{overflow:visible}
.ps-grid{overflow:visible}

/* réglage de taille dans la modale zone */
.zpick-size{margin-bottom:.9rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.zpick-size label{font-size:.88rem;color:var(--ink);display:block;margin-bottom:.4rem}
.zpick-size label b{color:var(--blue)}
.zpick-size input[type=range]{width:100%;accent-color:var(--blue)}
.zpick-size-hint{font-size:.78rem;color:var(--ink2)}

/* ============ PAGE PRATICIEN : tailles de texte lisibles ============ */
.prat-mot .lead-q{font-size:clamp(1.4rem,2.4vw,1.9rem)!important;line-height:1.4;margin-bottom:1rem}
.prat-mot p:not(.lead-q){font-size:1.1rem;color:var(--ink2);line-height:1.7}
.prat-texte p{font-size:1.1rem;color:var(--ink2);line-height:1.7;margin-bottom:1.1rem}
.cv-liste li{font-size:1.05rem}

/* bouton taille auto */
.btn-auto{background:none;border:1px solid var(--line);color:var(--ink2);border-radius:5px;
  padding:.2rem .6rem;font-size:.78rem;cursor:pointer;margin-left:.6rem;font-family:'Manrope',sans-serif;transition:.2s}
.btn-auto:hover{border-color:var(--blue);color:var(--blue)}
.zpick-size{margin-bottom:.7rem}

/* ============ CONTRÔLE ESPACEMENT DES SECTIONS (mode admin) ============ */
.sec-editable{position:relative}
.sec-btn{position:absolute;top:10px;right:14px;left:auto;transform:none;z-index:200;
  background:rgba(31,78,121,.95);color:#fff;border:none;border-radius:20px;
  padding:.32rem .85rem;font-size:.74rem;font-family:'Manrope',sans-serif;cursor:pointer;
  opacity:0;transition:opacity .2s;box-shadow:0 4px 12px -4px rgba(0,0,0,.45);white-space:nowrap}
.sec-editable:hover > .sec-btn{opacity:.95}
.sec-btn:hover{background:var(--blue)}

/* premier texte d'intro (lead-block) bien lisible sur toutes les pages */
.lead-block{margin:0 0 2rem}
.lead-block .lead-q{font-size:clamp(1.5rem,2.6vw,2.1rem)!important;line-height:1.45;font-style:italic;color:var(--ink)}
.lead-block .lead-q b{font-style:normal;color:var(--blue)}

/* centrage des ronds dans leur colonne (le soin manuel / entretien) */

/* boutons alignement dans la modale zone */
.zpick-align{display:flex;gap:.5rem;margin-top:.3rem}
.zpick-align button{flex:1;background:#fff;border:1px solid var(--line);border-radius:6px;
  padding:.4rem;font-size:.8rem;cursor:pointer;font-family:'Manrope',sans-serif;transition:.2s;color:var(--ink2)}
.zpick-align button:hover{border-color:var(--blue);color:var(--blue)}
.zpick-align button.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* éviter superposition bouton section / bouton zone image :
   le bouton section se place en HAUT À GAUCHE, le bouton zone reste au centre de la zone */
.sec-editable:hover > .sec-btn{opacity:.92}







/* vignettes du sélecteur d'image : forcer l'image à remplir la case (corrige le chevauchement) */
.zpick-item{display:block;position:relative}
.zpick-item img{display:block;width:100%;height:100%;object-fit:cover}

/* ===== ronds-row : zone ronde dimensionnée + alignable par marges (géré par zone_image) ===== */
.ronds-row .r-item .zone-img.ronde{
  display:block;          /* bloc => les margins auto/0 contrôlent l'alignement */
  width:190px;            /* taille fixe pour laisser de la place au décalage gauche/droite */
  max-width:100%;
}
.ronds-row .r-item .zone-img.ronde .zone-vide{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}

/* ronds alignés sur les colonnes de texte .duo (même grille, pleine largeur) */
.ronds-row.duo-align{
  grid-template-columns:1fr 1fr;
  gap:2.5rem;
  max-width:none;        /* annule le 500px : occupe toute la largeur comme .duo */
  margin:2.5rem 0;
}
.ronds-row.duo-align .r-item{
  display:flex;flex-direction:column;align-items:center;  /* rond centré au-dessus de SA colonne */
}
.ronds-row.duo-align .r-item .zone-img.ronde{
  width:200px;max-width:90%;
}
@media(max-width:600px){
  .ronds-row.duo-align{grid-template-columns:1fr 1fr}
}

/* lien Facebook dans la topbar */
.topbar .r{display:flex;align-items:center;gap:1rem}
.tb-fb{display:inline-flex;align-items:center;color:#e7eef5;opacity:.85;transition:.2s}
.tb-fb:hover{opacity:1;color:#fff}

/* ===== GRILLE VIGNETTES MÉDIATHÈQUE (robuste, hauteur fixe) ===== */
.zpick-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr)) !important;
  grid-auto-rows:110px !important;       /* hauteur de ligne FIXE => pas d'empilement */
  gap:10px !important;
  padding:1rem 1.4rem 1.4rem !important;
  align-content:start;
}
.mediatile{
  display:block;
  width:100%;
  height:110px;                          /* hauteur fixe explicite */
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  cursor:pointer;
  background:#eee;
  padding:0;
  margin:0;
  transition:.2s;
}
.mediatile:hover{border-color:var(--jade);transform:translateY(-2px)}
.mediatile img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===== modale de sélection d'image : grand format ===== */
#zpick .zpick-box{
  width:min(1100px,95vw) !important;
  max-height:92vh !important;
}
/* la grille des vignettes occupe tout l'espace dispo et défile */
#zpick .zpick-grid{
  flex:1 1 auto;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr)) !important;
  grid-auto-rows:130px !important;
}
#zpick .mediatile{height:130px}

/* témoignages page animaux */
.aa-temoi{margin:1.5rem 0;padding:1.4rem 1.8rem;background:#fff;border-left:3px solid var(--jade);
  border-radius:0 8px 8px 0;box-shadow:0 14px 30px -24px rgba(22,33,44,.4)}
.aa-temoi p{font-style:italic;color:var(--ink2);line-height:1.7;margin:0;font-size:1.05rem}
.aa-temoi footer{margin-top:.8rem;font-family:'Cormorant Garamond',serif;color:var(--jade);
  font-size:1.05rem;font-style:normal}

/* lien latéral discret (ex: soins aux animaux) */
.aside-link{margin:2.5rem 0 1rem;padding:1rem 1.4rem;background:rgba(79,125,110,.08);
  border-radius:8px;font-size:1.02rem;color:var(--ink2);text-align:center}
.aside-link a{color:var(--jade);font-weight:500}
.aside-link a:hover{text-decoration:underline}

/* ===== bande mise en avant : soins aux animaux (page Le Tuina) ===== */
.animaux-band{display:grid;grid-template-columns:160px 1fr;gap:1.8rem;align-items:center;
  margin:3rem 0;padding:1.8rem 2rem;border-radius:14px;text-decoration:none;
  background:linear-gradient(135deg,rgba(79,125,110,.10),rgba(176,141,87,.08));
  border:1px solid rgba(79,125,110,.2);transition:transform .3s,box-shadow .3s}
.animaux-band:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px rgba(22,33,44,.45)}
.animaux-img .zone-img.ronde{width:160px;border-width:4px}
.animaux-txt .kick{color:var(--jade)}
.animaux-txt h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.5rem;color:var(--ink);margin:.3rem 0 .6rem}
.animaux-txt p{color:var(--ink2);font-size:1.02rem;margin:0 0 .7rem;line-height:1.6}
.animaux-lien{color:var(--jade);font-weight:500;font-size:.95rem}
@media(max-width:600px){
  .animaux-band{grid-template-columns:1fr;text-align:center;justify-items:center}
  .animaux-img .zone-img.ronde{width:130px}
}

/* ===== PAGE LIENS ===== */
.liens-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}
.lien-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:0 10px 10px 0;padding:1.4rem 1.8rem;text-decoration:none;transition:transform .25s,box-shadow .25s}
.lien-card:hover{transform:translateX(4px);box-shadow:0 18px 38px -28px rgba(22,33,44,.4)}
.lien-txt h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.25rem;color:var(--ink);margin:0 0 .2rem}
.lien-txt p{color:var(--ink2);margin:0;font-size:.98rem}
.lien-fleche{font-size:1.4rem;color:var(--blue);flex-shrink:0}

/* ===== PAGE ARTICLES ===== */
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.8rem;margin-top:1rem}
.article-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s}
.article-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(22,33,44,.45)}
.article-img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.article-img img{width:100%;height:100%;object-fit:cover;display:block}
.article-img-vide{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#21384a,#15222e)}
.article-img-vide span{font-size:2.6rem;color:var(--gold);opacity:.6}
.article-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.article-cat{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--jade);margin-bottom:.4rem}
.article-body h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.25rem;color:var(--ink);margin:0 0 .5rem;line-height:1.3}
.article-body p{color:var(--ink2);font-size:.96rem;line-height:1.55;margin:0 0 1rem;flex:1}
.article-lien{color:var(--blue);font-size:.9rem;font-weight:500}

/* ===== ARTICLE DÉTAIL ===== */
.article-cover{width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-bottom:2rem}
.article-contenu{font-size:1.08rem;line-height:1.8;color:var(--ink2)}
.article-contenu h2{font-family:'Marcellus',serif;color:var(--ink);font-size:1.5rem;margin:2rem 0 1rem}
.article-contenu h3{font-family:'Marcellus',serif;color:var(--ink);font-size:1.25rem;margin:1.6rem 0 .8rem}
.article-contenu p{margin:0 0 1.2rem}
.article-contenu img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}
.article-contenu a{color:var(--blue);text-decoration:underline}

/* méta articles (badge source + date) */
.article-meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}
.article-badge{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  background:var(--jade);color:#fff;padding:.15rem .5rem;border-radius:4px}
.article-date{font-size:.78rem;color:var(--ink2)}
.articles-note{text-align:center;color:var(--ink2);font-size:.9rem;margin-top:2.5rem;font-style:italic}
.articles-note a{color:var(--jade)}

/* bloc 'Mon approche' (déontologie, page Les soins) */
.approche-box{background:#fff;border:1px solid var(--line);border-left:3px solid var(--jade);
  border-radius:0 10px 10px 0;padding:1.6rem 1.9rem;margin:1rem 0}
.approche-box p{color:var(--ink2);line-height:1.7;margin:0 0 1rem}
.approche-box p:last-child{margin-bottom:0}
.approche-limite{font-size:.96rem;padding-top:.9rem;border-top:1px dashed var(--line);color:var(--ink2)}

/* nom 'tuinaloygue' en or sous le logo */
.logo-square{overflow:visible}
.logo-nom{font-family:'Manrope',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;font-weight:500;line-height:1;margin-top:6px}

/* ===== ZONES DE TEXTE ÉDITABLES (mode admin) ===== */
.is-txt-editable{outline:2px dashed rgba(31,78,121,.35);outline-offset:4px;border-radius:4px;
  cursor:text;transition:outline .2s}
.is-txt-editable:hover{outline-color:rgba(31,78,121,.65)}
.is-txt-editable[contenteditable=true]{outline:2px solid var(--blue);background:rgba(255,255,255,.5)}

/* barre flottante de mise en forme */
.txtbar{display:none;position:absolute;z-index:300;background:#1d2730;border-radius:8px;
  padding:.35rem;gap:.15rem;align-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
.txtbar button{background:none;border:none;color:#e7eef5;width:32px;height:32px;border-radius:5px;
  cursor:pointer;font-size:.92rem;font-family:'Manrope',sans-serif;display:flex;align-items:center;justify-content:center;transition:.15s}
.txtbar button:hover{background:rgba(255,255,255,.15)}
.txtbar-sep{width:1px;height:22px;background:rgba(255,255,255,.2);margin:0 .25rem}
.txtbar-save{width:auto!important;padding:0 .8rem;background:var(--gold)!important;color:#1d2730!important;font-weight:600;margin-left:.3rem}
.txtbar-save:hover{filter:brightness(1.08)}

/* bouton édition directe d'article (admin connecté) */
.edit-article-btn{display:inline-block;background:var(--gold);color:#1d2730;font-weight:600;
  font-size:.85rem;padding:.45rem 1rem;border-radius:6px;text-decoration:none;margin-bottom:1.5rem;
  font-family:'Manrope',sans-serif}
.edit-article-btn:hover{filter:brightness(1.08)}
.article-card-edit{position:absolute;top:.6rem;right:.6rem;z-index:5;background:var(--gold);
  color:#1d2730;font-weight:600;font-size:.74rem;padding:.3rem .6rem;border-radius:5px;
  text-decoration:none;font-family:'Manrope',sans-serif}
.article-card{position:relative}

/* image à la une de l'article dans le hero : grand cercle 500px débordant en bas */
/* HERO ARTICLE : titre à gauche, image ronde à droite, hauteur maîtrisée */
.page-hero-article{padding:3rem 0;overflow:visible}
.page-hero-article .wrap{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:center}
.hero-art-txt{min-width:0}
.hero-art-txt h1{margin:.3rem 0}
.hero-art-img{align-self:end;margin-bottom:-55px;position:relative;z-index:3}
.hero-art-img .zone-img{width:100%}
.hero-art-img .zone-img img{width:100%;height:auto;object-fit:cover;display:block;aspect-ratio:1/1}
@media(max-width:820px){
  .page-hero-article .wrap{grid-template-columns:1fr}
  .hero-art-img{display:none}
}
}     /* sur mobile : on masque le cercle pour garder le texte lisible */
}
/* fil d'Ariane */
.breadcrumb{font-size:.66rem;color:rgba(243,237,225,.5);margin:0;padding:0 0 2.8rem;letter-spacing:.08em;text-transform:uppercase;display:block}
.breadcrumb a{color:rgba(243,237,225,.75);text-decoration:none}
.breadcrumb a:hover{color:#fff;text-decoration:underline}
.breadcrumb span{margin:0 .3rem;opacity:.5}
.breadcrumb .bc-cur{color:rgba(243,237,225,.45)}
/* version pour les pages à fond clair (hero non bleu / contenu) */
.breadcrumb-dark{color:var(--ink2)}
.breadcrumb-dark a{color:var(--ink2)}
.breadcrumb-dark a:hover{color:var(--blue)}
.breadcrumb-dark .bc-cur{color:var(--ink2);opacity:.6}

/* maillage interne : à lire aussi */
.articles-lies{max-width:var(--maxw);margin:3rem auto 1rem;padding:0 1.5rem}
.articles-lies .section-t{margin-bottom:1.4rem}
.lies-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
@media(max-width:900px){.lies-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lies-grid{grid-template-columns:1fr}}
.lie-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s}
.lie-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(22,33,44,.45)}
.lie-img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.lie-img img{width:100%;height:100%;object-fit:cover;display:block}
.lie-img-vide{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#21384a,#15222e)}
.lie-img-vide span{font-size:2rem;color:var(--gold);opacity:.6}
.lie-body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.lie-cat{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--jade);margin-bottom:.3rem}
.lie-body h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.1rem;color:var(--ink);margin:0 0 .4rem;line-height:1.3}
.lie-body p{color:var(--ink2);font-size:.9rem;line-height:1.5;margin:0}

/* sous-titre des heros : couleur or, plus fin */
.page-hero .lead{
  color:var(--gold);
  font-weight:300;
  font-family:'Manrope',sans-serif;
}
/* sauf la date de publication des articles, qui reste discrète */
.page-hero-article .lead{color:rgba(243,237,225,.75);font-weight:300}

/* ===== PILIERS : agrandir les textes (lisibilité) ===== */
.pilier-tete .zone-txt .lead-q,
.pilier-tete .lead-q{font-size:clamp(1.5rem,2.6vw,2.05rem)!important;line-height:1.45;color:var(--ink)}
/* corps des piliers (paragraphes sous l'intro) */
.prose .zone-txt p{font-size:1.18rem;line-height:1.75;color:var(--ink2);margin-bottom:1.1rem}
/* encadré avertissement pilier plus lisible */
.pilier-avert{font-size:1.05rem;line-height:1.7}
.pilier-avert .zone-txt p{font-size:1.05rem}

/* premier titre (kick : 'À propos', 'Le cabinet & les soins'…) plus grand */
.page-hero .kick.tag, .page-hero-article .kick.tag{font-size:1.08rem;letter-spacing:.2em}

/* ACCUEIL : citation d'intro mise en avant, même si la classe lead-q est perdue à l'édition */
.intro .zone-txt:first-of-type p,
.intro [data-ztxt='accueil.intro.citation'] p{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:clamp(1.9rem,3.8vw,2.7rem);line-height:1.4;color:var(--ink);margin:0}
.intro [data-ztxt='accueil.intro.citation'] b{font-style:normal;font-weight:600}

.intro-cta{margin-top:2.2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* recherche dans les témoignages */
.tem-search{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 1.4rem}
.tem-search input[type=search]{flex:1;min-width:240px;padding:.85rem 1.1rem;border:1px solid var(--line);
  border-radius:8px;font-size:1rem;font-family:'Manrope',sans-serif;background:#fff}
.tem-search input[type=search]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,78,121,.12)}
.tem-search button{padding:.85rem 1.5rem;background:var(--blue);color:#fff;border:none;border-radius:8px;
  font-size:.95rem;font-family:'Manrope',sans-serif;cursor:pointer;font-weight:500}
.tem-search button:hover{filter:brightness(1.08)}
.tem-search-reset{color:var(--ink2);text-decoration:none;font-size:.9rem;padding:.5rem}
.tem-search-reset:hover{color:var(--blue)}
.tem-search-info{color:var(--ink2);font-size:.95rem;margin:0 0 1.4rem;font-style:italic}

/* CONTACT : bloc coordonnées regroupé + carte */
.ci-coord-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:520px){.ci-coord-row{grid-template-columns:1fr;gap:1.2rem}}
.ci-coord-col .ci-t{margin-bottom:.4rem}
.ci-adr{font-size:1.1rem;line-height:1.5;margin:0 0 .5rem;color:var(--ink)}
.ci-itin{color:var(--blue);text-decoration:none;font-size:.9rem;font-weight:500}
.ci-itin:hover{text-decoration:underline}
.ci-num{display:block;font-size:1.45rem;text-decoration:none;margin-bottom:.4rem}
.ci-map{margin:0 0 1.2rem;border-radius:12px;overflow:hidden;border:1px solid var(--line);position:relative}
.ci-map iframe{width:100%;height:300px;border:0;display:block;filter:saturate(.9)}
.ci-map-link{display:block;text-align:center;padding:.6rem;background:#fff;color:var(--blue);
  text-decoration:none;font-size:.88rem;border-top:1px solid var(--line)}
.ci-map-link:hover{background:var(--paper-2)}

/* pastilles de couleur dans la barre d'édition de texte */
.txtbar-colors{display:inline-flex;align-items:center;gap:.25rem}
.txtbar .txtcolor{width:20px;height:20px;min-width:20px;border-radius:50%;border:2px solid rgba(255,255,255,.4);
  cursor:pointer;padding:0;transition:transform .12s}
.txtbar .txtcolor:hover{transform:scale(1.18);border-color:#fff}
.txtcolor-pick{position:relative;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.txtcolor-pick span{font-size:.95rem;pointer-events:none}
.txtcolor-pick input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0}

/* ====== PAGE TUINA : sections développées ====== */
.tuina-section{margin:3.5rem 0}
.tuina-section > h2{margin-bottom:1rem}
.tuina-section .zone-txt p, .tuina-seance .zone-txt p{font-size:1.12rem;line-height:1.75;color:var(--ink2)}

/* cartes techniques */
.tuina-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.8rem}
@media(max-width:860px){.tuina-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.tuina-cards{grid-template-columns:1fr}}
.t-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem 1.3rem;
  transition:transform .3s,box-shadow .3s}
.t-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(22,33,44,.4)}
.t-card-gly{font-size:2.4rem;color:var(--blue);line-height:1;margin-bottom:.6rem}
.t-card h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.12rem;color:var(--ink);margin:0 0 .5rem}
.t-card .zone-txt p{font-size:.96rem;line-height:1.6;color:var(--ink2);margin:0}

/* déroulement d'une séance : image + texte */
.tuina-seance{display:grid;grid-template-columns:300px 1fr;gap:2.5rem;align-items:center;
  margin:3.5rem 0;background:var(--paper-2);border-radius:16px;padding:2.2rem}
@media(max-width:760px){.tuina-seance{grid-template-columns:1fr;gap:1.6rem;padding:1.6rem}}
.tuina-seance-img .zone-img.ronde-soft{border-radius:14px;overflow:hidden}
.tuina-seance-txt h2{margin-top:0;margin-bottom:1rem}

/* grille effets / indications */
.tuina-effets{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.8rem 0}
@media(max-width:760px){.tuina-effets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.tuina-effets{grid-template-columns:1fr}}
.te-item{border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1rem;display:flex;flex-direction:column;gap:.2rem}
.te-item b{color:var(--ink);font-size:1rem}
.te-item span{color:var(--ink2);font-size:.92rem;line-height:1.5}
.tuina-note{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;
  font-size:.95rem;color:var(--ink2);margin-top:1.5rem}
/* ====== rendu public : alignement des images dans les articles ====== */
.article-contenu img{max-width:100%;height:auto;border-radius:8px}
.article-contenu img.img-left{float:left;margin:.4rem 1.6rem 1rem 0;max-width:48%}
.article-contenu img.img-right{float:right;margin:.4rem 0 1rem 1.6rem;max-width:48%}
.article-contenu img.img-center{display:block;margin:1.6rem auto}
.article-contenu img.img-full{display:block;width:100%;margin:1.6rem 0}
.article-contenu::after{content:'';display:block;clear:both}
@media(max-width:600px){
  /* sur mobile : pas de flottant, images en pleine largeur pour rester lisibles */
  .article-contenu img.img-left,
  .article-contenu img.img-right{float:none;display:block;margin:1.2rem auto;max-width:100%}
}

/* ============ FAQ piliers (accordéon) ============ */
.pilier-faq{margin:3rem 0 1rem}
.pilier-faq h2{margin-bottom:1.2rem}
.faq-item{border:1px solid rgba(0,0,0,.10);border-radius:10px;margin-bottom:.7rem;padding:.2rem .4rem;background:rgba(255,255,255,.5)}
.faq-item summary{cursor:pointer;font-family:'Marcellus',serif;font-size:1.08rem;padding:.85rem 1rem;list-style:none;position:relative;outline:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:1rem;top:.8rem;font-size:1.4rem;line-height:1;opacity:.5;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-rep{padding:0 1rem 1rem;color:var(--ink2);line-height:1.65}


/* ============ Bandeau cookies (information simple) ============ */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9999;max-width:760px;margin:0 auto;
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.18);
  padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between}
.cookie-banner p{margin:0;flex:1 1 320px;font-size:.95rem;color:var(--ink2,#444);line-height:1.5}
.cookie-banner a{color:var(--gold,#a07b1f);text-decoration:underline}
.cookie-banner .btn{flex:0 0 auto;white-space:nowrap}
.cookie-banner[hidden]{display:none}
@media(max-width:560px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:center}.cookie-banner .btn{width:100%}}


/* ============ Encart légal mis en avant (mentions santé) ============ */
.legal-encart{background:#faf6ee;border:1px solid rgba(160,123,31,.30);border-left:5px solid var(--gold,#a07b1f);
  border-radius:12px;padding:1.4rem 1.6rem;margin:2rem 0;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.legal-encart h2{margin:0 0 .6rem;display:flex;align-items:center;gap:.55rem;color:var(--ink,#2a2a28)}
.legal-encart-ico{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;
  background:var(--gold,#a07b1f);color:#fff;border-radius:50%;font-size:1.1rem;line-height:1;flex:0 0 auto}
.legal-encart-intro{font-weight:500;margin:0 0 .8rem;color:var(--ink,#2a2a28)}
.legal-encart .legal-list{margin:0}
.legal-encart .legal-list li{margin-bottom:.55rem;line-height:1.6}
.legal-encart .legal-list li:last-child{margin-bottom:0}


/* ============ Avertissement témoignages ============ */
.temoi-avert{background:#faf6ee;border-left:4px solid var(--gold,#a07b1f);border-radius:0 8px 8px 0;
  padding:.85rem 1.1rem;margin:0 0 1.6rem;font-size:.92rem;line-height:1.55;color:var(--ink2,#5b564c);font-style:italic}


/* ============ Case consentement formulaire ============ */
.form .consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--ink2,#5b564c);cursor:pointer;margin:.2rem 0 .4rem}
.form .consent input{margin-top:.2rem;flex:0 0 auto}


/* ============ Images dans le contenu (articles, témoignages) ============ */
/* Par défaut : image normale, sans bordure (compatible PNG transparent) */
.prose img{max-width:100%;height:auto;border-radius:0}
/* les images de zones (ronds, etc.) doivent remplir leur cadre même dans .prose */
.prose .zone-img img{width:100%;height:100%;object-fit:cover}
.prose img.img-ronde{border-radius:50%;aspect-ratio:1/1;object-fit:cover;width:240px;max-width:100%}
.prose img.img-bord{border:4px solid #fff;box-shadow:0 18px 38px -20px rgba(22,33,44,.4)}

/* Dates des temoignages */
.tc-date{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2,#8a8377);margin:.15rem 0 .5rem}
.ts-date{font-size:.9rem;color:var(--ink2,#8a8377);margin:.2rem 0 1.4rem;font-style:italic}

/* ===== Galeries (grille) & Sliders (bandeau) ===== */
.gal-zone,.sl-zone{margin:2rem auto}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gal-cell{margin:0;overflow:hidden;border-radius:10px;aspect-ratio:4/3;background:#0001}
.gal-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gal-cell:hover img{transform:scale(1.04)}
.sl-zone{position:relative}
.sl-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}
.sl-track::-webkit-scrollbar{height:6px}
.sl-track::-webkit-scrollbar-thumb{background:#0002;border-radius:6px}
.sl-item{flex:0 0 clamp(260px,70%,640px);scroll-snap-align:center;position:relative;border-radius:12px;overflow:hidden;background:#0001}
.sl-item img{width:100%;height:clamp(220px,42vh,440px);object-fit:cover;display:block}
.sl-cap{position:absolute;left:0;right:0;bottom:0;padding:.6rem .9rem;font-size:.85rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.sl-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.sl-nav:hover{background:rgba(0,0,0,.7)}
.sl-prev{left:8px}.sl-next{right:8px}
/* placeholders visibles seulement en mode admin */
.gal-vide{padding:1.6rem;border:2px dashed var(--line,#ccc);border-radius:10px;text-align:center;color:var(--ink2,#888);font-style:italic}
.is-gal-editable{position:relative;outline:2px dashed rgba(176,141,87,.5);outline-offset:6px}
.gal-btn{margin-top:.6rem;padding:.45rem .9rem;border:0;border-radius:6px;background:var(--gold,#b08d57);color:#fff;cursor:pointer;font-size:.85rem}
@media(max-width:640px){.gal-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
/* ===== Sections multi-colonnes (public) ===== */
.sx-sec{margin:2.4rem 0}
.sx-row{display:grid;gap:1.6rem;max-width:1100px;margin:0 auto;padding:0 1rem}
.sx-cols-1 .sx-row{grid-template-columns:1fr}
.sx-cols-2 .sx-row{grid-template-columns:1fr 1fr}
.sx-cols-3 .sx-row{grid-template-columns:1fr 1fr 1fr}
.sx-col{min-width:0}
.sx-bloc{position:relative;margin:0 0 1rem}
.bloc-titre{margin:.2rem 0 .6rem}
@media(max-width:780px){.sx-cols-2 .sx-row,.sx-cols-3 .sx-row{grid-template-columns:1fr}}
