:root {
  --sage:     #4a5c45;
  --sage-mid: #637a5c;
  --sage-lt:  #8fa882;
  --linen:    #f7f4ee;
  --warm:     #eee8dc;
  --parch:    #e5ddd0;
  --ink:      #2a2e28;
  --stone:    #7a7a6e;
  --gold:     #b89a6a;
  --white:    #fdfcf9;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;background:var(--linen);color:var(--ink);overflow-x:hidden;}
 
/* cursor */
#c1{position:fixed;width:9px;height:9px;background:var(--sage);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s,height .15s,background .25s;}
#c2{position:fixed;width:30px;height:30px;border:1px solid var(--sage-lt);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .2s ease-out;opacity:.55;}
 
/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 56px;
  background:rgba(247,244,238,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(74,92,69,.12);
}
.logo{
  font-family:'Cormorant Garamond',serif;
  font-size:26px;font-weight:300;letter-spacing:.22em;
  color:var(--sage);text-decoration:none;
  display:flex;align-items:center;gap:10px;
}
.logo-leaf{font-size:18px;opacity:.8;}
.nav-links{display:flex;gap:36px;}
.nav-links a{
  font-size:11px;font-weight:300;letter-spacing:.22em;
  text-transform:uppercase;color:var(--stone);
  text-decoration:none;transition:color .25s;
}
.nav-links a:hover{color:var(--sage);}
.nav-rdv{
  font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:var(--white);background:var(--sage);
  padding:9px 22px;text-decoration:none;
  border:1px solid var(--sage);transition:all .25s;
}
.nav-rdv:hover{background:var(--sage-mid);}
 
/* ── HERO ── */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:140px 64px 80px 64px;
  background:var(--white);
  position:relative;
}
.hero-left::after{
  content:'';
  position:absolute;right:-1px;top:15%;bottom:15%;
  width:1px;background:linear-gradient(to bottom,transparent,var(--sage-lt),transparent);
}
.eyebrow{
  font-size:10px;font-weight:400;letter-spacing:.38em;text-transform:uppercase;
  color:var(--sage-lt);margin-bottom:24px;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--sage-lt);}
h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(52px,6vw,78px);font-weight:300;line-height:.96;
  color:var(--ink);
}
h1 em{display:block;font-style:italic;color:var(--sage);}
.hero-desc{
  font-size:13px;font-weight:300;line-height:1.9;
  color:var(--stone);max-width:380px;
  margin-top:24px;margin-bottom:48px;
}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn-primary{
  background:var(--sage);color:var(--white);
  padding:14px 36px;font-size:11px;
  font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;transition:all .3s;border:1px solid var(--sage);
}
.btn-primary:hover{background:var(--sage-mid);}
.btn-sec{
  color:var(--stone);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;
  display:flex;align-items:center;gap:9px;transition:color .25s;
}
.btn-sec::after{content:'→';transition:transform .3s;}
.btn-sec:hover{color:var(--sage);}
.btn-sec:hover::after{transform:translateX(5px);}
.hero-certif{
  display:flex;align-items:center;gap:14px;
  margin-top:48px;padding-top:32px;
  border-top:1px solid var(--parch);
}
.certif-icon{
  width:44px;height:44px;border-radius:50%;
  background:var(--warm);border:1px solid var(--parch);
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.certif-text{font-size:11px;color:var(--stone);line-height:1.6;}
.certif-text strong{display:block;font-size:12px;color:var(--sage);font-weight:500;margin-bottom:2px;}
 
.hero-right{
  position:relative;background:var(--sage);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hero-logo-center{
  display:flex;flex-direction:column;align-items:center;gap:16px;
  width:100%;height:100%;
  position:absolute;inset:0;
  justify-content:center;
}
.hero-logo-img{
  width:85%;
  height:85%;
  object-fit:contain;
}
.hero-img-wrap{width:100%;height:100%;position:relative;}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;opacity:.45;filter:saturate(.6);}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(74,92,69,.6),rgba(42,46,40,.4));
}
.hero-center-text{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  text-align:center;
}
.hero-s-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:80px;font-weight:300;letter-spacing:.2em;
  color:rgba(247,244,238,.9);line-height:1;
}
.hero-s-sub{
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;
  color:rgba(247,244,238,.5);margin-top:12px;
}
.hero-leaf-deco{
  position:absolute;bottom:40px;right:40px;
  font-size:80px;opacity:.15;
  animation:sway 6s ease-in-out infinite;
}
@keyframes sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
 
/* ── MARQUEE ── */
.marquee{overflow:hidden;background:#c9cdbc;padding:13px 0;}
.mtrack{display:flex;animation:mscroll 25s linear infinite;white-space:nowrap;}
.mtrack span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(42,46,40,.65);padding:0 30px;}
.mtrack .dot{color:var(--sage);padding:0 6px;opacity:1 !important;}
@keyframes mscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
 
/* ── SEC COMMONS ── */
.sec-label{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--sage-lt);display:block;margin-bottom:12px;}
.sec-h{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.5vw,52px);font-weight:300;line-height:1.06;color:var(--ink);}
.sec-h em{font-style:italic;color:var(--sage);}
 
/* ── À PROPOS ── */
.apropos{padding:110px 56px;background:var(--white);}
.apropos-wrap{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start;max-width:1200px;margin:0 auto;}
.apropos-left .sec-h{margin-bottom:28px;}
.apropos-text{font-size:13px;color:var(--stone);line-height:1.9;font-weight:300;margin-bottom:16px;}
.apropos-text strong{color:var(--sage);font-weight:500;}
.apropos-badges{display:flex;flex-direction:column;gap:12px;margin-top:32px;padding-top:32px;border-top:1px solid var(--parch);}
.ap-badge{
  display:flex;align-items:flex-start;gap:12px;
  font-size:12px;color:var(--stone);line-height:1.65;font-weight:300;
  padding:14px 18px;background:var(--warm);border-left:2px solid var(--sage-lt);
}
.ap-badge span{font-size:16px;flex-shrink:0;margin-top:1px;}
.ap-badge em{display:block;font-style:italic;font-size:11px;color:var(--sage-lt);margin-top:2px;}
.certifs-title{
  font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-lt);margin-bottom:20px;
}
.certifs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.certif-thumb{
  cursor:none;overflow:hidden;
  border:1px solid var(--parch);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.certif-thumb:hover{border-color:var(--sage-lt);box-shadow:0 8px 32px rgba(74,92,69,.12);transform:translateY(-3px);}
.certif-thumb img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .4s;}
.certif-thumb:hover img{transform:scale(1.04);}
.certif-thumb-label{
  padding:10px 14px;font-size:11px;
  color:var(--stone);font-weight:300;letter-spacing:.08em;
  display:flex;justify-content:space-between;align-items:center;
  background:var(--warm);
}
.certif-thumb-label span{color:var(--sage);font-size:14px;}
 
/* ── LIGHTBOX ── */
.lightbox{
  position:fixed;inset:0;z-index:1000;
  background:rgba(42,46,40,.92);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .35s;
}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox-inner{
  position:relative;max-width:90vw;max-height:90vh;
  transform:scale(.93);transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.lightbox.open .lightbox-inner{transform:scale(1);}
.lightbox-inner img{max-width:90vw;max-height:80vh;object-fit:contain;display:block;box-shadow:0 24px 80px rgba(0,0,0,.4);}
.lightbox-close{
  position:absolute;top:-40px;right:0;
  background:none;border:none;color:rgba(247,244,238,.7);
  font-size:20px;cursor:none;transition:color .2s;
}
.lightbox-close:hover{color:var(--linen);}
.lightbox-caption{
  text-align:center;margin-top:14px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(247,244,238,.45);
}
 
/* ── SOINS ── */
.soins{padding:110px 56px;background:var(--linen);}
.soins-header{text-align:center;margin-bottom:72px;}
.soins-header .sec-h{margin-bottom:16px;}
.soins-sub{font-size:13px;color:var(--stone);max-width:480px;margin:0 auto;line-height:1.8;font-weight:300;}
.soins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.soin-card{
  background:var(--white);
  border:1px solid var(--parch);
  padding:44px 36px;
  position:relative;overflow:hidden;
  transition:border-color .35s,box-shadow .35s,transform .35s;
}
.soin-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--sage);transform:scaleX(0);transform-origin:left;
  transition:transform .35s;
}
.soin-card:hover{border-color:var(--sage-lt);box-shadow:0 12px 40px rgba(74,92,69,.1);transform:translateY(-4px);}
.soin-card:hover::before{transform:scaleX(1);}
.soin-icon{font-size:32px;margin-bottom:20px;}
.soin-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:10px;}
.soin-desc{font-size:12px;color:var(--stone);line-height:1.75;font-weight:300;margin-bottom:24px;}
.soin-price{
  font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--sage);
  padding-top:20px;border-top:1px solid var(--parch);
}
.soin-price span{font-size:12px;font-family:'Nunito',sans-serif;color:var(--stone);font-weight:300;}
 
/* ── TARIFS ── */
.tarifs{padding:110px 56px;background:var(--sage);position:relative;overflow:hidden;}
.tarifs::before{
  content:'🌿';position:absolute;right:-20px;top:40px;
  font-size:280px;opacity:.06;transform:rotate(-20deg);
}
.tarifs-header{text-align:center;margin-bottom:64px;}
.tarifs-header .sec-h{color:var(--linen);}
.tarifs-header .sec-label{color:rgba(143,168,130,.8);}
.tarifs-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:0 auto;
}
.t-card{
  background:rgba(247,244,238,.08);
  border:1px solid rgba(247,244,238,.15);
  padding:40px 36px;
  transition:background .3s,border-color .3s;
}
.t-card:hover{background:rgba(247,244,238,.12);border-color:rgba(247,244,238,.25);}
.t-card.featured{background:rgba(247,244,238,.13);border-color:rgba(184,154,106,.45);}
.t-badge{
  display:inline-block;background:var(--gold);color:var(--white);
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  padding:3px 12px;margin-bottom:16px;
}
.t-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;color:var(--linen);margin-bottom:6px;}
.t-sub{font-size:11px;color:rgba(247,244,238,.45);letter-spacing:.08em;margin-bottom:28px;}
.t-rows{display:flex;flex-direction:column;gap:0;}
.t-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 0;border-bottom:1px solid rgba(247,244,238,.1);
}
.t-row:last-child{border-bottom:none;}
.t-qty{font-size:12px;color:rgba(247,244,238,.7);font-weight:300;}
.t-price{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--gold);}
 
.suppl-wrap{
  max-width:900px;margin:28px auto 0;
  background:rgba(247,244,238,.07);
  border:1px solid rgba(247,244,238,.12);
  padding:36px;
  display:grid;grid-template-columns:auto 1fr;gap:0 48px;align-items:start;
}
.suppl-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--linen);margin-bottom:20px;grid-column:1/-1;}
.suppl-rows{display:flex;flex-direction:column;gap:0;}
.s-row{
  display:flex;justify-content:space-between;gap:32px;
  padding:9px 0;border-bottom:1px solid rgba(247,244,238,.08);
}
.s-row:last-child{border-bottom:none;}
.s-name{font-size:12px;color:rgba(247,244,238,.65);font-weight:300;}
.s-p{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--gold);}
 
.tarif-reduc{
  max-width:900px;margin:28px auto 0;
  background:rgba(184,154,106,.12);
  border:1px solid rgba(184,154,106,.3);
  padding:28px 36px;
}
.reduc-title{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--linen);margin-bottom:10px;}
.reduc-txt{font-size:12px;color:rgba(247,244,238,.6);line-height:1.75;font-weight:300;}
 
/* ── HORAIRES ── */
.horaires{padding:110px 56px;background:var(--white);}
.hor-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1000px;margin:0 auto;}
.hor-left{}
.hor-left .sec-h{margin-bottom:8px;}
.hor-intro{font-size:13px;color:var(--stone);line-height:1.8;font-weight:300;margin-top:16px;margin-bottom:36px;}
.days-grid{display:flex;flex-direction:column;gap:0;}
.day-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--parch);
}
.day-row:first-child{border-top:1px solid var(--parch);}
.day-name{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--stone);font-weight:300;}
.day-time{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--sage);}
.hor-note{font-size:11px;color:var(--stone);font-style:italic;margin-top:14px;line-height:1.7;}
 
.hor-right{}
.depl-card{
  background:var(--warm);
  border:1px solid var(--parch);
  padding:36px;margin-bottom:20px;
}
.depl-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--sage);margin-bottom:14px;}
.depl-txt{font-size:12px;color:var(--stone);line-height:1.75;font-weight:300;}
.rdv-card{
  background:var(--sage);
  padding:36px;
}
.rdv-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--linen);margin-bottom:16px;}
.rdv-items{display:flex;flex-direction:column;gap:7px;}
.rdv-item{
  font-size:12px;color:rgba(247,244,238,.7);font-weight:300;
  display:flex;align-items:baseline;gap:8px;
}
.rdv-item::before{content:'·';color:var(--sage-lt);}
 
/* ── EXPANDABLE ── */
.expandable{
  max-height:80px;overflow:hidden;
  transition:max-height .5s cubic-bezier(.22,1,.36,1);
  position:relative;
}
.expandable.open{max-height:1000px;}
.expandable:not(.open)::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:32px;
  background:linear-gradient(to bottom,transparent,var(--white));
  pointer-events:none;
}
.bf-card .expandable:not(.open)::after{
  background:linear-gradient(to bottom,transparent,var(--white));
}
.lire-btn{
  background:none;border:none;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--sage);font-family:'Nunito',sans-serif;font-weight:400;
  padding:8px 0 0;cursor:pointer;
  transition:color .2s;display:block;
}
.lire-btn:hover{color:var(--sage-mid);}
 
/* ── BIENFAITS ── */
.bienfaits{padding:110px 56px;background:var(--linen);}
.bf-header{text-align:center;margin-bottom:64px;}
.bf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.bf-card{
  background:var(--white);
  border:1px solid var(--parch);
  padding:44px 36px;
  position:relative;overflow:hidden;
  transition:border-color .35s,box-shadow .35s,transform .35s;
}
.bf-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--sage);transform:scaleX(0);transform-origin:left;
  transition:transform .35s;
}
.bf-card:hover{border-color:var(--sage-lt);box-shadow:0 12px 40px rgba(74,92,69,.1);transform:translateY(-4px);}
.bf-card:hover::before{transform:scaleX(1);}
.bf-card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;font-weight:400;color:var(--ink);
  margin-bottom:20px;
  display:flex;align-items:center;gap:12px;
}
.bf-card-title span{font-size:20px;display:inline-flex;align-items:center;}
.bf-list{list-style:none;display:flex;flex-direction:column;gap:9px;width:100%;}
.bf-list li{
  font-size:12px;color:var(--stone);font-weight:300;line-height:1.75;
  display:flex;align-items:flex-start;gap:10px;
}
.bf-list li::before{content:'—';font-size:10px;color:var(--sage-lt);flex-shrink:0;margin-top:3px;}
 
.bf-pourqui{
  margin-top:24px;padding-top:20px;
  border-top:1px solid var(--parch);
}
.bf-pourqui-title{
  font-family:'Cormorant Garamond',serif;
  font-size:16px;font-weight:400;color:var(--sage);
  margin-bottom:12px;letter-spacing:.05em;
}
.bf-note{
  font-size:11px;color:var(--stone);font-style:italic;
  margin-top:14px;line-height:1.7;font-weight:300;
  padding:10px 14px;background:var(--warm);
  border-left:2px solid var(--sage-lt);
}
 
/* ── CONTRE-INDICATIONS ── */
.contre{padding:80px 56px;background:var(--warm);}
.contre-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:0 auto;}
.ci-card{
  background:var(--white);padding:36px;
  border-left:3px solid var(--sage-lt);
}
.ci-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);margin-bottom:6px;}
.ci-sub{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:20px;}
.ci-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.ci-list li{font-size:12px;color:var(--stone);font-weight:300;line-height:1.6;display:flex;gap:10px;}
.ci-list li::before{content:'•';color:var(--sage-lt);}
 
/* ── VALEURS ── */
.valeurs{padding:110px 56px;background:var(--sage);}
.valeurs-wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:60px;}
.v-card{
  background:rgba(247,244,238,.07);
  border:1px solid rgba(247,244,238,.12);
  padding:40px 32px;
  transition:background .3s;
}
.v-card:hover{background:rgba(247,244,238,.12);}
.v-icon{font-size:28px;margin-bottom:18px;}
.v-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--linen);margin-bottom:10px;}
.v-desc{font-size:12px;color:rgba(247,244,238,.55);line-height:1.8;font-weight:300;}
 
/* ── CARTE CADEAU ── */
.cadeau{padding:110px 56px;background:var(--white);}
.cadeau-header{text-align:center;margin-bottom:64px;}
.cadeau-header .sec-h{margin-bottom:16px;}
.cadeau-intro{font-size:13px;color:var(--stone);max-width:520px;margin:0 auto;line-height:1.85;font-weight:300;}
.cadeau-intro strong{color:var(--sage);font-weight:500;}
.cadeau-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1100px;margin:0 auto;}
 
/* Vraie image carte cadeau */
.cadeau-img-wrap{
  box-shadow:0 24px 64px rgba(74,92,69,.18);
  overflow:hidden;
}
.cadeau-img{
  width:100%;display:block;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.cadeau-img-wrap:hover .cadeau-img{transform:scale(1.02);}
.mock-caption{
  text-align:center;margin-top:14px;
  font-size:10px;font-style:italic;color:var(--stone);letter-spacing:.08em;
}
 
/* Texte côté droit */
.cadeau-types{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;}
.cadeau-type{
  display:flex;align-items:flex-start;gap:16px;
  padding:18px 20px;background:var(--warm);
  border:1px solid var(--parch);
  transition:border-color .3s;
}
.cadeau-type:hover{border-color:var(--sage-lt);}
.cadeau-type-icon{
  width:40px;height:40px;flex-shrink:0;
  background:var(--white);border:1px solid var(--parch);
  display:flex;align-items:center;justify-content:center;
}
.cadeau-type-icon svg{stroke:var(--sage);}
.cadeau-type-title{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--ink);margin-bottom:5px;}
.cadeau-type-desc{font-size:12px;color:var(--stone);line-height:1.75;font-weight:300;}
.cadeau-note{
  display:flex;align-items:flex-start;gap:10px;
  font-size:11px;color:var(--stone);line-height:1.8;font-style:italic;font-weight:300;
  padding:14px 16px;background:var(--warm);border-left:2px solid var(--sage-lt);
  margin-bottom:28px;
}
.cadeau-note svg{stroke:var(--sage-lt);flex-shrink:0;margin-top:2px;}
.cadeau-btn{display:inline-block;text-align:center;}
 
/* ── RDV ── */
.rdv-section{padding:110px 56px;background:var(--white);}
.rdv-wrap{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start;max-width:1100px;margin:0 auto;}
.rdv-info{}
.rdv-info .sec-h{margin-bottom:24px;}
.rdv-info-desc{font-size:13px;color:var(--stone);line-height:1.85;font-weight:300;margin-bottom:36px;}
.contact-cards{display:flex;flex-direction:column;gap:12px;}
.cc{
  display:flex;align-items:center;gap:14px;
  padding:16px 20px;background:var(--warm);
  border-left:2px solid transparent;transition:border-color .3s;
}
.cc:hover{border-color:var(--sage);}
.cc-icon{font-size:17px;}
.cc-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--sage-lt);margin-bottom:3px;}
.cc-val{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--ink);}
.form-box{background:var(--warm);padding:44px;border:1px solid var(--parch);}
.form-box h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--ink);margin-bottom:6px;}
.form-box p{font-size:12px;color:var(--stone);margin-bottom:28px;line-height:1.7;font-weight:300;}
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.fl{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--stone);}
.fi,.fsel,.fta{
  background:var(--white);border:1px solid transparent;
  padding:12px 16px;font-family:'Nunito',sans-serif;font-size:13px;
  color:var(--ink);outline:none;transition:border-color .25s;width:100%;appearance:none;font-weight:300;
}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--sage);}
.fta{resize:vertical;min-height:88px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fsub{
  background:var(--sage);color:var(--linen);border:none;
  padding:14px;font-family:'Nunito',sans-serif;font-size:10px;
  font-weight:400;letter-spacing:.22em;text-transform:uppercase;
  width:100%;margin-top:8px;transition:background .25s;
}
.fsub:hover{background:var(--sage-mid);}
 
/* ── FOOTER ── */
footer{background:var(--ink);padding:56px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:56px;}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;letter-spacing:.2em;color:var(--linen);margin-bottom:12px;}
.f-desc{font-size:12px;color:rgba(247,244,238,.4);line-height:1.85;max-width:260px;margin-bottom:20px;font-weight:300;}
.f-soc{display:flex;gap:10px;}
.f-icon{
  width:34px;height:34px;border:1px solid rgba(247,244,238,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;text-decoration:none;color:var(--sage-lt);
  transition:all .25s;
}
.f-icon:hover{background:var(--sage);border-color:var(--sage);color:var(--linen);}
.f-col h4{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage-lt);margin-bottom:16px;}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.f-col ul li a{font-size:12px;color:rgba(247,244,238,.35);text-decoration:none;transition:color .25s;font-weight:300;}
.f-col ul li a:hover{color:var(--linen);}
.fbot{
  background:var(--ink);padding:16px 56px;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;justify-content:space-between;
  font-size:10px;color:rgba(247,244,238,.2);letter-spacing:.06em;
}
 
/* ── ANIM ── */
/* ── ANIMATIONS SCROLL ── */
.fa{
  opacity:0;transform:translateY(40px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);
}
.fa.v{opacity:1;transform:translateY(0);}
 
/* Slide depuis la gauche */
.fa-left{
  opacity:0;transform:translateX(-50px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);
}
.fa-left.v{opacity:1;transform:translateX(0);}
 
/* Slide depuis la droite */
.fa-right{
  opacity:0;transform:translateX(50px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);
}
.fa-right.v{opacity:1;transform:translateX(0);}
 
/* Zoom doux */
.fa-zoom{
  opacity:0;transform:scale(.93);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);
}
.fa-zoom.v{opacity:1;transform:scale(1);}
 
/* Délais échelonnés */
.fa-d1{transition-delay:.1s;}
.fa-d2{transition-delay:.2s;}
.fa-d3{transition-delay:.3s;}
.fa-d4{transition-delay:.4s;}
.fa-d5{transition-delay:.5s;}
.fa-d6{transition-delay:.6s;}
 
/* ── ICÔNES SVG ── */
.soin-icon svg{
  width:36px;height:36px;
  stroke:var(--sage);margin-bottom:20px;display:block;
}
.bf-card-title .ico svg,
.bf-card-title .ico{
  width:22px;height:22px;
  stroke:var(--sage);display:inline-flex;align-items:center;flex-shrink:0;
}
.ap-badge .ico svg,
.ap-badge .ico{
  width:18px;height:18px;
  stroke:var(--sage);display:inline-flex;align-items:center;flex-shrink:0;margin-top:1px;
}
.certif-icon svg{width:22px;height:22px;stroke:var(--sage);}
.v-icon svg{width:28px;height:28px;stroke:var(--linen);opacity:.8;}
.cc-icon svg{width:18px;height:18px;stroke:var(--sage);display:block;}
.f-icon svg{width:16px;height:16px;stroke:currentColor;}
.ico-inline{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px;}
.ico-inline svg{width:18px;height:18px;stroke:currentColor;}
.depl-title .ico-inline svg{stroke:var(--sage);}
.rdv-title .ico-inline svg{stroke:var(--linen);}
.reduc-title .ico-inline svg{stroke:var(--linen);}
 
/* ── BOUTON RETOUR EN HAUT ── */
.back-top{
  position:fixed;bottom:36px;right:36px;z-index:400;
  width:46px;height:46px;
  background:var(--sage);color:var(--linen);
  border:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:none;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .35s,transform .35s,background .25s,box-shadow .25s;
  box-shadow:0 4px 20px rgba(74,92,69,.25);
}
.back-top.visible{opacity:1;transform:translateY(0);pointer-events:all;}
.back-top:hover{background:var(--sage-mid);box-shadow:0 8px 28px rgba(74,92,69,.35);}
 
/* ── MENTIONS LÉGALES MODALE ── */
.mentions-overlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(42,46,40,.88);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  opacity:0;pointer-events:none;
  transition:opacity .35s;
}
.mentions-overlay.open{opacity:1;pointer-events:all;}
.mentions-modal{
  background:var(--white);
  max-width:720px;width:100%;max-height:88vh;
  overflow-y:auto;position:relative;
  transform:translateY(24px);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.mentions-overlay.open .mentions-modal{transform:translateY(0);}
.mentions-close{
  position:sticky;top:0;float:right;
  background:var(--white);border:none;
  font-size:18px;color:var(--stone);
  padding:20px 24px;cursor:none;
  transition:color .2s;z-index:1;
}
.mentions-close:hover{color:var(--sage);}
.mentions-content{padding:0 48px 48px;}
.mentions-h{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,4vw,38px);font-weight:300;
  color:var(--ink);margin-bottom:36px;padding-top:8px;
}
.mentions-h em{font-style:italic;color:var(--sage);}
.mentions-block{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--parch);}
.mentions-block:last-of-type{border-bottom:none;}
.mentions-block h3{
  font-family:'Cormorant Garamond',serif;
  font-size:18px;font-weight:400;color:var(--sage);
  margin-bottom:10px;
}
.mentions-block p{font-size:12px;color:var(--stone);line-height:1.85;font-weight:300;margin-bottom:8px;}
.mentions-block p:last-child{margin-bottom:0;}
.mentions-block strong{color:var(--ink);font-weight:500;}
.mentions-block a{color:var(--sage);text-decoration:none;}
.mentions-block a:hover{text-decoration:underline;}
.mentions-block ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin:10px 0;}
.mentions-block ul li{
  font-size:12px;color:var(--stone);font-weight:300;line-height:1.7;
  display:flex;gap:10px;align-items:flex-start;
}
.mentions-block ul li::before{content:'—';color:var(--sage-lt);flex-shrink:0;font-size:10px;margin-top:3px;}
.mentions-date{font-size:11px;color:var(--stone);font-style:italic;text-align:right;margin-top:8px;}
 
/* ── HAMBURGER ── */
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;background:none;border:none;cursor:none;
  padding:4px;z-index:300;
}
.hamburger span{
  display:block;width:100%;height:1px;background:var(--sage);
  transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s;
  transform-origin:center;
}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
 
/* ── MENU MOBILE ── */
.mobile-menu{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;
  background:var(--white);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;
  opacity:0;pointer-events:none;
  transition:opacity .4s cubic-bezier(.22,1,.36,1);
}
.mobile-menu.open{opacity:1;pointer-events:all;}
.mob-link{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,8vw,42px);font-weight:300;
  color:var(--ink);text-decoration:none;letter-spacing:.12em;
  padding:10px 0;
  opacity:0;transform:translateY(20px);
  transition:opacity .4s,transform .4s,color .25s;
}
.mobile-menu.open .mob-link{opacity:1;transform:translateY(0);}
.mobile-menu.open .mob-link:nth-child(1){transition-delay:.05s;}
.mobile-menu.open .mob-link:nth-child(2){transition-delay:.1s;}
.mobile-menu.open .mob-link:nth-child(3){transition-delay:.15s;}
.mobile-menu.open .mob-link:nth-child(4){transition-delay:.2s;}
.mobile-menu.open .mob-link:nth-child(5){transition-delay:.25s;}
.mob-link:hover{color:var(--sage);}
.mob-rdv{
  margin-top:24px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--white);background:var(--sage);
  padding:14px 36px;text-decoration:none;
  opacity:0;transform:translateY(20px);
  transition:opacity .4s .3s,transform .4s .3s,background .25s;
}
.mobile-menu.open .mob-rdv{opacity:1;transform:translateY(0);}
.mob-rdv:hover{background:var(--sage-mid);}
 
 
 
@media(hover: hover){
  body{cursor:none;}
}
 
@media(hover: none){
  body{cursor:auto;}
  #c1,#c2{display:none;}
  a,button,input,select,textarea,.soin-card,.t-card,.v-card,.cc,.bf-card,.certif-thumb,.hamburger,.back-top,.fsub{cursor:pointer;}
}
 
@media(max-width:900px){
  nav{padding:16px 22px;}
  .nav-links{display:none;}
  .nav-rdv{display:none;}
  .hamburger{display:flex;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:110px 28px 52px;}
  .hero-right{height:280px;}
  .soins,.tarifs,.horaires,.bienfaits,.contre,.valeurs,.rdv-section,.apropos,.cadeau{padding:80px 24px;}
  .apropos-wrap{grid-template-columns:1fr;gap:44px;}
  .certifs-grid{grid-template-columns:1fr 1fr;}
  .cadeau-wrap{grid-template-columns:1fr;gap:44px;}
  .mock-face-left{min-height:180px;}
  .soins-grid{grid-template-columns:1fr;}
  .tarifs-wrap{grid-template-columns:1fr;}
  .hor-wrap{grid-template-columns:1fr;gap:44px;}
  .bf-grid{grid-template-columns:1fr;}
  .contre-wrap{grid-template-columns:1fr;}
  .valeurs-wrap{grid-template-columns:1fr;}
  .rdv-wrap{grid-template-columns:1fr;gap:44px;}
  footer{grid-template-columns:1fr;gap:36px;padding:44px 24px;}
  .fbot{padding:14px 24px;flex-direction:column;gap:6px;}
}